@sideboard-ai/core 0.1.51 → 0.1.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/cursor-runner.cjs +43 -4
- package/dist/agents/cursor-runner.js +45 -6
- package/dist/{agents-HIEJL3UV.js → agents-KP7UJEHJ.js} +1 -1
- package/dist/{agents-5ROTZNCX.js → agents-KYACODJ3.js} +2 -2
- package/dist/{chunk-5ZPSH7VI.js → chunk-A6HVEMIB.js} +16 -7
- package/dist/chunk-B3SJXYIJ.js +24 -0
- package/dist/{chunk-7EUWSBWR.js → chunk-BZST4HMJ.js} +21 -6
- package/dist/{chunk-ZH5QZ4CR.js → chunk-DZFH2KLT.js} +280 -7
- package/dist/chunk-FKOIHGKV.js +21 -0
- package/dist/{chunk-E4VVEKAM.js → chunk-GNML24AW.js} +2 -2
- package/dist/{chunk-EOYDCKQC.js → chunk-HLEX5AQ6.js} +4 -0
- package/dist/{chunk-K3WMKGFY.js → chunk-LRLKJM3O.js} +2 -1
- package/dist/chunk-N5PM7HGQ.js +103 -0
- package/dist/chunk-QTUESPAW.js +101 -0
- package/dist/{chunk-O6W3P7V3.js → chunk-TSRXOSVD.js} +4 -0
- package/dist/{chunk-F4Q3IM6V.js → chunk-UEAHMGHW.js} +2 -1
- package/dist/{chunk-J5JTEJ5O.js → chunk-VG22SETP.js} +6 -0
- package/dist/{chunk-XRSAGVRW.js → chunk-XOU6HNQJ.js} +245 -7
- package/dist/{chunk-O5DOO7DP.js → chunk-XX5BB7NV.js} +3 -3
- package/dist/{chunk-QN7XNQAT.js → chunk-YDXQ72MD.js} +2 -2
- package/dist/{chunk-YFJ4FG2P.js → chunk-YOWIYAVA.js} +3 -3
- package/dist/{coordinator-prompt-7HHJRO7B.js → coordinator-prompt-6FXVTSFN.js} +4 -3
- package/dist/{coordinator-prompt-WD7FAMA2.js → coordinator-prompt-S6JZD5EF.js} +4 -3
- package/dist/{global-workspace-OJEPGDXA.js → global-workspace-EV4G2WMQ.js} +5 -4
- package/dist/{global-workspace-ECYN2MKL.js → global-workspace-MSX2K27Y.js} +5 -4
- package/dist/index.cjs +1383 -149
- package/dist/index.d.cts +389 -15
- package/dist/index.d.ts +389 -15
- package/dist/index.js +883 -91
- package/dist/mcp/run-stdio.cjs +1154 -141
- package/dist/mcp/run-stdio.js +709 -79
- package/dist/plan-file-6O7G4VPQ.js +23 -0
- package/dist/plan-file-PHVKUAEE.js +25 -0
- package/dist/{thread-store-XICUWFNM.js → thread-store-GHOADGL2.js} +1 -1
- package/dist/{thread-store-OV2X6PYO.js → thread-store-UJIGMI5J.js} +1 -1
- package/dist/{workspaces-MUU7RGVV.js → workspaces-3RQQZQRO.js} +6 -5
- package/dist/{workspaces-ZWOOFZUV.js → workspaces-AYTBR6KQ.js} +6 -5
- package/dist/{worktree-DVNDMWZ7.js → worktree-5KEQWSAF.js} +5 -2
- package/dist/{worktree-GDV56MX4.js → worktree-RWGL7FUV.js} +5 -2
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -113,6 +113,13 @@ interface Thread {
|
|
|
113
113
|
prUrl: string | null;
|
|
114
114
|
/** Cached PR title for Conductor-style sidebar labels (PR title > branch). */
|
|
115
115
|
prTitle: string | null;
|
|
116
|
+
/**
|
|
117
|
+
* Stable id for a GitHub PR stack this thread belongs to (shared across layer worktrees).
|
|
118
|
+
* Null when not part of a stack.
|
|
119
|
+
*/
|
|
120
|
+
stackId: string | null;
|
|
121
|
+
/** 1-based layer position in the stack (bottom = 1), when {@link stackId} is set. */
|
|
122
|
+
stackLayer: number | null;
|
|
116
123
|
/** When true, `title` is a manual override and is not overwritten by branch/PR sync. */
|
|
117
124
|
userSetTitle: boolean;
|
|
118
125
|
createdAt: string;
|
|
@@ -266,6 +273,39 @@ interface PrMeta {
|
|
|
266
273
|
baseRefName: string;
|
|
267
274
|
headRefName: string;
|
|
268
275
|
}
|
|
276
|
+
/** One layer in a GitHub PR stack (bottom = position 1). */
|
|
277
|
+
interface PrStackLayer {
|
|
278
|
+
/** 1-based index from trunk (bottom = 1). */
|
|
279
|
+
position: number;
|
|
280
|
+
branchName: string;
|
|
281
|
+
/** Tip SHA when known from `gh stack view`. */
|
|
282
|
+
headSha?: string;
|
|
283
|
+
/** Parent tip SHA last recorded by gh-stack (may lag). */
|
|
284
|
+
baseSha?: string;
|
|
285
|
+
isCurrent: boolean;
|
|
286
|
+
isMerged: boolean;
|
|
287
|
+
isQueued: boolean;
|
|
288
|
+
needsRebase: boolean;
|
|
289
|
+
prNumber: number | null;
|
|
290
|
+
prUrl: string | null;
|
|
291
|
+
/** OPEN | MERGED | QUEUED when a PR exists. */
|
|
292
|
+
prState: string | null;
|
|
293
|
+
title?: string;
|
|
294
|
+
}
|
|
295
|
+
/** GitHub stacked PRs for a worktree / branch. */
|
|
296
|
+
interface PrStack {
|
|
297
|
+
/** GitHub stack number when known. */
|
|
298
|
+
stackNumber: number | null;
|
|
299
|
+
trunk: string;
|
|
300
|
+
currentBranch: string;
|
|
301
|
+
/** Bottom → top. */
|
|
302
|
+
layers: PrStackLayer[];
|
|
303
|
+
/** Current layer index in `layers` (0-based), or -1. */
|
|
304
|
+
currentIndex: number;
|
|
305
|
+
/** True when every open layer below+including current looks mergeable. */
|
|
306
|
+
readyToMerge: boolean;
|
|
307
|
+
blockedReason: string | null;
|
|
308
|
+
}
|
|
269
309
|
interface IssueInfo {
|
|
270
310
|
id: string;
|
|
271
311
|
identifier: string;
|
|
@@ -721,7 +761,7 @@ declare function resolveThreadEffort(raw: {
|
|
|
721
761
|
fast?: unknown;
|
|
722
762
|
}): ThinkingEffort;
|
|
723
763
|
declare function normalizeThread(raw: Thread): Thread;
|
|
724
|
-
declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'userSetTitle' | 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'attachments'> & Partial<Pick<Thread, 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'userSetTitle' | 'attachments'>>): Thread;
|
|
764
|
+
declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'attachments'> & Partial<Pick<Thread, 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'attachments'>>): Thread;
|
|
725
765
|
declare function withThreadLock<T>(id: string, fn: () => Promise<T>): Promise<T>;
|
|
726
766
|
declare function readThread(id: string): Thread | null;
|
|
727
767
|
declare function writeThread(thread: Thread): void;
|
|
@@ -981,6 +1021,15 @@ declare function createThreadWorktree(opts: {
|
|
|
981
1021
|
sourceRef: string;
|
|
982
1022
|
slug: string;
|
|
983
1023
|
}): Promise<CreateWorktreeResult>;
|
|
1024
|
+
/**
|
|
1025
|
+
* Attach a worktree to an **existing** branch (stack layers).
|
|
1026
|
+
* Unlike {@link createThreadWorktree}, does not create `thread/<slug>`.
|
|
1027
|
+
*/
|
|
1028
|
+
declare function createExistingBranchWorktree(opts: {
|
|
1029
|
+
repoPath: string;
|
|
1030
|
+
branchName: string;
|
|
1031
|
+
slug: string;
|
|
1032
|
+
}): Promise<CreateWorktreeResult>;
|
|
984
1033
|
declare function removeWorktree(repoPath: string, worktreePath: string, opts?: {
|
|
985
1034
|
deleteBranch?: string;
|
|
986
1035
|
}): Promise<void>;
|
|
@@ -990,15 +1039,16 @@ declare function listWorktrees(repoPath: string): Promise<Array<{
|
|
|
990
1039
|
}>>;
|
|
991
1040
|
declare function isDirty(worktreePath: string): Promise<boolean>;
|
|
992
1041
|
/**
|
|
993
|
-
* Local
|
|
1042
|
+
* Local workspace scratch (`.context/attachments`, legacy `.sideboard/attachments`).
|
|
994
1043
|
* Must not force the right-sidebar primary action to "Commit & push".
|
|
995
1044
|
*/
|
|
996
1045
|
declare function isSideboardScratchPath(relativePath: string): boolean;
|
|
997
1046
|
declare function currentBranch(worktreePath: string): Promise<string>;
|
|
998
1047
|
declare function commitAll(worktreePath: string, message: string): Promise<boolean>;
|
|
999
1048
|
declare function pushBranch(worktreePath: string, branchName: string): Promise<void>;
|
|
1000
|
-
/** Merge an open pull request
|
|
1001
|
-
*
|
|
1049
|
+
/** Merge an open pull request.
|
|
1050
|
+
* When the worktree is on a GitHub PR stack, uses `gh stack merge` (atomic through that PR).
|
|
1051
|
+
* Otherwise: draft → ready, then `gh pr merge` (squash by default). */
|
|
1002
1052
|
declare function mergePr(cwd: string, selector: string, opts?: {
|
|
1003
1053
|
method?: 'merge' | 'squash' | 'rebase';
|
|
1004
1054
|
}): Promise<{
|
|
@@ -1022,6 +1072,55 @@ declare function collectTakenTeamSlugs(repoPath: string): Set<string>;
|
|
|
1022
1072
|
/** Pick an unused soccer team for the worktree directory / branch slug. */
|
|
1023
1073
|
declare function allocateTeamSlug(repoPath: string): TeamName;
|
|
1024
1074
|
|
|
1075
|
+
/**
|
|
1076
|
+
* GitHub stacked PRs via `gh stack` (github/gh-stack extension).
|
|
1077
|
+
* Prefer non-interactive flags — see github/gh-stack SKILL.md.
|
|
1078
|
+
*/
|
|
1079
|
+
|
|
1080
|
+
type GhStackStatus = {
|
|
1081
|
+
available: true;
|
|
1082
|
+
} | {
|
|
1083
|
+
available: false;
|
|
1084
|
+
reason: string;
|
|
1085
|
+
};
|
|
1086
|
+
/** Whether `gh stack` is installed and runnable. */
|
|
1087
|
+
declare function detectGhStack(cwd: string): Promise<GhStackStatus>;
|
|
1088
|
+
/** Clear detect cache (tests). */
|
|
1089
|
+
declare function resetGhStackDetectCache(): void;
|
|
1090
|
+
/** Parse `gh stack view --json` stdout into PrStack. */
|
|
1091
|
+
declare function parseGhStackViewJson(raw: string): PrStack | null;
|
|
1092
|
+
/**
|
|
1093
|
+
* Merge readiness for merging through the current (or given) layer:
|
|
1094
|
+
* every unmerged layer from bottom through that index must be open, not needing rebase.
|
|
1095
|
+
*/
|
|
1096
|
+
declare function stackMergeReadiness(layers: PrStackLayer[], throughIndex: number): {
|
|
1097
|
+
readyToMerge: boolean;
|
|
1098
|
+
blockedReason: string | null;
|
|
1099
|
+
};
|
|
1100
|
+
/** Load stack for the current worktree branch, or null if not in a stack. */
|
|
1101
|
+
declare function getPrStack(cwd: string): Promise<PrStack | null>;
|
|
1102
|
+
/** True when this cwd's current branch is part of a GitHub stack. */
|
|
1103
|
+
declare function isInPrStack(cwd: string): Promise<boolean>;
|
|
1104
|
+
declare function mergePrStack(cwd: string, opts: {
|
|
1105
|
+
/** PR number (merge through that PR) or stack number. */
|
|
1106
|
+
through: number;
|
|
1107
|
+
method?: 'merge' | 'squash' | 'rebase';
|
|
1108
|
+
}): Promise<{
|
|
1109
|
+
stdout: string;
|
|
1110
|
+
}>;
|
|
1111
|
+
/** Initialize a stack with one or more branch names (bottom → top). */
|
|
1112
|
+
declare function initPrStack(cwd: string, branches: string[], opts?: {
|
|
1113
|
+
base?: string;
|
|
1114
|
+
}): Promise<void>;
|
|
1115
|
+
/** Add a branch on top of the current stack. */
|
|
1116
|
+
declare function addPrStackLayer(cwd: string, branchName: string): Promise<void>;
|
|
1117
|
+
/** Push branches and create/update PRs (`--auto` avoids title prompts). */
|
|
1118
|
+
declare function submitPrStack(cwd: string, opts?: {
|
|
1119
|
+
open?: boolean;
|
|
1120
|
+
}): Promise<void>;
|
|
1121
|
+
/** Check out a stack layer by PR number, stack number, URL, or branch. */
|
|
1122
|
+
declare function checkoutPrStackLayer(cwd: string, target: string | number): Promise<void>;
|
|
1123
|
+
|
|
1025
1124
|
interface GitHubStatus {
|
|
1026
1125
|
connected: boolean;
|
|
1027
1126
|
login: string | null;
|
|
@@ -1152,7 +1251,7 @@ interface AgentAdapter {
|
|
|
1152
1251
|
labels: string[];
|
|
1153
1252
|
}>>;
|
|
1154
1253
|
}
|
|
1155
|
-
declare const PLAN_MODE_INSTRUCTION = "Plan mode is active and must remain active until the user turns Plan mode off in the UI (or
|
|
1254
|
+
declare const PLAN_MODE_INSTRUCTION = "Plan mode is active and must remain active until the user turns Plan mode off in the UI (or Approves / Hands off the plan). Analyze the codebase, search and read files as needed, and produce or refine a clear implementation plan. Do not modify, create, or delete any project files except via Sideboard MCP present_plan (writes .context/attachments/plan.md). When you need a clarifying decision (approach forks, auth choice, scope): (1) first write a short chat message that explains the decision and what each option means (tradeoffs, when to pick it) \u2014 do not leave the user staring at bare labels; (2) then call Sideboard MCP ask_user with the same options, including a description on every option. Sideboard shows questions in the composer and mirrors them in chat. After ask_user, wait for the user's next message with their answers before finalizing the plan. When the plan is ready for approval: (1) call present_plan with the full markdown plan (title + content) so Sideboard saves .context/attachments/plan.md and shows it in chat for Approve / Hand off / Copy; (2) Claude should also call ExitPlanMode after present_plan. Do not skip present_plan \u2014 the plan must be a markdown file, not only chat prose.";
|
|
1156
1255
|
declare function permissionMode(thread: Pick<Thread, 'autonomy' | 'planMode'>): {
|
|
1157
1256
|
claude: string;
|
|
1158
1257
|
opencodePermission: string;
|
|
@@ -1772,7 +1871,7 @@ declare function isImageFilePath(filePath: string): boolean;
|
|
|
1772
1871
|
*/
|
|
1773
1872
|
declare function attachmentFromAbsolutePath(absolutePath: string): ThreadAttachment;
|
|
1774
1873
|
/**
|
|
1775
|
-
* Copy absolute paths into `.
|
|
1874
|
+
* Copy absolute paths into `.context/attachments/` and return composer attachments
|
|
1776
1875
|
* with worktree-relative `path` (and image previews when applicable).
|
|
1777
1876
|
*/
|
|
1778
1877
|
declare function stageAbsolutePathsAsAttachments(worktreePath: string, absolutePaths: string[]): ThreadAttachment[];
|
|
@@ -1781,7 +1880,7 @@ interface ComposerFileBuffer {
|
|
|
1781
1880
|
dataBase64: string;
|
|
1782
1881
|
}
|
|
1783
1882
|
/**
|
|
1784
|
-
* Write in-memory file buffers into `.
|
|
1883
|
+
* Write in-memory file buffers into `.context/attachments/` (renderer drop
|
|
1785
1884
|
* fallback when Electron does not expose a filesystem path).
|
|
1786
1885
|
*/
|
|
1787
1886
|
declare function stageBuffersAsAttachments(worktreePath: string, buffers: ComposerFileBuffer[]): ThreadAttachment[];
|
|
@@ -1896,7 +1995,7 @@ declare function confirmLand(thread: Thread, opts?: {
|
|
|
1896
1995
|
web?: boolean;
|
|
1897
1996
|
}): Promise<LandResult>;
|
|
1898
1997
|
|
|
1899
|
-
declare function createThread(input: CreateThreadInput,
|
|
1998
|
+
declare function createThread(input: CreateThreadInput, _onSetupLine?: (line: string) => void): Promise<Thread>;
|
|
1900
1999
|
/** @deprecated Prefer listIssues() from integrations/issues — agent-agnostic. */
|
|
1901
2000
|
declare function listLinearIssues(agent: AgentKind, repoPath: string): Promise<{
|
|
1902
2001
|
id: string;
|
|
@@ -1923,6 +2022,96 @@ declare function forkChatTab(input: ForkChatTabInput): Thread;
|
|
|
1923
2022
|
/** Fork into a new git worktree branched from the source thread's branch. */
|
|
1924
2023
|
declare function forkThreadWorktree(input: ForkThreadWorktreeInput, onSetupLine?: (line: string) => void): Promise<Thread>;
|
|
1925
2024
|
|
|
2025
|
+
/**
|
|
2026
|
+
* Materialize one git worktree + Sideboard thread per GitHub stack layer.
|
|
2027
|
+
*/
|
|
2028
|
+
|
|
2029
|
+
declare function stackIdFrom(stack: PrStack): string | null;
|
|
2030
|
+
declare function findThreadForStackLayer(repoPath: string, stackId: string, layer: Pick<PrStackLayer, 'position' | 'branchName'>): Thread | null;
|
|
2031
|
+
type OpenStackLayerInput = {
|
|
2032
|
+
repoPath: string;
|
|
2033
|
+
stack: PrStack;
|
|
2034
|
+
layer: PrStackLayer;
|
|
2035
|
+
agent: AgentKind;
|
|
2036
|
+
autonomy?: Autonomy;
|
|
2037
|
+
model?: string | null;
|
|
2038
|
+
effort?: ThinkingEffort;
|
|
2039
|
+
fast?: boolean;
|
|
2040
|
+
planMode?: boolean;
|
|
2041
|
+
parentThreadId?: string | null;
|
|
2042
|
+
/** Prefer this existing worktree when the branch is already checked out. */
|
|
2043
|
+
reuseExistingWorktree?: boolean;
|
|
2044
|
+
};
|
|
2045
|
+
type OpenStackLayerResult = {
|
|
2046
|
+
thread: Thread;
|
|
2047
|
+
/** True when a new git worktree was created (caller should run setup). */
|
|
2048
|
+
createdWorktree: boolean;
|
|
2049
|
+
};
|
|
2050
|
+
/** Open (or return) a thread for one stack layer worktree. */
|
|
2051
|
+
declare function openStackLayer(input: OpenStackLayerInput, _onSetupLine?: (line: string) => void): Promise<OpenStackLayerResult>;
|
|
2052
|
+
type OpenPrStackLayersInput = {
|
|
2053
|
+
/** Any thread already on a stack layer (used for agent defaults + discovery). */
|
|
2054
|
+
threadRef: string;
|
|
2055
|
+
/** When set, only open this 1-based layer; otherwise open all. */
|
|
2056
|
+
layer?: number;
|
|
2057
|
+
};
|
|
2058
|
+
/** Open worktrees/threads for stack layers discovered from a thread's cwd. */
|
|
2059
|
+
declare function openPrStackLayers(input: OpenPrStackLayersInput, onSetupLine?: (line: string) => void): Promise<{
|
|
2060
|
+
stack: PrStack;
|
|
2061
|
+
threads: Thread[];
|
|
2062
|
+
createdThreadIds: string[];
|
|
2063
|
+
}>;
|
|
2064
|
+
type AddStackLayerInput = {
|
|
2065
|
+
threadRef: string;
|
|
2066
|
+
branchName: string;
|
|
2067
|
+
title?: string;
|
|
2068
|
+
};
|
|
2069
|
+
/** `gh stack add` then open a worktree+thread for the new top layer. */
|
|
2070
|
+
declare function addStackLayerFromThread(input: AddStackLayerInput, onSetupLine?: (line: string) => void): Promise<{
|
|
2071
|
+
stack: PrStack;
|
|
2072
|
+
thread: Thread;
|
|
2073
|
+
createdWorktree: boolean;
|
|
2074
|
+
}>;
|
|
2075
|
+
type InitStackFromThreadInput = {
|
|
2076
|
+
threadRef: string;
|
|
2077
|
+
/** Extra layers above the current branch (created empty on top). */
|
|
2078
|
+
additionalBranches?: string[];
|
|
2079
|
+
base?: string;
|
|
2080
|
+
};
|
|
2081
|
+
/**
|
|
2082
|
+
* Initialize a stack from the current thread's branch (bottom),
|
|
2083
|
+
* optionally adding further empty layers, then open worktrees for each.
|
|
2084
|
+
*/
|
|
2085
|
+
declare function initStackFromThread(input: InitStackFromThreadInput, onSetupLine?: (line: string) => void): Promise<{
|
|
2086
|
+
stack: PrStack;
|
|
2087
|
+
threads: Thread[];
|
|
2088
|
+
createdThreadIds: string[];
|
|
2089
|
+
}>;
|
|
2090
|
+
type CreateStackInput = {
|
|
2091
|
+
repoPath: string;
|
|
2092
|
+
/** Bottom → top branch names (created or adopted by gh stack init). */
|
|
2093
|
+
branches: string[];
|
|
2094
|
+
base?: string;
|
|
2095
|
+
agent: AgentKind;
|
|
2096
|
+
autonomy?: Autonomy;
|
|
2097
|
+
model?: string | null;
|
|
2098
|
+
effort?: ThinkingEffort;
|
|
2099
|
+
fast?: boolean;
|
|
2100
|
+
planMode?: boolean;
|
|
2101
|
+
title?: string;
|
|
2102
|
+
};
|
|
2103
|
+
/**
|
|
2104
|
+
* Create a new stack from trunk: init branches, then one worktree+thread per layer.
|
|
2105
|
+
* First layer gets an optional title; others use branch names until PRs exist.
|
|
2106
|
+
*/
|
|
2107
|
+
declare function createPrStack(input: CreateStackInput, onSetupLine?: (line: string) => void): Promise<{
|
|
2108
|
+
stack: PrStack;
|
|
2109
|
+
threads: Thread[];
|
|
2110
|
+
createdThreadIds: string[];
|
|
2111
|
+
}>;
|
|
2112
|
+
/** Defaults for opening stack layers from CreateThreadInput-shaped callers. */
|
|
2113
|
+
declare function stackAgentDefaultsFrom(input: Pick<CreateThreadInput, 'agent' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode'>): Pick<OpenStackLayerInput, 'agent' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode'>;
|
|
2114
|
+
|
|
1926
2115
|
/**
|
|
1927
2116
|
* Conductor persists Cursor SDK agent IDs under cursor-sdk-store/<hash>/agents.ndjson
|
|
1928
2117
|
* (not in sessions.claude_session_id). Prefer the newest durable agent for a cwd.
|
|
@@ -2034,6 +2223,9 @@ declare class Orchestrator {
|
|
|
2034
2223
|
getThreads(includeArchived?: boolean): Thread[];
|
|
2035
2224
|
getThread(idOrRef: string): Thread | null;
|
|
2036
2225
|
createThread(input: CreateThreadInput): Promise<Thread>;
|
|
2226
|
+
private finishCreateThread;
|
|
2227
|
+
/** Run workspace setup after a new worktree is created (no-op if none configured). */
|
|
2228
|
+
private runSetupAfterCreate;
|
|
2037
2229
|
listWorkspaces(): Workspace[];
|
|
2038
2230
|
addWorkspace(repoPath: string): Promise<Workspace>;
|
|
2039
2231
|
removeWorkspace(repoPath: string): void;
|
|
@@ -2161,6 +2353,45 @@ declare class Orchestrator {
|
|
|
2161
2353
|
private withPrSelector;
|
|
2162
2354
|
getPrChecks(threadRef: string): Promise<PrCheckRun[] | null>;
|
|
2163
2355
|
getPrMeta(threadRef: string): Promise<PrMeta | null>;
|
|
2356
|
+
getPrStack(threadRef: string): Promise<PrStack | null>;
|
|
2357
|
+
/** Open worktrees for all (or one) stack layers discovered from a thread. */
|
|
2358
|
+
openPrStackLayers(threadRef: string, opts?: {
|
|
2359
|
+
layer?: number;
|
|
2360
|
+
}): Promise<{
|
|
2361
|
+
stack: PrStack;
|
|
2362
|
+
threads: Thread[];
|
|
2363
|
+
}>;
|
|
2364
|
+
/** Add a branch on top of the thread's stack and open its worktree. */
|
|
2365
|
+
addStackLayer(threadRef: string, branchName: string, opts?: {
|
|
2366
|
+
title?: string;
|
|
2367
|
+
}): Promise<{
|
|
2368
|
+
stack: PrStack;
|
|
2369
|
+
thread: Thread;
|
|
2370
|
+
}>;
|
|
2371
|
+
/** Initialize a stack from the current thread branch (optional extra layers). */
|
|
2372
|
+
initStackFromThread(threadRef: string, opts?: {
|
|
2373
|
+
additionalBranches?: string[];
|
|
2374
|
+
base?: string;
|
|
2375
|
+
}): Promise<{
|
|
2376
|
+
stack: PrStack;
|
|
2377
|
+
threads: Thread[];
|
|
2378
|
+
}>;
|
|
2379
|
+
/** Create a new multi-layer stack with one worktree per layer. */
|
|
2380
|
+
createPrStack(input: {
|
|
2381
|
+
repoPath: string;
|
|
2382
|
+
branches: string[];
|
|
2383
|
+
base?: string;
|
|
2384
|
+
agent: AgentKind;
|
|
2385
|
+
autonomy?: Autonomy;
|
|
2386
|
+
model?: string | null;
|
|
2387
|
+
effort?: ThinkingEffort;
|
|
2388
|
+
fast?: boolean;
|
|
2389
|
+
planMode?: boolean;
|
|
2390
|
+
title?: string;
|
|
2391
|
+
}): Promise<{
|
|
2392
|
+
stack: PrStack;
|
|
2393
|
+
threads: Thread[];
|
|
2394
|
+
}>;
|
|
2164
2395
|
getPrDetails(threadRef: string): Promise<PrDetails | null>;
|
|
2165
2396
|
setAutonomy(threadRef: string, autonomy: Autonomy): Thread;
|
|
2166
2397
|
/**
|
|
@@ -2197,7 +2428,7 @@ declare class Orchestrator {
|
|
|
2197
2428
|
setAttachments(threadRef: string, attachments: Thread['attachments']): Thread;
|
|
2198
2429
|
/**
|
|
2199
2430
|
* Stage OS / worktree files into composer attachments (copies external files
|
|
2200
|
-
* into `.
|
|
2431
|
+
* into `.context/attachments/` so agents can Read images and binaries).
|
|
2201
2432
|
*/
|
|
2202
2433
|
attachComposerFiles(threadRef: string, opts: {
|
|
2203
2434
|
absolutePaths?: string[];
|
|
@@ -2233,10 +2464,11 @@ declare function startOrchestration(opts: {
|
|
|
2233
2464
|
declare const REPO_REVIEW_PATH = ".sideboard/review.md";
|
|
2234
2465
|
declare const REPO_REVIEW_NAME = "review.md";
|
|
2235
2466
|
/**
|
|
2236
|
-
* Local
|
|
2467
|
+
* Local scratch guidelines (gitignored under `.context/attachments/`).
|
|
2237
2468
|
* Used as override when no repo file exists, or as the stock seed target.
|
|
2238
2469
|
*/
|
|
2239
|
-
declare const REVIEW_REQUEST_PATH = ".
|
|
2470
|
+
declare const REVIEW_REQUEST_PATH = ".context/attachments/Review request.md";
|
|
2471
|
+
declare const LEGACY_REVIEW_REQUEST_PATH = ".sideboard/attachments/Review request.md";
|
|
2240
2472
|
declare const REVIEW_REQUEST_NAME = "Review request.md";
|
|
2241
2473
|
/** Short chat message — guidelines live in the attached review file. */
|
|
2242
2474
|
declare const REVIEW_REQUEST_PREFILL = "Review.";
|
|
@@ -2255,8 +2487,9 @@ declare function shouldRefreshReviewRequestTemplate(content: string): boolean;
|
|
|
2255
2487
|
/**
|
|
2256
2488
|
* Resolve which review guidelines to attach:
|
|
2257
2489
|
* 1. `.sideboard/review.md` (committed, per-repo)
|
|
2258
|
-
* 2. `.
|
|
2259
|
-
* 3.
|
|
2490
|
+
* 2. `.context/attachments/Review request.md` (local override)
|
|
2491
|
+
* 3. Legacy `.sideboard/attachments/Review request.md`
|
|
2492
|
+
* 4. Seed stock template into `.context/attachments/` (does not write the repo file)
|
|
2260
2493
|
*/
|
|
2261
2494
|
declare function resolveReviewGuidelines(worktreePath: string): ResolvedReviewGuidelines;
|
|
2262
2495
|
/**
|
|
@@ -2287,6 +2520,107 @@ type SendFn = (threadRef: string, prompt: string) => Promise<Thread>;
|
|
|
2287
2520
|
*/
|
|
2288
2521
|
declare function requestReview(threadRef: string, send: SendFn): Promise<RequestReviewResult>;
|
|
2289
2522
|
|
|
2523
|
+
/**
|
|
2524
|
+
* Workspace-local scratch (Conductor-style `.context/`), not committed.
|
|
2525
|
+
* Repo-owned Sideboard config stays under `.sideboard/` (settings, review.md).
|
|
2526
|
+
*/
|
|
2527
|
+
/** Preferred local attachments root (plan, drops, review seed). */
|
|
2528
|
+
declare const ATTACHMENTS_DIR = ".context/attachments";
|
|
2529
|
+
/** Pre-migration Sideboard scratch root — still read for compatibility. */
|
|
2530
|
+
declare const LEGACY_ATTACHMENTS_DIR = ".sideboard/attachments";
|
|
2531
|
+
declare function attachmentsGitignoreBody(): string;
|
|
2532
|
+
/** True when a git status path is local scratch and should not count as dirty. */
|
|
2533
|
+
declare function isWorkspaceScratchPath(relativePath: string): boolean;
|
|
2534
|
+
|
|
2535
|
+
/**
|
|
2536
|
+
* Plan-mode clarifying questions (AskUserQuestion / Sideboard ask_user).
|
|
2537
|
+
* Presented in the composer; answers are sent as a normal user message.
|
|
2538
|
+
*/
|
|
2539
|
+
interface PlanQuestionOption {
|
|
2540
|
+
label: string;
|
|
2541
|
+
description?: string;
|
|
2542
|
+
}
|
|
2543
|
+
interface PlanQuestion {
|
|
2544
|
+
/** Full question text. */
|
|
2545
|
+
question: string;
|
|
2546
|
+
/** Short chip label (≤12 chars when from Claude). */
|
|
2547
|
+
header?: string;
|
|
2548
|
+
multiSelect?: boolean;
|
|
2549
|
+
options: PlanQuestionOption[];
|
|
2550
|
+
}
|
|
2551
|
+
interface PendingPlanQuestions {
|
|
2552
|
+
/** Tool call / presentation id (dismiss + dedupe). */
|
|
2553
|
+
id: string;
|
|
2554
|
+
questions: PlanQuestion[];
|
|
2555
|
+
/** Source tool name for debugging. */
|
|
2556
|
+
source: string;
|
|
2557
|
+
}
|
|
2558
|
+
/** Normalize AskUserQuestion / ask_user tool input into questions. */
|
|
2559
|
+
declare function parsePlanQuestionsInput(input: unknown): PlanQuestion[];
|
|
2560
|
+
declare function isAskUserToolName(name: string | undefined | null): boolean;
|
|
2561
|
+
type ToolPartLike = {
|
|
2562
|
+
type: string;
|
|
2563
|
+
id?: string;
|
|
2564
|
+
name?: string;
|
|
2565
|
+
input?: Record<string, unknown>;
|
|
2566
|
+
status?: string;
|
|
2567
|
+
};
|
|
2568
|
+
/** Newest ask-user tool part with parseable questions (live or persisted). */
|
|
2569
|
+
declare function extractPendingPlanQuestions(parts: ToolPartLike[] | undefined | null): PendingPlanQuestions | null;
|
|
2570
|
+
interface PlanQuestionAnswer {
|
|
2571
|
+
questionIndex: number;
|
|
2572
|
+
/** Selected option labels (empty when only Other). */
|
|
2573
|
+
selected: string[];
|
|
2574
|
+
/** Free-text Other response. */
|
|
2575
|
+
other?: string;
|
|
2576
|
+
}
|
|
2577
|
+
/** Format answers as a concise user message for the agent. */
|
|
2578
|
+
declare function formatPlanQuestionAnswers(questions: PlanQuestion[], answers: PlanQuestionAnswer[]): string;
|
|
2579
|
+
/** Markdown brief of questions + option meanings for the chat transcript. */
|
|
2580
|
+
declare function formatPlanQuestionsForChat(questions: PlanQuestion[]): string;
|
|
2581
|
+
|
|
2582
|
+
/**
|
|
2583
|
+
* Pure helpers for plan presentation (safe for renderer bundling).
|
|
2584
|
+
* File I/O lives in plan-file.ts.
|
|
2585
|
+
*/
|
|
2586
|
+
/** Canonical relative path inside the worktree (shared by forked chat tabs). */
|
|
2587
|
+
declare const PLAN_FILE_REL = ".context/attachments/plan.md";
|
|
2588
|
+
declare const PLAN_FILE_NAME = "plan.md";
|
|
2589
|
+
/** Legacy path from before plans lived under attachments/. */
|
|
2590
|
+
declare const LEGACY_PLAN_FILE_REL = ".sideboard/plan.md";
|
|
2591
|
+
declare function isPresentPlanToolName(name: string | undefined | null): boolean;
|
|
2592
|
+
type PresentedPlan = {
|
|
2593
|
+
title: string;
|
|
2594
|
+
content: string;
|
|
2595
|
+
path: string;
|
|
2596
|
+
source: 'present_plan' | 'exit_plan' | 'text';
|
|
2597
|
+
};
|
|
2598
|
+
type PlanToolPartLike = {
|
|
2599
|
+
type: string;
|
|
2600
|
+
id?: string;
|
|
2601
|
+
name?: string;
|
|
2602
|
+
input?: Record<string, unknown>;
|
|
2603
|
+
};
|
|
2604
|
+
/** Newest present_plan tool payload with markdown content. */
|
|
2605
|
+
declare function extractPresentedPlan(parts: PlanToolPartLike[] | undefined | null): PresentedPlan | null;
|
|
2606
|
+
/** Best plan markdown from tool parts, then file, then agent text fallback. */
|
|
2607
|
+
declare function resolvePlanMarkdown(opts: {
|
|
2608
|
+
parts?: PlanToolPartLike[] | null;
|
|
2609
|
+
text?: string | null;
|
|
2610
|
+
fileContent?: string | null;
|
|
2611
|
+
}): PresentedPlan | null;
|
|
2612
|
+
|
|
2613
|
+
/**
|
|
2614
|
+
* Worktree plan document I/O (plan mode).
|
|
2615
|
+
* Pure presentation helpers: plan-present.ts
|
|
2616
|
+
*/
|
|
2617
|
+
|
|
2618
|
+
declare function planFileAbs(worktreePath: string): string;
|
|
2619
|
+
/** Prefer `.context/attachments/plan.md`; fall back to legacy Sideboard paths. */
|
|
2620
|
+
declare function readPlanFile(worktreePath: string): string | null;
|
|
2621
|
+
/** Write (or overwrite) the worktree plan markdown. Returns relative path. */
|
|
2622
|
+
declare function writePlanFile(worktreePath: string, content: string): string;
|
|
2623
|
+
|
|
2290
2624
|
type WorkspaceInventoryEntry = Workspace & {
|
|
2291
2625
|
/** Best-effort GitHub `owner/repo` from remote / gh. */
|
|
2292
2626
|
githubSlug?: string | null;
|
|
@@ -2486,7 +2820,7 @@ interface IpcApi {
|
|
|
2486
2820
|
setAttachments(threadRef: string, attachments: ThreadAttachment[]): Promise<Thread>;
|
|
2487
2821
|
/**
|
|
2488
2822
|
* Stage dropped/picked files into composer attachments. External files are
|
|
2489
|
-
* copied into `.
|
|
2823
|
+
* copied into `.context/attachments/` in the thread worktree.
|
|
2490
2824
|
*/
|
|
2491
2825
|
attachComposerFiles(threadRef: string, opts: {
|
|
2492
2826
|
absolutePaths?: string[];
|
|
@@ -2555,6 +2889,46 @@ interface IpcApi {
|
|
|
2555
2889
|
getPrChecks(threadRef: string): Promise<PrCheckRun[] | null>;
|
|
2556
2890
|
/** Lightweight PR fields for the sidebar pill (cheap GraphQL). */
|
|
2557
2891
|
getPrMeta(threadRef: string): Promise<PrMeta | null>;
|
|
2892
|
+
/** GitHub PR stack for the thread worktree, or null if not stacked. */
|
|
2893
|
+
getPrStack(threadRef: string): Promise<PrStack | null>;
|
|
2894
|
+
/** Open worktrees/threads for stack layers (all, or one 1-based position). */
|
|
2895
|
+
openPrStackLayers(threadRef: string, opts?: {
|
|
2896
|
+
layer?: number;
|
|
2897
|
+
}): Promise<{
|
|
2898
|
+
stack: PrStack;
|
|
2899
|
+
threads: Thread[];
|
|
2900
|
+
}>;
|
|
2901
|
+
/** Add a branch on top of the thread's stack and open its worktree. */
|
|
2902
|
+
addStackLayer(threadRef: string, branchName: string, opts?: {
|
|
2903
|
+
title?: string;
|
|
2904
|
+
}): Promise<{
|
|
2905
|
+
stack: PrStack;
|
|
2906
|
+
thread: Thread;
|
|
2907
|
+
}>;
|
|
2908
|
+
/** Turn the current thread branch into a stack (optional extra empty layers). */
|
|
2909
|
+
initStackFromThread(threadRef: string, opts?: {
|
|
2910
|
+
additionalBranches?: string[];
|
|
2911
|
+
base?: string;
|
|
2912
|
+
}): Promise<{
|
|
2913
|
+
stack: PrStack;
|
|
2914
|
+
threads: Thread[];
|
|
2915
|
+
}>;
|
|
2916
|
+
/** Create a new stack with one worktree per layer. */
|
|
2917
|
+
createPrStack(input: {
|
|
2918
|
+
repoPath: string;
|
|
2919
|
+
branches: string[];
|
|
2920
|
+
base?: string;
|
|
2921
|
+
agent: AgentKind;
|
|
2922
|
+
autonomy?: Autonomy;
|
|
2923
|
+
model?: string | null;
|
|
2924
|
+
effort?: ThinkingEffort;
|
|
2925
|
+
fast?: boolean;
|
|
2926
|
+
planMode?: boolean;
|
|
2927
|
+
title?: string;
|
|
2928
|
+
}): Promise<{
|
|
2929
|
+
stack: PrStack;
|
|
2930
|
+
threads: Thread[];
|
|
2931
|
+
}>;
|
|
2558
2932
|
/** PR description / reviews for the Review tab. */
|
|
2559
2933
|
getPrDetails(threadRef: string): Promise<PrDetails | null>;
|
|
2560
2934
|
listFiles(threadRef: string): Promise<string[]>;
|
|
@@ -2920,4 +3294,4 @@ declare function writeInjectedMcpConfig(opts: {
|
|
|
2920
3294
|
includeBrightsy?: boolean;
|
|
2921
3295
|
}): Promise<string | null>;
|
|
2922
3296
|
|
|
2923
|
-
export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLAUDE_MODEL_CATALOG, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, installAgent, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isLinearConnected, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isSessionQuotaLimit, isSideboardScratchPath, isThinkingEffort, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, parseSessionQuotaResetAt, partsToAssistantText, pastedTextStats, permissionMode, previewLand, pushBranch, readExistingReviewRequestFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requestReview, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldRefreshReviewRequestTemplate, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateDefaultsSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };
|
|
3297
|
+
export { ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLAUDE_MODEL_CATALOG, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isLinearConnected, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isThinkingEffort, isWorkspaceScratchPath, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, partsToAssistantText, pastedTextStats, permissionMode, planFileAbs, previewLand, pushBranch, readExistingReviewRequestFile, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requestReview, requireAgent, resetGhStackDetectCache, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldRefreshReviewRequestTemplate, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateDefaultsSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|