@sideboard-ai/core 0.1.146 → 0.1.148

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/{agents-YVETHB2R.js → agents-DUF4Q2ZI.js} +3 -3
  2. package/dist/{agents-N3KMRQUZ.js → agents-INCTFWKA.js} +3 -3
  3. package/dist/{chunk-JHZ6HGRI.js → chunk-3QRGCKYL.js} +1 -1
  4. package/dist/{chunk-KZG47SZP.js → chunk-5MS2XTNV.js} +11 -11
  5. package/dist/{chunk-ZZBN2MR7.js → chunk-CTXQHSTY.js} +11 -11
  6. package/dist/{chunk-SXPTL222.js → chunk-EGDRPA4B.js} +1 -1
  7. package/dist/{chunk-KNE3FZ46.js → chunk-N3VNOFXQ.js} +1 -1
  8. package/dist/{chunk-JW436RTA.js → chunk-Q62SDB53.js} +1 -1
  9. package/dist/{chunk-IHSR7EVK.js → chunk-R4JP32P5.js} +1 -1
  10. package/dist/{chunk-4RYRNJPN.js → chunk-XOKHXFFX.js} +2 -2
  11. package/dist/{chunk-WWH4NNBH.js → chunk-YQRBNOIW.js} +2 -2
  12. package/dist/{chunk-67K3FRKR.js → chunk-ZVYLEF72.js} +1 -1
  13. package/dist/{coordinator-prompt-2EOR35TP.js → coordinator-prompt-5GXGBGEZ.js} +1 -1
  14. package/dist/{coordinator-prompt-6EPVHVGJ.js → coordinator-prompt-ZWBMAIWA.js} +1 -1
  15. package/dist/{global-workspace-PANZGRUS.js → global-workspace-2SIPM4PW.js} +2 -2
  16. package/dist/{global-workspace-EZVQPMWT.js → global-workspace-OJRXWXEA.js} +2 -2
  17. package/dist/index.cjs +248 -6
  18. package/dist/index.d.cts +88 -2
  19. package/dist/index.d.ts +88 -2
  20. package/dist/index.js +247 -10
  21. package/dist/mcp/run-stdio.cjs +145 -6
  22. package/dist/mcp/run-stdio.js +149 -10
  23. package/dist/{orchestrator-KWV2PPML.js → orchestrator-NWIU5TJP.js} +5 -5
  24. package/dist/{orchestrator-T35BJZWY.js → orchestrator-OVYITCO6.js} +5 -5
  25. package/dist/{workspaces-ZJATBC4A.js → workspaces-3NUUZTQK.js} +3 -3
  26. package/dist/{workspaces-DWERPUQJ.js → workspaces-UUJNOO4T.js} +3 -3
  27. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -6484,7 +6484,7 @@ var init_coordinator_prompt = __esm({
6484
6484
  "- list_workspaces \u2014 registered repos (path + github slug when known)",
6485
6485
  "- list_board \u2014 Home Kanban of worktrees (New / Draft / Review / Merged; one card per checkout). Path to merge: no PR \u2192 draft PR \u2192 open PR \u2192 merged. Archive removes the card to Settings \u2192 History. Queued/running are activity on the card, not columns. Orchestration chats are not on the board. Filters: query, repoPath, kind, column, limit.",
6486
6486
  "- list_branches / list_prs / list_issues \u2014 pass repoPath from list_workspaces (issues: Linear, AbleTime MCP, or GitHub Issues)",
6487
- "- linear_list_teams / linear_get_issue / linear_create_issue / linear_update_issue / linear_comment \u2014 Linear Account connection; call linear_list_teams for team key and workflow states; pass ENG-123 or uuid. If mutations fail with a scope error, Disconnect and Connect Linear in Account settings.",
6487
+ "- linear_list_teams / linear_get_issue / linear_create_issue / linear_update_issue / linear_comment \u2014 Linear Account connection; call linear_list_teams for team key and workflow states; pass ENG-123 or uuid. linear_get_issue returns comments, relations, parent/children, and the rest of the issue metadata. If mutations fail with a scope error, Disconnect and Connect Linear in Account settings.",
6488
6488
  "- abletime_orientation / abletime_list_projects / abletime_list_tasks / abletime_search_tasks / abletime_get_task / abletime_create_task / abletime_ensure_task \u2014 AbleTime Account personal access token (hosted MCP). Call orientation first. If work has no task yet, abletime_ensure_task creates one to track against (or create_thread from the default branch does that automatically when AbleTime is the preferred issue source).",
6489
6489
  "- list_teams / slack_list_channels / slack_list_users / slack_search / slack_read / slack_post / slack_replies \u2014 Slack workspaces from Settings \u2192 Remote; pass team_id from list_teams",
6490
6490
  "- Optional connectors (Vercel, Supabase, PostHog, Sentry) in Settings \u2192 Connectors inject tokens into worktree agent env when connected. Prefer official CLIs (`vercel`, `supabase`, `sentry-cli`) with those env vars. PostHog has no first-class CLI \u2014 use the HTTP API (`POSTHOG_PERSONAL_API_KEY`). If a CLI is missing, the user can Install CLI on that row (not auto-installed on Connect). Do not add vendor MCPs or ask the user to paste tokens again. Git (`gh`) stays Settings \u2192 Git; issue tracking stays Settings \u2192 Issues; Slack stays Settings \u2192 Remote (Sideboard MCP).",
@@ -20460,9 +20460,11 @@ __export(index_exports, {
20460
20460
  buildBrightsySessionSeed: () => buildBrightsySessionSeed,
20461
20461
  buildCachedUserContent: () => buildCachedUserContent,
20462
20462
  buildClaudeStreamJsonUserMessage: () => buildClaudeStreamJsonUserMessage,
20463
+ buildCodeRefAttachment: () => buildCodeRefAttachment,
20463
20464
  buildDiffCommentAttachment: () => buildDiffCommentAttachment,
20464
20465
  buildForkTranscriptAttachment: () => buildForkTranscriptAttachment,
20465
20466
  buildPastedTextAttachment: () => buildPastedTextAttachment,
20467
+ buildPathRefAttachment: () => buildPathRefAttachment,
20466
20468
  buildReviewRequestAttachment: () => buildReviewRequestAttachment,
20467
20469
  buildSessionSeed: () => buildSessionSeed,
20468
20470
  buildWorkspaceScriptEnv: () => buildWorkspaceScriptEnv,
@@ -20486,6 +20488,7 @@ __export(index_exports, {
20486
20488
  clearBoardPins: () => clearBoardPins,
20487
20489
  clearHomeBoardCache: () => clearHomeBoardCache,
20488
20490
  cloneRepoIntoSideboard: () => cloneRepoIntoSideboard,
20491
+ codeRefRangeLabel: () => codeRefRangeLabel,
20489
20492
  codexAdapter: () => codexAdapter,
20490
20493
  codexSandboxWritableRootsArgs: () => codexSandboxWritableRootsArgs,
20491
20494
  codexUnattendedGitConfigArgs: () => codexUnattendedGitConfigArgs,
@@ -20580,6 +20583,7 @@ __export(index_exports, {
20580
20583
  findThreadForStackLayer: () => findThreadForStackLayer,
20581
20584
  fireSchedule: () => fireSchedule,
20582
20585
  flattenTurnInput: () => flattenTurnInput,
20586
+ flipLinearRelationType: () => flipLinearRelationType,
20583
20587
  forkChatTab: () => forkChatTab,
20584
20588
  forkMessageSlice: () => forkMessageSlice,
20585
20589
  forkThreadWorktree: () => forkThreadWorktree,
@@ -20794,6 +20798,7 @@ __export(index_exports, {
20794
20798
  nextThinkingEffort: () => nextThinkingEffort,
20795
20799
  nonInteractiveGitProcessEnv: () => nonInteractiveGitProcessEnv,
20796
20800
  normalizeAbleTimeHost: () => normalizeAbleTimeHost,
20801
+ normalizeCodeSelection: () => normalizeCodeSelection,
20797
20802
  normalizeParseResult: () => normalizeParseResult,
20798
20803
  normalizeServiceOrigin: () => normalizeServiceOrigin,
20799
20804
  normalizeThinkingEffort: () => normalizeThinkingEffort,
@@ -21377,6 +21382,12 @@ var LIST_ISSUE_FIELDS = `
21377
21382
  labels(first: 10) { nodes { name } }
21378
21383
  cycle { name number startsAt endsAt completedAt }
21379
21384
  `;
21385
+ var ISSUE_REF_FIELDS = `
21386
+ id
21387
+ identifier
21388
+ title
21389
+ url
21390
+ `;
21380
21391
  var ISSUE_FIELDS = `
21381
21392
  id
21382
21393
  identifier
@@ -21384,11 +21395,46 @@ var ISSUE_FIELDS = `
21384
21395
  description
21385
21396
  url
21386
21397
  priority
21398
+ estimate
21399
+ dueDate
21400
+ branchName
21401
+ createdAt
21402
+ updatedAt
21403
+ completedAt
21387
21404
  state { id name type }
21388
21405
  assignee { id name }
21406
+ creator { id name }
21389
21407
  team { id key name states(first: 50) { nodes { id name type } } }
21390
21408
  labels(first: 50) { nodes { name } }
21391
21409
  cycle { name number startsAt endsAt completedAt }
21410
+ project { id name }
21411
+ parent { ${ISSUE_REF_FIELDS} }
21412
+ children(first: 25) { nodes { ${ISSUE_REF_FIELDS} } }
21413
+ relations(first: 25) {
21414
+ nodes {
21415
+ type
21416
+ relatedIssue { ${ISSUE_REF_FIELDS} }
21417
+ }
21418
+ }
21419
+ inverseRelations(first: 25) {
21420
+ nodes {
21421
+ type
21422
+ issue { ${ISSUE_REF_FIELDS} }
21423
+ }
21424
+ }
21425
+ comments(first: 50) {
21426
+ nodes {
21427
+ id
21428
+ body
21429
+ url
21430
+ createdAt
21431
+ updatedAt
21432
+ user { id name }
21433
+ }
21434
+ }
21435
+ attachments(first: 20) {
21436
+ nodes { id title url subtitle }
21437
+ }
21392
21438
  `;
21393
21439
  var ASSIGNED_ISSUES_QUERY = `
21394
21440
  query SideboardAssignedIssues($first: Int!) {
@@ -21516,6 +21562,82 @@ function mapCycle(node) {
21516
21562
  isActive: linearCycleIsActive(node)
21517
21563
  };
21518
21564
  }
21565
+ function mapUser(node) {
21566
+ if (!node?.id && !node?.name) return void 0;
21567
+ return {
21568
+ id: String(node.id ?? ""),
21569
+ name: String(node.name ?? "")
21570
+ };
21571
+ }
21572
+ function mapIssueRef(node) {
21573
+ if (!node?.id && !node?.identifier) return void 0;
21574
+ return {
21575
+ id: String(node.id ?? node.identifier ?? ""),
21576
+ identifier: String(node.identifier ?? node.id ?? ""),
21577
+ title: String(node.title ?? ""),
21578
+ url: String(node.url ?? "")
21579
+ };
21580
+ }
21581
+ function flipLinearRelationType(type) {
21582
+ switch (type) {
21583
+ case "blocks":
21584
+ return "blockedBy";
21585
+ case "blockedBy":
21586
+ return "blocks";
21587
+ case "duplicate":
21588
+ return "duplicateOf";
21589
+ case "duplicateOf":
21590
+ return "duplicate";
21591
+ default:
21592
+ return type;
21593
+ }
21594
+ }
21595
+ function mapRelations(node) {
21596
+ const out = [];
21597
+ for (const rel of node.relations?.nodes ?? []) {
21598
+ const issue = mapIssueRef(rel.relatedIssue);
21599
+ if (!issue) continue;
21600
+ out.push({ type: String(rel.type ?? "related"), issue });
21601
+ }
21602
+ for (const rel of node.inverseRelations?.nodes ?? []) {
21603
+ const issue = mapIssueRef(rel.issue);
21604
+ if (!issue) continue;
21605
+ out.push({ type: flipLinearRelationType(String(rel.type ?? "related")), issue });
21606
+ }
21607
+ return out;
21608
+ }
21609
+ function mapComments(node) {
21610
+ const out = [];
21611
+ for (const comment of node.comments?.nodes ?? []) {
21612
+ const id = String(comment.id ?? "");
21613
+ const body = String(comment.body ?? "");
21614
+ if (!id && !body) continue;
21615
+ out.push({
21616
+ id,
21617
+ body,
21618
+ url: comment.url?.trim() || void 0,
21619
+ createdAt: comment.createdAt?.trim() || void 0,
21620
+ updatedAt: comment.updatedAt?.trim() || void 0,
21621
+ user: mapUser(comment.user)
21622
+ });
21623
+ }
21624
+ return out;
21625
+ }
21626
+ function mapAttachments(node) {
21627
+ const out = [];
21628
+ for (const attachment of node.attachments?.nodes ?? []) {
21629
+ const id = String(attachment.id ?? "");
21630
+ const url = String(attachment.url ?? "").trim();
21631
+ if (!id && !url) continue;
21632
+ out.push({
21633
+ id,
21634
+ title: String(attachment.title ?? ""),
21635
+ url,
21636
+ subtitle: attachment.subtitle?.trim() || void 0
21637
+ });
21638
+ }
21639
+ return out;
21640
+ }
21519
21641
  function mapIssue(node) {
21520
21642
  const team = node.team;
21521
21643
  return {
@@ -21525,16 +21647,35 @@ function mapIssue(node) {
21525
21647
  url: String(node.url ?? ""),
21526
21648
  description: node.description?.trim() || void 0,
21527
21649
  priority: typeof node.priority === "number" ? node.priority : void 0,
21650
+ estimate: typeof node.estimate === "number" ? node.estimate : void 0,
21651
+ dueDate: node.dueDate?.trim() || void 0,
21652
+ branchName: node.branchName?.trim() || void 0,
21653
+ createdAt: node.createdAt?.trim() || void 0,
21654
+ updatedAt: node.updatedAt?.trim() || void 0,
21655
+ completedAt: node.completedAt?.trim() || void 0,
21528
21656
  state: mapState(node.state),
21529
- assignee: node.assignee?.id ? { id: String(node.assignee.id), name: String(node.assignee.name ?? "") } : void 0,
21657
+ assignee: mapUser(node.assignee),
21658
+ creator: mapUser(node.creator),
21530
21659
  team: team?.id ? {
21531
21660
  id: String(team.id),
21532
21661
  key: String(team.key ?? ""),
21533
21662
  name: String(team.name ?? ""),
21534
- states: (team.states?.nodes ?? []).map((s) => mapState(s)).filter((s) => Boolean(s))
21663
+ states: (team.states?.nodes ?? []).flatMap((s) => {
21664
+ const state = mapState(s);
21665
+ return state ? [state] : [];
21666
+ })
21535
21667
  } : void 0,
21536
21668
  labels: (node.labels?.nodes ?? []).map((l) => l.name).filter((n) => Boolean(n)),
21537
- cycle: mapCycle(node.cycle)
21669
+ cycle: mapCycle(node.cycle),
21670
+ project: node.project?.id ? { id: String(node.project.id), name: String(node.project.name ?? "") } : void 0,
21671
+ parent: mapIssueRef(node.parent),
21672
+ children: (node.children?.nodes ?? []).flatMap((child) => {
21673
+ const ref = mapIssueRef(child);
21674
+ return ref ? [ref] : [];
21675
+ }),
21676
+ relations: mapRelations(node),
21677
+ comments: mapComments(node),
21678
+ attachments: mapAttachments(node)
21538
21679
  };
21539
21680
  }
21540
21681
  function toIssueInfo(issue) {
@@ -21556,7 +21697,10 @@ function mapTeam(node) {
21556
21697
  id: String(node.id ?? ""),
21557
21698
  key: String(node.key ?? ""),
21558
21699
  name: String(node.name ?? ""),
21559
- states: (node.states?.nodes ?? []).map((s) => mapState(s)).filter((s) => Boolean(s))
21700
+ states: (node.states?.nodes ?? []).flatMap((s) => {
21701
+ const state = mapState(s);
21702
+ return state ? [state] : [];
21703
+ })
21560
21704
  };
21561
21705
  }
21562
21706
  function resolveLinearTeam(teams, team) {
@@ -21938,6 +22082,99 @@ function buildDiffCommentAttachment(input) {
21938
22082
  };
21939
22083
  }
21940
22084
 
22085
+ // src/composer/code-ref.ts
22086
+ function codeRefRangeLabel(startLine, endLine) {
22087
+ return startLine === endLine ? `L${startLine}` : `L${startLine}-${endLine}`;
22088
+ }
22089
+ function normalizeCodeSelection(startLine, startColumn, endLine, endColumn) {
22090
+ if (startLine < 1 || endLine < 1) return null;
22091
+ let sl = startLine;
22092
+ let sc = startColumn;
22093
+ let el = endLine;
22094
+ let ec = endColumn;
22095
+ if (el < sl || el === sl && ec < sc) {
22096
+ sl = endLine;
22097
+ sc = endColumn;
22098
+ el = startLine;
22099
+ ec = startColumn;
22100
+ }
22101
+ if (sl === el && sc === ec) return null;
22102
+ if (ec <= 1 && el > sl) el -= 1;
22103
+ return { startLine: sl, endLine: el };
22104
+ }
22105
+ function fenceLanguage(path2, language) {
22106
+ if (language && language !== "plaintext") return language;
22107
+ const base = path2.split(/[/\\]/).pop()?.toLowerCase() ?? "";
22108
+ const ext = base.includes(".") ? base.split(".").pop() ?? "" : "";
22109
+ return ext;
22110
+ }
22111
+ function buildCodeRefAttachment(input) {
22112
+ const path2 = input.path.trim();
22113
+ const text5 = input.text.replace(/\n$/, "");
22114
+ if (!path2) {
22115
+ throw new Error("code reference requires a file path");
22116
+ }
22117
+ if (!text5.trim()) {
22118
+ throw new Error("code reference requires selected text");
22119
+ }
22120
+ if (input.startLine < 1 || input.endLine < 1 || input.endLine < input.startLine) {
22121
+ throw new Error("code reference requires a valid line range");
22122
+ }
22123
+ const range = codeRefRangeLabel(input.startLine, input.endLine);
22124
+ const lang = fenceLanguage(path2, input.language);
22125
+ const fence = lang ? "```" + lang : "```";
22126
+ const content = [
22127
+ `Referenced code from \`${path2}\` (${range}).`,
22128
+ "",
22129
+ fence,
22130
+ text5,
22131
+ "```"
22132
+ ].join("\n");
22133
+ return {
22134
+ id: input.id ?? `code-ref-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
22135
+ name: `${path2}:${range}`,
22136
+ kind: "code-ref",
22137
+ path: path2,
22138
+ content
22139
+ };
22140
+ }
22141
+ var FOLDER_LISTING_CAP = 40;
22142
+ function formatFolderListing(childPaths) {
22143
+ if (childPaths.length === 0) return ["(no tracked files in this folder)"];
22144
+ const shown = childPaths.slice(0, FOLDER_LISTING_CAP);
22145
+ const lines = ["Tracked files:", ...shown.map((p) => `- \`${p}\``)];
22146
+ if (childPaths.length > FOLDER_LISTING_CAP) {
22147
+ lines.push(`(and ${childPaths.length - FOLDER_LISTING_CAP} more)`);
22148
+ }
22149
+ return lines;
22150
+ }
22151
+ function buildPathRefAttachment(input) {
22152
+ const path2 = input.path.trim().replace(/\\/g, "/").replace(/\/+$/, "");
22153
+ if (!path2) {
22154
+ throw new Error("path reference requires a file or folder path");
22155
+ }
22156
+ const isDir = input.entry === "dir";
22157
+ const name = isDir ? `${path2}/` : path2;
22158
+ const content = isDir ? [
22159
+ `Referenced folder \`${path2}/\`.`,
22160
+ "",
22161
+ "Use Glob, Grep, and Read under this directory when you need files in it.",
22162
+ "",
22163
+ ...formatFolderListing(input.childPaths ?? [])
22164
+ ].join("\n") : [
22165
+ `Referenced file \`${path2}\`.`,
22166
+ "",
22167
+ `Use the Read tool on \`${path2}\` when you need the contents.`
22168
+ ].join("\n");
22169
+ return {
22170
+ id: input.id ?? `path-ref-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
22171
+ name,
22172
+ kind: "code-ref",
22173
+ path: name,
22174
+ content
22175
+ };
22176
+ }
22177
+
21941
22178
  // src/index.ts
21942
22179
  init_stage_files();
21943
22180
 
@@ -22843,7 +23080,7 @@ function registerLinearTools(server) {
22843
23080
  );
22844
23081
  server.tool(
22845
23082
  "linear_get_issue",
22846
- "Get a Linear issue by uuid or identifier (ENG-123).",
23083
+ "Get a Linear issue by uuid or identifier (ENG-123). Returns description, comments, relations (blocks/blockedBy/related/duplicate), parent/children, project, cycle, labels, and other metadata.",
22847
23084
  { id: import_zod3.z.string() },
22848
23085
  async ({ id }) => {
22849
23086
  try {
@@ -27051,9 +27288,11 @@ init_outbound_watch();
27051
27288
  buildBrightsySessionSeed,
27052
27289
  buildCachedUserContent,
27053
27290
  buildClaudeStreamJsonUserMessage,
27291
+ buildCodeRefAttachment,
27054
27292
  buildDiffCommentAttachment,
27055
27293
  buildForkTranscriptAttachment,
27056
27294
  buildPastedTextAttachment,
27295
+ buildPathRefAttachment,
27057
27296
  buildReviewRequestAttachment,
27058
27297
  buildSessionSeed,
27059
27298
  buildWorkspaceScriptEnv,
@@ -27077,6 +27316,7 @@ init_outbound_watch();
27077
27316
  clearBoardPins,
27078
27317
  clearHomeBoardCache,
27079
27318
  cloneRepoIntoSideboard,
27319
+ codeRefRangeLabel,
27080
27320
  codexAdapter,
27081
27321
  codexSandboxWritableRootsArgs,
27082
27322
  codexUnattendedGitConfigArgs,
@@ -27171,6 +27411,7 @@ init_outbound_watch();
27171
27411
  findThreadForStackLayer,
27172
27412
  fireSchedule,
27173
27413
  flattenTurnInput,
27414
+ flipLinearRelationType,
27174
27415
  forkChatTab,
27175
27416
  forkMessageSlice,
27176
27417
  forkThreadWorktree,
@@ -27385,6 +27626,7 @@ init_outbound_watch();
27385
27626
  nextThinkingEffort,
27386
27627
  nonInteractiveGitProcessEnv,
27387
27628
  normalizeAbleTimeHost,
27629
+ normalizeCodeSelection,
27388
27630
  normalizeParseResult,
27389
27631
  normalizeServiceOrigin,
27390
27632
  normalizeThinkingEffort,
package/dist/index.d.cts CHANGED
@@ -92,7 +92,7 @@ interface ThreadMessage {
92
92
  interface ThreadAttachment {
93
93
  id: string;
94
94
  name: string;
95
- kind: 'transcript' | 'file' | 'issue' | 'workspace' | 'diff-comment';
95
+ kind: 'transcript' | 'file' | 'issue' | 'workspace' | 'diff-comment' | 'code-ref';
96
96
  content: string;
97
97
  /** Worktree-relative path when this attachment is a real file that can be opened in a tab. */
98
98
  path?: string;
@@ -1821,6 +1821,34 @@ interface LinearTeam {
1821
1821
  name: string;
1822
1822
  states: LinearWorkflowState[];
1823
1823
  }
1824
+ interface LinearIssueRef {
1825
+ id: string;
1826
+ identifier: string;
1827
+ title: string;
1828
+ url: string;
1829
+ }
1830
+ interface LinearIssueRelation {
1831
+ /** Linear relation type from this issue's perspective (blocks, blockedBy, related, duplicate, duplicateOf). */
1832
+ type: string;
1833
+ issue: LinearIssueRef;
1834
+ }
1835
+ interface LinearIssueComment {
1836
+ id: string;
1837
+ body: string;
1838
+ url?: string;
1839
+ createdAt?: string;
1840
+ updatedAt?: string;
1841
+ user?: {
1842
+ id: string;
1843
+ name: string;
1844
+ };
1845
+ }
1846
+ interface LinearIssueAttachment {
1847
+ id: string;
1848
+ title: string;
1849
+ url: string;
1850
+ subtitle?: string;
1851
+ }
1824
1852
  interface LinearIssue {
1825
1853
  id: string;
1826
1854
  identifier: string;
@@ -1828,11 +1856,21 @@ interface LinearIssue {
1828
1856
  url: string;
1829
1857
  description?: string;
1830
1858
  priority?: number;
1859
+ estimate?: number;
1860
+ dueDate?: string;
1861
+ branchName?: string;
1862
+ createdAt?: string;
1863
+ updatedAt?: string;
1864
+ completedAt?: string;
1831
1865
  state?: LinearWorkflowState;
1832
1866
  assignee?: {
1833
1867
  id: string;
1834
1868
  name: string;
1835
1869
  };
1870
+ creator?: {
1871
+ id: string;
1872
+ name: string;
1873
+ };
1836
1874
  team?: {
1837
1875
  id: string;
1838
1876
  key: string;
@@ -1845,6 +1883,15 @@ interface LinearIssue {
1845
1883
  number?: number;
1846
1884
  isActive: boolean;
1847
1885
  } | null;
1886
+ project?: {
1887
+ id: string;
1888
+ name: string;
1889
+ };
1890
+ parent?: LinearIssueRef;
1891
+ children: LinearIssueRef[];
1892
+ relations: LinearIssueRelation[];
1893
+ comments: LinearIssueComment[];
1894
+ attachments: LinearIssueAttachment[];
1848
1895
  }
1849
1896
  interface LinearComment {
1850
1897
  id: string;
@@ -1867,6 +1914,8 @@ declare function linearCycleIsActive(cycle: {
1867
1914
  endsAt?: string;
1868
1915
  completedAt?: string | null;
1869
1916
  } | null | undefined, now?: number): boolean;
1917
+ /** Incoming inverseRelations use the other issue's type — flip to this issue's view. */
1918
+ declare function flipLinearRelationType(type: string): string;
1870
1919
  declare function resolveLinearTeam(teams: LinearTeam[], team: string): LinearTeam;
1871
1920
  declare function resolveLinearState(team: Pick<LinearTeam, 'key' | 'states'>, state: string): LinearWorkflowState;
1872
1921
  type LinearAssignedIssuesResult = {
@@ -3118,6 +3167,43 @@ interface DiffCommentInput {
3118
3167
  */
3119
3168
  declare function buildDiffCommentAttachment(input: DiffCommentInput): ThreadAttachment;
3120
3169
 
3170
+ interface CodeRefInput {
3171
+ path: string;
3172
+ startLine: number;
3173
+ endLine: number;
3174
+ text: string;
3175
+ language?: string;
3176
+ id?: string;
3177
+ }
3178
+ interface CodeLineRange {
3179
+ startLine: number;
3180
+ endLine: number;
3181
+ }
3182
+ /** Inclusive 1-based line label, matching diff-comment chips (`L10` / `L10-20`). */
3183
+ declare function codeRefRangeLabel(startLine: number, endLine: number): string;
3184
+ /**
3185
+ * Normalize a Monaco-style selection to an inclusive line range.
3186
+ * Selecting down to column 1 of the next line does not include that line.
3187
+ */
3188
+ declare function normalizeCodeSelection(startLine: number, startColumn: number, endLine: number, endColumn: number): CodeLineRange | null;
3189
+ /**
3190
+ * Build a composer attachment from a code-file selection.
3191
+ * Expanded into agent context via `expandComposerPrompt` like other attachments.
3192
+ */
3193
+ declare function buildCodeRefAttachment(input: CodeRefInput): ThreadAttachment;
3194
+ interface PathRefInput {
3195
+ path: string;
3196
+ entry: 'file' | 'dir';
3197
+ /** Tracked files under a folder (shown as a short listing). */
3198
+ childPaths?: string[];
3199
+ id?: string;
3200
+ }
3201
+ /**
3202
+ * Build a composer attachment from a file-tree file or folder.
3203
+ * Folder chips use a trailing slash so they are not opened as files.
3204
+ */
3205
+ declare function buildPathRefAttachment(input: PathRefInput): ThreadAttachment;
3206
+
3121
3207
  declare function isImageFilePath(filePath: string): boolean;
3122
3208
  /**
3123
3209
  * Build a composer attachment from an absolute filesystem path (no copy).
@@ -5487,4 +5573,4 @@ declare function pollSlackOutboundWatches(opts?: {
5487
5573
  now?: number;
5488
5574
  }): Promise<void>;
5489
5575
 
5490
- export { ABLETIME_MCP_PATH, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeMcpToolName, type AbleTimeOrientation, type AbleTimeProject, type AbleTimeTask, type AbleTimeViewer, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BAKED_SLACK_RELAY_URL, BRIGHTSY_MCP_ALLOWED_TOOLS, BRIGHTSY_SUMMARIZE_CONTEXT_TOOL, BUNDLED_LONG_RUNNING_PATH, BUNDLED_SKILL_PREFIX, type BoardPin, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CHARS_PER_CONTEXT_TOKEN, CLAUDE_MODEL_CATALOG, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type ConventionSetupFile, type CowboyThreadFields, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateScheduledTaskInput, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorAgentUsageSnapshot, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorUsageCost, type CursorWorktreesConfig, DEFAULT_ABLETIME_HOST, DEFAULT_WORKTREE_SORT, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type FastForwardMainResult, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HomeBoardLoaded, type HomeBoardRemoteData, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, OPTIONAL_SERVICES, OPTIONAL_SERVICE_IDS, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OptionalServiceCliStatus, type OptionalServiceId, type OptionalServiceSpec, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, type PublicAppSettings, type PublicIntegrationsSettings, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_PROGRESS_DELAY_MS, SLACK_PROGRESS_EDIT_MS, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SetupRunResult, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerHandle, type SlackRelayServerMessage, type SlackRelayServerOptions, type SlackWorkspaceInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type UpdateScheduledTaskPatch, type UsageScope, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, abletimeMcpRequest, abletimeMcpUrl, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, emptyPublicIntegrations, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, isAbleTimeConnected, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueSourceLabel, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeHost, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, packagedDetachedJobPath, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toAbleTimeIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, turnCostUsdFromCursorUsage, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
5576
+ export { ABLETIME_MCP_PATH, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeMcpToolName, type AbleTimeOrientation, type AbleTimeProject, type AbleTimeTask, type AbleTimeViewer, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BAKED_SLACK_RELAY_URL, BRIGHTSY_MCP_ALLOWED_TOOLS, BRIGHTSY_SUMMARIZE_CONTEXT_TOOL, BUNDLED_LONG_RUNNING_PATH, BUNDLED_SKILL_PREFIX, type BoardPin, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CHARS_PER_CONTEXT_TOKEN, CLAUDE_MODEL_CATALOG, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CodeLineRange, type CodeRefInput, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type ConventionSetupFile, type CowboyThreadFields, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateScheduledTaskInput, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorAgentUsageSnapshot, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorUsageCost, type CursorWorktreesConfig, DEFAULT_ABLETIME_HOST, DEFAULT_WORKTREE_SORT, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type FastForwardMainResult, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HomeBoardLoaded, type HomeBoardRemoteData, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearComment, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, OPTIONAL_SERVICES, OPTIONAL_SERVICE_IDS, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OptionalServiceCliStatus, type OptionalServiceId, type OptionalServiceSpec, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, type PathRefInput, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, type PublicAppSettings, type PublicIntegrationsSettings, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_PROGRESS_DELAY_MS, SLACK_PROGRESS_EDIT_MS, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SetupRunResult, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerHandle, type SlackRelayServerMessage, type SlackRelayServerOptions, type SlackWorkspaceInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type UpdateScheduledTaskPatch, type UsageScope, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, abletimeMcpRequest, abletimeMcpUrl, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, emptyPublicIntegrations, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, isAbleTimeConnected, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueSourceLabel, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeHost, normalizeCodeSelection, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, packagedDetachedJobPath, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toAbleTimeIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, turnCostUsdFromCursorUsage, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };