@sideboard-ai/core 0.1.133 → 0.1.135

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 (35) hide show
  1. package/dist/{agents-NHS6P25H.js → agents-O3AJMI2Y.js} +5 -5
  2. package/dist/{agents-SOU5GPWI.js → agents-RTQFF7PY.js} +5 -5
  3. package/dist/{chunk-YEIH7P7D.js → chunk-2ESCEK2Q.js} +3 -3
  4. package/dist/{chunk-IM36S4HZ.js → chunk-57GIFU3X.js} +1 -1
  5. package/dist/{chunk-WEU5M7BW.js → chunk-HQQNLDVC.js} +1 -1
  6. package/dist/{chunk-G6X6UFJO.js → chunk-J5IBSVB3.js} +42 -12
  7. package/dist/{chunk-6CRKPD4C.js → chunk-K7EX47QG.js} +1 -1
  8. package/dist/{chunk-AK7SWE2U.js → chunk-KBBXNS2V.js} +3 -3
  9. package/dist/{chunk-3UVVWNHF.js → chunk-LOKXPQ4U.js} +2 -2
  10. package/dist/{chunk-4YAVXWFR.js → chunk-N62K3KXX.js} +3 -3
  11. package/dist/{chunk-HLJUNJBF.js → chunk-PM3C2J6K.js} +42 -12
  12. package/dist/{chunk-Q6XQXCOM.js → chunk-QAV3HGVS.js} +1 -1
  13. package/dist/{chunk-Y645NFYN.js → chunk-RDULVW3E.js} +2 -2
  14. package/dist/{chunk-TG7YU2KG.js → chunk-XIKEUCNC.js} +16 -16
  15. package/dist/{chunk-LTP7GHIF.js → chunk-XUEI4GCF.js} +3 -3
  16. package/dist/{chunk-VSON7EJ6.js → chunk-Z5LYMW7M.js} +16 -16
  17. package/dist/{coordinator-prompt-XF7LVOUN.js → coordinator-prompt-FYMWE33S.js} +3 -3
  18. package/dist/{coordinator-prompt-DXHEDRRN.js → coordinator-prompt-Y737IIFR.js} +3 -3
  19. package/dist/{global-workspace-2LO5ATOH.js → global-workspace-6KH6BSKL.js} +4 -4
  20. package/dist/{global-workspace-MLQNULOU.js → global-workspace-ZFKNLBZA.js} +4 -4
  21. package/dist/index.cjs +45 -13
  22. package/dist/index.d.cts +3 -1
  23. package/dist/index.d.ts +3 -1
  24. package/dist/index.js +9 -7
  25. package/dist/mcp/run-stdio.cjs +43 -13
  26. package/dist/mcp/run-stdio.js +7 -7
  27. package/dist/{orchestrator-KR5RA5B7.js → orchestrator-2BRAPJ47.js} +7 -7
  28. package/dist/{orchestrator-P2SYHVLS.js → orchestrator-3YDPPZHZ.js} +7 -7
  29. package/dist/{thread-store-5MLYY35S.js → thread-store-CRLQJ2HM.js} +3 -1
  30. package/dist/{thread-store-F6BCARQG.js → thread-store-FADXSMEJ.js} +3 -1
  31. package/dist/{workspaces-MINB764G.js → workspaces-3RRF3LVF.js} +5 -5
  32. package/dist/{workspaces-ARWPZG6F.js → workspaces-AYI5DHK4.js} +5 -5
  33. package/dist/{worktree-EBZMUUAL.js → worktree-BC6XDMQK.js} +2 -2
  34. package/dist/{worktree-S7MKMYAT.js → worktree-MX7XBX6Z.js} +2 -2
  35. package/package.json +1 -1
@@ -34,7 +34,7 @@ import {
34
34
  resolveLoginCommand,
35
35
  resolveQuotaFallbackAgent,
36
36
  turnCostUsdFromCursorUsage
37
- } from "./chunk-AK7SWE2U.js";
37
+ } from "./chunk-KBBXNS2V.js";
38
38
  import "./chunk-ED4UPEJX.js";
39
39
  import "./chunk-S42XV45P.js";
40
40
  import "./chunk-6GN5WPYZ.js";
