@sideboard-ai/core 0.1.200 → 0.1.201

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-N7WXOGN6.js → agents-HB6N3XJL.js} +4 -4
  2. package/dist/{agents-ZRIFDXCB.js → agents-KFAGRM46.js} +4 -4
  3. package/dist/{chunk-5XSDGJMP.js → chunk-3TOGAUQT.js} +3 -3
  4. package/dist/{chunk-EWDE54OI.js → chunk-54RSAMBH.js} +2 -2
  5. package/dist/{chunk-O2DRYD2B.js → chunk-AHPIU2VP.js} +66 -34
  6. package/dist/{chunk-KJBYIIJU.js → chunk-DFUES6QU.js} +5 -0
  7. package/dist/{chunk-62IMZIIZ.js → chunk-EXZMNINM.js} +13 -13
  8. package/dist/{chunk-CJFBSQIB.js → chunk-INNLWYXW.js} +5 -0
  9. package/dist/{chunk-PDMNYCPL.js → chunk-LJHC62LZ.js} +2 -2
  10. package/dist/{chunk-NXM45OS3.js → chunk-RPX6VDW7.js} +1 -1
  11. package/dist/{chunk-PKUPOVKP.js → chunk-RV3ZKE4Y.js} +25 -25
  12. package/dist/{chunk-OSPE25A7.js → chunk-STPZQR5B.js} +1 -1
  13. package/dist/{coordinator-prompt-AL62H73U.js → coordinator-prompt-BH4EHFOO.js} +3 -3
  14. package/dist/{coordinator-prompt-2RWBH6W7.js → coordinator-prompt-TY5FHAXC.js} +3 -3
  15. package/dist/{global-workspace-Y5KKGXN7.js → global-workspace-5AZEEQRU.js} +3 -3
  16. package/dist/{global-workspace-VAO3BQP5.js → global-workspace-NLLAPQJI.js} +3 -3
  17. package/dist/index.cjs +13368 -13255
  18. package/dist/index.d.cts +13 -1
  19. package/dist/index.d.ts +13 -1
  20. package/dist/index.js +79 -5
  21. package/dist/mcp/run-stdio.cjs +5 -0
  22. package/dist/mcp/run-stdio.js +5 -5
  23. package/dist/{orchestrator-D2EJ4Z7Z.js → orchestrator-47JZUHRC.js} +5 -5
  24. package/dist/{orchestrator-DPHIMK44.js → orchestrator-SWWQQFFD.js} +5 -5
  25. package/dist/{thread-store-M4B52FUS.js → thread-store-2SS5V5CN.js} +3 -1
  26. package/dist/{thread-store-CO77HV2K.js → thread-store-ZGVWPVHP.js} +3 -1
  27. package/dist/{workspaces-HEKFQP4B.js → workspaces-PEWYWVHZ.js} +3 -3
  28. package/dist/{workspaces-DZZQM745.js → workspaces-RP76JH3J.js} +3 -3
  29. package/dist/{worktree-IEUSQ63V.js → worktree-72TZWUSH.js} +2 -2
  30. package/dist/{worktree-ENRMJUI3.js → worktree-ZQEUKSNE.js} +2 -2
  31. package/package.json +1 -1
@@ -50,14 +50,14 @@ import {
50
50
  resolveQuotaFallbackAgent,
51
51
  turnCostUsdFromCursorUsage,
52
52
  whichOnPath
53
- } from "./chunk-5XSDGJMP.js";
54
- import "./chunk-EWDE54OI.js";
53
+ } from "./chunk-3TOGAUQT.js";
54
+ import "./chunk-54RSAMBH.js";
55
55
  import "./chunk-3OHR73VK.js";
56
56
  import "./chunk-Y4MIXGPA.js";
57
57
  import "./chunk-VKQGAWHY.js";
58
- import "./chunk-NXM45OS3.js";
58
+ import "./chunk-RPX6VDW7.js";
59
59
  import "./chunk-D6JWYJ4P.js";
