@sideboard-ai/core 0.1.124 → 0.1.127
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-DPR2TDNF.js → agents-7BUQY2WX.js} +6 -6
- package/dist/{agents-DCXXLTXF.js → agents-X2I3RNCY.js} +6 -6
- package/dist/{app-settings-YFWV7MOG.js → app-settings-6RPALX4J.js} +7 -1
- package/dist/{app-settings-IKFWZDUK.js → app-settings-E7NEQY7D.js} +7 -1
- package/dist/{chunk-SDCPQL27.js → chunk-DLM5LSQW.js} +484 -93
- package/dist/{chunk-RG737OWT.js → chunk-G6X6UFJO.js} +2 -0
- package/dist/{chunk-HPAWHIZ3.js → chunk-HLJUNJBF.js} +2 -0
- package/dist/{chunk-OHEFHIG3.js → chunk-HRSBZIXS.js} +14 -6
- package/dist/{chunk-KWGP6RZM.js → chunk-HULESWLI.js} +4 -4
- package/dist/{chunk-FXQPY2KU.js → chunk-HUYEU4GS.js} +26 -4
- package/dist/{chunk-2X7I6MDW.js → chunk-HZPO3SSZ.js} +11 -8
- package/dist/{chunk-O43IRQ2Y.js → chunk-MNL4FSKY.js} +4 -4
- package/dist/{chunk-7Y3AYQWT.js → chunk-NV73AO7Q.js} +4 -4
- package/dist/{chunk-TRTWH6C2.js → chunk-RSFCB23A.js} +11 -8
- package/dist/{chunk-RBVVWBVB.js → chunk-SYLTXDRF.js} +2 -2
- package/dist/{chunk-MZDAEI3Y.js → chunk-T7KJQJAX.js} +496 -109
- package/dist/{chunk-UAVZ2JSO.js → chunk-UDQI3N47.js} +14 -6
- package/dist/{chunk-HZLE6LJJ.js → chunk-VE22NWBD.js} +2 -2
- package/dist/{chunk-JNAIKICO.js → chunk-ZMUOPTKZ.js} +4 -4
- package/dist/{chunk-BMIRX64H.js → chunk-ZND6XV6J.js} +26 -4
- package/dist/{coordinator-prompt-AZ3WRDNC.js → coordinator-prompt-MEEUOEF2.js} +4 -4
- package/dist/{coordinator-prompt-LEU62W25.js → coordinator-prompt-SPJSGAQS.js} +4 -4
- package/dist/{global-workspace-U5UOVXKQ.js → global-workspace-BMWP7YZC.js} +5 -5
- package/dist/{global-workspace-4YNYDMLQ.js → global-workspace-KNESLWKG.js} +5 -5
- package/dist/index.cjs +1208 -236
- package/dist/index.d.cts +303 -103
- package/dist/index.d.ts +303 -103
- package/dist/index.js +671 -129
- package/dist/mcp/run-stdio.cjs +1054 -194
- package/dist/mcp/run-stdio.js +554 -114
- package/dist/{orchestrator-VJQ5EWZZ.js → orchestrator-3JLPPTCF.js} +8 -8
- package/dist/{orchestrator-JS3EHI4E.js → orchestrator-6GUCE4LY.js} +8 -8
- package/dist/{thread-store-JR235AWK.js → thread-store-5MLYY35S.js} +1 -1
- package/dist/{thread-store-PMH3BMB6.js → thread-store-F6BCARQG.js} +1 -1
- package/dist/{workspaces-ICK433ZV.js → workspaces-HSYRYJYV.js} +6 -6
- package/dist/{workspaces-POWKTH2D.js → workspaces-O4QZOASB.js} +6 -6
- package/dist/{worktree-CMGBTVN4.js → worktree-ERHC7Q4F.js} +5 -3
- package/dist/{worktree-T57RD7BQ.js → worktree-JVGSLSLJ.js} +5 -3
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -141,6 +141,11 @@ interface Thread {
|
|
|
141
141
|
* styling and Conductor-style auto-archive-on-merge.
|
|
142
142
|
*/
|
|
143
143
|
prState: string | null;
|
|
144
|
+
/**
|
|
145
|
+
* Cached GitHub draft flag from the last `getPrMeta`. Open + draft → Home
|
|
146
|
+
* Draft column; open + not draft → Review. Omitted/false when unknown.
|
|
147
|
+
*/
|
|
148
|
+
prIsDraft?: boolean;
|
|
144
149
|
/**
|
|
145
150
|
* When true, skip auto-archive if the PR is already MERGED (set on restore
|
|
146
151
|
* so unarchiving a merged workspace does not immediately re-archive).
|
|
@@ -243,6 +248,14 @@ interface PrInfo {
|
|
|
243
248
|
headRefName: string;
|
|
244
249
|
url: string;
|
|
245
250
|
isCrossRepository: boolean;
|
|
251
|
+
/** Present when listed via `gh pr list --json author`. */
|
|
252
|
+
author?: {
|
|
253
|
+
login: string;
|
|
254
|
+
} | null;
|
|
255
|
+
/** Present when `gh pr view --json isDraft` is requested. */
|
|
256
|
+
isDraft?: boolean;
|
|
257
|
+
/** Present when `gh pr view --json state` is requested. */
|
|
258
|
+
state?: string;
|
|
246
259
|
}
|
|
247
260
|
/** One CI check from `gh pr checks --json`, or a synthetic merge/review gate. */
|
|
248
261
|
interface PrCheckRun {
|
|
@@ -352,6 +365,11 @@ interface PrStack {
|
|
|
352
365
|
readyToMerge: boolean;
|
|
353
366
|
blockedReason: string | null;
|
|
354
367
|
}
|
|
368
|
+
interface IssueCycleInfo {
|
|
369
|
+
name: string;
|
|
370
|
+
number?: number;
|
|
371
|
+
isActive: boolean;
|
|
372
|
+
}
|
|
355
373
|
interface IssueInfo {
|
|
356
374
|
id: string;
|
|
357
375
|
identifier: string;
|
|
@@ -359,7 +377,15 @@ interface IssueInfo {
|
|
|
359
377
|
url: string;
|
|
360
378
|
labels: string[];
|
|
361
379
|
/** When set, which tracker produced this issue. */
|
|
362
|
-
provider?: 'linear' | 'github';
|
|
380
|
+
provider?: 'linear' | 'github' | 'abletime';
|
|
381
|
+
/** Display name / login of the primary assignee. */
|
|
382
|
+
assignee?: string;
|
|
383
|
+
/** Logins or display names (GitHub assignees; Linear is usually one). */
|
|
384
|
+
assignees?: string[];
|
|
385
|
+
/** Linear cycle (sprint). Absent on GitHub / unscheduled issues. */
|
|
386
|
+
cycle?: IssueCycleInfo | null;
|
|
387
|
+
/** Linear team key (e.g. ENG). */
|
|
388
|
+
teamKey?: string;
|
|
363
389
|
}
|
|
364
390
|
interface DiffFile {
|
|
365
391
|
path: string;
|
|
@@ -573,6 +599,11 @@ interface CreateThreadInput {
|
|
|
573
599
|
* Pushes go to that branch; archive does not remove the folder.
|
|
574
600
|
*/
|
|
575
601
|
cowboy?: boolean;
|
|
602
|
+
/**
|
|
603
|
+
* When false, always create a new worktree (fork_worktree, best-of-n).
|
|
604
|
+
* Default true: reuse a live ticket/PR/named-branch worktree instead of a second checkout.
|
|
605
|
+
*/
|
|
606
|
+
reuseExisting?: boolean;
|
|
576
607
|
}
|
|
577
608
|
interface AdoptInput {
|
|
578
609
|
worktreePath: string;
|
|
@@ -620,6 +651,14 @@ declare function threadLockPath(id: string): string;
|
|
|
620
651
|
/** Empty synthetic cwd for global orchestration agents (not a git worktree). */
|
|
621
652
|
declare function globalAgentCwd(): string;
|
|
622
653
|
|
|
654
|
+
/** Node-free labels for renderer + core. Do not import app-settings from here. */
|
|
655
|
+
declare const ISSUE_SOURCE_LABELS: {
|
|
656
|
+
readonly github: "GitHub";
|
|
657
|
+
readonly linear: "Linear";
|
|
658
|
+
readonly abletime: "AbleTime";
|
|
659
|
+
};
|
|
660
|
+
declare function issueSourceLabel(source: string | null | undefined): string;
|
|
661
|
+
|
|
623
662
|
/** Well-known env keys managed from Settings → Agents (Conductor-style harnesses). */
|
|
624
663
|
declare const HARNESS_ENV_KEYS: {
|
|
625
664
|
readonly claude: "ANTHROPIC_API_KEY";
|
|
@@ -674,8 +713,9 @@ interface BrightsyHarnessSettings {
|
|
|
674
713
|
*/
|
|
675
714
|
injectWorktreeMcp?: boolean;
|
|
676
715
|
}
|
|
677
|
-
/** Preferred issue tracker for Create-from / Link issue. */
|
|
678
|
-
type IssueSource = 'linear' | 'github';
|
|
716
|
+
/** Preferred issue tracker for Create-from / Link issue / Home Backlog. */
|
|
717
|
+
type IssueSource = 'linear' | 'github' | 'abletime';
|
|
718
|
+
|
|
679
719
|
/**
|
|
680
720
|
* How Sideboard and worktree agents authenticate GitHub git operations.
|
|
681
721
|
* A declared mode so the app and injected prompts agree. Sideboard never
|
|
@@ -710,8 +750,8 @@ interface IntegrationsSettings {
|
|
|
710
750
|
/** Display name of the connected Linear workspace (non-secret). */
|
|
711
751
|
linearOrganizationName?: string;
|
|
712
752
|
/**
|
|
713
|
-
* Preferred issue source for Create-from / Link issue (default: GitHub).
|
|
714
|
-
* When
|
|
753
|
+
* Preferred issue source for Create-from / Link issue / Home (default: GitHub).
|
|
754
|
+
* When the preferred tracker is not connected, runtime falls back to GitHub Issues.
|
|
715
755
|
*/
|
|
716
756
|
issueSource?: IssueSource;
|
|
717
757
|
/** Slack app Client ID for browser OAuth (Account → Slack). */
|
|
@@ -797,7 +837,7 @@ interface AdvancedAppSettings {
|
|
|
797
837
|
* Conductor: auto-archive on merge (opt-in; default off).
|
|
798
838
|
*/
|
|
799
839
|
autoArchiveOnMerge?: boolean;
|
|
800
|
-
/** Max concurrent agent turns across the orchestrator (default
|
|
840
|
+
/** Max concurrent agent turns across the orchestrator (default 5). */
|
|
801
841
|
maxConcurrent?: number;
|
|
802
842
|
/**
|
|
803
843
|
* Max Sideboard worktrees kept machine-wide before orphan cleanup
|
|
@@ -944,9 +984,14 @@ declare function getIssueSource(settings?: AppSettings): IssueSource;
|
|
|
944
984
|
declare function getGithubGitAuthMode(settings?: AppSettings): GithubGitAuthMode;
|
|
945
985
|
/** Stored GitHub PAT for `token` mode (null when unset). */
|
|
946
986
|
declare function getGithubPat(settings?: AppSettings): string | null;
|
|
987
|
+
/**
|
|
988
|
+
* Whether this preferred source can list issues today.
|
|
989
|
+
* AbleTime is typed for Home/Create/Settings but has no client yet.
|
|
990
|
+
*/
|
|
991
|
+
declare function isIssueSourceConnected(source: IssueSource, settings?: AppSettings): boolean;
|
|
947
992
|
/**
|
|
948
993
|
* Runtime issue source: honors preference, but falls back to GitHub when
|
|
949
|
-
*
|
|
994
|
+
* the preferred tracker is not connected (Linear unconnected, AbleTime, …).
|
|
950
995
|
*/
|
|
951
996
|
declare function resolveEffectiveIssueSource(settings?: AppSettings): IssueSource;
|
|
952
997
|
declare function getLinearApiKey(settings?: AppSettings): string | null;
|
|
@@ -1066,7 +1111,7 @@ declare function resolveThreadEffort(raw: {
|
|
|
1066
1111
|
fast?: unknown;
|
|
1067
1112
|
}): ThinkingEffort;
|
|
1068
1113
|
declare function normalizeThread(raw: Thread): Thread;
|
|
1069
|
-
declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'prState' | 'skipAutoArchiveOnMerge' | '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' | 'prState' | 'skipAutoArchiveOnMerge' | 'cowboy' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'attachments'>>): Thread;
|
|
1114
|
+
declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'prState' | 'prIsDraft' | 'skipAutoArchiveOnMerge' | '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' | 'prState' | 'prIsDraft' | 'skipAutoArchiveOnMerge' | 'cowboy' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'attachments'>>): Thread;
|
|
1070
1115
|
declare function withThreadLock<T>(id: string, fn: () => Promise<T>): Promise<T>;
|
|
1071
1116
|
declare function readThread(id: string): Thread | null;
|
|
1072
1117
|
declare function writeThread(thread: Thread): void;
|
|
@@ -1447,6 +1492,8 @@ declare function worktreeDisplayLabelForGroup(threads: {
|
|
|
1447
1492
|
|
|
1448
1493
|
declare function slugify(input: string): string;
|
|
1449
1494
|
declare function resolveRepoRoot(cwd: string): Promise<string>;
|
|
1495
|
+
/** Resolve /var vs /private/var (and similar) so live-worktree reuse can match. */
|
|
1496
|
+
declare function canonicalizeRepoPath(path: string): string;
|
|
1450
1497
|
/**
|
|
1451
1498
|
* Parse `owner/name` from a git remote URL (SSH, HTTPS, or SSH host aliases).
|
|
1452
1499
|
*/
|
|
@@ -1700,6 +1747,11 @@ interface LinearIssue {
|
|
|
1700
1747
|
states: LinearWorkflowState[];
|
|
1701
1748
|
};
|
|
1702
1749
|
labels: string[];
|
|
1750
|
+
cycle?: {
|
|
1751
|
+
name: string;
|
|
1752
|
+
number?: number;
|
|
1753
|
+
isActive: boolean;
|
|
1754
|
+
} | null;
|
|
1703
1755
|
}
|
|
1704
1756
|
interface LinearComment {
|
|
1705
1757
|
id: string;
|
|
@@ -1717,12 +1769,28 @@ declare function rewriteLinearError(message: string): string;
|
|
|
1717
1769
|
declare function linearGraphql<T>(query: string, variables?: Record<string, unknown>, opts?: {
|
|
1718
1770
|
apiKey?: string | null;
|
|
1719
1771
|
}): Promise<T>;
|
|
1772
|
+
declare function linearCycleIsActive(cycle: {
|
|
1773
|
+
startsAt?: string;
|
|
1774
|
+
endsAt?: string;
|
|
1775
|
+
completedAt?: string | null;
|
|
1776
|
+
} | null | undefined, now?: number): boolean;
|
|
1720
1777
|
declare function resolveLinearTeam(teams: LinearTeam[], team: string): LinearTeam;
|
|
1721
1778
|
declare function resolveLinearState(team: Pick<LinearTeam, 'key' | 'states'>, state: string): LinearWorkflowState;
|
|
1779
|
+
type LinearAssignedIssuesResult = {
|
|
1780
|
+
viewer: {
|
|
1781
|
+
id: string;
|
|
1782
|
+
name: string;
|
|
1783
|
+
};
|
|
1784
|
+
issues: IssueInfo[];
|
|
1785
|
+
};
|
|
1722
1786
|
/**
|
|
1723
1787
|
* List open issues assigned to the authenticated Linear user via GraphQL.
|
|
1724
1788
|
* Uses Sideboard-stored OAuth token or API key (Account → Linear), not agent MCP.
|
|
1725
1789
|
*/
|
|
1790
|
+
declare function listLinearAssignedIssues(opts?: {
|
|
1791
|
+
limit?: number;
|
|
1792
|
+
apiKey?: string | null;
|
|
1793
|
+
}): Promise<LinearAssignedIssuesResult>;
|
|
1726
1794
|
declare function listLinearIssuesDirect(opts?: {
|
|
1727
1795
|
limit?: number;
|
|
1728
1796
|
apiKey?: string | null;
|
|
@@ -1812,6 +1880,11 @@ interface ListIssuesResult {
|
|
|
1812
1880
|
preferredSource: IssueSource;
|
|
1813
1881
|
linearConnected: boolean;
|
|
1814
1882
|
issues: IssueInfo[];
|
|
1883
|
+
/** Linear viewer name or GitHub login — used for “assigned to me”. */
|
|
1884
|
+
viewer?: {
|
|
1885
|
+
login?: string;
|
|
1886
|
+
name?: string;
|
|
1887
|
+
};
|
|
1815
1888
|
}
|
|
1816
1889
|
/**
|
|
1817
1890
|
* List GitHub Issues for the repo via `gh` (machine-global auth).
|
|
@@ -1821,8 +1894,10 @@ declare function listGitHubIssues(repoPath: string, opts?: {
|
|
|
1821
1894
|
limit?: number;
|
|
1822
1895
|
}): Promise<IssueInfo[]>;
|
|
1823
1896
|
/**
|
|
1824
|
-
* Unified issue list for Create-from / Link issue / MCP / CLI.
|
|
1897
|
+
* Unified issue list for Create-from / Link issue / Home / MCP / CLI.
|
|
1825
1898
|
* Uses Sideboard Account connections — not agent Linear MCP.
|
|
1899
|
+
* Linear and GitHub only; AbleTime is typed but has no client yet
|
|
1900
|
+
* (`resolveEffectiveIssueSource` falls back to GitHub).
|
|
1826
1901
|
*/
|
|
1827
1902
|
declare function listIssues(repoPath: string): Promise<ListIssuesResult>;
|
|
1828
1903
|
|
|
@@ -3519,10 +3594,17 @@ interface PlanQuestion {
|
|
|
3519
3594
|
interface PendingPlanQuestions {
|
|
3520
3595
|
/** Tool call / presentation id (dismiss + dedupe). */
|
|
3521
3596
|
id: string;
|
|
3597
|
+
/**
|
|
3598
|
+
* Stable identity of the question set (labels + prompts). Survives live →
|
|
3599
|
+
* persist tool-id changes so the UI does not remount after an answer.
|
|
3600
|
+
*/
|
|
3601
|
+
signature: string;
|
|
3522
3602
|
questions: PlanQuestion[];
|
|
3523
3603
|
/** Source tool name for debugging. */
|
|
3524
3604
|
source: string;
|
|
3525
3605
|
}
|
|
3606
|
+
/** Content key for dismiss / draft reset — not the ephemeral tool call id. */
|
|
3607
|
+
declare function planQuestionsSignature(questions: PlanQuestion[]): string;
|
|
3526
3608
|
/** Normalize AskUserQuestion / ask_user tool input into questions. */
|
|
3527
3609
|
declare function parsePlanQuestionsInput(input: unknown): PlanQuestion[];
|
|
3528
3610
|
declare function isAskUserToolName(name: string | undefined | null): boolean;
|
|
@@ -3535,6 +3617,20 @@ type ToolPartLike = {
|
|
|
3535
3617
|
};
|
|
3536
3618
|
/** Newest ask-user tool part with parseable questions (live or persisted). */
|
|
3537
3619
|
declare function extractPendingPlanQuestions(parts: ToolPartLike[] | undefined | null): PendingPlanQuestions | null;
|
|
3620
|
+
/**
|
|
3621
|
+
* Questions still waiting on the user. After they reply (composer picker or
|
|
3622
|
+
* a normal chat message — persisted or in-flight), this is null so the panel
|
|
3623
|
+
* does not remount from the previous agent turn.
|
|
3624
|
+
*/
|
|
3625
|
+
declare function latestPendingPlanQuestions(input: {
|
|
3626
|
+
messages: Array<{
|
|
3627
|
+
role: string;
|
|
3628
|
+
parts?: ToolPartLike[];
|
|
3629
|
+
}>;
|
|
3630
|
+
liveParts?: ToolPartLike[] | null;
|
|
3631
|
+
/** Optimistic user send not yet in `messages`. */
|
|
3632
|
+
userReplied?: boolean;
|
|
3633
|
+
}): PendingPlanQuestions | null;
|
|
3538
3634
|
interface PlanQuestionAnswer {
|
|
3539
3635
|
questionIndex: number;
|
|
3540
3636
|
/** Selected option labels (empty when only Other). */
|
|
@@ -3660,6 +3756,96 @@ declare const SIDEBOARD_MCP_PROFILE_ENV = "SIDEBOARD_MCP_PROFILE";
|
|
|
3660
3756
|
declare const WORKTREE_MCP_TOOLS: readonly ["present_artifact", "ask_user", "present_plan", "present_schema", "present_files"];
|
|
3661
3757
|
declare function sideboardMcpProfile(env?: NodeJS.ProcessEnv): SideboardMcpProfile;
|
|
3662
3758
|
|
|
3759
|
+
/**
|
|
3760
|
+
* Home Kanban work item — every worktree checkout, however it was created
|
|
3761
|
+
* (sidebar Create, MCP create_thread, adopt,
|
|
3762
|
+
* cowboy). Sibling chat tabs share one card. Orchestration / Global chats
|
|
3763
|
+
* stay in the sidebar, not the board.
|
|
3764
|
+
*/
|
|
3765
|
+
declare function isHomeBoardThread(thread: Pick<Thread, 'sourceType' | 'repoPath'>): boolean;
|
|
3766
|
+
type BoardColumnId = 'backlog' | 'queued' | 'running' | 'new' | 'draft' | 'review' | 'done';
|
|
3767
|
+
/** Issue card on Home — `repoPath` is where Start will create the worktree. */
|
|
3768
|
+
type BoardIssue = IssueInfo & {
|
|
3769
|
+
repoPath: string;
|
|
3770
|
+
/** Linear / unknown + multiple workspaces: show a compact picker before Start. */
|
|
3771
|
+
needsWorkspacePick: boolean;
|
|
3772
|
+
};
|
|
3773
|
+
/** Open PR listed from a workspace (picker + metadata sync). */
|
|
3774
|
+
type BoardPr = PrInfo & {
|
|
3775
|
+
repoPath: string;
|
|
3776
|
+
};
|
|
3777
|
+
type BoardPinKind = 'ticket' | 'pr' | 'branch';
|
|
3778
|
+
/** User-pulled Home card. Remote fields refresh from Linear/GitHub; membership is local. */
|
|
3779
|
+
type BoardPin = {
|
|
3780
|
+
id: string;
|
|
3781
|
+
kind: BoardPinKind;
|
|
3782
|
+
ref: string;
|
|
3783
|
+
repoPath: string;
|
|
3784
|
+
addedAt: string;
|
|
3785
|
+
title: string;
|
|
3786
|
+
url?: string;
|
|
3787
|
+
labels?: string[];
|
|
3788
|
+
provider?: IssueInfo['provider'];
|
|
3789
|
+
assignee?: string;
|
|
3790
|
+
cycle?: string;
|
|
3791
|
+
teamKey?: string;
|
|
3792
|
+
headRefName?: string;
|
|
3793
|
+
author?: string;
|
|
3794
|
+
remoteState?: string;
|
|
3795
|
+
needsWorkspacePick: boolean;
|
|
3796
|
+
};
|
|
3797
|
+
type AddBoardPinInput = {
|
|
3798
|
+
kind: BoardPinKind;
|
|
3799
|
+
ref: string;
|
|
3800
|
+
repoPath: string;
|
|
3801
|
+
title?: string;
|
|
3802
|
+
url?: string;
|
|
3803
|
+
labels?: string[];
|
|
3804
|
+
provider?: IssueInfo['provider'];
|
|
3805
|
+
assignee?: string;
|
|
3806
|
+
cycle?: string;
|
|
3807
|
+
teamKey?: string;
|
|
3808
|
+
headRefName?: string;
|
|
3809
|
+
author?: string;
|
|
3810
|
+
workspaceCount?: number;
|
|
3811
|
+
};
|
|
3812
|
+
/** How long Home / list_board reuse Linear + GitHub results before a refresh. */
|
|
3813
|
+
declare const HOME_BOARD_CACHE_TTL_MS: number;
|
|
3814
|
+
/** Remote ticket + PR snapshot (no threads — those stay live). */
|
|
3815
|
+
type HomeBoardRemoteData = {
|
|
3816
|
+
issues: BoardIssue[];
|
|
3817
|
+
prs: BoardPr[];
|
|
3818
|
+
issueSource: string;
|
|
3819
|
+
viewerLogin?: string;
|
|
3820
|
+
issueErrors: string[];
|
|
3821
|
+
prErrors: string[];
|
|
3822
|
+
};
|
|
3823
|
+
type HomeBoardLoaded = HomeBoardRemoteData & {
|
|
3824
|
+
fetchedAt: number;
|
|
3825
|
+
fromCache: boolean;
|
|
3826
|
+
pins: BoardPin[];
|
|
3827
|
+
};
|
|
3828
|
+
/**
|
|
3829
|
+
* Live Home threads grouped by checkout. Each group is newest-updated first.
|
|
3830
|
+
* One card per group — extra chat tabs do not get their own column slot.
|
|
3831
|
+
*/
|
|
3832
|
+
declare function groupHomeBoardWorktrees<T extends Pick<Thread, 'worktreePath' | 'updatedAt'>>(threads: T[]): T[][];
|
|
3833
|
+
/** Column for a worktree: merged → Merged, open non-draft → Review, draft → Draft. */
|
|
3834
|
+
declare function classifyWorktreeColumn(group: Array<Pick<Thread, 'prUrl' | 'prState' | 'prIsDraft'>>): BoardColumnId;
|
|
3835
|
+
/** Activity dot for a worktree: running / queued beat idle sibling tabs. */
|
|
3836
|
+
declare function worktreeBoardStatus(group: Array<Pick<Thread, 'status'>>): Thread['status'];
|
|
3837
|
+
/**
|
|
3838
|
+
* Live worktree already covering this create (ticket, PR, or named branch).
|
|
3839
|
+
* Default-branch / "new worktree" creates return undefined so each one stays isolated.
|
|
3840
|
+
*/
|
|
3841
|
+
declare function findLiveThreadForCreate<T extends Pick<Thread, 'id' | 'status' | 'sourceType' | 'sourceRef' | 'title' | 'prUrl' | 'branchName' | 'repoPath' | 'cowboy'>>(input: {
|
|
3842
|
+
sourceType: Exclude<Thread['sourceType'], 'orchestration'>;
|
|
3843
|
+
sourceRef: string;
|
|
3844
|
+
repoPath: string;
|
|
3845
|
+
title?: string;
|
|
3846
|
+
cowboy?: boolean;
|
|
3847
|
+
}, threads: T[]): T | undefined;
|
|
3848
|
+
|
|
3663
3849
|
interface BrightsyLocalConfig {
|
|
3664
3850
|
access_token: string;
|
|
3665
3851
|
refresh_token?: string;
|
|
@@ -3706,95 +3892,6 @@ declare function getBrightsySession(): Promise<BrightsySession>;
|
|
|
3706
3892
|
*/
|
|
3707
3893
|
declare function switchBrightsyAccount(accountIdOrSlug: string): Promise<BrightsySession>;
|
|
3708
3894
|
|
|
3709
|
-
interface SlackOutboundReply {
|
|
3710
|
-
userId: string;
|
|
3711
|
-
userName: string;
|
|
3712
|
-
ts: string;
|
|
3713
|
-
text: string;
|
|
3714
|
-
}
|
|
3715
|
-
interface SlackOutboundWatch {
|
|
3716
|
-
id: string;
|
|
3717
|
-
teamId: string;
|
|
3718
|
-
channelId: string;
|
|
3719
|
-
/** Posted message ts. */
|
|
3720
|
-
ts: string;
|
|
3721
|
-
/** Parent thread ts (same as `ts` for top-level posts). */
|
|
3722
|
-
threadTs: string;
|
|
3723
|
-
kind: 'dm' | 'channel';
|
|
3724
|
-
toUserId?: string;
|
|
3725
|
-
toLabel: string;
|
|
3726
|
-
ownerUserId?: string;
|
|
3727
|
-
/** Sideboard orchestration thread that called slack_post. */
|
|
3728
|
-
sourceThreadId?: string;
|
|
3729
|
-
postedAt: string;
|
|
3730
|
-
lastSeenTs: string;
|
|
3731
|
-
unread: boolean;
|
|
3732
|
-
replyUserId?: string;
|
|
3733
|
-
replyUserName?: string;
|
|
3734
|
-
replyTs?: string;
|
|
3735
|
-
replyPreview?: string;
|
|
3736
|
-
permalink?: string;
|
|
3737
|
-
/** Reply timestamps already copied into the source thread (not commands). */
|
|
3738
|
-
injectedReplyTs?: string[];
|
|
3739
|
-
replies?: SlackOutboundReply[];
|
|
3740
|
-
}
|
|
3741
|
-
interface SlackReplyBadge {
|
|
3742
|
-
id: string;
|
|
3743
|
-
userId: string;
|
|
3744
|
-
userName: string;
|
|
3745
|
-
initials: string;
|
|
3746
|
-
hue: number;
|
|
3747
|
-
permalink: string;
|
|
3748
|
-
label: string;
|
|
3749
|
-
preview?: string;
|
|
3750
|
-
repliedAt: string;
|
|
3751
|
-
}
|
|
3752
|
-
declare function slackArchiveUrl(channelId: string, ts: string): string;
|
|
3753
|
-
declare function formatSlackExternalReplyPrompt(input: {
|
|
3754
|
-
userName: string;
|
|
3755
|
-
kind: 'dm' | 'channel';
|
|
3756
|
-
toLabel: string;
|
|
3757
|
-
text: string;
|
|
3758
|
-
permalink?: string;
|
|
3759
|
-
}): string;
|
|
3760
|
-
declare function isSlackExternalReplyPrompt(text: string): boolean;
|
|
3761
|
-
/**
|
|
3762
|
-
* Slack replies appended after the last agent turn and before the current user
|
|
3763
|
-
* prompt. CLI --resume does not see Sideboard-injected messages, so the next
|
|
3764
|
-
* turn must include these in `prompt` (not cachedPrefix).
|
|
3765
|
-
*/
|
|
3766
|
-
declare function pendingSlackExternalReplies(messages: Array<{
|
|
3767
|
-
role: string;
|
|
3768
|
-
text: string;
|
|
3769
|
-
}>): string[];
|
|
3770
|
-
declare function formatSlackRepliesForTurn(replies: string[]): string | null;
|
|
3771
|
-
declare function formatSlackReplyContinuePrompt(input: {
|
|
3772
|
-
userName: string;
|
|
3773
|
-
kind: 'dm' | 'channel';
|
|
3774
|
-
toLabel: string;
|
|
3775
|
-
count: number;
|
|
3776
|
-
}): string;
|
|
3777
|
-
declare function listSlackOutboundWatches(): SlackOutboundWatch[];
|
|
3778
|
-
declare function recordSlackOutboundWatch(input: {
|
|
3779
|
-
teamId: string;
|
|
3780
|
-
channelId: string;
|
|
3781
|
-
ts: string;
|
|
3782
|
-
threadTs?: string;
|
|
3783
|
-
kind: 'dm' | 'channel';
|
|
3784
|
-
toUserId?: string;
|
|
3785
|
-
toLabel: string;
|
|
3786
|
-
ownerUserId?: string;
|
|
3787
|
-
sourceThreadId?: string;
|
|
3788
|
-
}): SlackOutboundWatch | null;
|
|
3789
|
-
declare function listSlackReplyBadges(): SlackReplyBadge[];
|
|
3790
|
-
declare function dismissSlackReplyBadge(badgeKey: string): SlackReplyBadge[];
|
|
3791
|
-
declare function permalinkForSlackReplyBadge(badgeKey: string): string | null;
|
|
3792
|
-
declare function refreshSlackReplyBadges(opts?: {
|
|
3793
|
-
fetchImpl?: typeof fetch;
|
|
3794
|
-
force?: boolean;
|
|
3795
|
-
now?: number;
|
|
3796
|
-
}): Promise<SlackReplyBadge[]>;
|
|
3797
|
-
|
|
3798
3895
|
interface SlackWorkspace {
|
|
3799
3896
|
team_id: string;
|
|
3800
3897
|
team_name: string;
|
|
@@ -3956,15 +4053,20 @@ interface IpcApi {
|
|
|
3956
4053
|
onCaffeinateHoldChanged(listener: (state: CaffeinateHoldState & {
|
|
3957
4054
|
appCaffeinated: boolean;
|
|
3958
4055
|
}) => void): () => void;
|
|
3959
|
-
/** Unread Slack replies to messages this Mac posted (relayed as info; queues a follow-up turn, not a Listen interrupt). */
|
|
3960
|
-
getSlackReplyBadges(): Promise<SlackReplyBadge[]>;
|
|
3961
|
-
/** Open the Slack thread in the browser/app and clear that user's badge. */
|
|
3962
|
-
openSlackReply(badgeId: string): Promise<SlackReplyBadge[]>;
|
|
3963
4056
|
/**
|
|
3964
4057
|
* Unified issues for Create-from / Link issue (Linear API or GitHub Issues,
|
|
3965
4058
|
* based on Account preference with Linear→GitHub fallback).
|
|
3966
4059
|
*/
|
|
3967
4060
|
listIssues(repoPath: string): Promise<ListIssuesResult>;
|
|
4061
|
+
/**
|
|
4062
|
+
* Home Kanban: pulled items plus a cached Linear/GitHub snapshot used to
|
|
4063
|
+
* sync their metadata. Pass refresh to hit remotes again.
|
|
4064
|
+
*/
|
|
4065
|
+
loadHomeBoard(opts?: {
|
|
4066
|
+
refresh?: boolean;
|
|
4067
|
+
}): Promise<HomeBoardLoaded>;
|
|
4068
|
+
addBoardItem(input: AddBoardPinInput): Promise<BoardPin>;
|
|
4069
|
+
removeBoardItem(id: string): Promise<boolean>;
|
|
3968
4070
|
listBranches(repoPath: string, opts?: {
|
|
3969
4071
|
unmergedOnly?: boolean;
|
|
3970
4072
|
}): Promise<BranchInfo[]>;
|
|
@@ -4335,6 +4437,34 @@ interface IpcApi {
|
|
|
4335
4437
|
};
|
|
4336
4438
|
}
|
|
4337
4439
|
|
|
4440
|
+
type HomeBoardWorkspace = {
|
|
4441
|
+
path: string;
|
|
4442
|
+
name?: string;
|
|
4443
|
+
};
|
|
4444
|
+
type HomeBoardInputs = HomeBoardRemoteData;
|
|
4445
|
+
/** Tests / Refresh: drop memory + disk snapshot. */
|
|
4446
|
+
declare function clearHomeBoardCache(): void;
|
|
4447
|
+
/**
|
|
4448
|
+
* Same ticket + PR fetch as desktop Home: Linear once, GitHub per workspace,
|
|
4449
|
+
* PRs per workspace. Failures are collected so a partial board still returns.
|
|
4450
|
+
*/
|
|
4451
|
+
declare function loadHomeBoardInputs(workspaces: HomeBoardWorkspace[]): Promise<HomeBoardInputs>;
|
|
4452
|
+
type GetHomeBoardInputsOptions = {
|
|
4453
|
+
refresh?: boolean;
|
|
4454
|
+
now?: number;
|
|
4455
|
+
};
|
|
4456
|
+
/**
|
|
4457
|
+
* Cached Home remote snapshot. Hits Linear/GitHub only on first load, after
|
|
4458
|
+
* TTL (15m), when workspaces change, or when refresh is set. Memory and
|
|
4459
|
+
* app-data JSON are shared so desktop Home and the orchestration MCP agree.
|
|
4460
|
+
*/
|
|
4461
|
+
declare function getHomeBoardInputs(workspaces: HomeBoardWorkspace[], opts?: GetHomeBoardInputsOptions): Promise<HomeBoardLoaded>;
|
|
4462
|
+
|
|
4463
|
+
declare function listBoardPins(): BoardPin[];
|
|
4464
|
+
declare function addBoardPin(input: AddBoardPinInput): BoardPin;
|
|
4465
|
+
declare function removeBoardPin(id: string): boolean;
|
|
4466
|
+
declare function clearBoardPins(): void;
|
|
4467
|
+
|
|
4338
4468
|
interface SideboardCloudTask {
|
|
4339
4469
|
id: string;
|
|
4340
4470
|
user_id: string;
|
|
@@ -4811,4 +4941,74 @@ interface SlackRelayClientOptions {
|
|
|
4811
4941
|
*/
|
|
4812
4942
|
declare function runSlackRelayClient(opts: SlackRelayClientOptions): Promise<void>;
|
|
4813
4943
|
|
|
4814
|
-
export { AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type ActiveRun, 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, 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, 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, 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, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, 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, type LandPreview, type LandResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, 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, 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 SlackReplyBadge, 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, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, fromInclusiveInputUsage, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, interruptSlackCoordinatorForInbound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, lastRequestOccupancy, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permalinkForSlackReplyBadge, permissionMode, persistVaultKeyInKeychain, planFileAbs, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, 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, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, turnCostUsdFromCursorUsage, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, waitForPidExit, warmGithubAgentAuth, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|
|
4944
|
+
interface SlackOutboundReply {
|
|
4945
|
+
userId: string;
|
|
4946
|
+
userName: string;
|
|
4947
|
+
ts: string;
|
|
4948
|
+
text: string;
|
|
4949
|
+
}
|
|
4950
|
+
interface SlackOutboundWatch {
|
|
4951
|
+
id: string;
|
|
4952
|
+
teamId: string;
|
|
4953
|
+
channelId: string;
|
|
4954
|
+
/** Posted message ts. */
|
|
4955
|
+
ts: string;
|
|
4956
|
+
/** Parent thread ts (same as `ts` for top-level posts). */
|
|
4957
|
+
threadTs: string;
|
|
4958
|
+
kind: 'dm' | 'channel';
|
|
4959
|
+
toUserId?: string;
|
|
4960
|
+
toLabel: string;
|
|
4961
|
+
ownerUserId?: string;
|
|
4962
|
+
/** Sideboard orchestration thread that called slack_post. */
|
|
4963
|
+
sourceThreadId?: string;
|
|
4964
|
+
postedAt: string;
|
|
4965
|
+
lastSeenTs: string;
|
|
4966
|
+
permalink?: string;
|
|
4967
|
+
/** Reply timestamps already copied into the source thread (not commands). */
|
|
4968
|
+
injectedReplyTs?: string[];
|
|
4969
|
+
replies?: SlackOutboundReply[];
|
|
4970
|
+
}
|
|
4971
|
+
declare function slackArchiveUrl(channelId: string, ts: string): string;
|
|
4972
|
+
declare function formatSlackExternalReplyPrompt(input: {
|
|
4973
|
+
userName: string;
|
|
4974
|
+
kind: 'dm' | 'channel';
|
|
4975
|
+
toLabel: string;
|
|
4976
|
+
text: string;
|
|
4977
|
+
permalink?: string;
|
|
4978
|
+
}): string;
|
|
4979
|
+
declare function isSlackExternalReplyPrompt(text: string): boolean;
|
|
4980
|
+
/**
|
|
4981
|
+
* Slack replies appended after the last agent turn and before the current user
|
|
4982
|
+
* prompt. CLI --resume does not see Sideboard-injected messages, so the next
|
|
4983
|
+
* turn must include these in `prompt` (not cachedPrefix).
|
|
4984
|
+
*/
|
|
4985
|
+
declare function pendingSlackExternalReplies(messages: Array<{
|
|
4986
|
+
role: string;
|
|
4987
|
+
text: string;
|
|
4988
|
+
}>): string[];
|
|
4989
|
+
declare function formatSlackRepliesForTurn(replies: string[]): string | null;
|
|
4990
|
+
declare function formatSlackReplyContinuePrompt(input: {
|
|
4991
|
+
userName: string;
|
|
4992
|
+
kind: 'dm' | 'channel';
|
|
4993
|
+
toLabel: string;
|
|
4994
|
+
count: number;
|
|
4995
|
+
}): string;
|
|
4996
|
+
declare function listSlackOutboundWatches(): SlackOutboundWatch[];
|
|
4997
|
+
declare function recordSlackOutboundWatch(input: {
|
|
4998
|
+
teamId: string;
|
|
4999
|
+
channelId: string;
|
|
5000
|
+
ts: string;
|
|
5001
|
+
threadTs?: string;
|
|
5002
|
+
kind: 'dm' | 'channel';
|
|
5003
|
+
toUserId?: string;
|
|
5004
|
+
toLabel: string;
|
|
5005
|
+
ownerUserId?: string;
|
|
5006
|
+
sourceThreadId?: string;
|
|
5007
|
+
}): SlackOutboundWatch | null;
|
|
5008
|
+
declare function pollSlackOutboundWatches(opts?: {
|
|
5009
|
+
fetchImpl?: typeof fetch;
|
|
5010
|
+
force?: boolean;
|
|
5011
|
+
now?: number;
|
|
5012
|
+
}): Promise<void>;
|
|
5013
|
+
|
|
5014
|
+
export { AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, 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, type BoardPin, 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, 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, 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, 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, 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, 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, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, 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, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLiveThreadForCreate, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, fromInclusiveInputUsage, 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, interruptSlackCoordinatorForInbound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueSourceLabel, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, 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, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, 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, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, turnCostUsdFromCursorUsage, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, waitForPidExit, warmGithubAgentAuth, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|