@@ -43,11 +43,11 @@ import {
43
43
  assertOrchestratorCapableAgent,
44
44
  coerceOrchestratorAgent,
45
45
  isOrchestratorCapableAgent
46
- } from "./chunk-YEIH7P7D.js";
47
- import "./chunk-6CRKPD4C.js";
48
- import "./chunk-Q6XQXCOM.js";
46
+ } from "./chunk-2ESCEK2Q.js";
47
+ import "./chunk-K7EX47QG.js";
48
+ import "./chunk-QAV3HGVS.js";
49
49
  import "./chunk-B3SJXYIJ.js";
50
- import "./chunk-G6X6UFJO.js";
50
+ import "./chunk-J5IBSVB3.js";
51
51
  import {
52
52
  conductorBundledBinDir,
53
53
  enrichPathWithNpmGlobalBin,
@@ -28,7 +28,7 @@ import {
28
28
  resolveCursorModelId,
29
29
  resolveLoginCommand,
30
30
  resolveQuotaFallbackAgent
31
- } from "./chunk-4YAVXWFR.js";
31
+ } from "./chunk-N62K3KXX.js";
32
32
  import "./chunk-KBWND62T.js";
33
33
  import "./chunk-M267JPEA.js";
34
34
  import {
@@ -36,8 +36,8 @@ import {
36
36
  assertOrchestratorCapableAgent,
37
37
  coerceOrchestratorAgent,
38
38
  isOrchestratorCapableAgent
39
- } from "./chunk-LTP7GHIF.js";
40
- import "./chunk-IM36S4HZ.js";
39
+ } from "./chunk-XUEI4GCF.js";
40
+ import "./chunk-57GIFU3X.js";
41
41
  import "./chunk-ELBYOGVA.js";
42
42
  import {
43
43
  cursorSdkMessageToEvents,
@@ -45,12 +45,12 @@ import {
45
45
  preferredCursorCostCents,
46
46
  turnCostUsdFromCursorUsage
47
47
  } from "./chunk-FSCQXMGI.js";
48
- import "./chunk-WEU5M7BW.js";
48
+ import "./chunk-HQQNLDVC.js";
49
49
  import "./chunk-FKOIHGKV.js";
50
50
  import "./chunk-GJBHOJCZ.js";
51
51
  import "./chunk-4TR3HZFT.js";
52
52
  import "./chunk-JT7R45JB.js";
53
- import "./chunk-HLJUNJBF.js";
53
+ import "./chunk-PM3C2J6K.js";
54
54
  import "./chunk-77WWLBCI.js";
55
55
  import "./chunk-QZQEXME2.js";
56
56
  import {
@@ -2,18 +2,18 @@
2
2
 
3
3
  import {
4
4
  ensureGlobalCoordinatorCwd
5
- } from "./chunk-6CRKPD4C.js";
5
+ } from "./chunk-K7EX47QG.js";
6
6
  import {
7
7
  allocateTeamName,
8
8
  takenSlugsFromThread,
9
9
  teamSlugFromName
10
- } from "./chunk-Q6XQXCOM.js";
10
+ } from "./chunk-QAV3HGVS.js";
11
11
  import {
12
12
  createEmptyThread,
13
13
  listThreads,
14
14
  updateThread,
15
15
  writeThread
16
- } from "./chunk-G6X6UFJO.js";
16
+ } from "./chunk-J5IBSVB3.js";
17
17
  import {
18
18
  resolveNewThreadOptions,
19
19
  resolveThreadDefaults
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveGithubRepoSlug
3
- } from "./chunk-WEU5M7BW.js";
3
+ } from "./chunk-HQQNLDVC.js";
4
4
  import {
5
5
  resolveThreadDefaults
6
6
  } from "./chunk-GJBHOJCZ.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-GJBHOJCZ.js";
8
8
  import {
9
9
  listThreads
10
- } from "./chunk-HLJUNJBF.js";
10
+ } from "./chunk-PM3C2J6K.js";
11
11
  import {
12
12
  worktreesRoot
13
13
  } from "./chunk-QZQEXME2.js";
@@ -108,11 +108,29 @@ async function withThreadLock(id, fn) {
108
108
  if (release) await release();
109
109
  }
