@sideboard-ai/core 0.1.41 → 0.1.43

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/index.cjs CHANGED
@@ -30,6 +30,54 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
+ // src/types/thinking-effort.ts
34
+ function normalizeThinkingEffort(value) {
35
+ if (typeof value !== "string") return null;
36
+ const v = value.trim().toLowerCase();
37
+ if (v === "normal") return "medium";
38
+ if (EFFORT_SET.has(v)) return v;
39
+ return null;
40
+ }
41
+ function isThinkingEffort(value) {
42
+ return typeof value === "string" && EFFORT_SET.has(value.trim().toLowerCase());
43
+ }
44
+ function nextThinkingEffort(current) {
45
+ const i = THINKING_EFFORTS.indexOf(current);
46
+ return THINKING_EFFORTS[(i + 1) % THINKING_EFFORTS.length];
47
+ }
48
+ function thinkingEffortBars(effort) {
49
+ const i = THINKING_EFFORTS.indexOf(effort);
50
+ return i >= 0 ? i + 1 : 3;
51
+ }
52
+ function thinkingEffortLabel(effort) {
53
+ switch (effort) {
54
+ case "low":
55
+ return "Low";
56
+ case "medium":
57
+ return "Medium";
58
+ case "high":
59
+ return "High";
60
+ case "xhigh":
61
+ return "Extra High";
62
+ case "max":
63
+ return "Max";
64
+ }
65
+ }
66
+ var THINKING_EFFORTS, EFFORT_SET;
67
+ var init_thinking_effort = __esm({
68
+ "src/types/thinking-effort.ts"() {
69
+ "use strict";
70
+ THINKING_EFFORTS = [
71
+ "low",
72
+ "medium",
73
+ "high",
74
+ "xhigh",
75
+ "max"
76
+ ];
77
+ EFFORT_SET = new Set(THINKING_EFFORTS);
78
+ }
79
+ });
80
+
33
81
  // src/hook/settings.ts