60
- import "./chunk-CJFBSQIB.js";
60
+ import "./chunk-INNLWYXW.js";
61
61
  import "./chunk-SYFVUF2C.js";
62
62
  import {
63
63
  conductorBundledBinDir,
@@ -44,9 +44,9 @@ import {
44
44
  resolveLoginCommand,
45
45
  resolveQuotaFallbackAgent,
46
46
  whichOnPath
47
- } from "./chunk-PKUPOVKP.js";
48
- import "./chunk-PDMNYCPL.js";
49
- import "./chunk-OSPE25A7.js";
47
+ } from "./chunk-RV3ZKE4Y.js";
48
+ import "./chunk-LJHC62LZ.js";
49
+ import "./chunk-STPZQR5B.js";
50
50
  import "./chunk-6K64FJDD.js";
51
51
  import "./chunk-QQKDGPUI.js";
52
52
  import "./chunk-SALM35KD.js";
@@ -67,7 +67,7 @@ import {
67
67
  import "./chunk-4TR3HZFT.js";
68
68
  import "./chunk-WDRMZKVB.js";
69
69
  import "./chunk-JT7R45JB.js";
70
- import "./chunk-KJBYIIJU.js";
70
+ import "./chunk-DFUES6QU.js";
71
71
  import "./chunk-77WWLBCI.js";
72
72
  import "./chunk-WFUDY6PC.js";
73
73
  import {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  isOrchestratorThread
5
- } from "./chunk-EWDE54OI.js";
5
+ } from "./chunk-54RSAMBH.js";
6
6
  import {
7
7
  applyConnectedTeamToCli,
8
8
  brightsyMcpServerName,
@@ -20,7 +20,7 @@ import {
20
20
  mergeAgentGitAuthEnv,
21
21
  resolveAgentGitAuthEnv,
22
22
  resolveCodexGitWritableRoots
23
- } from "./chunk-NXM45OS3.js";
23
+ } from "./chunk-RPX6VDW7.js";
24
24
  import {
25
25
  enrichPathWithNpmGlobalBin,
26
26
  isConductorBundledCli,
@@ -2423,7 +2423,7 @@ var claudeAdapter = {
2423
2423
  );
2424
2424
  }
2425
2425
  const mode = permissionMode(thread);
2426
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-VAO3BQP5.js");
2426
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-NLLAPQJI.js");
2427
2427
  const isOrchestrator = isOrchestratorThread2(thread);
2428
2428
  const injectedServers = await buildInjectedMcpServers({
2429
2429
  includeSideboard: true,
@@ -7,7 +7,7 @@ import {
7
7
  resolveRepoRoot,
8
8
  takenSlugsFromThread,
9
9
  teamSlugFromName
10
- } from "./chunk-NXM45OS3.js";
10
+ } from "./chunk-RPX6VDW7.js";
11
11
  import {
12
12
  ATTACHMENTS_DIR,
13
13
  attachmentsGitignoreBody
@@ -17,7 +17,7 @@ import {
17
17
  listThreads,
18
18
  updateThread,
19
19
  writeThread
20
- } from "./chunk-CJFBSQIB.js";
20
+ } from "./chunk-INNLWYXW.js";
21
21
  import {
22
22
  assertOrchestratorCapableAgent,
23
23
  formatAccountProfilePlaybookLine,
@@ -16,6 +16,7 @@ import {
16
16
  isInternalAgentStatusText,
17
17
  isPollWrapperToolName,
18
18
  isSessionQuotaLimit,
19
+ lastAssistantMessageText,
19
20
  liveActivitySummary,
20
21
  normalizeParseResult,
21
22
  parseBrightsyCliLine,
@@ -25,7 +26,7 @@ import {
25
26
  stripBrightsyNdjsonNoise,
26
27
  sumUsageList,
27
28
  toolDescription
28
- } from "./chunk-PKUPOVKP.js";
29
+ } from "./chunk-RV3ZKE4Y.js";
29
30
  import {
30
31
  SLACK_REPLY_FORMATTING,
31
32
  addWorkspace,
@@ -48,7 +49,7 @@ import {
48
49
  stageAbsolutePathsAsAttachments,
49
50
  stageBuffersAsAttachments,
50
51
  syncWorkspacesFromThreads
51
- } from "./chunk-PDMNYCPL.js";
52
+ } from "./chunk-LJHC62LZ.js";
52
53
  import {
53
54
  addPrStackLayer,
54
55
  allocateTeamName,
@@ -98,7 +99,7 @@ import {
98
99
  worktreeDisplayLabelForGroup,
99
100
  worktreeNameFromPath,
100
101
  worktreeSlugForTicket
101
- } from "./chunk-OSPE25A7.js";
102
+ } from "./chunk-STPZQR5B.js";
102
103
  import {
103
104
  ATTACHMENTS_DIR,
104
105
  DETACHED_JOBS_DIR,
@@ -179,7 +180,7 @@ import {
179
180
  updateThread,
180
181
  withThreadLock,
181
182
  writeThread
182
- } from "./chunk-KJBYIIJU.js";
183
+ } from "./chunk-DFUES6QU.js";
183
184
  import {
184
185
  appDataDir,
185
186
  findConventionSetup,
@@ -473,7 +474,7 @@ async function continueSourceThread(threadId, prompt) {
473
474
  await continueOnReply(threadId, prompt);
474
475
  return;
475
476
  }
476
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-DPHIMK44.js");
477
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-SWWQQFFD.js");
477
478
  await getOrchestrator2().send(threadId, prompt);
478
479
  } catch {
479
480
  }
@@ -807,9 +808,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
807
808
  `Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
808
809
  );
809
810
  }
810
- const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-Y5KKGXN7.js");
811
+ const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-5AZEEQRU.js");
811
812
  if (isGlobalThread2(thread)) {
812
- const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-2RWBH6W7.js");
813
+ const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-TY5FHAXC.js");
813
814
  ensureGlobalCoordinatorCwd2(
814
815
  isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
815
816
  );
@@ -3543,6 +3544,35 @@ function visiblePage(items, shown) {
3543
3544
  hidden: Math.max(0, items.length - n)
3544
3545
  };
3545
3546
  }
3547
+ function markdownPreviewSource(text, max = 480) {
3548
+ const trimmed = text.trim();
3549
+ if (trimmed.length <= max) return trimmed;
3550
+ const slice = trimmed.slice(0, max);
3551
+ const nl = slice.lastIndexOf("\n");
3552
+ if (nl > 40) return slice.slice(0, nl);
3553
+ const sp = slice.lastIndexOf(" ");
3554
+ return sp > 40 ? slice.slice(0, sp) : slice;
3555
+ }
3556
+ function latestVisibleMessageText(messages, liveParts) {
3557
+ const live = lastAssistantMessageText(liveParts);
3558
+ if (live) return live;
3559
+ if (!messages?.length) return "";
3560
+ for (let i = messages.length - 1; i >= 0; i--) {
3561
+ const m = messages[i];
3562
+ if (!m) continue;
3563
+ if (m.role === "agent") {
3564
+ const fromParts = lastAssistantMessageText(m.parts);
3565
+ const text = (fromParts || m.text || "").trim();
3566
+ if (text && !isInternalAgentStatusText(text)) return text;
3567
+ continue;
3568
+ }
3569
+ if (m.role === "user") {
3570
+ const text = m.text?.trim();
3571
+ if (text) return text;
3572
+ }
3573
+ }
3574
+ return "";
3575
+ }
3546
3576
  function emptyColumns() {
3547
3577
  return {
3548
3578
  backlog: [],
@@ -3888,7 +3918,7 @@ async function createThread(input, _onSetupLine) {
3888
3918
  return readThread(thread.id) ?? thread;
3889
3919
  }
3890
3920
  async function listLinearIssues(agent, repoPath) {
3891
- const { getAdapter: getAdapter2 } = await import("./agents-ZRIFDXCB.js");
3921
+ const { getAdapter: getAdapter2 } = await import("./agents-KFAGRM46.js");
3892
3922
  await requireAgent(agent, { requireLinear: true });
3893
3923
  const adapter = getAdapter2(agent);
3894
3924
  if (!adapter.listLinearIssues) {
@@ -4327,7 +4357,7 @@ async function adoptThread(input) {
4327
4357
  messages: input.messages ?? []
4328
4358
  });
4329
4359
  writeThread(thread);
4330
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-DZZQM745.js");
4360
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-RP76JH3J.js");
4331
4361
  await ensureWorkspace2(repoPath);
4332
4362
  const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-X54WSOXM.js");
4333
4363
  await ensureWorktreeSideboardIgnored2(input.worktreePath);
@@ -6911,7 +6941,7 @@ function formatScheduledPrompt(name, prompt) {
6911
6941
  ${prompt}`;
6912
6942
  }
6913
6943
  async function defaultDeps() {
6914
- const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-DPHIMK44.js");
6944
+ const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-SWWQQFFD.js");
6915
6945
  const orch = getOrchestrator2();
6916
6946
  return {
6917
6947
  findThread: (id) => findThreadByRef(id),
@@ -9066,7 +9096,7 @@ var Orchestrator = class {
9066
9096
  this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
9067
9097
  if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
9068
9098
  try {
9069
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-DZZQM745.js");
9099
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-RP76JH3J.js");
9070
9100
  await ensureWorkspace2(thread.repoPath);
9071
9101
  } catch {
9072
9102
  }
@@ -9120,7 +9150,7 @@ var Orchestrator = class {
9120
9150
  `Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
9121
9151
  );
9122
9152
  }
9123
- const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-IEUSQ63V.js");
9153
+ const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-72TZWUSH.js");
9124
9154
  const slug = thread.worktreePath.split("/").pop();
9125
9155
  const dest = thread.worktreePath;
9126
9156
  await withRepoGitLock(thread.repoPath, async () => {
@@ -9230,7 +9260,7 @@ async function startOrchestration(opts) {
9230
9260
  sourceRef: "default",
9231
9261
  ...createOpts
9232
9262
  }).catch(async () => {
9233
- const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-IEUSQ63V.js");
9263
+ const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-72TZWUSH.js");
9234
9264
  const repo = await resolveRepoRoot2(repoPath);
9235
9265
  const def = await resolveDefaultBranch2(repo);
9236
9266
  return orch.createThread({
@@ -9240,7 +9270,7 @@ async function startOrchestration(opts) {
9240
9270
  repoPath: repo
9241
9271
  });
9242
9272
  });
9243
- const { updateThread: upd } = await import("./thread-store-M4B52FUS.js");
9273
+ const { updateThread: upd } = await import("./thread-store-2SS5V5CN.js");
9244
9274
  const updated = upd(thread.id, {
9245
9275
  sourceType: "orchestration",
9246
9276
  sourceRef: goal
@@ -9252,6 +9282,28 @@ async function startOrchestration(opts) {
9252
9282
  }
9253
9283
 
9254
9284
  export {
9285
+ isHomeBoardThread,
9286
+ BOARD_COLUMN_DEFS,
9287
+ HOME_BOARD_CACHE_TTL_MS,
9288
+ DEFAULT_WORKTREE_SORT,
9289
+ groupHomeBoardWorktrees,
9290
+ classifyWorktreeColumn,
9291
+ worktreeBoardStatus,
9292
+ dedupeBoardIssues,
9293
+ issueNeedsWorkspacePick,
9294
+ isAccountWideIssueSource,
9295
+ findLiveThreadForCreate,
9296
+ findLiveThreadForCreateSource,
9297
+ boardPinIdentity,
9298
+ findBoardPin,
9299
+ syncBoardPins,
9300
+ dedupeBoardPrs,
9301
+ markdownPreviewSource,
9302
+ latestVisibleMessageText,
9303
+ findBoardIssue,
9304
+ findBoardPr,
9305
+ assembleHomeBoard,
9306
+ HOME_BOARD_AGENT_HINT,
9255
9307
  emptySetupLog,
9256
9308
  mergeSetupOutput,
9257
9309
  readSetupLog,
@@ -9387,26 +9439,6 @@ export {
9387
9439
  stopDetachedJob,
9388
9440
  detectAgents,
9389
9441
  requireAgent,
9390
- isHomeBoardThread,
9391
- BOARD_COLUMN_DEFS,
9392
- HOME_BOARD_CACHE_TTL_MS,
9393
- DEFAULT_WORKTREE_SORT,
9394
- groupHomeBoardWorktrees,
9395
- classifyWorktreeColumn,
9396
- worktreeBoardStatus,
9397
- dedupeBoardIssues,
9398
- issueNeedsWorkspacePick,
9399
- isAccountWideIssueSource,
9400
- findLiveThreadForCreate,
9401
- findLiveThreadForCreateSource,
9402
- boardPinIdentity,
9403
- findBoardPin,
9404
- syncBoardPins,
9405
- dedupeBoardPrs,
9406
- findBoardIssue,
9407
- findBoardPr,
9408
- assembleHomeBoard,
9409
- HOME_BOARD_AGENT_HINT,
9410
9442
  createThread,
9411
9443
  listLinearIssues,
9412
9444
  IMPLIED_TICKET_RESOLVE_PROMPT,
@@ -137,6 +137,10 @@ function forgetThread(id) {
137
137
  function invalidateThreadListCache() {
138
138
  listCache = null;
139
139
  }
140
+ function invalidateThreadRecord(id) {
141
+ if (!id) return;
142
+ forgetThread(id);
143
+ }
140
144
  function readThread(id) {
141
145
  const path = threadFilePath(id);
142
146
  const mtimeMs = fileMtimeMs(path);
@@ -229,6 +233,7 @@ export {
229
233
  createEmptyThread,
230
234
  withThreadLock,
231
235
  invalidateThreadListCache,
236
+ invalidateThreadRecord,
232
237
  readThread,
233
238
  writeThread,
234
239
  isThreadRecordFile,
@@ -38,7 +38,7 @@ import {
38
38
  summarizeTurnStderr,
39
39
  toolDescription,
40
40
  turnFailChatText
41
- } from "./chunk-5XSDGJMP.js";
41
+ } from "./chunk-3TOGAUQT.js";
42
42
  import {
43
43
  SLACK_REPLY_FORMATTING,
44
44
  addWorkspace,
@@ -61,7 +61,7 @@ import {
61
61
  stageAbsolutePathsAsAttachments,
62
62
  stageBuffersAsAttachments,
63
63
  syncWorkspacesFromThreads
64
- } from "./chunk-EWDE54OI.js";
64
+ } from "./chunk-54RSAMBH.js";
65
65
  import {
66
66
  extractPresentedPlan,
67
67
  readPlanFile,
@@ -116,7 +116,7 @@ import {
116
116
  worktreeDisplayLabelForGroup,
117
117
  worktreeNameFromPath,
118
118
  worktreeSlugForTicket
119
- } from "./chunk-NXM45OS3.js";
119
+ } from "./chunk-RPX6VDW7.js";
120
120
  import {
121
121
  ATTACHMENTS_DIR,
122
122
  DETACHED_JOBS_DIR,
@@ -134,7 +134,7 @@ import {
134
134
  updateThread,
135
135
  withThreadLock,
136
136
  writeThread
137
- } from "./chunk-CJFBSQIB.js";
137
+ } from "./chunk-INNLWYXW.js";
138
138
  import {
139
139
  ensureWorktreeSideboardIgnored
140
140
  } from "./chunk-SYFVUF2C.js";
@@ -408,7 +408,7 @@ async function continueSourceThread(threadId, prompt) {
408
408
  await continueOnReply(threadId, prompt);
409
409
  return;
410
410
  }
411
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-D2EJ4Z7Z.js");
411
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-47JZUHRC.js");
412
412
  await getOrchestrator2().send(threadId, prompt);
413
413
  } catch {
414
414
  }
@@ -801,9 +801,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
801
801
  `Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
802
802
  );
803
803
  }
804
- const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-VAO3BQP5.js");
804
+ const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-NLLAPQJI.js");
805
805
  if (isGlobalThread2(thread)) {
806
- const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-AL62H73U.js");
806
+ const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-BH4EHFOO.js");
807
807
  ensureGlobalCoordinatorCwd2(
808
808
  isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
809
809
  );
@@ -4186,7 +4186,7 @@ async function adoptThread(input) {
4186
4186
  messages: input.messages ?? []
4187
4187
  });
4188
4188
  writeThread(thread);
4189
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-HEKFQP4B.js");
4189
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-PEWYWVHZ.js");
4190
4190
  await ensureWorkspace2(repoPath);
4191
4191
  const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-N5X5I422.js");
4192
4192
  await ensureWorktreeSideboardIgnored2(input.worktreePath);
@@ -6564,7 +6564,7 @@ function formatScheduledPrompt(name, prompt) {
6564
6564
  ${prompt}`;
6565
6565
  }
6566
6566
  async function defaultDeps() {
6567
- const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-D2EJ4Z7Z.js");
6567
+ const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-47JZUHRC.js");
6568
6568
  const orch = getOrchestrator2();
6569
6569
  return {
6570
6570
  findThread: (id) => findThreadByRef(id),
@@ -8719,7 +8719,7 @@ var Orchestrator = class {
8719
8719
  this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
8720
8720
  if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
8721
8721
  try {
8722
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-HEKFQP4B.js");
8722
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-PEWYWVHZ.js");
8723
8723
  await ensureWorkspace2(thread.repoPath);
8724
8724
  } catch {
8725
8725
  }
@@ -8773,7 +8773,7 @@ var Orchestrator = class {
8773
8773
  `Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
8774
8774
  );
8775
8775
  }
8776
- const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-ENRMJUI3.js");
8776
+ const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-ZQEUKSNE.js");
8777
8777
  const slug = thread.worktreePath.split("/").pop();
8778
8778
  const dest = thread.worktreePath;
8779
8779
  await withRepoGitLock(thread.repoPath, async () => {
@@ -8883,7 +8883,7 @@ async function startOrchestration(opts) {
8883
8883
  sourceRef: "default",
8884
8884
  ...createOpts
8885
8885
  }).catch(async () => {
8886
- const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-ENRMJUI3.js");
8886
+ const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-ZQEUKSNE.js");
8887
8887
  const repo = await resolveRepoRoot2(repoPath);
8888
8888
  const def = await resolveDefaultBranch2(repo);
8889
8889
  return orch.createThread({
@@ -8893,7 +8893,7 @@ async function startOrchestration(opts) {
8893
8893
  repoPath: repo
8894
8894
  });
8895
8895
  });
8896
- const { updateThread: upd } = await import("./thread-store-CO77HV2K.js");
8896
+ const { updateThread: upd } = await import("./thread-store-ZGVWPVHP.js");
8897
8897
  const updated = upd(thread.id, {
8898
8898
  sourceType: "orchestration",
8899
8899
  sourceRef: goal
@@ -139,6 +139,10 @@ function forgetThread(id) {
139
139
  function invalidateThreadListCache() {
140
140
  listCache = null;
141
141
  }
142
+ function invalidateThreadRecord(id) {
143
+ if (!id) return;
144
+ forgetThread(id);
145
+ }
142
146
  function readThread(id) {
143
147
  const path = threadFilePath(id);
144
148
  const mtimeMs = fileMtimeMs(path);
@@ -231,6 +235,7 @@ export {
231
235
  createEmptyThread,
232
236
  withThreadLock,
233
237
  invalidateThreadListCache,
238
+ invalidateThreadRecord,
234
239
  readThread,
235
240
  writeThread,
236
241
  isThreadRecordFile,
@@ -5,7 +5,7 @@ import {
5
5
  resolveRepoRoot,
6
6
  takenSlugsFromThread,
7
7
  teamSlugFromName
8
- } from "./chunk-OSPE25A7.js";
8
+ } from "./chunk-STPZQR5B.js";
9
9
  import {
10
10
  ATTACHMENTS_DIR,
11
11
  attachmentsGitignoreBody
@@ -28,7 +28,7 @@ import {
28
28
  listThreads,
29
29
  updateThread,
30
30
  writeThread
31
- } from "./chunk-KJBYIIJU.js";
31
+ } from "./chunk-DFUES6QU.js";
32
32
  import {
33
33
  appDataDir,
34
34
  globalAgentCwd,
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-D6JWYJ4P.js";
6
6
  import {
7
7
  listThreads
8
- } from "./chunk-CJFBSQIB.js";
8
+ } from "./chunk-INNLWYXW.js";
9
9
  import {
10
10
  ensureWorktreeSideboardIgnored
11
11
  } from "./chunk-SYFVUF2C.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  isOrchestratorThread
3
- } from "./chunk-PDMNYCPL.js";
3
+ } from "./chunk-LJHC62LZ.js";
4
4
  import {
5
5
  codexUnattendedGitConfigArgs,
6
6
  mergeAgentGitAuthEnv,
7
7
  resolveAgentGitAuthEnv,
8
8
  resolveCodexGitWritableRoots
9
- } from "./chunk-OSPE25A7.js";
9
+ } from "./chunk-STPZQR5B.js";
10
10
  import {
11
11
  applyConnectedTeamToCli,
12
12
  brightsyMcpServerName,
@@ -1937,7 +1937,7 @@ var claudeAdapter = {
1937
1937
  );
1938
1938
  }
1939
1939
  const mode = permissionMode(thread);
1940
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-Y5KKGXN7.js");
1940
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-5AZEEQRU.js");
1941
1941
  const isOrchestrator = isOrchestratorThread2(thread);
1942
1942
  const injectedServers = await buildInjectedMcpServers({
1943
1943
  includeSideboard: true,
@@ -4025,6 +4025,28 @@ function allAdapters() {
4025
4025
  }
4026
4026
 
4027
4027
  export {
4028
+ visibleToolRowDetail,
4029
+ toolDetail,
4030
+ toolDescription,
4031
+ isSubagentToolName,
4032
+ isInternalAgentStatusText,
4033
+ isPollWrapperToolName,
4034
+ isShellToolName,
4035
+ toolActivityLine,
4036
+ liveActivitySummary,
4037
+ messagePartParentId,
4038
+ withEventParentId,
4039
+ withEventsParentId,
4040
+ toolFilePath,
4041
+ THINKING_PART_MAX_CHARS,
4042
+ clipThinkingForStore,
4043
+ applyAgentEvent,
4044
+ partsToAssistantText,
4045
+ lastAssistantMessageText,
4046
+ stripBrightsyNdjsonNoise,
4047
+ isBrightsyNdjsonLine,
4048
+ finalizeParts,
4049
+ normalizeParseResult,
4028
4050
  fromInclusiveInputUsage,
4029
4051
  requestOccupancy,
4030
4052
  mergeUsage,
@@ -4051,28 +4073,6 @@ export {
4051
4073
  sanitizeMcpServerName,
4052
4074
  mcpAllowTools,
4053
4075
  mcpAuthWarnings,
4054
- visibleToolRowDetail,
4055
- toolDetail,
4056
- toolDescription,
4057
- isSubagentToolName,
4058
- isInternalAgentStatusText,
4059
- isPollWrapperToolName,
4060
- isShellToolName,
4061
- toolActivityLine,
4062
- liveActivitySummary,
4063
- messagePartParentId,
4064
- withEventParentId,
4065
- withEventsParentId,
4066
- toolFilePath,
4067
- THINKING_PART_MAX_CHARS,
4068
- clipThinkingForStore,
4069
- applyAgentEvent,
4070
- partsToAssistantText,
4071
- lastAssistantMessageText,
4072
- stripBrightsyNdjsonNoise,
4073
- isBrightsyNdjsonLine,
4074
- finalizeParts,
4075
- normalizeParseResult,
4076
4076
  SIDEBOARD_MCP_PROFILE_ENV,
4077
4077
  WORKTREE_MCP_TOOLS,
4078
4078
  WORKTREE_GITHUB_MCP_TOOLS,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-CXFW5LIH.js";
11
11
  import {
12
12
  listThreads
13
- } from "./chunk-KJBYIIJU.js";
13
+ } from "./chunk-DFUES6QU.js";
14
14
  import {
15
15
  worktreesRoot
16
16
  } from "./chunk-WFUDY6PC.js";
@@ -9,10 +9,10 @@ import {
9
9
  enrichWorkspacesWithGithub,
10
10
  ensureGlobalCoordinatorCwd,
11
11
  formatWorkspaceInventory
12
- } from "./chunk-EWDE54OI.js";
13
- import "./chunk-NXM45OS3.js";
12
+ } from "./chunk-54RSAMBH.js";
13
+ import "./chunk-RPX6VDW7.js";
14
14
  import "./chunk-D6JWYJ4P.js";
15
- import "./chunk-CJFBSQIB.js";
15
+ import "./chunk-INNLWYXW.js";
16
16
  import "./chunk-SYFVUF2C.js";
17
17
  import "./chunk-FNQNJOHY.js";
18
18
  import "./chunk-ISV5IFH3.js";
@@ -7,15 +7,15 @@ import {
7
7
  enrichWorkspacesWithGithub,
8
8
  ensureGlobalCoordinatorCwd,
9
9
  formatWorkspaceInventory
10
- } from "./chunk-PDMNYCPL.js";
11
- import "./chunk-OSPE25A7.js";
10
+ } from "./chunk-LJHC62LZ.js";
11
+ import "./chunk-STPZQR5B.js";
12
12
  import "./chunk-6K64FJDD.js";
13
13
  import "./chunk-QQKDGPUI.js";
14
14
  import "./chunk-CXFW5LIH.js";
15
15
  import "./chunk-4TR3HZFT.js";
16
16
  import "./chunk-WDRMZKVB.js";
17
17
  import "./chunk-JT7R45JB.js";
18
- import "./chunk-KJBYIIJU.js";
18
+ import "./chunk-DFUES6QU.js";
19
19
  import "./chunk-77WWLBCI.js";
20
20
  import "./chunk-WFUDY6PC.js";
21
21
  import "./chunk-UFHNSFAS.js";
@@ -15,15 +15,15 @@ import {
15
15
  orchestratorSessionPoisonedByBuiltins,
16
16
  slackCoordinatorSourceRef,
17
17
  takenTeamSlugsForOrchestration
18
- } from "./chunk-PDMNYCPL.js";
19
- import "./chunk-OSPE25A7.js";
18
+ } from "./chunk-LJHC62LZ.js";
19
+ import "./chunk-STPZQR5B.js";
20
20
  import "./chunk-6K64FJDD.js";
21
21
  import "./chunk-QQKDGPUI.js";
22
22
  import "./chunk-CXFW5LIH.js";
23
23
  import "./chunk-4TR3HZFT.js";
24
24
  import "./chunk-WDRMZKVB.js";
25
25
  import "./chunk-JT7R45JB.js";
26
- import "./chunk-KJBYIIJU.js";
26
+ import "./chunk-DFUES6QU.js";
27
27
  import "./chunk-77WWLBCI.js";
28
28
  import {
29
29
  globalAgentCwd
@@ -17,10 +17,10 @@ import {
17
17
  orchestratorSessionPoisonedByBuiltins,
18
18
  slackCoordinatorSourceRef,
19
19
  takenTeamSlugsForOrchestration
20
- } from "./chunk-EWDE54OI.js";
21
- import "./chunk-NXM45OS3.js";
20
+ } from "./chunk-54RSAMBH.js";
21
+ import "./chunk-RPX6VDW7.js";
22
22
  import "./chunk-D6JWYJ4P.js";
23
- import "./chunk-CJFBSQIB.js";
23
+ import "./chunk-INNLWYXW.js";
24
24
  import "./chunk-SYFVUF2C.js";
25
25
  import "./chunk-FNQNJOHY.js";
26
26
  import "./chunk-ISV5IFH3.js";