110
110
  }
111
+ var listCache = null;
112
+ function cacheForDir() {
113
+ const dir = threadsDir();
114
+ if (!listCache || listCache.dir !== dir) {
115
+ listCache = { dir, byId: /* @__PURE__ */ new Map(), listed: false };
116
+ }
117
+ return listCache;
118
+ }
119
+ function invalidateThreadListCache() {
120
+ listCache = null;
121
+ }
122
+ function rememberThread(thread) {
123
+ cacheForDir().byId.set(thread.id, thread);
124
+ }
111
125
  function readThread(id) {
126
+ const cached = cacheForDir().byId.get(id);
127
+ if (cached) return cached;
112
128
  const path = threadFilePath(id);
113
129
  if (!existsSync(path)) return null;
114
130
  const raw = readFileSync(path, "utf8");
115
- return normalizeThread(JSON.parse(raw));
131
+ const thread = normalizeThread(JSON.parse(raw));
132
+ rememberThread(thread);
133
+ return thread;
116
134
  }
117
135
  function writeThread(thread) {
118
136
  const path = threadFilePath(idPath(thread.id));
@@ -120,6 +138,7 @@ function writeThread(thread) {
120
138
  const next = { ...thread, updatedAt: nowIso() };
121
139
  writeFileSync(tmp, JSON.stringify(next, null, 2), "utf8");
122
140
  renameSync(tmp, path);
141
+ rememberThread(next);
123
142
  }
124
143
  function idPath(id) {
125
144
  return id;
@@ -129,22 +148,32 @@ function isThreadRecordFile(nameOrPath) {
129
148
  return name.endsWith(".json") && !name.endsWith(".live.json");
130
149
  }
131
150
  function listThreads(opts) {
132
- const files = readdirSync(threadsDir()).filter(isThreadRecordFile);
133
- const threads = files.map((f) => {
134
- try {
135
- return normalizeThread(
136
- JSON.parse(readFileSync(threadFilePath(f.replace(/\.json$/, "")), "utf8"))
137
- );
138
- } catch {
139
- return null;
151
+ const cache = cacheForDir();
152
+ if (!cache.listed) {
153
+ const files = readdirSync(threadsDir()).filter(isThreadRecordFile);
154
+ const byId = /* @__PURE__ */ new Map();
155
+ for (const f of files) {
156
+ try {
157
+ const thread = normalizeThread(
158
+ JSON.parse(readFileSync(threadFilePath(f.replace(/\.json$/, "")), "utf8"))
159
+ );
160
+ if (typeof thread.id === "string" && thread.id.length > 0) {
161
+ byId.set(thread.id, thread);
162
+ }
163
+ } catch {
164
+ }
140
165
  }
141
- }).filter(
142
- (t) => t !== null && typeof t.id === "string" && t.id.length > 0
143
- ).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
166
+ cache.byId = byId;
167
+ cache.listed = true;
168
+ }
169
+ const threads = [...cache.byId.values()].sort(
170
+ (a, b) => b.updatedAt.localeCompare(a.updatedAt)
171
+ );
144
172
  if (opts?.includeArchived) return threads;
145
173
  return threads.filter((t) => t.status !== "archived");
146
174
  }
147
175
  function deleteThreadRecord(id) {
176
+ cacheForDir().byId.delete(id);
148
177
  const path = threadFilePath(id);
149
178
  if (existsSync(path)) unlinkSync(path);
150
179
  const lock = threadLockPath(id);
@@ -182,6 +211,7 @@ export {
182
211
  normalizeThread,
183
212
  createEmptyThread,
184
213
  withThreadLock,
214
+ invalidateThreadListCache,
185
215
  readThread,
186
216
  writeThread,
187
217
  isThreadRecordFile,
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  resolveGithubRepoSlug
5
- } from "./chunk-Q6XQXCOM.js";
5
+ } from "./chunk-QAV3HGVS.js";
6
6
  import {
7
7
  resolveThreadDefaults
8
8
  } from "./chunk-GKKHXZCT.js";
@@ -11,13 +11,13 @@ import {
11
11
  } from "./chunk-S42XV45P.js";
12
12
  import {
13
13
  isOrchestratorThread
14
- } from "./chunk-YEIH7P7D.js";
14
+ } from "./chunk-2ESCEK2Q.js";
15
15
  import {
16
16
  codexUnattendedGitConfigArgs,
17
17
  mergeAgentGitAuthEnv,
18
18
  resolveAgentGitAuthEnv,
19
19
  resolveCodexGitWritableRoots
20
- } from "./chunk-Q6XQXCOM.js";
20
+ } from "./chunk-QAV3HGVS.js";
21
21
  import {
22
22
  enrichPathWithNpmGlobalBin,
23
23
  isConductorBundledCli,
@@ -2042,7 +2042,7 @@ var claudeAdapter = {
2042
2042
  );
2043
2043
  }
2044
2044
  const mode = permissionMode(thread);
2045
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-2LO5ATOH.js");
2045
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-6KH6BSKL.js");
2046
2046
  const isOrchestrator = isOrchestratorThread2(thread);
2047
2047
  const injectedServers = await buildInjectedMcpServers({
2048
2048
  includeSideboard: true,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  isGlobalRepoPath
3
- } from "./chunk-LTP7GHIF.js";
3
+ } from "./chunk-XUEI4GCF.js";
4
4
  import {
5
5
  ensureGhPreferOrigin,
6
6
  resolveRepoRoot
7
- } from "./chunk-WEU5M7BW.js";
7
+ } from "./chunk-HQQNLDVC.js";
8
8
  import {
9
9
  appDataDir
10
10
  } from "./chunk-QZQEXME2.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-M267JPEA.js";
10
10
  import {
11
11
  isOrchestratorThread
12
- } from "./chunk-LTP7GHIF.js";
12
+ } from "./chunk-XUEI4GCF.js";
13
13
  import {
14
14
  applyAgentRunnerHeapEnv,
15
15
  applyNodeLaunch,
@@ -28,7 +28,7 @@ import {
28
28
  mergeAgentGitAuthEnv,
29
29
  resolveAgentGitAuthEnv,
30
30
  resolveCodexGitWritableRoots
31
- } from "./chunk-WEU5M7BW.js";
31
+ } from "./chunk-HQQNLDVC.js";
32
32
  import {
33
33
  claudeChromeEnabled,
34
34
  loadAppSettings,
@@ -1695,7 +1695,7 @@ var claudeAdapter = {
1695
1695
  );
1696
1696
  }
1697
1697
  const mode = permissionMode(thread);
1698
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-MLQNULOU.js");
1698
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-ZFKNLBZA.js");
1699
1699
  const isOrchestrator = isOrchestratorThread2(thread);
1700
1700
  const injectedServers = await buildInjectedMcpServers({
1701
1701
  includeSideboard: true,
@@ -106,11 +106,29 @@ async function withThreadLock(id, fn) {
106
106
  if (release) await release();
107
107
  }
108
108
  }
109
+ var listCache = null;
110
+ function cacheForDir() {
111
+ const dir = threadsDir();
112
+ if (!listCache || listCache.dir !== dir) {
113
+ listCache = { dir, byId: /* @__PURE__ */ new Map(), listed: false };
114
+ }
115
+ return listCache;
116
+ }
117
+ function invalidateThreadListCache() {
118
+ listCache = null;
119
+ }
120
+ function rememberThread(thread) {
121
+ cacheForDir().byId.set(thread.id, thread);
122
+ }
109
123
  function readThread(id) {
124
+ const cached = cacheForDir().byId.get(id);
125
+ if (cached) return cached;
110
126
  const path = threadFilePath(id);
111
127
  if (!existsSync(path)) return null;
112
128
  const raw = readFileSync(path, "utf8");
113
- return normalizeThread(JSON.parse(raw));
129
+ const thread = normalizeThread(JSON.parse(raw));
130
+ rememberThread(thread);
131
+ return thread;
114
132
  }
115
133
  function writeThread(thread) {
116
134
  const path = threadFilePath(idPath(thread.id));
@@ -118,6 +136,7 @@ function writeThread(thread) {
118
136
  const next = { ...thread, updatedAt: nowIso() };
119
137
  writeFileSync(tmp, JSON.stringify(next, null, 2), "utf8");
120
138
  renameSync(tmp, path);
139
+ rememberThread(next);
121
140
  }
122
141
  function idPath(id) {
123
142
  return id;
@@ -127,22 +146,32 @@ function isThreadRecordFile(nameOrPath) {
127
146
  return name.endsWith(".json") && !name.endsWith(".live.json");
128
147
  }
129
148
  function listThreads(opts) {
130
- const files = readdirSync(threadsDir()).filter(isThreadRecordFile);
131
- const threads = files.map((f) => {
132
- try {
133
- return normalizeThread(
134
- JSON.parse(readFileSync(threadFilePath(f.replace(/\.json$/, "")), "utf8"))
135
- );
136
- } catch {
137
- return null;
149
+ const cache = cacheForDir();
150
+ if (!cache.listed) {
151
+ const files = readdirSync(threadsDir()).filter(isThreadRecordFile);
152
+ const byId = /* @__PURE__ */ new Map();
153
+ for (const f of files) {
154
+ try {
155
+ const thread = normalizeThread(
156
+ JSON.parse(readFileSync(threadFilePath(f.replace(/\.json$/, "")), "utf8"))
157
+ );
158
+ if (typeof thread.id === "string" && thread.id.length > 0) {
159
+ byId.set(thread.id, thread);
160
+ }
161
+ } catch {
162
+ }
138
163
  }
139
- }).filter(
140
- (t) => t !== null && typeof t.id === "string" && t.id.length > 0
141
- ).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
164
+ cache.byId = byId;
165
+ cache.listed = true;
166
+ }
167
+ const threads = [...cache.byId.values()].sort(
168
+ (a, b) => b.updatedAt.localeCompare(a.updatedAt)
169
+ );
142
170
  if (opts?.includeArchived) return threads;
143
171
  return threads.filter((t) => t.status !== "archived");
144
172
  }
145
173
  function deleteThreadRecord(id) {
174
+ cacheForDir().byId.delete(id);
146
175
  const path = threadFilePath(id);
147
176
  if (existsSync(path)) unlinkSync(path);
148
177
  const lock = threadLockPath(id);
@@ -180,6 +209,7 @@ export {
180
209
  normalizeThread,
181
210
  createEmptyThread,
182
211
  withThreadLock,
212
+ invalidateThreadListCache,
183
213
  readThread,
184
214
  writeThread,
185
215
  isThreadRecordFile,
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-B3SJXYIJ.js";
6
6
  import {
7
7
  listThreads
8
- } from "./chunk-G6X6UFJO.js";
8
+ } from "./chunk-J5IBSVB3.js";
9
9
  import {
10
10
  gh,
11
11
  git,
@@ -2,11 +2,11 @@
2
2
 
3
3
  import {
4
4
  isGlobalRepoPath
5
- } from "./chunk-YEIH7P7D.js";
5
+ } from "./chunk-2ESCEK2Q.js";
6
6
  import {
7
7
  ensureGhPreferOrigin,
8
8
  resolveRepoRoot
9
- } from "./chunk-Q6XQXCOM.js";
9
+ } from "./chunk-QAV3HGVS.js";
10
10
  import {
11
11
  appDataDir
12
12
  } from "./chunk-BD2ICC4D.js";
@@ -18,13 +18,13 @@ import {
18
18
  stripBrightsyNdjsonNoise,
19
19
  sumUsageList,
20
20
  toolDescription
21
- } from "./chunk-4YAVXWFR.js";
21
+ } from "./chunk-N62K3KXX.js";
22
22
  import {
23
23
  addWorkspace,
24
24
  ensureWorkspace,
25
25
  removeWorkspace,
26
26
  syncWorkspacesFromThreads
27
- } from "./chunk-3UVVWNHF.js";
27
+ } from "./chunk-LOKXPQ4U.js";
28
28
  import {
29
29
  assertOrchestratorCapableAgent,
30
30
  coerceOrchestratorAgent,
@@ -37,14 +37,14 @@ import {
37
37
  isOrchestratorThread,
38
38
  isSlackCoordinatorThread,
39
39
  orchestratorSessionPoisonedByBuiltins
40
- } from "./chunk-LTP7GHIF.js";
40
+ } from "./chunk-XUEI4GCF.js";
41
41
  import {
42
42
  SLACK_REPLY_FORMATTING,
43
43
  coordinatorSystemPrompt,
44
44
  coordinatorTurnReminder,
45
45
  enrichWorkspacesWithGithub,
46
46
  ensureGlobalCoordinatorCwd
47
- } from "./chunk-IM36S4HZ.js";
47
+ } from "./chunk-57GIFU3X.js";
48
48
  import {
49
49
  extractPresentedPlan,
50
50
  readPlanFile,
@@ -114,7 +114,7 @@ import {
114
114
  withRepoGitLock,
115
115
  worktreeDisplayLabelForGroup,
116
116
  worktreeNameFromPath
117
- } from "./chunk-WEU5M7BW.js";
117
+ } from "./chunk-HQQNLDVC.js";
118
118
  import {
119
119
  ATTACHMENTS_DIR,
120
120
  LEGACY_ATTACHMENTS_DIR,
@@ -152,7 +152,7 @@ import {
152
152
  updateThread,
153
153
  withThreadLock,
154
154
  writeThread
155
- } from "./chunk-HLJUNJBF.js";
155
+ } from "./chunk-PM3C2J6K.js";
156
156
  import {
157
157
  appDataDir,
158
158
  findConventionSetup,
@@ -445,7 +445,7 @@ async function continueSourceThread(threadId, prompt) {
445
445
  await continueOnReply(threadId, prompt);
446
446
  return;
447
447
  }
448
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-P2SYHVLS.js");
448
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-3YDPPZHZ.js");
449
449
  await getOrchestrator2().send(threadId, prompt);
450
450
  } catch {
451
451
  }
@@ -725,9 +725,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
725
725
  `Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
726
726
  );
727
727
  }
728
- const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-MLQNULOU.js");
728
+ const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-ZFKNLBZA.js");
729
729
  if (isGlobalThread2(thread)) {
730
- const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-XF7LVOUN.js");
730
+ const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-FYMWE33S.js");
731
731
  ensureGlobalCoordinatorCwd2(
732
732
  isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
733
733
  );
@@ -2901,7 +2901,7 @@ async function createThread(input, _onSetupLine) {
2901
2901
  return readThread(thread.id) ?? thread;
2902
2902
  }
2903
2903
  async function listLinearIssues(agent, repoPath) {
2904
- const { getAdapter: getAdapter2 } = await import("./agents-SOU5GPWI.js");
2904
+ const { getAdapter: getAdapter2 } = await import("./agents-RTQFF7PY.js");
2905
2905
  await requireAgent(agent, { requireLinear: true });
2906
2906
  const adapter = getAdapter2(agent);
2907
2907
  if (!adapter.listLinearIssues) {
@@ -3298,7 +3298,7 @@ async function adoptThread(input) {
3298
3298
  messages: input.messages ?? []
3299
3299
  });
3300
3300
  writeThread(thread);
3301
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-ARWPZG6F.js");
3301
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-AYI5DHK4.js");
3302
3302
  await ensureWorkspace2(repoPath);
3303
3303
  return thread;
3304
3304
  }
@@ -5572,7 +5572,7 @@ function formatScheduledPrompt(name, prompt) {
5572
5572
  ${prompt}`;
5573
5573
  }