34
82
  function expandHome(path) {
35
83
  if (path.startsWith("~/") || path === "~") {
@@ -355,6 +403,8 @@ __export(app_settings_exports, {
355
403
  claudeUserSettingsPath: () => claudeUserSettingsPath,
356
404
  deleteBranchOnPurgeEnabled: () => deleteBranchOnPurgeEnabled,
357
405
  getDefaultAgent: () => getDefaultAgent,
406
+ getDefaultEffort: () => getDefaultEffort,
407
+ getDefaultFast: () => getDefaultFast,
358
408
  getDefaultModel: () => getDefaultModel,
359
409
  getIssueSource: () => getIssueSource,
360
410
  getLinearApiKey: () => getLinearApiKey,
@@ -428,6 +478,12 @@ function normalizeDefaults(raw) {
428
478
  const model = source.model.trim();
429
479
  if (model) out.model = model;
430
480
  }
481
+ if (normalizeThinkingEffort(source.effort)) {
482
+ out.effort = normalizeThinkingEffort(source.effort);
483
+ }
484
+ if (typeof source.fast === "boolean") {
485
+ out.fast = source.fast;
486
+ }
431
487
  return out;
432
488
  }
433
489
  function normalizeAdvanced(raw) {
@@ -606,6 +662,21 @@ function updateDefaultsSettings(patch) {
606
662
  defaults.model = patch.model.trim();
607
663
  }
608
664
  }
665
+ if ("effort" in patch) {
666
+ if (patch.effort == null) {
667
+ delete defaults.effort;
668
+ } else {
669
+ const effort = normalizeThinkingEffort(patch.effort);
670
+ if (effort) defaults.effort = effort;
671
+ }
672
+ }
673
+ if ("fast" in patch) {
674
+ if (patch.fast == null) {
675
+ delete defaults.fast;
676
+ } else {
677
+ defaults.fast = Boolean(patch.fast);
678
+ }
679
+ }
609
680
  return saveAppSettings({ ...current, defaults });
610
681
  }
611
682
  function getDefaultAgent(settings = loadAppSettings()) {
@@ -615,10 +686,18 @@ function getDefaultModel(settings = loadAppSettings()) {
615
686
  const model = settings.defaults.model?.trim();
616
687
  return model || null;
617
688
  }
689
+ function getDefaultEffort(settings = loadAppSettings()) {
690
+ return normalizeThinkingEffort(settings.defaults.effort) ?? "high";
691
+ }
692
+ function getDefaultFast(settings = loadAppSettings()) {
693
+ return settings.defaults.fast === true;
694
+ }
618
695
  function resolveThreadDefaults(settings = loadAppSettings()) {
619
696
  return {
620
697
  agent: getDefaultAgent(settings),
621
- model: getDefaultModel(settings)
698
+ model: getDefaultModel(settings),
699
+ effort: getDefaultEffort(settings),
700
+ fast: getDefaultFast(settings)
622
701
  };
623
702
  }
624
703
  function isLinearConnected(settings = loadAppSettings()) {
@@ -742,6 +821,7 @@ var init_app_settings = __esm({
742
821
  import_node_fs3 = require("fs");
743
822
  import_node_os3 = require("os");
744
823
  import_node_path4 = require("path");
824
+ init_thinking_effort();
745
825
  init_paths();
746
826
  HARNESS_ENV_KEYS = {
747
827
  claude: "ANTHROPIC_API_KEY",
@@ -785,6 +865,7 @@ __export(thread_store_exports, {
785
865
  listThreads: () => listThreads,
786
866
  normalizeThread: () => normalizeThread,
787
867
  readThread: () => readThread,
868
+ resolveThreadEffort: () => resolveThreadEffort,
788
869
  setStatus: () => setStatus,
789
870
  updateThread: () => updateThread,
790
871
  withThreadLock: () => withThreadLock,
@@ -793,10 +874,17 @@ __export(thread_store_exports, {
793
874
  function nowIso() {
794
875
  return (/* @__PURE__ */ new Date()).toISOString();
795
876
  }
877
+ function resolveThreadEffort(raw) {
878
+ const fromField = normalizeThinkingEffort(raw.effort);
879
+ if (fromField) return fromField;
880
+ if (raw.fast) return "low";
881
+ return "high";
882
+ }
796
883
  function normalizeThread(raw) {
797
884
  return {
798
885
  ...raw,
799
886
  model: raw.model ?? null,
887
+ effort: resolveThreadEffort(raw),
800
888
  fast: Boolean(raw.fast),
801
889
  planMode: Boolean(raw.planMode),
802
890
  autonomy: raw.autonomy ?? "default",
@@ -815,6 +903,7 @@ function createEmptyThread(partial) {
815
903
  sessionId: partial.sessionId ?? null,
816
904
  autonomy: partial.autonomy ?? "default",
817
905
  model: partial.model ?? null,
906
+ effort: partial.effort ?? "high",
818
907
  fast: partial.fast ?? false,
819
908
  planMode: partial.planMode ?? false,
820
909
  sourceIsFork: partial.sourceIsFork ?? false,
@@ -922,6 +1011,7 @@ var init_thread_store = __esm({
922
1011
  import_node_crypto = require("crypto");
923
1012
  import_node_fs4 = require("fs");
924
1013
  import_proper_lockfile = __toESM(require("proper-lockfile"), 1);
1014
+ init_thinking_effort();
925
1015
  init_paths();
926
1016
  }
927
1017
  });
@@ -3207,6 +3297,7 @@ function createGlobalChat(opts) {
3207
3297
  agent: opts.agent,
3208
3298
  autonomy: opts.autonomy ?? "default",
3209
3299
  model: opts.model ?? null,
3300
+ effort: opts.effort ?? "high",
3210
3301
  fast: Boolean(opts.fast),
3211
3302
  planMode: Boolean(opts.planMode),
3212
3303
  attachments: opts.attachments ?? [],
@@ -4743,9 +4834,8 @@ var init_claude = __esm({
4743
4834
  if (thread.model) {
4744
4835
  args.push("--model", thread.model);
4745
4836
  }
4746
- if (thread.fast) {
4747
- args.push("--effort", "low");
4748
- }
4837
+ const effort = thread.effort ?? (thread.fast ? "low" : "high");
4838
+ args.push("--effort", effort);
4749
4839
  if (sessionId) {
4750
4840
  args.push("--resume", sessionId);
4751
4841
  }
@@ -5333,6 +5423,7 @@ var init_cursor = __esm({
5333
5423
  cwd: thread.worktreePath,
5334
5424
  agentId,
5335
5425
  model: thread.model,
5426
+ effort: thread.effort,
5336
5427
  fast: thread.fast,
5337
5428
  planMode: thread.planMode,
5338
5429
  apiKey
@@ -5961,6 +6052,7 @@ __export(index_exports, {
5961
6052
  PLAN_MODE_INSTRUCTION: () => PLAN_MODE_INSTRUCTION,
5962
6053
  SIDEBOARD_FORCE_STOP: () => SIDEBOARD_FORCE_STOP,
5963
6054
  SIDEBOARD_MCP_ALLOWED_TOOLS: () => SIDEBOARD_MCP_ALLOWED_TOOLS,
6055
+ THINKING_EFFORTS: () => THINKING_EFFORTS,
5964
6056
  addWorkspace: () => addWorkspace,
5965
6057
  adoptThread: () => adoptThread,
5966
6058
  allAdapters: () => allAdapters,
@@ -6067,6 +6159,8 @@ __export(index_exports, {
6067
6159
  getAgentSetupInfo: () => getAgentSetupInfo,
6068
6160
  getBrightsySession: () => getBrightsySession,
6069
6161
  getDefaultAgent: () => getDefaultAgent,
6162
+ getDefaultEffort: () => getDefaultEffort,
6163
+ getDefaultFast: () => getDefaultFast,
6070
6164
  getDefaultModel: () => getDefaultModel,
6071
6165
  getDefaultRunScript: () => getDefaultRunScript,
6072
6166
  getDiff: () => getDiff,
@@ -6111,6 +6205,7 @@ __export(index_exports, {
6111
6205
  isOrchestratorThread: () => isOrchestratorThread,
6112
6206
  isPidAlive: () => isPidAlive,
6113
6207
  isPlaceholderBranch: () => isPlaceholderBranch,
6208
+ isThinkingEffort: () => isThinkingEffort,
6114
6209
  listAgentSetupInfo: () => listAgentSetupInfo,
6115
6210
  listBranchCommits: () => listBranchCommits,
6116
6211
  listBranches: () => listBranches,
@@ -6148,7 +6243,9 @@ __export(index_exports, {
6148
6243
  mergePr: () => mergePr,
6149
6244
  mergeUsage: () => mergeUsage,
6150
6245
  nextPastedTextName: () => nextPastedTextName,
6246
+ nextThinkingEffort: () => nextThinkingEffort,
6151
6247
  normalizeParseResult: () => normalizeParseResult,
6248
+ normalizeThinkingEffort: () => normalizeThinkingEffort,
6152
6249
  normalizeThread: () => normalizeThread,
6153
6250
  normalizeTurnInput: () => normalizeTurnInput,
6154
6251
  normalizeWorktreePath: () => normalizeWorktreePath,
@@ -6187,6 +6284,7 @@ __export(index_exports, {
6187
6284
  resolvePrSelector: () => resolvePrSelector,
6188
6285
  resolveRepoRoot: () => resolveRepoRoot,
6189
6286
  resolveThreadDefaults: () => resolveThreadDefaults,
6287
+ resolveThreadEffort: () => resolveThreadEffort,
6190
6288
  resolveWorktreeStartPoint: () => resolveWorktreeStartPoint,
6191
6289
  run: () => run,
6192
6290
  runArchiveScript: () => runArchiveScript,
@@ -6220,6 +6318,8 @@ __export(index_exports, {
6220
6318
  takenTeamSlugsForChatTab: () => takenTeamSlugsForChatTab,
6221
6319
  takenTeamSlugsForOrchestration: () => takenTeamSlugsForOrchestration,
6222
6320
  taskMessageText: () => taskMessageText,
6321
+ thinkingEffortBars: () => thinkingEffortBars,
6322
+ thinkingEffortLabel: () => thinkingEffortLabel,
6223
6323
  threadDisplayLabel: () => threadDisplayLabel,
6224
6324
  threadFilePath: () => threadFilePath,
6225
6325
  threadLockPath: () => threadLockPath,
@@ -6250,6 +6350,7 @@ __export(index_exports, {
6250
6350
  writeWorktreeFile: () => writeWorktreeFile
6251
6351
  });
6252
6352
  module.exports = __toCommonJS(index_exports);
6353
+ init_thinking_effort();
6253
6354
  init_paths();
6254
6355
  init_app_settings();
6255
6356
  init_thread_store();
@@ -6860,6 +6961,31 @@ function formatWorktreeDirective(thread, opts) {
6860
6961
  "- Prefer a draft PR first: `gh pr create --draft -R <origin-owner/name>` (or update via `gh pr edit -R \u2026`) once the change set is coherent. Resolve `<origin-owner/name>` with `git remote get-url origin` in this worktree \u2014 never from `upstream`. Mark ready for review only when asked. Title/body must reflect the change purpose, not the worktree name."
6861
6962
  );
6862
6963
  }
6964
+ lines.push("");
6965
+ lines.push(
6966
+ "Short git requests from the Sideboard UI are complete instructions \u2014 expand them using the rules above without asking for clarification:"
6967
+ );
6968
+ lines.push(
6969
+ '- "Commit and push." \u2192 commit any uncommitted work with a purpose-stating message, then push to origin (updates an existing PR if one is linked).'
6970
+ );
6971
+ lines.push(
6972
+ '- "Commit, push, and open a draft PR." \u2192 commit, push, then create a draft PR with `gh pr create --draft -R \u2026` (title/body from the change purpose).'
6973
+ );
6974
+ lines.push(
6975
+ '- "Commit, push, and open a PR in the browser." \u2192 commit, push, then `gh pr create --web -R \u2026`.'
6976
+ );
6977
+ lines.push(
6978
+ '- "Fix CI: <name>." \u2192 investigate that failing check, fix it, commit, and push.'
6979
+ );
6980
+ lines.push(
6981
+ '- "Update the branch." / "Fix merge conflicts." \u2192 sync with the PR base (merge or rebase), resolve conflicts carefully, commit, and push until the PR is mergeable.'
6982
+ );
6983
+ lines.push(
6984
+ '- "Address review comments." \u2192 read PR review feedback, make the requested changes, commit, and push.'
6985
+ );
6986
+ lines.push(
6987
+ '- "Merge PR." \u2192 merge this thread\'s open pull request with `gh pr merge` (respect repo defaults / squash vs merge); do not force-push main/master.'
6988
+ );
6863
6989
  return lines.join("\n");
6864
6990
  }
6865
6991
  function formatArtifactDirective() {
@@ -8912,6 +9038,7 @@ async function createThread(input, onSetupLine) {
8912
9038
  agent: input.agent,
8913
9039
  autonomy: input.autonomy ?? "default",
8914
9040
  model: input.model ?? null,
9041
+ effort: input.effort ?? "high",
8915
9042
  fast: Boolean(input.fast),
8916
9043
  planMode: Boolean(input.planMode),
8917
9044
  attachments: input.attachments ?? [],
@@ -9027,7 +9154,8 @@ function createChatTab(input) {
9027
9154
  ...binding,
9028
9155
  agent: input.agent ?? from.agent,
9029
9156
  model: input.model !== void 0 ? input.model : input.agent && input.agent !== from.agent ? null : from.model,
9030
- fast: from.fast,
9157
+ effort: input.effort !== void 0 ? input.effort : from.effort,
9158
+ fast: input.fast !== void 0 ? Boolean(input.fast) : from.fast,
9031
9159
  planMode: from.planMode,
9032
9160
  autonomy: input.autonomy ?? from.autonomy,
9033
9161
  attachments: input.attachments ?? [],
@@ -9067,6 +9195,7 @@ async function forkThreadWorktree(input, onSetupLine) {
9067
9195
  agent: input.agent ?? from.agent,
9068
9196
  autonomy: from.autonomy,
9069
9197
  model: from.model,
9198
+ effort: from.effort,
9070
9199
  fast: from.fast,
9071
9200
  planMode: from.planMode,
9072
9201
  title: input.title?.trim() || void 0,
@@ -10626,6 +10755,7 @@ var Orchestrator = class {
10626
10755
  const thread = this.requireThread(threadRef);
10627
10756
  const next = {};
10628
10757
  if (patch.autonomy !== void 0) next.autonomy = patch.autonomy;
10758
+ if (patch.effort !== void 0) next.effort = patch.effort;
10629
10759
  if (patch.fast !== void 0) next.fast = patch.fast;
10630
10760
  if (patch.planMode !== void 0) next.planMode = patch.planMode;
10631
10761
  if (patch.model !== void 0) next.model = patch.model;
@@ -10803,6 +10933,7 @@ async function startOrchestration(opts) {
10803
10933
  agent: opts.agent,
10804
10934
  autonomy: opts.autonomy,
10805
10935
  model: opts.model,
10936
+ effort: opts.effort,
10806
10937
  fast: opts.fast,
10807
10938
  planMode: opts.planMode,
10808
10939
  attachments: opts.attachments
@@ -10820,6 +10951,7 @@ async function startOrchestration(opts) {
10820
10951
  title,
10821
10952
  autonomy: opts.autonomy,
10822
10953
  model: opts.model,
10954
+ effort: opts.effort,
10823
10955
  fast: opts.fast,
10824
10956
  planMode: opts.planMode,
10825
10957
  attachments: opts.attachments
@@ -11793,6 +11925,7 @@ init_injected_mcp();
11793
11925
  PLAN_MODE_INSTRUCTION,
11794
11926
  SIDEBOARD_FORCE_STOP,
11795
11927
  SIDEBOARD_MCP_ALLOWED_TOOLS,
11928
+ THINKING_EFFORTS,
11796
11929
  addWorkspace,
11797
11930
  adoptThread,
11798
11931
  allAdapters,
@@ -11899,6 +12032,8 @@ init_injected_mcp();
11899
12032
  getAgentSetupInfo,
11900
12033
  getBrightsySession,
11901
12034
  getDefaultAgent,
12035
+ getDefaultEffort,
12036
+ getDefaultFast,
11902
12037
  getDefaultModel,
11903
12038
  getDefaultRunScript,
11904
12039
  getDiff,
@@ -11943,6 +12078,7 @@ init_injected_mcp();
11943
12078
  isOrchestratorThread,
11944
12079
  isPidAlive,
11945
12080
  isPlaceholderBranch,
12081
+ isThinkingEffort,
11946
12082
  listAgentSetupInfo,
11947
12083
  listBranchCommits,
11948
12084
  listBranches,
@@ -11980,7 +12116,9 @@ init_injected_mcp();
11980
12116
  mergePr,
11981
12117
  mergeUsage,
11982
12118
  nextPastedTextName,
12119
+ nextThinkingEffort,
11983
12120
  normalizeParseResult,
12121
+ normalizeThinkingEffort,
11984
12122
  normalizeThread,
11985
12123
  normalizeTurnInput,
11986
12124
  normalizeWorktreePath,
@@ -12019,6 +12157,7 @@ init_injected_mcp();
12019
12157
  resolvePrSelector,
12020
12158
  resolveRepoRoot,
12021
12159
  resolveThreadDefaults,
12160
+ resolveThreadEffort,
12022
12161
  resolveWorktreeStartPoint,
12023
12162
  run,
12024
12163
  runArchiveScript,
@@ -12052,6 +12191,8 @@ init_injected_mcp();
12052
12191
  takenTeamSlugsForChatTab,
12053
12192
  takenTeamSlugsForOrchestration,
12054
12193
  taskMessageText,
12194
+ thinkingEffortBars,
12195
+ thinkingEffortLabel,
12055
12196
  threadDisplayLabel,
12056
12197
  threadFilePath,
12057
12198
  threadLockPath,
package/dist/index.d.cts CHANGED
@@ -1,6 +1,22 @@
1
1
  import { ResultPromise } from 'execa';
2
2
  import { EventEmitter } from 'node:events';
3
3
 
4
+ /**
5
+ * Agent thinking / reasoning effort.
6
+ * Matches Claude Code `--effort` and Conductor's 5-rung effort chip:
7
+ * low → medium → high → xhigh → max.
8
+ */
9
+ type ThinkingEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
10
+ declare const THINKING_EFFORTS: ThinkingEffort[];
11
+ /** Conductor settings sometimes use `normal` for the mid Claude effort band. */
12
+ declare function normalizeThinkingEffort(value: unknown): ThinkingEffort | null;
13
+ declare function isThinkingEffort(value: unknown): value is ThinkingEffort;
14
+ /** Cycle Low → … → Max → Low (Conductor ⌥T-style). */
15
+ declare function nextThinkingEffort(current: ThinkingEffort): ThinkingEffort;
16
+ /** How many of 5 Conductor-style signal bars are filled. */
17
+ declare function thinkingEffortBars(effort: ThinkingEffort): number;
18
+ declare function thinkingEffortLabel(effort: ThinkingEffort): string;
19
+
4
20
  type AgentKind = 'claude' | 'codex' | 'opencode' | 'brightsy' | 'cursor';
5
21
  type SourceType = 'branch' | 'pr' | 'ticket' | 'orchestration' | 'adopt';
6
22
  type ThreadStatus = 'idle' | 'queued' | 'running' | 'stopped' | 'error' | 'broken' | 'archived';
@@ -67,7 +83,15 @@ interface Thread {
67
83
  agent: AgentKind;
68
84
  /** Agent model alias (e.g. sonnet, opus). null = Auto / CLI default. */
69
85
  model: string | null;
70
- /** Prefer faster/cheaper turns (Claude: --effort low). */
86
+ /**
87
+ * Thinking / reasoning effort (Claude: `--effort`, Cursor: `effort` param).
88
+ * Independent of {@link Thread.fast}.
89
+ */
90
+ effort: ThinkingEffort;
91
+ /**
92
+ * Prefer a faster model variant when the agent supports it (Cursor: `fast` param).
93
+ * Independent of {@link Thread.effort}.
94
+ */
71
95
  fast: boolean;
72
96
  /** Plan-only turns — analyze and plan without editing files (Conductor-style). */
73
97
  planMode: boolean;
@@ -104,6 +128,10 @@ interface CreateChatTabInput {
104
128
  agent?: AgentKind;
105
129
  model?: string | null;
106
130
  autonomy?: Autonomy;
131
+ /** Thinking effort; omit to inherit from source thread. */
132
+ effort?: ThinkingEffort;
133
+ /** Prefer faster model variant; omit to inherit from source thread. */
134
+ fast?: boolean;
107
135
  title?: string;
108
136
  attachments?: ThreadAttachment[];
109
137
  }
@@ -125,6 +153,7 @@ interface ForkThreadWorktreeInput {
125
153
  interface ThreadOptionsPatch {
126
154
  agent?: AgentKind;
127
155
  model?: string | null;
156
+ effort?: ThinkingEffort;
128
157
  fast?: boolean;
129
158
  planMode?: boolean;
130
159
  autonomy?: Autonomy;
@@ -398,6 +427,7 @@ interface CreateThreadInput {
398
427
  autonomy?: Autonomy;
399
428
  /** Claude model id, or Brightsy `agent:` / `model:` target encoding. */
400
429
  model?: string | null;
430
+ effort?: ThinkingEffort;
401
431
  fast?: boolean;
402
432
  planMode?: boolean;
403
433
  /** Attachments available to the first prompt (and subsequent turns). */
@@ -462,12 +492,19 @@ declare const HARNESS_ENV_KEYS: {
462
492
  type HarnessId = keyof typeof HARNESS_ENV_KEYS;
463
493
  /**
464
494
  * Account-level defaults for Create / new chat tabs (Settings → Account).
465
- * Omitted fields fall back to Claude + Auto at runtime.
495
+ * Omitted fields fall back to Claude + Auto + High thinking at runtime.
466
496
  */
467
497
  interface DefaultsAppSettings {
468
498
  agent?: AgentKind;
469
499
  /** Model / Brightsy target id. Empty or omitted = Auto / agent default. */
470
500
  model?: string;
501
+ /** Thinking / reasoning effort. Omitted = High. */
502
+ effort?: ThinkingEffort;
503
+ /**
504
+ * Prefer a faster model variant when supported (Cursor `fast` param).
505
+ * Independent of {@link DefaultsAppSettings.effort}.
506
+ */
507
+ fast?: boolean;
471
508
  }
472
509
  /** Claude Code harness options (executable override + Chrome). */
473
510
  interface ClaudeHarnessSettings {
@@ -579,15 +616,24 @@ declare function updateIntegrationsSettings(patch: {
579
616
  declare function updateDefaultsSettings(patch: {
580
617
  agent?: AgentKind | null;
581
618
  model?: string | null;
619
+ /** Effort level, or Conductor's `normal` (stored as medium). */
620
+ effort?: ThinkingEffort | 'normal' | null;
621
+ fast?: boolean | null;
582
622
  }): AppSettings;
583
623
  /** Default agent for Create / new chats (claude when unset). */
584
624
  declare function getDefaultAgent(settings?: AppSettings): AgentKind;
585
625
  /** Default model id for Create / new chats (`null` = Auto / agent default). */
586
626
  declare function getDefaultModel(settings?: AppSettings): string | null;
587
- /** Resolved Create / new-chat agent + model pair. */
627
+ /** Default thinking effort for Create / new chats (`high` when unset). */
628
+ declare function getDefaultEffort(settings?: AppSettings): ThinkingEffort;
629
+ /** Default fast-mode flag for Create / new chats (`true` = Fast). */
630
+ declare function getDefaultFast(settings?: AppSettings): boolean;
631
+ /** Resolved Create / new-chat agent + model + thinking defaults. */
588
632
  declare function resolveThreadDefaults(settings?: AppSettings): {
589
633
  agent: AgentKind;
590
634
  model: string | null;
635
+ effort: ThinkingEffort;
636
+ fast: boolean;
591
637
  };
592
638
  /** True when Sideboard has a Linear API key stored. */
593
639
  declare function isLinearConnected(settings?: AppSettings): boolean;
@@ -623,8 +669,18 @@ declare function applyAppEnvironment(target?: NodeJS.ProcessEnv, settings?: AppS
623
669
  declare function childEnvWithAppSettings(extra?: Record<string, string | undefined>): NodeJS.ProcessEnv;
624
670
  declare function harnessEnvKey(harness: HarnessId): string | null;
625
671
 
672
+ /**
673
+ * Resolve thinking effort for persisted threads.
674
+ * Legacy threads only had `fast` (which also drove Claude `--effort low`);
675
+ * map that to `effort: 'low'` when `effort` was never stored.
676
+ * Accepts Conductor's `normal` as medium.
677
+ */
678
+ declare function resolveThreadEffort(raw: {
679
+ effort?: unknown;
680
+ fast?: unknown;
681
+ }): ThinkingEffort;
626
682
  declare function normalizeThread(raw: Thread): Thread;
627
- declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'userSetTitle' | 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'fast' | 'planMode' | 'attachments'> & Partial<Pick<Thread, 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'fast' | 'planMode' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'userSetTitle' | 'attachments'>>): Thread;
683
+ declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'userSetTitle' | 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'attachments'> & Partial<Pick<Thread, 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'userSetTitle' | 'attachments'>>): Thread;
628
684
  declare function withThreadLock<T>(id: string, fn: () => Promise<T>): Promise<T>;
629
685
  declare function readThread(id: string): Thread | null;
630
686
  declare function writeThread(thread: Thread): void;
@@ -673,6 +729,7 @@ interface CreateGlobalChatOpts {
673
729
  sourceRef?: string;
674
730
  autonomy?: Autonomy;
675
731
  model?: string | null;
732
+ effort?: ThinkingEffort;
676
733
  fast?: boolean;
677
734
  planMode?: boolean;
678
735
  attachments?: ThreadAttachment[];
@@ -1133,6 +1190,8 @@ type CursorTurnRequest = {
1133
1190
  cwd: string;
1134
1191
  agentId?: string | null;
1135
1192
  model?: string | null;
1193
+ /** Reasoning effort (independent of {@link CursorTurnRequest.fast}). */
1194
+ effort?: string | null;
1136
1195
  fast?: boolean;
1137
1196
  planMode?: boolean;
1138
1197
  apiKey?: string;
@@ -2001,7 +2060,12 @@ declare class Orchestrator {
2001
2060
  createChatTab(input: {
2002
2061
  fromThreadId: string;
2003
2062
  agent?: Thread['agent'];
2063
+ model?: string | null;
2064
+ autonomy?: Thread['autonomy'];
2065
+ effort?: Thread['effort'];
2066
+ fast?: boolean;
2004
2067
  title?: string;
2068
+ attachments?: Thread['attachments'];
2005
2069
  }): Thread;
2006
2070
  forkChatTab(input: {
2007
2071
  threadId: string;
@@ -2045,6 +2109,7 @@ declare function startOrchestration(opts: {
2045
2109
  repoPath?: string;
2046
2110
  autonomy?: Thread['autonomy'];
2047
2111
  model?: string | null;
2112
+ effort?: Thread['effort'];
2048
2113
  fast?: boolean;
2049
2114
  planMode?: boolean;
2050
2115
  attachments?: Thread['attachments'];
@@ -2220,6 +2285,8 @@ interface IpcApi {
2220
2285
  updateDefaultsSettings(patch: {
2221
2286
  agent?: AgentKind | null;
2222
2287
  model?: string | null;
2288
+ effort?: ThinkingEffort | 'normal' | null;
2289
+ fast?: boolean | null;
2223
2290
  }): Promise<AppSettings>;
2224
2291
  /** Machine-global GitHub status via `gh`. */
2225
2292
  getGitHubStatus(): Promise<GitHubStatus>;
@@ -2287,6 +2354,7 @@ interface IpcApi {
2287
2354
  repoPath?: string;
2288
2355
  autonomy?: Autonomy;
2289
2356
  model?: string | null;
2357
+ effort?: ThinkingEffort;
2290
2358
  fast?: boolean;
2291
2359
  planMode?: boolean;
2292
2360
  attachments?: ThreadAttachment[];
@@ -2296,6 +2364,7 @@ interface IpcApi {
2296
2364
  agent: AgentKind;
2297
2365
  autonomy?: Autonomy;
2298
2366
  model?: string | null;
2367
+ effort?: ThinkingEffort;
2299
2368
  fast?: boolean;
2300
2369
  planMode?: boolean;
2301
2370
  attachments?: ThreadAttachment[];
@@ -2677,4 +2746,4 @@ declare function writeInjectedMcpConfig(opts: {
2677
2746
  includeBrightsy?: boolean;
2678
2747
  }): Promise<string | null>;
2679
2748
 
2680
- export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, Orchestrator, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type RepoSettings, type RepoSetupInfo, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, type TeamName, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, installAgent, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isLinearConnected, isOrchestratorThread, isPidAlive, isPlaceholderBranch, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, nextPastedTextName, normalizeParseResult, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, opencodeAdapter, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, partsToAssistantText, pastedTextStats, permissionMode, previewLand, pushBranch, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGithubRepoSlug, resolvePrSelector, resolveRepoRoot, resolveThreadDefaults, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateDefaultsSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };
2749
+ export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, Orchestrator, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type RepoSettings, type RepoSetupInfo, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, installAgent, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isLinearConnected, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isThinkingEffort, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, opencodeAdapter, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, partsToAssistantText, pastedTextStats, permissionMode, previewLand, pushBranch, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGithubRepoSlug, resolvePrSelector, resolveRepoRoot, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateDefaultsSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };