@sideboard-ai/core 0.1.210 → 0.1.211

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/{agents-G3TFVFBQ.js → agents-A2U3K7VK.js} +4 -4
  2. package/dist/{agents-IQZUN47D.js → agents-GQANI7M5.js} +4 -4
  3. package/dist/{chunk-3S2LDD2F.js → chunk-2PE6SZCM.js} +2 -2
  4. package/dist/{chunk-2R6BZRRB.js → chunk-ERNK7AWM.js} +99 -53
  5. package/dist/{chunk-X5PUFYDJ.js → chunk-GHKFSBES.js} +2 -0
  6. package/dist/{chunk-NDE5RKZP.js → chunk-IA5IPGZI.js} +3 -3
  7. package/dist/{chunk-YYELAUKP.js → chunk-IRCAWYTN.js} +3 -3
  8. package/dist/{chunk-FGTPRMPS.js → chunk-JJ3ONQ4Q.js} +2 -0
  9. package/dist/{chunk-AOQZZA3M.js → chunk-KZUA4QG2.js} +106 -54
  10. package/dist/{chunk-ZZNZX2QW.js → chunk-NRKDRQM3.js} +1 -1
  11. package/dist/{chunk-WX4S775K.js → chunk-VPQXJYIW.js} +1 -1
  12. package/dist/{chunk-ZC664YBJ.js → chunk-WNVQJZ7P.js} +2 -2
  13. package/dist/{coordinator-prompt-PONGPWIP.js → coordinator-prompt-EHRDZ2ZU.js} +3 -3
  14. package/dist/{coordinator-prompt-GCITY3Q5.js → coordinator-prompt-LMTMWCPN.js} +3 -3
  15. package/dist/{global-workspace-LQZLTGFL.js → global-workspace-NG2TBUI5.js} +3 -3
  16. package/dist/{global-workspace-LIZHU4GM.js → global-workspace-RHABXQWB.js} +3 -3
  17. package/dist/index.cjs +101 -40
  18. package/dist/index.d.cts +41 -9
  19. package/dist/index.d.ts +41 -9
  20. package/dist/index.js +18 -5
  21. package/dist/mcp/run-stdio.cjs +88 -40
  22. package/dist/mcp/run-stdio.js +5 -5
  23. package/dist/{orchestrator-G5HELCVT.js → orchestrator-NZO4PVFH.js} +5 -5
  24. package/dist/{orchestrator-ZBUXJCII.js → orchestrator-QMGH4V4K.js} +5 -5
  25. package/dist/{thread-store-KMZRQEPY.js → thread-store-4M6WETL6.js} +1 -1
  26. package/dist/{thread-store-FCWU7Y3X.js → thread-store-MSMBQ3V4.js} +1 -1
  27. package/dist/{workspaces-2XW2DMRG.js → workspaces-FRR6Y4BY.js} +3 -3
  28. package/dist/{workspaces-T6PMQZYQ.js → workspaces-VIUUE4RT.js} +3 -3
  29. package/dist/{worktree-2OEMMFRT.js → worktree-3MEG62KB.js} +2 -2
  30. package/dist/{worktree-5ZGWKKZ6.js → worktree-GKUOHXXB.js} +2 -2
  31. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -3111,6 +3111,7 @@ function normalizeThread(raw) {
3111
3111
  agentPid: raw.agentPid ?? null,
3112
3112
  attachments: Array.isArray(raw.attachments) ? raw.attachments : [],
3113
3113
  pendingTurnAttachments: Array.isArray(raw.pendingTurnAttachments) ? raw.pendingTurnAttachments : [],
3114
+ queueAttachments: Array.isArray(raw.queueAttachments) ? raw.queueAttachments : [],
3114
3115
  prTitle: raw.prTitle ?? null,
3115
3116
  prState: raw.prState ?? null,
3116
3117
  prIsDraft: Boolean(raw.prIsDraft),
@@ -3155,6 +3156,7 @@ function createEmptyThread(partial) {
3155
3156
  messages: partial.messages ?? [],
3156
3157
  attachments: partial.attachments ?? [],
3157
3158
  pendingTurnAttachments: partial.pendingTurnAttachments ?? [],
3159
+ queueAttachments: partial.queueAttachments ?? [],
3158
3160
  createdAt: ts,
3159
3161
  updatedAt: ts,
3160
3162
  archivedAt: typeof partial.archivedAt === "string" && partial.archivedAt.trim() ? partial.archivedAt.trim() : void 0,
@@ -17239,6 +17241,7 @@ function stripArchivedTranscript(thread) {
17239
17241
  ...thread,
17240
17242
  attachments: [],
17241
17243
  pendingTurnAttachments: [],
17244
+ queueAttachments: [],
17242
17245
  messages: [historyRetentionStubMessage(thread)]
17243
17246
  },
17244
17247
  { touch: false }
@@ -21892,24 +21895,56 @@ var init_expand = __esm({
21892
21895
 
21893
21896
  // src/composer/consume-attachments.ts
21894
21897
  function consumeComposerAttachments(thread) {
21895
- if (thread.attachments.length === 0) {
21896
- return {
21897
- attachments: [],
21898
- pendingTurnAttachments: thread.pendingTurnAttachments ?? []
21899
- };
21900
- }
21901
21898
  return {
21902
21899
  attachments: [],
21903
- pendingTurnAttachments: [
21904
- ...thread.pendingTurnAttachments ?? [],
21905
- ...thread.attachments
21906
- ]
21900
+ consumed: [...thread.attachments]
21907
21901
  };
21908
21902
  }
21909
21903
  function takePendingTurnAttachments(thread) {
21910
21904
  const pending = thread.pendingTurnAttachments ?? [];
21911
- if (pending.length === 0 && thread.attachments.length === 0) return [];
21912
- return [...pending, ...thread.attachments];
21905
+ if (pending.length > 0) return [...pending];
21906
+ return thread.attachments.length > 0 ? [...thread.attachments] : [];
21907
+ }
21908
+ function alignQueueAttachments(queueLength, existing) {
21909
+ const next = (existing ?? []).slice(0, queueLength).map((slot) => [...slot ?? []]);
21910
+ while (next.length < queueLength) next.push([]);
21911
+ return next;
21912
+ }
21913
+ function appendQueuedItem(queue, queueAttachments, prompt, attachments = []) {
21914
+ return {
21915
+ queue: [...queue, prompt],
21916
+ queueAttachments: [...alignQueueAttachments(queue.length, queueAttachments), [...attachments]]
21917
+ };
21918
+ }
21919
+ function prependQueuedItem(queue, queueAttachments, prompt, attachments = []) {
21920
+ return {
21921
+ queue: [prompt, ...queue],
21922
+ queueAttachments: [[...attachments], ...alignQueueAttachments(queue.length, queueAttachments)]
21923
+ };
21924
+ }
21925
+ function removeQueuedItem(queue, queueAttachments, index) {
21926
+ const aligned = alignQueueAttachments(queue.length, queueAttachments);
21927
+ return {
21928
+ queue: queue.filter((_, i) => i !== index),
21929
+ queueAttachments: aligned.filter((_, i) => i !== index)
21930
+ };
21931
+ }
21932
+ function moveQueuedItemToFront(queue, queueAttachments, index) {
21933
+ const aligned = alignQueueAttachments(queue.length, queueAttachments);
21934
+ return {
21935
+ queue: [queue[index], ...queue.filter((_, i) => i !== index)],
21936
+ queueAttachments: [aligned[index] ?? [], ...aligned.filter((_, i) => i !== index)]
21937
+ };
21938
+ }
21939
+ function shiftQueuedItem(queue, queueAttachments) {
21940
+ if (queue.length === 0) return null;
21941
+ const aligned = alignQueueAttachments(queue.length, queueAttachments);
21942
+ return {
21943
+ prompt: queue[0],
21944
+ attachments: aligned[0] ?? [],
21945
+ queue: queue.slice(1),
21946
+ queueAttachments: aligned.slice(1)
21947
+ };
21913
21948
  }
21914
21949
  var init_consume_attachments = __esm({
21915
21950
  "src/composer/consume-attachments.ts"() {
@@ -23246,9 +23281,9 @@ var init_orchestrator = __esm({
23246
23281
  if (!thread || thread.status === "archived") return;
23247
23282
  this.crashContinued.add(threadId);
23248
23283
  const prompt = formatAgentErrorContinuePrompt(opts.detail);
23249
- const queue = [prompt, ...thread.queue];
23250
- updateThread(threadId, { queue });
23251
- this.emit({ type: "queue_changed", threadId, queue });
23284
+ const next = prependQueuedItem(thread.queue, thread.queueAttachments, prompt);
23285
+ updateThread(threadId, next);
23286
+ this.emit({ type: "queue_changed", threadId, queue: next.queue });
23252
23287
  this.haltDrain.delete(threadId);
23253
23288
  }
23254
23289
  /**
@@ -23277,9 +23312,9 @@ var init_orchestrator = __esm({
23277
23312
  }
23278
23313
  if (decision.action === "nudge") this.jobContinueNudged.add(threadId);
23279
23314
  else this.jobContinueCount.set(threadId, (this.jobContinueCount.get(threadId) ?? 0) + 1);
23280
- const queue = [decision.prompt, ...thread.queue];
23281
- updateThread(threadId, { queue });
23282
- this.emit({ type: "queue_changed", threadId, queue });
23315
+ const next = prependQueuedItem(thread.queue, thread.queueAttachments, decision.prompt);
23316
+ updateThread(threadId, next);
23317
+ this.emit({ type: "queue_changed", threadId, queue: next.queue });
23283
23318
  this.haltDrain.delete(threadId);
23284
23319
  }
23285
23320
  getThreads(includeArchived = false) {
@@ -23387,18 +23422,22 @@ var init_orchestrator = __esm({
23387
23422
  throw new Error(`Thread is archived: ${thread.id}`);
23388
23423
  }
23389
23424
  const followUp = resolveSendFollowUp(current, opts?.followUp);
23390
- const queue = [...current.queue, prompt];
23425
+ const consumed = consumeComposerAttachments(current);
23426
+ const queued = appendQueuedItem(
23427
+ current.queue,
23428
+ current.queueAttachments,
23429
+ prompt,
23430
+ consumed.consumed
23431
+ );
23391
23432
  this.crashContinued.delete(thread.id);
23392
23433
  this.jobContinueCount.delete(thread.id);
23393
23434
  this.jobContinueNudged.delete(thread.id);
23394
23435
  this.haltDrain.delete(thread.id);
23395
23436
  const inFlight = this.activeTurns.has(thread.id) || this.startingTurns.has(thread.id) || current.status === "running";
23396
23437
  shouldSteer = followUp === "steer" && (inFlight || current.queue.length > 0);
23397
- const patch = { queue };
23398
- if (current.attachments.length > 0) {
23399
- const consumed = consumeComposerAttachments(current);
23438
+ const patch = queued;
23439
+ if (consumed.consumed.length > 0) {
23400
23440
  patch.attachments = consumed.attachments;
23401
- patch.pendingTurnAttachments = consumed.pendingTurnAttachments;
23402
23441
  }
23403
23442
  if (!inFlight) patch.status = "queued";
23404
23443
  const pid = current.agentPid;
@@ -23406,7 +23445,7 @@ var init_orchestrator = __esm({
23406
23445
  patch.agentPid = null;
23407
23446
  }
23408
23447
  updateThread(thread.id, patch);
23409
- this.emit({ type: "queue_changed", threadId: thread.id, queue });
23448
+ this.emit({ type: "queue_changed", threadId: thread.id, queue: queued.queue });
23410
23449
  if (!inFlight) {
23411
23450
  this.emit({ type: "status_changed", threadId: thread.id, status: "queued" });
23412
23451
  }
@@ -23448,14 +23487,17 @@ var init_orchestrator = __esm({
23448
23487
  return withThreadLock(thread.id, async () => {
23449
23488
  const current = this.requireThread(thread.id);
23450
23489
  if (index < 0 || index >= current.queue.length) return current;
23451
- const queue = current.queue.filter((_, i) => i !== index);
23452
- const stillQueued = queue.length > 0;
23490
+ const removed = removeQueuedItem(current.queue, current.queueAttachments, index);
23491
+ const stillQueued = removed.queue.length > 0;
23453
23492
  const inFlight = this.activeTurns.has(thread.id) || this.startingTurns.has(thread.id);
23454
23493
  updateThread(thread.id, {
23455
- queue,
23494
+ ...removed,
23495
+ // Old sends parked on pendingTurnAttachments; drop that bag when the
23496
+ // follow-up that owned it is gone so a later turn cannot inherit it.
23497
+ ...stillQueued ? {} : { pendingTurnAttachments: [] },
23456
23498
  status: !stillQueued && !inFlight && current.status === "queued" ? "idle" : current.status
23457
23499
  });
23458
- this.emit({ type: "queue_changed", threadId: thread.id, queue });
23500
+ this.emit({ type: "queue_changed", threadId: thread.id, queue: removed.queue });
23459
23501
  const next = this.requireThread(thread.id);
23460
23502
  this.emit({ type: "status_changed", threadId: thread.id, status: next.status });
23461
23503
  return next;
@@ -23471,12 +23513,10 @@ var init_orchestrator = __esm({
23471
23513
  const promoted = await withThreadLock(thread.id, async () => {
23472
23514
  const current2 = this.requireThread(thread.id);
23473
23515
  if (index < 0 || index >= current2.queue.length) return false;
23474
- const item = current2.queue[index];
23475
- const rest = current2.queue.filter((_, i) => i !== index);
23476
- const queue = [item, ...rest];
23516
+ const next = moveQueuedItemToFront(current2.queue, current2.queueAttachments, index);
23477
23517
  this.haltDrain.delete(thread.id);
23478
- updateThread(thread.id, { queue });
23479
- this.emit({ type: "queue_changed", threadId: thread.id, queue });
23518
+ updateThread(thread.id, next);
23519
+ this.emit({ type: "queue_changed", threadId: thread.id, queue: next.queue });
23480
23520
  return true;
23481
23521
  });
23482
23522
  if (!promoted) return this.requireThread(thread.id);
@@ -23531,11 +23571,15 @@ var init_orchestrator = __esm({
23531
23571
  }
23532
23572
  continue;
23533
23573
  }
23534
- const prompt = thread.queue[0];
23535
- const remaining = thread.queue.slice(1);
23536
- updateThread(threadId, { queue: remaining });
23537
- this.emit({ type: "queue_changed", threadId, queue: remaining });
23538
- await this.runTurn(threadId, prompt);
23574
+ const shifted = shiftQueuedItem(thread.queue, thread.queueAttachments);
23575
+ if (!shifted) break;
23576
+ updateThread(threadId, {
23577
+ queue: shifted.queue,
23578
+ queueAttachments: shifted.queueAttachments,
23579
+ ...shifted.attachments.length > 0 ? { pendingTurnAttachments: shifted.attachments } : {}
23580
+ });
23581
+ this.emit({ type: "queue_changed", threadId, queue: shifted.queue });
23582
+ await this.runTurn(threadId, shifted.prompt);
23539
23583
  }
23540
23584
  } finally {
23541
23585
  this.draining.delete(threadId);
@@ -23580,6 +23624,7 @@ var init_orchestrator = __esm({
23580
23624
  thread = this.requireThread(threadId);
23581
23625
  }
23582
23626
  const autoContinue = isJobContinuePrompt(prompt) || prompt.trim().startsWith("The previous agent process ended before it finished.");
23627
+ const parkedSnapshot = thread.pendingTurnAttachments ?? [];
23583
23628
  const parked = takePendingTurnAttachments(thread);
23584
23629
  const sentAttachments = !autoContinue && parked.length > 0 ? parked : void 0;
23585
23630
  appendMessage(threadId, {
@@ -23649,7 +23694,10 @@ var init_orchestrator = __esm({
23649
23694
  expandedPrompt
23650
23695
  ].filter(Boolean).join("\n\n");
23651
23696
  if (!autoContinue && sentAttachments) {
23652
- updateThread(threadId, { attachments: [], pendingTurnAttachments: [] });
23697
+ updateThread(
23698
+ threadId,
23699
+ parkedSnapshot.length > 0 ? { pendingTurnAttachments: [] } : { attachments: [], pendingTurnAttachments: [] }
23700
+ );
23653
23701
  }
23654
23702
  const adapter = getAdapter(thread.agent);
23655
23703
  const resolved = await adapter.resolveSessionId(thread.worktreePath, thread.sessionId);
@@ -24065,7 +24113,7 @@ var init_orchestrator = __esm({
24065
24113
  }
24066
24114
  if (clearQueue && thread.queue.length > 0) {
24067
24115
  this.haltDrain.delete(thread.id);
24068
- updateThread(thread.id, { queue: [] });
24116
+ updateThread(thread.id, { queue: [], queueAttachments: [] });
24069
24117
  this.emit({ type: "queue_changed", threadId: thread.id, queue: [] });
24070
24118
  } else if (!clearQueue && !continueQueue) {
24071
24119
  this.haltDrain.add(thread.id);
@@ -25358,6 +25406,7 @@ __export(index_exports, {
25358
25406
  addWorkspace: () => addWorkspace,
25359
25407
  adoptThread: () => adoptThread,
25360
25408
  agentGitPrompt: () => agentGitPrompt,
25409
+ alignQueueAttachments: () => alignQueueAttachments,
25361
25410
  allAdapters: () => allAdapters,
25362
25411
  allocatePort: () => allocatePort,
25363
25412
  allocatePortRange: () => allocatePortRange,
@@ -25367,6 +25416,7 @@ __export(index_exports, {
25367
25416
  appSettingsPath: () => appSettingsPath,
25368
25417
  appendIndexedGitConfig: () => appendIndexedGitConfig,
25369
25418
  appendMessage: () => appendMessage,
25419
+ appendQueuedItem: () => appendQueuedItem,
25370
25420
  applyAgentEvent: () => applyAgentEvent,
25371
25421
  applyAgentRunnerHeapEnv: () => applyAgentRunnerHeapEnv,
25372
25422
  applyAppEnvironment: () => applyAppEnvironment,
@@ -25809,6 +25859,7 @@ __export(index_exports, {
25809
25859
  mergeUsage: () => mergeUsage,
25810
25860
  messagePartParentId: () => messagePartParentId,
25811
25861
  messagesSinceLastBrightsyContextSummary: () => messagesSinceLastBrightsyContextSummary,
25862
+ moveQueuedItemToFront: () => moveQueuedItemToFront,
25812
25863
  nextPastedTextName: () => nextPastedTextName,
25813
25864
  nextThinkingEffort: () => nextThinkingEffort,
25814
25865
  nonInteractiveGitProcessEnv: () => nonInteractiveGitProcessEnv,
@@ -25863,6 +25914,7 @@ __export(index_exports, {
25863
25914
  posixShellSingleQuote: () => posixShellSingleQuote,
25864
25915
  preferredCursorCostCents: () => preferredCursorCostCents,
25865
25916
  prepareTerminalCommand: () => prepareTerminalCommand,
25917
+ prependQueuedItem: () => prependQueuedItem,
25866
25918
  previewLand: () => previewLand,
25867
25919
  promptMentionsBrightsy: () => promptMentionsBrightsy,
25868
25920
  pushBranch: () => pushBranch,
@@ -25884,6 +25936,7 @@ __export(index_exports, {
25884
25936
  releaseCaffeinateHoldForThread: () => releaseCaffeinateHoldForThread,
25885
25937
  releaseDesktopHost: () => releaseDesktopHost,
25886
25938
  removeBoardPin: () => removeBoardPin,
25939
+ removeQueuedItem: () => removeQueuedItem,
25887
25940
  removeWorkspace: () => removeWorkspace,
25888
25941
  removeWorktree: () => removeWorktree,
25889
25942
  repoSlug: () => repoSlug,
@@ -25967,6 +26020,7 @@ __export(index_exports, {
25967
26020
  setStatus: () => setStatus,
25968
26021
  setVaultMasterKey: () => setVaultMasterKey,
25969
26022
  settingsSourceLabel: () => settingsSourceLabel,
26023
+ shiftQueuedItem: () => shiftQueuedItem,
25970
26024
  shouldAttachPastedText: () => shouldAttachPastedText,
25971
26025
  shouldCompactContext: () => shouldCompactContext,
25972
26026
  shouldInjectBrightsyMcp: () => shouldInjectBrightsyMcp,
@@ -26106,6 +26160,7 @@ function slimThreadForUiList(thread) {
26106
26160
  ...thread,
26107
26161
  attachments: [],
26108
26162
  pendingTurnAttachments: [],
26163
+ queueAttachments: [],
26109
26164
  messages: slimMessagesForUiList(messages, thread.updatedAt)
26110
26165
  };
26111
26166
  }
@@ -34137,6 +34192,7 @@ init_outbound_watch();
34137
34192
  addWorkspace,
34138
34193
  adoptThread,
34139
34194
  agentGitPrompt,
34195
+ alignQueueAttachments,
34140
34196
  allAdapters,
34141
34197
  allocatePort,
34142
34198
  allocatePortRange,
@@ -34146,6 +34202,7 @@ init_outbound_watch();
34146
34202
  appSettingsPath,
34147
34203
  appendIndexedGitConfig,
34148
34204
  appendMessage,
34205
+ appendQueuedItem,
34149
34206
  applyAgentEvent,
34150
34207
  applyAgentRunnerHeapEnv,
34151
34208
  applyAppEnvironment,
@@ -34588,6 +34645,7 @@ init_outbound_watch();
34588
34645
  mergeUsage,
34589
34646
  messagePartParentId,
34590
34647
  messagesSinceLastBrightsyContextSummary,
34648
+ moveQueuedItemToFront,
34591
34649
  nextPastedTextName,
34592
34650
  nextThinkingEffort,
34593
34651
  nonInteractiveGitProcessEnv,
@@ -34642,6 +34700,7 @@ init_outbound_watch();
34642
34700
  posixShellSingleQuote,
34643
34701
  preferredCursorCostCents,
34644
34702
  prepareTerminalCommand,
34703
+ prependQueuedItem,
34645
34704
  previewLand,
34646
34705
  promptMentionsBrightsy,
34647
34706
  pushBranch,
@@ -34663,6 +34722,7 @@ init_outbound_watch();
34663
34722
  releaseCaffeinateHoldForThread,
34664
34723
  releaseDesktopHost,
34665
34724
  removeBoardPin,
34725
+ removeQueuedItem,
34666
34726
  removeWorkspace,
34667
34727
  removeWorktree,
34668
34728
  repoSlug,
@@ -34746,6 +34806,7 @@ init_outbound_watch();
34746
34806
  setStatus,
34747
34807
  setVaultMasterKey,
34748
34808
  settingsSourceLabel,
34809
+ shiftQueuedItem,
34749
34810
  shouldAttachPastedText,
34750
34811
  shouldCompactContext,
34751
34812
  shouldInjectBrightsyMcp,
package/dist/index.d.cts CHANGED
@@ -202,6 +202,12 @@ interface Thread {
202
202
  * Keeps the chip tray empty after submit while `runTurn` still has the files.
203
203
  */
204
204
  pendingTurnAttachments?: ThreadAttachment[];
205
+ /**
206
+ * Files parked with each queued prompt (same length as `queue`).
207
+ * Remove / reorder / Send now must move these with the text so a later
208
+ * turn does not inherit images from a discarded follow-up.
209
+ */
210
+ queueAttachments?: ThreadAttachment[][];
205
211
  lastError?: string | null;
206
212
  /**
207
213
  * OS pid of the in-flight agent child while status is `running`.
@@ -1469,7 +1475,7 @@ declare function resolveThreadEffort(raw: {
1469
1475
  fast?: unknown;
1470
1476
  }): ThinkingEffort;
1471
1477
  declare function normalizeThread(raw: Thread): Thread;
1472
- declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'prState' | 'prIsDraft' | 'prAuthorLogin' | 'prReviewerLogins' | 'skipAutoArchiveOnMerge' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'attachments'> & Partial<Pick<Thread, 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'prState' | 'prIsDraft' | 'prAuthorLogin' | 'prReviewerLogins' | 'skipAutoArchiveOnMerge' | 'cowboy' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'attachments' | 'pendingTurnAttachments' | 'archivedAt'>>): Thread;
1478
+ declare function createEmptyThread(partial: Omit<Thread, 'id' | 'createdAt' | 'updatedAt' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'prState' | 'prIsDraft' | 'prAuthorLogin' | 'prReviewerLogins' | 'skipAutoArchiveOnMerge' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'attachments'> & Partial<Pick<Thread, 'sessionId' | 'sourceIsFork' | 'parentThreadId' | 'autonomy' | 'model' | 'effort' | 'fast' | 'planMode' | 'messages' | 'queue' | 'status' | 'devPort' | 'activeRuns' | 'prUrl' | 'prTitle' | 'prState' | 'prIsDraft' | 'prAuthorLogin' | 'prReviewerLogins' | 'skipAutoArchiveOnMerge' | 'cowboy' | 'stackId' | 'stackLayer' | 'userSetTitle' | 'attachments' | 'pendingTurnAttachments' | 'queueAttachments' | 'archivedAt'>>): Thread;
1473
1479
  declare function withThreadLock<T>(id: string, fn: () => Promise<T>): Promise<T>;
1474
1480
  /** Drop the in-memory thread list (other-process writes, tests, store watcher). */
1475
1481
  declare function invalidateThreadListCache(): void;
@@ -4176,23 +4182,49 @@ declare function persistPendingFileAttachments(worktreePath: string, attachments
4176
4182
  declare function attachmentsFromWorktreePaths(worktreePath: string, relativePaths: string[]): ThreadAttachment[];
4177
4183
 
4178
4184
  /**
4179
- * Move composer staging onto the next user turn and empty the composer.
4180
- * Send must do this immediately — waiting until `runTurn` leaves the image
4181
- * chip in the box (and a refresh between appendMessage and the old clear
4182
- * can put it back).
4185
+ * Move composer staging off the chip tray. Send must do this immediately —
4186
+ * waiting until `runTurn` leaves the image chip in the box (and a refresh
4187
+ * between appendMessage and the old clear can put it back).
4183
4188
  */
4184
4189
  declare function consumeComposerAttachments(thread: {
4185
4190
  attachments: ThreadAttachment[];
4186
- pendingTurnAttachments?: ThreadAttachment[];
4187
4191
  }): {
4188
4192
  attachments: ThreadAttachment[];
4189
- pendingTurnAttachments: ThreadAttachment[];
4193
+ consumed: ThreadAttachment[];
4190
4194
  };
4191
- /** Attachments the next non-continue turn should send, then drop. */
4195
+ /**
4196
+ * Attachments the next non-continue turn should send, then drop.
4197
+ * A parked send snapshot wins. Leftover composer files arrived after send
4198
+ * and belong to the next message — do not steal them.
4199
+ */
4192
4200
  declare function takePendingTurnAttachments(thread: {
4193
4201
  attachments: ThreadAttachment[];
4194
4202
  pendingTurnAttachments?: ThreadAttachment[];
4195
4203
  }): ThreadAttachment[];
4204
+ /** Keep `queueAttachments` the same length as `queue`. Missing slots are empty. */
4205
+ declare function alignQueueAttachments(queueLength: number, existing?: ThreadAttachment[][]): ThreadAttachment[][];
4206
+ declare function appendQueuedItem(queue: string[], queueAttachments: ThreadAttachment[][] | undefined, prompt: string, attachments?: ThreadAttachment[]): {
4207
+ queue: string[];
4208
+ queueAttachments: ThreadAttachment[][];
4209
+ };
4210
+ declare function prependQueuedItem(queue: string[], queueAttachments: ThreadAttachment[][] | undefined, prompt: string, attachments?: ThreadAttachment[]): {
4211
+ queue: string[];
4212
+ queueAttachments: ThreadAttachment[][];
4213
+ };
4214
+ declare function removeQueuedItem(queue: string[], queueAttachments: ThreadAttachment[][] | undefined, index: number): {
4215
+ queue: string[];
4216
+ queueAttachments: ThreadAttachment[][];
4217
+ };
4218
+ declare function moveQueuedItemToFront(queue: string[], queueAttachments: ThreadAttachment[][] | undefined, index: number): {
4219
+ queue: string[];
4220
+ queueAttachments: ThreadAttachment[][];
4221
+ };
4222
+ declare function shiftQueuedItem(queue: string[], queueAttachments: ThreadAttachment[][] | undefined): {
4223
+ prompt: string;
4224
+ attachments: ThreadAttachment[];
4225
+ queue: string[];
4226
+ queueAttachments: ThreadAttachment[][];
4227
+ } | null;
4196
4228
 
4197
4229
  /** Paste this large → attach as a doc chip instead of flooding the composer. */
4198
4230
  declare const PASTE_ATTACH_MIN_CHARS = 1200;
@@ -6782,4 +6814,4 @@ declare function pollSlackOutboundWatches(opts?: {
6782
6814
  now?: number;
6783
6815
  }): Promise<void>;
6784
6816
 
6785
- export { ABLETIME_MCP_PATH, ABLETIME_MCP_PM_PATH, ABLETIME_OAUTH_CALLBACK_PATH, ABLETIME_OAUTH_CANCELLED, ABLETIME_OAUTH_LOCAL_CALLBACK, ABLETIME_OAUTH_PORT, ABLETIME_OAUTH_REDIRECT, ABLETIME_OAUTH_RESOURCE, ABLETIME_OAUTH_TOKEN_PREFIX, ABLETIME_ORG_KEY_PREFIX, ABLETIME_PAT_PREFIX, ABLETIME_PM_TOOL_NAMES, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeComment, type AbleTimeCredentialKind, type AbleTimeMcpToolName, AbleTimeOAuthCancelledError, type AbleTimeOrientation, type AbleTimePmToolName, type AbleTimeProject, type AbleTimeTask, type AbleTimeTaskRelationInput, type AbleTimeViewer, type AccountProfile, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, 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_ABLETIME_OAUTH_CLIENT_ID, 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, CLI_DIR, 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, CONTEXT_REVIEW_PATH, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeExtraUsage, type ClaudeHarnessSettings, type ClaudePlanUsage, type ClaudeUsageWindow, type ClaudeUsageWindowId, 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, DETACHED_JOBS_DIR, type DefaultsAppSettings, type DefaultsSettingsPatch, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type EnsuredReviewGuidelines, type ExpandResult, FAMOUS_SOCCER_TEAMS, FOLLOW_UP_BEHAVIORS, type FastForwardMainResult, type FollowUpBehavior, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GITHUB_PR_BODY_MAX_CHARS, GITHUB_PR_BODY_SAFE_CHARS, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubIssue, type GitHubIssueComment, type GitHubIssueRelationInput, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HISTORY_DISCARDED_TEXT, HISTORY_MAX_COUNT_DEFAULT, HISTORY_MAX_COUNT_MAX, HISTORY_MAX_COUNT_MIN, HISTORY_MAX_DAYS_DEFAULT, HISTORY_MAX_DAYS_MAX, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HistoryCleanupResult, type HistoryRetentionPlan, type HomeBoardLoaded, type HomeBoardRemoteData, IMPLIED_TICKET_RESOLVE_PROMPT, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueActivityComment, type IssueAssigneeFilter, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LIVE_TURN_SPAWN_GRACE_MS, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearAssigneeFilter, type LinearComment, type LinearCycle, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, type LinearIssueRelationInput, type LinearNamedRef, LinearOAuthCancelledError, type LinearProjectRef, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesOptions, type ListIssuesResult, type ListPrsOptions, 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 OrchestratorDefaultsSettings, 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, PROFILE_NOTES_MAX, PR_DETAILS_JSON_FIELDS, 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 ProjectProfileSettings, 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 ResolvedAccountProfile, type ResolvedReviewGuidelines, type ResolvedThreadDefaults, type ResolvedViewerProfile, type ReviewGuidelinesSource, type RunMode, type RunScript, SEED_FULL_TOOL_MESSAGES, SEED_MAX_CHARS, 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, STDERR_EVENT_MAX_CHARS, STDOUT_EVENT_MAX_CHARS, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SessionSeedOptions, type SetupLogSnapshot, type SetupRunResult, type SidebarGitAction, 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, THINKING_PART_MAX_CHARS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, USAGE_ON_LIMIT_VALUES, type UpdateScheduledTaskPatch, type UsageOnLimit, type UsageScope, type ViewerContextWriteResult, type ViewerProfile, WORKTREE_ABLETIME_MCP_TOOLS, WORKTREE_GITHUB_MCP_TOOLS, WORKTREE_LINEAR_MCP_TOOLS, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, ableTimeCredentialKind, ableTimeDependencyTarget, ableTimeOAuthAuthorizeUrl, ableTimeOAuthBouncePage, ableTimeOAuthClientId, ableTimeOAuthLocalBounceUrl, ableTimeOAuthRedirectUri, ableTimeOAuthResource, ableTimeUsesRest, abletimeMcpRequest, abletimeMcpUrl, abletimeToolUsesPm, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applySystemCaEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertAbleTimeCredential, assertAbleTimeMcpCredential, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupHistoryEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildLinearIssueFilter, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, clampGithubPrBody, clampHistoryMaxCount, clampHistoryMaxDays, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUsageOverLimitWindows, claudeUserSettingsPath, cleanupArchivedHistory, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, clipAgentEventForPaint, clipThinkingForStore, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentAbleTimeTask, commentGitHubIssue, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmClaudeUsageOverLimitEnabled, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, connectedPrSelectors, consumeComposerAttachments, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimePkce, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGitHubIssue, 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, emptySetupLog, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeAccessToken, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewGuidelinesFile, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, examplePrefixedBranch, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findLiveThreadForCreateSource, findOrphanWorktrees, findProjectProfileKey, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, foldLegacyRolesIntoNotes, followUpBehavior, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAccountProfilePlaybookLine, formatArtifactDirective, formatBrightsyFetchError, formatClaudeExtraUsageDetail, formatClaudeUsageCompact, formatClaudeUsageFetchedAt, formatClaudeUsageOverLimitConfirm, formatClaudeUsageOverLimitWait, formatClaudeUsageReset, formatClaudeUsageResetClock, formatClaudeUsageTooltip, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatIssueToolsDirective, formatIssueToolsReminder, formatLinearDirective, formatLinearReminder, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatPrGateDirective, formatProcessGuideDirective, formatProjectProfilePlaybookLines, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatViewerContextDirective, formatViewerContextReminder, formatWorkspaceInventory, formatWorkspaceProfileSuffix, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getClaudePlanUsage, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubIssue, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, gitBranchPrefixSetting, githubAgentGitEnv, githubHttpsInsteadOfEntries, githubRelationEditFlag, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedAbleTimeOAuth, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, historyMaxCount, historyMaxDays, hottestClaudeWindow, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, invalidateThreadRecord, isAbleTimeConnected, isAbleTimeOAuthCancelled, isAbleTimeRejectedCredential, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorApiKeyConfigured, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhPrBodyTooLongError, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHistoryRetentionStub, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isInjectedOrchMcpName, isInternalAgentStatusText, isIssueSourceConnected, isLinearConnected, isLinearNoneToken, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isSetupLastError, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isStaleLastErrorDuringTurn, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isUsageOnLimit, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueMatchesAssignee, issueSourceLabel, issueTicketFromThread, lastAssistantMessageText, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, linearRelationCreateInput, linearTicketIdFromThread, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssueCommentsSince, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearCommentsSince, listLinearIssues, listLinearIssuesDirect, listLinearIssuesFiltered, listLinearTeamCycles, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, materializeSystemCaBundle, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mcpStatusThinkingFromClaudeInit, mentionsPrGoal, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSetupOutput, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeCredential, normalizeAbleTimeHost, normalizeCodeSelection, normalizeLinearRelationType, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, packagedDetachedJobPath, parseAbleTimeOAuthCallbackUrl, parseClaudeUsagePayload, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGitHubIssueNumber, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parsePrDetailsView, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planHistoryAgePurge, planHistoryRetention, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSetupLog, readSkillBody, readThread, readViewerContext, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAbleTimeOAuthHost, resolveAccountProfile, resolveAccountProfileFromSettings, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCreateFirstPrompt, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitBranchPrefix, resolveGitDirsForLockRecovery, resolveGitHubIssueRepo, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearCycle, resolveLinearLabel, resolveLinearProject, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewOrchestratorOptions, resolveNewThreadOptions, resolveOrchChildFollowUp, resolveOrchestratorDefaults, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSendFollowUp, resolveSidebarGitPrompt, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveUsageOnLimit, resolveVaultKey, resolveViewerProfile, resolveViewerProfileForRepo, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeGitBranchPrefix, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunHistoryCleanup, shouldRunWorktreeCleanup, shouldStampSetupLastError, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slimMessagesForUiList, slimThreadForUiList, slugify, spawnAgentTurn, splitForCompaction, splitTurnInputForSystemPrompt, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startAbleTimeOAuth, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takePendingTurnAttachments, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, ticketSlugForBranch, toAbleTimeIssueInfo, toGitHubIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, trustSystemCertificates, turnCostUsdFromCursorUsage, updateAbleTimeTask, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateGitHubIssue, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateProjectProfileSettings, updateSchedule, updateThread, usageOnLimit, userClaudeMcpConfigPath, userCursorMcpConfigPath, userMcpNamesToDisable, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreeSlugForTicket, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeViewerContext, writeWorktreeFile };
6817
+ export { ABLETIME_MCP_PATH, ABLETIME_MCP_PM_PATH, ABLETIME_OAUTH_CALLBACK_PATH, ABLETIME_OAUTH_CANCELLED, ABLETIME_OAUTH_LOCAL_CALLBACK, ABLETIME_OAUTH_PORT, ABLETIME_OAUTH_REDIRECT, ABLETIME_OAUTH_RESOURCE, ABLETIME_OAUTH_TOKEN_PREFIX, ABLETIME_ORG_KEY_PREFIX, ABLETIME_PAT_PREFIX, ABLETIME_PM_TOOL_NAMES, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeComment, type AbleTimeCredentialKind, type AbleTimeMcpToolName, AbleTimeOAuthCancelledError, type AbleTimeOrientation, type AbleTimePmToolName, type AbleTimeProject, type AbleTimeTask, type AbleTimeTaskRelationInput, type AbleTimeViewer, type AccountProfile, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, 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_ABLETIME_OAUTH_CLIENT_ID, 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, CLI_DIR, 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, CONTEXT_REVIEW_PATH, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeExtraUsage, type ClaudeHarnessSettings, type ClaudePlanUsage, type ClaudeUsageWindow, type ClaudeUsageWindowId, 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, DETACHED_JOBS_DIR, type DefaultsAppSettings, type DefaultsSettingsPatch, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type EnsuredReviewGuidelines, type ExpandResult, FAMOUS_SOCCER_TEAMS, FOLLOW_UP_BEHAVIORS, type FastForwardMainResult, type FollowUpBehavior, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GITHUB_PR_BODY_MAX_CHARS, GITHUB_PR_BODY_SAFE_CHARS, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubIssue, type GitHubIssueComment, type GitHubIssueRelationInput, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HISTORY_DISCARDED_TEXT, HISTORY_MAX_COUNT_DEFAULT, HISTORY_MAX_COUNT_MAX, HISTORY_MAX_COUNT_MIN, HISTORY_MAX_DAYS_DEFAULT, HISTORY_MAX_DAYS_MAX, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HistoryCleanupResult, type HistoryRetentionPlan, type HomeBoardLoaded, type HomeBoardRemoteData, IMPLIED_TICKET_RESOLVE_PROMPT, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueActivityComment, type IssueAssigneeFilter, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LIVE_TURN_SPAWN_GRACE_MS, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearAssigneeFilter, type LinearComment, type LinearCycle, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, type LinearIssueRelationInput, type LinearNamedRef, LinearOAuthCancelledError, type LinearProjectRef, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesOptions, type ListIssuesResult, type ListPrsOptions, 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 OrchestratorDefaultsSettings, 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, PROFILE_NOTES_MAX, PR_DETAILS_JSON_FIELDS, 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 ProjectProfileSettings, 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 ResolvedAccountProfile, type ResolvedReviewGuidelines, type ResolvedThreadDefaults, type ResolvedViewerProfile, type ReviewGuidelinesSource, type RunMode, type RunScript, SEED_FULL_TOOL_MESSAGES, SEED_MAX_CHARS, 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, STDERR_EVENT_MAX_CHARS, STDOUT_EVENT_MAX_CHARS, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SessionSeedOptions, type SetupLogSnapshot, type SetupRunResult, type SidebarGitAction, 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, THINKING_PART_MAX_CHARS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, USAGE_ON_LIMIT_VALUES, type UpdateScheduledTaskPatch, type UsageOnLimit, type UsageScope, type ViewerContextWriteResult, type ViewerProfile, WORKTREE_ABLETIME_MCP_TOOLS, WORKTREE_GITHUB_MCP_TOOLS, WORKTREE_LINEAR_MCP_TOOLS, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, ableTimeCredentialKind, ableTimeDependencyTarget, ableTimeOAuthAuthorizeUrl, ableTimeOAuthBouncePage, ableTimeOAuthClientId, ableTimeOAuthLocalBounceUrl, ableTimeOAuthRedirectUri, ableTimeOAuthResource, ableTimeUsesRest, abletimeMcpRequest, abletimeMcpUrl, abletimeToolUsesPm, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, alignQueueAttachments, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, appendQueuedItem, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applySystemCaEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertAbleTimeCredential, assertAbleTimeMcpCredential, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupHistoryEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildLinearIssueFilter, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, clampGithubPrBody, clampHistoryMaxCount, clampHistoryMaxDays, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUsageOverLimitWindows, claudeUserSettingsPath, cleanupArchivedHistory, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, clipAgentEventForPaint, clipThinkingForStore, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentAbleTimeTask, commentGitHubIssue, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmClaudeUsageOverLimitEnabled, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, connectedPrSelectors, consumeComposerAttachments, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimePkce, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGitHubIssue, 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, emptySetupLog, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeAccessToken, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewGuidelinesFile, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, examplePrefixedBranch, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findLiveThreadForCreateSource, findOrphanWorktrees, findProjectProfileKey, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, foldLegacyRolesIntoNotes, followUpBehavior, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAccountProfilePlaybookLine, formatArtifactDirective, formatBrightsyFetchError, formatClaudeExtraUsageDetail, formatClaudeUsageCompact, formatClaudeUsageFetchedAt, formatClaudeUsageOverLimitConfirm, formatClaudeUsageOverLimitWait, formatClaudeUsageReset, formatClaudeUsageResetClock, formatClaudeUsageTooltip, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatIssueToolsDirective, formatIssueToolsReminder, formatLinearDirective, formatLinearReminder, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatPrGateDirective, formatProcessGuideDirective, formatProjectProfilePlaybookLines, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatViewerContextDirective, formatViewerContextReminder, formatWorkspaceInventory, formatWorkspaceProfileSuffix, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getClaudePlanUsage, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubIssue, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, gitBranchPrefixSetting, githubAgentGitEnv, githubHttpsInsteadOfEntries, githubRelationEditFlag, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedAbleTimeOAuth, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, historyMaxCount, historyMaxDays, hottestClaudeWindow, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, invalidateThreadRecord, isAbleTimeConnected, isAbleTimeOAuthCancelled, isAbleTimeRejectedCredential, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorApiKeyConfigured, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhPrBodyTooLongError, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHistoryRetentionStub, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isInjectedOrchMcpName, isInternalAgentStatusText, isIssueSourceConnected, isLinearConnected, isLinearNoneToken, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isSetupLastError, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isStaleLastErrorDuringTurn, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isUsageOnLimit, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueMatchesAssignee, issueSourceLabel, issueTicketFromThread, lastAssistantMessageText, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, linearRelationCreateInput, linearTicketIdFromThread, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssueCommentsSince, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearCommentsSince, listLinearIssues, listLinearIssuesDirect, listLinearIssuesFiltered, listLinearTeamCycles, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, materializeSystemCaBundle, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mcpStatusThinkingFromClaudeInit, mentionsPrGoal, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSetupOutput, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, moveQueuedItemToFront, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeCredential, normalizeAbleTimeHost, normalizeCodeSelection, normalizeLinearRelationType, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, packagedDetachedJobPath, parseAbleTimeOAuthCallbackUrl, parseClaudeUsagePayload, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGitHubIssueNumber, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parsePrDetailsView, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planHistoryAgePurge, planHistoryRetention, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, prependQueuedItem, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSetupLog, readSkillBody, readThread, readViewerContext, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeQueuedItem, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAbleTimeOAuthHost, resolveAccountProfile, resolveAccountProfileFromSettings, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCreateFirstPrompt, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitBranchPrefix, resolveGitDirsForLockRecovery, resolveGitHubIssueRepo, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearCycle, resolveLinearLabel, resolveLinearProject, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewOrchestratorOptions, resolveNewThreadOptions, resolveOrchChildFollowUp, resolveOrchestratorDefaults, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSendFollowUp, resolveSidebarGitPrompt, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveUsageOnLimit, resolveVaultKey, resolveViewerProfile, resolveViewerProfileForRepo, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeGitBranchPrefix, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shiftQueuedItem, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunHistoryCleanup, shouldRunWorktreeCleanup, shouldStampSetupLastError, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slimMessagesForUiList, slimThreadForUiList, slugify, spawnAgentTurn, splitForCompaction, splitTurnInputForSystemPrompt, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startAbleTimeOAuth, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takePendingTurnAttachments, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, ticketSlugForBranch, toAbleTimeIssueInfo, toGitHubIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, trustSystemCertificates, turnCostUsdFromCursorUsage, updateAbleTimeTask, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateGitHubIssue, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateProjectProfileSettings, updateSchedule, updateThread, usageOnLimit, userClaudeMcpConfigPath, userCursorMcpConfigPath, userMcpNamesToDisable, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreeSlugForTicket, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeViewerContext, writeWorktreeFile };