5574
5574
  async function defaultDeps() {
5575
- const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-P2SYHVLS.js");
5575
+ const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-3YDPPZHZ.js");
5576
5576
  const orch = getOrchestrator2();
5577
5577
  return {
5578
5578
  findThread: (id) => findThreadByRef(id),
@@ -7411,7 +7411,7 @@ var Orchestrator = class {
7411
7411
  this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
7412
7412
  if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
7413
7413
  try {
7414
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-ARWPZG6F.js");
7414
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-AYI5DHK4.js");
7415
7415
  await ensureWorkspace2(thread.repoPath);
7416
7416
  } catch {
7417
7417
  }
@@ -7465,7 +7465,7 @@ var Orchestrator = class {
7465
7465
  `Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
7466
7466
  );
7467
7467
  }
7468
- const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-S7MKMYAT.js");
7468
+ const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-MX7XBX6Z.js");
7469
7469
  const slug = thread.worktreePath.split("/").pop();
7470
7470
  const dest = thread.worktreePath;
7471
7471
  await withRepoGitLock(thread.repoPath, async () => {
@@ -7573,7 +7573,7 @@ async function startOrchestration(opts) {
7573
7573
  sourceRef: "default",
7574
7574
  ...createOpts
7575
7575
  }).catch(async () => {
7576
- const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-S7MKMYAT.js");
7576
+ const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-MX7XBX6Z.js");
7577
7577
  const repo = await resolveRepoRoot2(repoPath);
7578
7578
  const def = await resolveDefaultBranch2(repo);
7579
7579
  return orch.createThread({
@@ -7583,7 +7583,7 @@ async function startOrchestration(opts) {
7583
7583
  repoPath: repo
7584
7584
  });
7585
7585
  });
7586
- const { updateThread: upd } = await import("./thread-store-5MLYY35S.js");
7586
+ const { updateThread: upd } = await import("./thread-store-CRLQJ2HM.js");
7587
7587
  const updated = upd(thread.id, {
7588
7588
  sourceType: "orchestration",
7589
7589
  sourceRef: goal
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ensureGlobalCoordinatorCwd
3
- } from "./chunk-IM36S4HZ.js";
3
+ } from "./chunk-57GIFU3X.js";
4
4
  import {
5
5
  allocateTeamName,
6
6
  takenSlugsFromThread,
7
7
  teamSlugFromName
8
- } from "./chunk-WEU5M7BW.js";
8
+ } from "./chunk-HQQNLDVC.js";
9
9
  import {
10
10
  resolveNewThreadOptions,
11
11
  resolveThreadDefaults
@@ -15,7 +15,7 @@ import {
15
15
  listThreads,
16
16
  updateThread,
17
17
  writeThread
18
- } from "./chunk-HLJUNJBF.js";
18
+ } from "./chunk-PM3C2J6K.js";
19
19
  import {
20
20
  globalAgentCwd
21
21
  } from "./chunk-QZQEXME2.js";
@@ -31,13 +31,13 @@ import {
31
31
  summarizeTurnStderr,
32
32
  toolDescription,
33
33
  turnFailChatText
34
- } from "./chunk-AK7SWE2U.js";
34
+ } from "./chunk-KBBXNS2V.js";
35
35
  import {
36
36
  addWorkspace,
37
37
  ensureWorkspace,
38
38
  removeWorkspace,
39
39
  syncWorkspacesFromThreads
40
- } from "./chunk-Y645NFYN.js";
40
+ } from "./chunk-RDULVW3E.js";
41
41
  import {
42
42
  extractPresentedPlan,
43
43
  readPlanFile,
@@ -58,14 +58,14 @@ import {
58
58
  isOrchestratorThread,
59
59
  isSlackCoordinatorThread,
60
60
  orchestratorSessionPoisonedByBuiltins
61
- } from "./chunk-YEIH7P7D.js";
61
+ } from "./chunk-2ESCEK2Q.js";
62
62
  import {
63
63
  SLACK_REPLY_FORMATTING,
64
64
  coordinatorSystemPrompt,
65
65
  coordinatorTurnReminder,
66
66
  enrichWorkspacesWithGithub,
67
67
  ensureGlobalCoordinatorCwd
68
- } from "./chunk-6CRKPD4C.js";
68
+ } from "./chunk-K7EX47QG.js";
69
69
  import {
70
70
  addPrStackLayer,
71
71
  allocateTeamName,
@@ -110,7 +110,7 @@ import {
110
110
  withRepoGitLock,
111
111
  worktreeDisplayLabelForGroup,
112
112
  worktreeNameFromPath
113
- } from "./chunk-Q6XQXCOM.js";
113
+ } from "./chunk-QAV3HGVS.js";
114
114
  import {
115
115
  ATTACHMENTS_DIR,
116
116
  LEGACY_ATTACHMENTS_DIR,
@@ -127,7 +127,7 @@ import {
127
127
  updateThread,
128
128
  withThreadLock,
129
129
  writeThread
130
- } from "./chunk-G6X6UFJO.js";
130
+ } from "./chunk-J5IBSVB3.js";
131
131
  import {
132
132
  clearStaleIndexLocks,
133
133
  enrichPathWithNpmGlobalBin,
@@ -384,7 +384,7 @@ async function continueSourceThread(threadId, prompt) {
384
384
  await continueOnReply(threadId, prompt);
385
385
  return;
386
386
  }
387
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-KR5RA5B7.js");
387
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-2BRAPJ47.js");
388
388
  await getOrchestrator2().send(threadId, prompt);
389
389
  } catch {
390
390
  }
@@ -725,9 +725,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
725
725
  `Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
726
726
  );
727
727
  }
728
- const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-2LO5ATOH.js");
728
+ const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-6KH6BSKL.js");
729
729
  if (isGlobalThread2(thread)) {
730
- const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-DXHEDRRN.js");
730
+ const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-Y737IIFR.js");
731
731
  ensureGlobalCoordinatorCwd2(
732
732
  isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
733
733
  );
@@ -2862,7 +2862,7 @@ async function createThread(input, _onSetupLine) {
2862
2862
  return readThread(thread.id) ?? thread;
2863
2863
  }
2864
2864
  async function listLinearIssues(agent, repoPath) {
2865
- const { getAdapter: getAdapter2 } = await import("./agents-NHS6P25H.js");
2865
+ const { getAdapter: getAdapter2 } = await import("./agents-O3AJMI2Y.js");
2866
2866
  await requireAgent(agent, { requireLinear: true });
2867
2867
  const adapter = getAdapter2(agent);
2868
2868
  if (!adapter.listLinearIssues) {
@@ -3259,7 +3259,7 @@ async function adoptThread(input) {
3259
3259
  messages: input.messages ?? []
3260
3260
  });
3261
3261
  writeThread(thread);
3262
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-MINB764G.js");
3262
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-3RRF3LVF.js");
3263
3263
  await ensureWorkspace2(repoPath);
3264
3264
  return thread;
3265
3265
  }
@@ -5407,7 +5407,7 @@ function formatScheduledPrompt(name, prompt) {
5407
5407
  ${prompt}`;
5408
5408
  }
5409
5409
  async function defaultDeps() {
5410
- const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-KR5RA5B7.js");
5410
+ const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-2BRAPJ47.js");
5411
5411
  const orch = getOrchestrator2();
5412
5412
  return {
5413
5413
  findThread: (id) => findThreadByRef(id),
@@ -7246,7 +7246,7 @@ var Orchestrator = class {
7246
7246
  this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
7247
7247
  if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
7248
7248
  try {
7249
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-MINB764G.js");
7249
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-3RRF3LVF.js");
7250
7250
  await ensureWorkspace2(thread.repoPath);
7251
7251
  } catch {
7252
7252
  }
@@ -7300,7 +7300,7 @@ var Orchestrator = class {
7300
7300
  `Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
7301
7301
  );
7302
7302
  }
7303
- const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-EBZMUUAL.js");
7303
+ const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-BC6XDMQK.js");
7304
7304
  const slug = thread.worktreePath.split("/").pop();
7305
7305
  const dest = thread.worktreePath;
7306
7306
  await withRepoGitLock(thread.repoPath, async () => {
@@ -7408,7 +7408,7 @@ async function startOrchestration(opts) {
7408
7408
  sourceRef: "default",
7409
7409
  ...createOpts
7410
7410
  }).catch(async () => {
7411
- const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-EBZMUUAL.js");
7411
+ const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-BC6XDMQK.js");
7412
7412
  const repo = await resolveRepoRoot2(repoPath);
7413
7413
  const def = await resolveDefaultBranch2(repo);
7414
7414
  return orch.createThread({
@@ -7418,7 +7418,7 @@ async function startOrchestration(opts) {
7418
7418
  repoPath: repo
7419
7419
  });
7420
7420
  });
7421
- const { updateThread: upd } = await import("./thread-store-F6BCARQG.js");
7421
+ const { updateThread: upd } = await import("./thread-store-FADXSMEJ.js");
7422
7422
  const updated = upd(thread.id, {
7423
7423
  sourceType: "orchestration",
7424
7424
  sourceRef: goal