@sideboard-ai/core 0.1.297 → 0.1.299

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 (37) hide show
  1. package/dist/{agents-ICHYDSCD.js → agents-IVKPCK56.js} +5 -5
  2. package/dist/{agents-DZTPUKVF.js → agents-JCCJJMA7.js} +5 -5
  3. package/dist/{chunk-VXNZG4J6.js → chunk-3IXGI2FP.js} +1 -1
  4. package/dist/{chunk-ED4ZXQVO.js → chunk-5XQ43YZU.js} +2 -1
  5. package/dist/{chunk-2O3ICR77.js → chunk-EB3F5AWV.js} +6 -4
  6. package/dist/{chunk-6GTABVNG.js → chunk-EB7B4D2Z.js} +6 -4
  7. package/dist/{chunk-Q3DPZ4DE.js → chunk-F36QRDM4.js} +2 -1
  8. package/dist/{chunk-ZXWRNA4G.js → chunk-F3JYJ4UB.js} +5 -5
  9. package/dist/{chunk-JWXJXEA3.js → chunk-G52HLBQR.js} +22 -2
  10. package/dist/{chunk-WZLV4WNS.js → chunk-K5EACGG2.js} +11 -0
  11. package/dist/{chunk-67BWWLEB.js → chunk-MMIDAD6J.js} +5 -5
  12. package/dist/{chunk-W2A63ZOK.js → chunk-NF3WDI7F.js} +501 -124
  13. package/dist/{chunk-BGEECLKH.js → chunk-QB4UQA5L.js} +10 -6
  14. package/dist/{chunk-WQREAX35.js → chunk-UMALFEDS.js} +10 -6
  15. package/dist/{chunk-QT36F4TD.js → chunk-YAILSKW3.js} +379 -64
  16. package/dist/{conductor-HJFDYIZD.js → conductor-JLHXMMKR.js} +5 -5
  17. package/dist/{conductor-ZXDIA6OF.js → conductor-UQDDDW35.js} +5 -5
  18. package/dist/{coordinator-prompt-ILHSVPOG.js → coordinator-prompt-HKLVS26O.js} +3 -3
  19. package/dist/{coordinator-prompt-L3V2CMWX.js → coordinator-prompt-SSUYZSJO.js} +3 -3
  20. package/dist/{global-workspace-47G453ZU.js → global-workspace-I32EWKX3.js} +3 -3
  21. package/dist/{global-workspace-NMRUGGFF.js → global-workspace-MHE6FCUZ.js} +3 -3
  22. package/dist/index.cjs +1125 -557
  23. package/dist/index.d.cts +60 -35
  24. package/dist/index.d.ts +60 -35
  25. package/dist/index.js +345 -230
  26. package/dist/mcp/run-stdio.cjs +816 -341
  27. package/dist/mcp/run-stdio.js +324 -218
  28. package/dist/{orchestrator-ZQU62CES.js → orchestrator-ESLNXVOX.js} +7 -7
  29. package/dist/{orchestrator-MR7TCIPP.js → orchestrator-SX4SGZHF.js} +7 -7
  30. package/dist/{thread-store-H6D6MDUM.js → thread-store-5XXHSWMN.js} +1 -1
  31. package/dist/{thread-store-SADLLKRE.js → thread-store-WXLXKDVN.js} +1 -1
  32. package/dist/{workspaces-WGZPRQJX.js → workspaces-ATMIKXLK.js} +3 -3
  33. package/dist/{workspaces-PGY4UWZ3.js → workspaces-O3L32CDO.js} +3 -3
  34. package/dist/{worktree-JZXDAKQF.js → worktree-6G5X4ABY.js} +2 -2
  35. package/dist/{worktree-3MF5J5XZ.js → worktree-RMYXBTJG.js} +2 -2
  36. package/package.json +1 -1
  37. /package/dist/{chunk-TVN4TDFB.js → chunk-HTL4FBTP.js} +0 -0
@@ -37,9 +37,9 @@ import {
37
37
  planModeTurnInstruction,
38
38
  resolveCursorModelId,
39
39
  resolveQuotaFallbackAgent
40
- } from "./chunk-6GTABVNG.js";
40
+ } from "./chunk-EB7B4D2Z.js";
41
41
  import "./chunk-VGNLMGBK.js";
42
- import "./chunk-Q3DPZ4DE.js";
42
+ import "./chunk-F36QRDM4.js";
43
43
  import {
44
44
  getAgentSetupInfo,
45
45
  installAgent,
@@ -52,9 +52,9 @@ import {
52
52
  resolveLoginCommand,
53
53
  whichOnPath
54
54
  } from "./chunk-B42H6GJR.js";
55
- import "./chunk-BGEECLKH.js";
56
- import "./chunk-JWXJXEA3.js";
57
- import "./chunk-WZLV4WNS.js";
55
+ import "./chunk-QB4UQA5L.js";
56
+ import "./chunk-G52HLBQR.js";
57
+ import "./chunk-K5EACGG2.js";
58
58
  import "./chunk-2P4XKWV2.js";
59
59
  import "./chunk-33KDPEK4.js";
60
60
  import "./chunk-JAT3JFOS.js";
@@ -46,7 +46,7 @@ import {
46
46
  resolveCursorSdkRoot,
47
47
  resolveQuotaFallbackAgent,
48
48
  turnCostUsdFromCursorUsage
49
- } from "./chunk-2O3ICR77.js";
49
+ } from "./chunk-EB3F5AWV.js";
50
50
  import {
51
51
  getAgentSetupInfo,
52
52
  installAgent,
@@ -62,9 +62,9 @@ import {
62
62
  import "./chunk-7IAMHN2N.js";
63
63
  import "./chunk-PXMLMBMI.js";
64
64
  import "./chunk-2GPQZZLY.js";
65
- import "./chunk-ED4ZXQVO.js";
66
- import "./chunk-WQREAX35.js";
67
- import "./chunk-VXNZG4J6.js";
65
+ import "./chunk-5XQ43YZU.js";
66
+ import "./chunk-UMALFEDS.js";
67
+ import "./chunk-3IXGI2FP.js";
68
68
  import "./chunk-N2WW62LF.js";
69
69
  import "./chunk-DD67JWTN.js";
70
70
  import {
@@ -88,7 +88,7 @@ import "./chunk-NSTQ6QKD.js";
88
88
  import "./chunk-WWUABK6B.js";
89
89
  import "./chunk-FJZWM2ON.js";
90
90
  import "./chunk-UN5Q7POQ.js";
91
- import "./chunk-TVN4TDFB.js";
91
+ import "./chunk-HTL4FBTP.js";
92
92
  import "./chunk-4RZRHTSZ.js";
93
93
  import "./chunk-KGZBYWZ3.js";
94
94
  import "./chunk-H5XL4KUS.js";
@@ -26,7 +26,7 @@ import {
26
26
  normalizeTakenSlug,
27
27
  normalizeWorktreePath,
28
28
  takenSlugsFromThread
29
- } from "./chunk-TVN4TDFB.js";
29
+ } from "./chunk-HTL4FBTP.js";
30
30
  import {
31
31
  worktreesRoot
32
32
  } from "./chunk-H5XL4KUS.js";
@@ -555,7 +555,8 @@ function toolDescription(name, input) {
555
555
  if (/get_run_log$/i.test(name)) {
556
556
  return str(input?.name) ? `Read ${str(input?.name)} log` : "Read Dev log";
557
557
  }
558
- if (/notify_orchestrator$/i.test(name)) return "Notify orchestrator";
558
+ if (/get_orchestrator$/i.test(name)) return "Get orchestrator";
559
+ else if (/notify_orchestrator$/i.test(name)) return "Notify orchestrator";
559
560
  else if (/set_workspace_tags$/i.test(name)) return "Set workspace tags";
560
561
  if (/(?:list|set|delete)_env$/i.test(name)) return /list_env$/i.test(name) ? "List env vars" : /set_env$/i.test(name) ? "Set env var" : "Delete env var";
561
562
  if (/list_schedules$/i.test(name)) return "List schedules";
@@ -21,16 +21,16 @@ import {
21
21
  looksLikeSkillBody,
22
22
  skillCommandFromBody,
23
23
  withEventParentId
24
- } from "./chunk-ED4ZXQVO.js";
24
+ } from "./chunk-5XQ43YZU.js";
25
25
  import {
26
26
  isOrchestratorThread
27
- } from "./chunk-WQREAX35.js";
27
+ } from "./chunk-UMALFEDS.js";
28
28
  import {
29
29
  codexUnattendedGitConfigArgs,
30
30
  mergeAgentGitAuthEnv,
31
31
  resolveAgentGitAuthEnv,
32
32
  resolveCodexGitWritableRoots
33
- } from "./chunk-VXNZG4J6.js";
33
+ } from "./chunk-3IXGI2FP.js";
34
34
  import {
35
35
  npmGlobalNodeModules,
36
36
  run
@@ -559,6 +559,7 @@ var WORKTREE_MCP_TOOLS = [
559
559
  "run_dev_script",
560
560
  "stop_dev_script",
561
561
  "get_run_log",
562
+ "get_orchestrator",
562
563
  "notify_orchestrator",
563
564
  "set_workspace_tags",
564
565
  "get_viewer_context",
@@ -963,6 +964,7 @@ var SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS = [
963
964
  "mcp__sideboard__run_dev_script",
964
965
  "mcp__sideboard__stop_dev_script",
965
966
  "mcp__sideboard__get_run_log",
967
+ "mcp__sideboard__get_orchestrator",
966
968
  "mcp__sideboard__notify_orchestrator",
967
969
  "mcp__sideboard__set_workspace_tags",
968
970
  "mcp__sideboard__get_viewer_context",
@@ -2018,7 +2020,7 @@ var claudeAdapter = {
2018
2020
  );
2019
2021
  }
2020
2022
  const mode = permissionMode(thread);
2021
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-NMRUGGFF.js");
2023
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-MHE6FCUZ.js");
2022
2024
  const isOrchestrator = isOrchestratorThread2(thread);
2023
2025
  const rpc = worktreeAgentRpc(isOrchestrator);
2024
2026
  const injectedServers = await buildInjectedMcpServers({
@@ -9,16 +9,16 @@ import {
9
9
  looksLikeSkillBody,
10
10
  skillCommandFromBody,
11
11
  withEventParentId
12
- } from "./chunk-Q3DPZ4DE.js";
12
+ } from "./chunk-F36QRDM4.js";
13
13
  import {
14
14
  isOrchestratorThread
15
- } from "./chunk-BGEECLKH.js";
15
+ } from "./chunk-QB4UQA5L.js";
16
16
  import {
17
17
  codexUnattendedGitConfigArgs,
18
18
  mergeAgentGitAuthEnv,
19
19
  resolveAgentGitAuthEnv,
20
20
  resolveCodexGitWritableRoots
21
- } from "./chunk-JWXJXEA3.js";
21
+ } from "./chunk-G52HLBQR.js";
22
22
  import {
23
23
  loadBrightsyConfig
24
24
  } from "./chunk-33KDPEK4.js";
@@ -641,6 +641,7 @@ var WORKTREE_MCP_TOOLS = [
641
641
  "run_dev_script",
642
642
  "stop_dev_script",
643
643
  "get_run_log",
644
+ "get_orchestrator",
644
645
  "notify_orchestrator",
645
646
  "set_workspace_tags",
646
647
  "get_viewer_context",
@@ -706,6 +707,7 @@ var SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS = [
706
707
  "mcp__sideboard__run_dev_script",
707
708
  "mcp__sideboard__stop_dev_script",
708
709
  "mcp__sideboard__get_run_log",
710
+ "mcp__sideboard__get_orchestrator",
709
711
  "mcp__sideboard__notify_orchestrator",
710
712
  "mcp__sideboard__set_workspace_tags",
711
713
  "mcp__sideboard__get_viewer_context",
@@ -1755,7 +1757,7 @@ var claudeAdapter = {
1755
1757
  );
1756
1758
  }
1757
1759
  const mode = permissionMode(thread);
1758
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-47G453ZU.js");
1760
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-I32EWKX3.js");
1759
1761
  const isOrchestrator = isOrchestratorThread2(thread);
1760
1762
  const rpc = worktreeAgentRpc(isOrchestrator);
1761
1763
  const injectedServers = await buildInjectedMcpServers({
@@ -209,7 +209,8 @@ function toolDescription(name, input) {
209
209
  if (/get_run_log$/i.test(name)) {
210
210
  return str(input?.name) ? `Read ${str(input?.name)} log` : "Read Dev log";
211
211
  }
212
- if (/notify_orchestrator$/i.test(name)) return "Notify orchestrator";
212
+ if (/get_orchestrator$/i.test(name)) return "Get orchestrator";
213
+ else if (/notify_orchestrator$/i.test(name)) return "Notify orchestrator";
213
214
  else if (/set_workspace_tags$/i.test(name)) return "Set workspace tags";
214
215
  if (/(?:list|set|delete)_env$/i.test(name)) return /list_env$/i.test(name) ? "List env vars" : /set_env$/i.test(name) ? "Set env var" : "Delete env var";
215
216
  if (/list_schedules$/i.test(name)) return "List schedules";
@@ -5,17 +5,17 @@ import {
5
5
  compactSummaryPart,
6
6
  isInternalAgentStatusText,
7
7
  lastAssistantMessageText
8
- } from "./chunk-ED4ZXQVO.js";
8
+ } from "./chunk-5XQ43YZU.js";
9
9
  import {
10
10
  isCloudCoordinatorThread,
11
11
  isGlobalThread,
12
12
  isOrchestratorThread,
13
13
  isSlackCoordinatorThread
14
- } from "./chunk-WQREAX35.js";
14
+ } from "./chunk-UMALFEDS.js";
15
15
  import {
16
16
  mergeAgentGitAuthEnv,
17
17
  resolveAgentGitAuthEnv
18
- } from "./chunk-VXNZG4J6.js";
18
+ } from "./chunk-3IXGI2FP.js";
19
19
  import {
20
20
  ATTACHMENTS_DIR,
21
21
  DETACHED_JOBS_DIR,
@@ -46,7 +46,7 @@ import {
46
46
  updateThread,
47
47
  worktreeNameFromPath,
48
48
  writeThread
49
- } from "./chunk-TVN4TDFB.js";
49
+ } from "./chunk-HTL4FBTP.js";
50
50
  import {
51
51
  findConventionSetup,
52
52
  loadRepoSettings,
@@ -1674,7 +1674,7 @@ var PORT_RANGE_SIZE = 10;
1674
1674
  var RECLAIM_RETRY_DELAY_MS = 40;
1675
1675
  var RECLAIM_TRIES = 8;
1676
1676
  async function killReclaimable(ports, worktreePath, signal) {
1677
- const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-HJFDYIZD.js");
1677
+ const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-JLHXMMKR.js");
1678
1678
  if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
1679
1679
  else killListenersOnPorts2(ports);
1680
1680
  }
@@ -4,7 +4,7 @@ import {
4
4
  normalizeTakenSlug,
5
5
  normalizeWorktreePath,
6
6
  takenSlugsFromThread
7
- } from "./chunk-WZLV4WNS.js";
7
+ } from "./chunk-K5EACGG2.js";
8
8
  import {
9
9
  ensureWorktreeSideboardIgnored
10
10
  } from "./chunk-2P4XKWV2.js";
@@ -750,6 +750,24 @@ function applyCleanLocalMergeTree(gate) {
750
750
  mergeStateStatus: mergeState === "BEHIND" ? "BEHIND" : mergeState === "UNKNOWN" || !mergeState ? "CLEAN" : gate.mergeStateStatus
751
751
  };
752
752
  }
753
+ function classifyPrMergeIssue(gate) {
754
+ if (!gate) return null;
755
+ if (prIsInMergeQueue(gate)) return null;
756
+ const mergeable = (gate.mergeable ?? "").toUpperCase();
757
+ const mergeState = (gate.mergeStateStatus ?? "").toUpperCase();
758
+ if (mergeable === "CONFLICTING" || mergeState === "DIRTY") return "conflicts";
759
+ if (mergeState === "BEHIND") return "behind";
760
+ return null;
761
+ }
762
+ function mergeStateSuggestsCheckFailure(gate) {
763
+ if (!gate) return false;
764
+ const mergeState = (gate.mergeStateStatus ?? "").toUpperCase();
765
+ if (mergeState === "UNSTABLE") return true;
766
+ if (mergeState === "BLOCKED") {
767
+ return (gate.reviewDecision ?? "").toUpperCase() === "APPROVED";
768
+ }
769
+ return false;
770
+ }
753
771
  function ciChecksFailed(checks) {
754
772
  if (!checks?.length) return false;
755
773
  return checks.some(
@@ -2584,6 +2602,9 @@ function suggestSlug(source) {
2584
2602
  }
2585
2603
 
2586
2604
  export {
2605
+ classifyPrMergeIssue,
2606
+ mergeStateSuggestsCheckFailure,
2607
+ ciChecksFailed,
2587
2608
  GITHUB_PR_BODY_MAX_CHARS,
2588
2609
  GITHUB_PR_BODY_SAFE_CHARS,
2589
2610
  isGhRateLimitError,
@@ -2613,7 +2634,6 @@ export {
2613
2634
  resolveListPrsOptions,
2614
2635
  enqueueByKey,
2615
2636
  withRepoGitLock,
2616
- ciChecksFailed,
2617
2637
  detectGhStack,
2618
2638
  resetGhStackDetectCache,
2619
2639
  parseGhStackViewJson,
@@ -898,6 +898,16 @@ function agentNicknameFromWorktreePath(worktreePath) {
898
898
  if (!soccerTokenFromTakenSlug(dir)) return null;
899
899
  return teamNameFromSlug(dir);
900
900
  }
901
+ function workspaceNameLabel(thread) {
902
+ if (thread.sourceType === "orchestration" || thread.repoPath === "__global__") return null;
903
+ const path = thread.worktreePath?.trim() ?? "";
904
+ if (!path) return null;
905
+ const dir = worktreeNameFromPath(path);
906
+ if (!dir || dir === "/" || dir === ".") return null;
907
+ const repo = thread.repoPath?.trim() ?? "";
908
+ if (repo && worktreeNameFromPath(repo).toLowerCase() === dir.toLowerCase()) return null;
909
+ return agentNicknameFromWorktreePath(path) ?? dir;
910
+ }
901
911
  function worktreeIdentityTitles(thread, parentTitle) {
902
912
  const out = [];
903
913
  const push = (value) => {
@@ -1227,6 +1237,7 @@ export {
1227
1237
  worktreeDisplayLabel,
1228
1238
  worktreeDisplayLabelForGroup,
1229
1239
  agentNicknameFromWorktreePath,
1240
+ workspaceNameLabel,
1230
1241
  worktreeIdentityTitles,
1231
1242
  isWorktreeIdentityTitle,
1232
1243
  resolveThreadEffort,
@@ -2,17 +2,17 @@ import {
2
2
  compactSummaryPart,
3
3
  isInternalAgentStatusText,
4
4
  lastAssistantMessageText
5
- } from "./chunk-Q3DPZ4DE.js";
5
+ } from "./chunk-F36QRDM4.js";
6
6
  import {
7
7
  isCloudCoordinatorThread,
8
8
  isGlobalThread,
9
9
  isOrchestratorThread,
10
10
  isSlackCoordinatorThread
11
- } from "./chunk-BGEECLKH.js";
11
+ } from "./chunk-QB4UQA5L.js";
12
12
  import {
13
13
  mergeAgentGitAuthEnv,
14
14
  resolveAgentGitAuthEnv
15
- } from "./chunk-JWXJXEA3.js";
15
+ } from "./chunk-G52HLBQR.js";
16
16
  import {
17
17
  allocateTeamName,
18
18
  createEmptyThread,
@@ -23,7 +23,7 @@ import {
23
23
  updateThread,
24
24
  worktreeNameFromPath,
25
25
  writeThread
26
- } from "./chunk-WZLV4WNS.js";
26
+ } from "./chunk-K5EACGG2.js";
27
27
  import {
28
28
  ensureWorktreeSideboardIgnored
29
29
  } from "./chunk-2P4XKWV2.js";
@@ -1776,7 +1776,7 @@ var PORT_RANGE_SIZE = 10;
1776
1776
  var RECLAIM_RETRY_DELAY_MS = 40;
1777
1777
  var RECLAIM_TRIES = 8;
1778
1778
  async function killReclaimable(ports, worktreePath, signal) {
1779
- const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-ZXDIA6OF.js");
1779
+ const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-UQDDDW35.js");
1780
1780
  if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
1781
1781
  else killListenersOnPorts2(ports);
1782
1782
  }