@sideboard-ai/core 0.1.124 → 0.1.127

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 (39) hide show
  1. package/dist/{agents-DPR2TDNF.js → agents-7BUQY2WX.js} +6 -6
  2. package/dist/{agents-DCXXLTXF.js → agents-X2I3RNCY.js} +6 -6
  3. package/dist/{app-settings-YFWV7MOG.js → app-settings-6RPALX4J.js} +7 -1
  4. package/dist/{app-settings-IKFWZDUK.js → app-settings-E7NEQY7D.js} +7 -1
  5. package/dist/{chunk-SDCPQL27.js → chunk-DLM5LSQW.js} +484 -93
  6. package/dist/{chunk-RG737OWT.js → chunk-G6X6UFJO.js} +2 -0
  7. package/dist/{chunk-HPAWHIZ3.js → chunk-HLJUNJBF.js} +2 -0
  8. package/dist/{chunk-OHEFHIG3.js → chunk-HRSBZIXS.js} +14 -6
  9. package/dist/{chunk-KWGP6RZM.js → chunk-HULESWLI.js} +4 -4
  10. package/dist/{chunk-FXQPY2KU.js → chunk-HUYEU4GS.js} +26 -4
  11. package/dist/{chunk-2X7I6MDW.js → chunk-HZPO3SSZ.js} +11 -8
  12. package/dist/{chunk-O43IRQ2Y.js → chunk-MNL4FSKY.js} +4 -4
  13. package/dist/{chunk-7Y3AYQWT.js → chunk-NV73AO7Q.js} +4 -4
  14. package/dist/{chunk-TRTWH6C2.js → chunk-RSFCB23A.js} +11 -8
  15. package/dist/{chunk-RBVVWBVB.js → chunk-SYLTXDRF.js} +2 -2
  16. package/dist/{chunk-MZDAEI3Y.js → chunk-T7KJQJAX.js} +496 -109
  17. package/dist/{chunk-UAVZ2JSO.js → chunk-UDQI3N47.js} +14 -6
  18. package/dist/{chunk-HZLE6LJJ.js → chunk-VE22NWBD.js} +2 -2
  19. package/dist/{chunk-JNAIKICO.js → chunk-ZMUOPTKZ.js} +4 -4
  20. package/dist/{chunk-BMIRX64H.js → chunk-ZND6XV6J.js} +26 -4
  21. package/dist/{coordinator-prompt-AZ3WRDNC.js → coordinator-prompt-MEEUOEF2.js} +4 -4
  22. package/dist/{coordinator-prompt-LEU62W25.js → coordinator-prompt-SPJSGAQS.js} +4 -4
  23. package/dist/{global-workspace-U5UOVXKQ.js → global-workspace-BMWP7YZC.js} +5 -5
  24. package/dist/{global-workspace-4YNYDMLQ.js → global-workspace-KNESLWKG.js} +5 -5
  25. package/dist/index.cjs +1208 -236
  26. package/dist/index.d.cts +303 -103
  27. package/dist/index.d.ts +303 -103
  28. package/dist/index.js +671 -129
  29. package/dist/mcp/run-stdio.cjs +1054 -194
  30. package/dist/mcp/run-stdio.js +554 -114
  31. package/dist/{orchestrator-VJQ5EWZZ.js → orchestrator-3JLPPTCF.js} +8 -8
  32. package/dist/{orchestrator-JS3EHI4E.js → orchestrator-6GUCE4LY.js} +8 -8
  33. package/dist/{thread-store-JR235AWK.js → thread-store-5MLYY35S.js} +1 -1
  34. package/dist/{thread-store-PMH3BMB6.js → thread-store-F6BCARQG.js} +1 -1
  35. package/dist/{workspaces-ICK433ZV.js → workspaces-HSYRYJYV.js} +6 -6
  36. package/dist/{workspaces-POWKTH2D.js → workspaces-O4QZOASB.js} +6 -6
  37. package/dist/{worktree-CMGBTVN4.js → worktree-ERHC7Q4F.js} +5 -3
  38. package/dist/{worktree-T57RD7BQ.js → worktree-JVGSLSLJ.js} +5 -3
  39. package/package.json +1 -1
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  getGithubGitAuthMode,
6
6
  getGithubPat
7
- } from "./chunk-FXQPY2KU.js";
7
+ } from "./chunk-HUYEU4GS.js";
8
8
  import {
9
9
  listThreads
10
- } from "./chunk-HPAWHIZ3.js";
10
+ } from "./chunk-HLJUNJBF.js";
11
11
  import {
12
12
  worktreesRoot
13
13
  } from "./chunk-QZQEXME2.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-DVM4ID64.js";
19
19
 
20
20
  // src/git/worktree.ts
21
- import { existsSync as existsSync2, readdirSync } from "fs";
21
+ import { existsSync as existsSync2, readdirSync, realpathSync } from "fs";
22
22
  import { join as join2 } from "path";
23
23
 
24
24
  // src/git/team-meta.ts
@@ -1522,7 +1522,14 @@ function slugify(input) {
1522
1522
  }
1523
1523
  async function resolveRepoRoot(cwd) {
1524
1524
  const { stdout } = await git(["rev-parse", "--show-toplevel"], cwd);
1525
- return stdout.trim();
1525
+ return canonicalizeRepoPath(stdout.trim());
1526
+ }
1527
+ function canonicalizeRepoPath(path) {
1528
+ try {
1529
+ return realpathSync(path);
1530
+ } catch {
1531
+ return path.replace(/\/+$/, "");
1532
+ }
1526
1533
  }
1527
1534
  function parseGithubSlugFromRemoteUrl(url) {
1528
1535
  const trimmed = url.trim().replace(/\.git$/i, "");
@@ -1708,9 +1715,9 @@ async function listPrs(repoPath) {
1708
1715
  "pr",
1709
1716
  "list",
1710
1717
  "--json",
1711
- "number,title,headRefName,url,isCrossRepository",
1718
+ "number,title,headRefName,url,isCrossRepository,author",
1712
1719
  "--limit",
1713
- "50"
1720
+ "200"
1714
1721
  ];
1715
1722
  if (slug) args.push("--repo", slug);
1716
1723
  const { stdout, exitCode } = await gh(args, repoPath, { reject: false });
@@ -2696,6 +2703,7 @@ export {
2696
2703
  checkoutPrStackLayer,
2697
2704
  slugify,
2698
2705
  resolveRepoRoot,
2706
+ canonicalizeRepoPath,
2699
2707
  parseGithubSlugFromRemoteUrl,
2700
2708
  resolveGithubRepoSlug,
2701
2709
  ghRepoSelectArgs,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  isGlobalRepoPath
3
- } from "./chunk-KWGP6RZM.js";
3
+ } from "./chunk-HULESWLI.js";
4
4
  import {
5
5
  ensureGhPreferOrigin,
6
6
  resolveRepoRoot
7
- } from "./chunk-UAVZ2JSO.js";
7
+ } from "./chunk-UDQI3N47.js";
8
8
  import {
9
9
  appDataDir
10
10
  } from "./chunk-QZQEXME2.js";
@@ -9,13 +9,13 @@ import {
9
9
  } from "./chunk-YMRT2DU6.js";
10
10
  import {
11
11
  isOrchestratorThread
12
- } from "./chunk-O43IRQ2Y.js";
12
+ } from "./chunk-MNL4FSKY.js";
13
13
  import {
14
14
  codexUnattendedGitConfigArgs,
15
15
  mergeAgentGitAuthEnv,
16
16
  resolveAgentGitAuthEnv,
17
17
  resolveCodexGitWritableRoots
18
- } from "./chunk-OHEFHIG3.js";
18
+ } from "./chunk-HRSBZIXS.js";
19
19
  import {
20
20
  enrichPathWithNpmGlobalBin,
21
21
  isConductorBundledCli,
@@ -31,7 +31,7 @@ import {
31
31
  resolveClaudeExecutable,
32
32
  unwrapStrippedElectronLaunch,
33
33
  wrapElectronAsNodeLaunch
34
- } from "./chunk-BMIRX64H.js";
34
+ } from "./chunk-ZND6XV6J.js";
35
35
  import {
36
36
  appDataDir
37
37
  } from "./chunk-BD2ICC4D.js";
@@ -2004,7 +2004,7 @@ var claudeAdapter = {
2004
2004
  );
2005
2005
  }
2006
2006
  const mode = permissionMode(thread);
2007
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-4YNYDMLQ.js");
2007
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-KNESLWKG.js");
2008
2008
  const isOrchestrator = isOrchestratorThread2(thread);
2009
2009
  const injectedServers = await buildInjectedMcpServers({
2010
2010
  includeSideboard: true,
@@ -233,6 +233,20 @@ function normalizeVault(raw) {
233
233
  return out;
234
234
  }
235
235
 
236
+ // src/store/issue-source-labels.ts
237
+ var ISSUE_SOURCE_LABELS = {
238
+ github: "GitHub",
239
+ linear: "Linear",
240
+ abletime: "AbleTime"
241
+ };
242
+ function issueSourceLabel(source) {
243
+ if (source && source in ISSUE_SOURCE_LABELS) {
244
+ return ISSUE_SOURCE_LABELS[source];
245
+ }
246
+ const trimmed = source?.trim();
247
+ return trimmed || "Issues";
248
+ }
249
+
236
250
  // src/store/app-settings.ts
237
251
  var HARNESS_ENV_KEYS = {
238
252
  claude: "ANTHROPIC_API_KEY",
@@ -340,7 +354,7 @@ function normalizeBrightsy(raw) {
340
354
  }
341
355
  return out;
342
356
  }
343
- var ISSUE_SOURCES = /* @__PURE__ */ new Set(["linear", "github"]);
357
+ var ISSUE_SOURCES = /* @__PURE__ */ new Set(["linear", "github", "abletime"]);
344
358
  var GIT_AUTH_MODES = new Set(GITHUB_GIT_AUTH_MODES);
345
359
  function normalizeIntegrations(raw) {
346
360
  if (!raw || typeof raw !== "object") return {};
@@ -923,10 +937,15 @@ function getGithubPat(settings = loadAppSettings()) {
923
937
  const pat = settings.integrations.githubPat?.trim();
924
938
  return pat || null;
925
939
  }
940
+ function isIssueSourceConnected(source, settings = loadAppSettings()) {
941
+ if (source === "github") return true;
942
+ if (source === "linear") return isLinearConnected(settings);
943
+ return false;
944
+ }
926
945
  function resolveEffectiveIssueSource(settings = loadAppSettings()) {
927
946
  const preferred = getIssueSource(settings);
928
- if (preferred === "linear" && !isLinearConnected(settings)) return "github";
929
- return preferred;
947
+ if (isIssueSourceConnected(preferred, settings)) return preferred;
948
+ return "github";
930
949
  }
931
950
  function getLinearApiKey(settings = loadAppSettings()) {
932
951
  const key = settings.integrations.linearApiKey?.trim();
@@ -1081,7 +1100,7 @@ function maxConcurrentAgents(settings = loadAppSettings()) {
1081
1100
  if (typeof n === "number" && Number.isFinite(n)) {
1082
1101
  return Math.max(1, Math.min(32, Math.floor(n)));
1083
1102
  }
1084
- return 3;
1103
+ return 5;
1085
1104
  }
1086
1105
  function resolveClaudeExecutable(settings = loadAppSettings()) {
1087
1106
  return resolveAgentExecutable("claude", settings);
@@ -1158,6 +1177,8 @@ export {
1158
1177
  readSecureJson,
1159
1178
  writeSecureJson,
1160
1179
  isSecureFileEncrypted,
1180
+ ISSUE_SOURCE_LABELS,
1181
+ issueSourceLabel,
1161
1182
  HARNESS_ENV_KEYS,
1162
1183
  GITHUB_GIT_AUTH_MODES,
1163
1184
  toPublicAppSettings,
@@ -1184,6 +1205,7 @@ export {
1184
1205
  getIssueSource,
1185
1206
  getGithubGitAuthMode,
1186
1207
  getGithubPat,
1208
+ isIssueSourceConnected,
1187
1209
  resolveEffectiveIssueSource,
1188
1210
  getLinearApiKey,
1189
1211
  brightsyCloudConnectEnabled,
@@ -7,13 +7,13 @@ import {
7
7
  enrichWorkspacesWithGithub,
8
8
  ensureGlobalCoordinatorCwd,
9
9
  formatWorkspaceInventory
10
- } from "./chunk-2X7I6MDW.js";
11
- import "./chunk-UAVZ2JSO.js";
10
+ } from "./chunk-HZPO3SSZ.js";
11
+ import "./chunk-UDQI3N47.js";
12
12
  import "./chunk-FKOIHGKV.js";
13
- import "./chunk-FXQPY2KU.js";
13
+ import "./chunk-HUYEU4GS.js";
14
14
  import "./chunk-4TR3HZFT.js";
15
15
  import "./chunk-JT7R45JB.js";
16
- import "./chunk-HPAWHIZ3.js";
16
+ import "./chunk-HLJUNJBF.js";
17
17
  import "./chunk-77WWLBCI.js";
18
18
  import "./chunk-QZQEXME2.js";
19
19
  import "./chunk-DVM4ID64.js";
@@ -9,12 +9,12 @@ import {
9
9
  enrichWorkspacesWithGithub,
10
10
  ensureGlobalCoordinatorCwd,
11
11
  formatWorkspaceInventory
12
- } from "./chunk-TRTWH6C2.js";
13
- import "./chunk-OHEFHIG3.js";
12
+ } from "./chunk-RSFCB23A.js";
13
+ import "./chunk-HRSBZIXS.js";
14
14
  import "./chunk-B3SJXYIJ.js";
15
- import "./chunk-RG737OWT.js";
15
+ import "./chunk-G6X6UFJO.js";
16
16
  import "./chunk-KPIYENTF.js";
17
- import "./chunk-BMIRX64H.js";
17
+ import "./chunk-ZND6XV6J.js";
18
18
  import "./chunk-NSTQ6QKD.js";
19
19
  import "./chunk-KGZBYWZ3.js";
20
20
  import "./chunk-BD2ICC4D.js";
@@ -15,14 +15,14 @@ import {
15
15
  orchestratorSessionPoisonedByBuiltins,
16
16
  slackCoordinatorSourceRef,
17
17
  takenTeamSlugsForOrchestration
18
- } from "./chunk-KWGP6RZM.js";
19
- import "./chunk-2X7I6MDW.js";
20
- import "./chunk-UAVZ2JSO.js";
18
+ } from "./chunk-HULESWLI.js";
19
+ import "./chunk-HZPO3SSZ.js";
20
+ import "./chunk-UDQI3N47.js";
21
21
  import "./chunk-FKOIHGKV.js";
22
- import "./chunk-FXQPY2KU.js";
22
+ import "./chunk-HUYEU4GS.js";
23
23
  import "./chunk-4TR3HZFT.js";
24
24
  import "./chunk-JT7R45JB.js";
25
- import "./chunk-HPAWHIZ3.js";
25
+ import "./chunk-HLJUNJBF.js";
26
26
  import "./chunk-77WWLBCI.js";
27
27
  import {
28
28
  globalAgentCwd
@@ -17,13 +17,13 @@ import {
17
17
  orchestratorSessionPoisonedByBuiltins,
18
18
  slackCoordinatorSourceRef,
19
19
  takenTeamSlugsForOrchestration
20
- } from "./chunk-O43IRQ2Y.js";
21
- import "./chunk-TRTWH6C2.js";
22
- import "./chunk-OHEFHIG3.js";
20
+ } from "./chunk-MNL4FSKY.js";
21
+ import "./chunk-RSFCB23A.js";
22
+ import "./chunk-HRSBZIXS.js";
23
23
  import "./chunk-B3SJXYIJ.js";
24
- import "./chunk-RG737OWT.js";
24
+ import "./chunk-G6X6UFJO.js";
25
25
  import "./chunk-KPIYENTF.js";
26
- import "./chunk-BMIRX64H.js";
26
+ import "./chunk-ZND6XV6J.js";
27
27
  import "./chunk-NSTQ6QKD.js";
28
28
  import "./chunk-KGZBYWZ3.js";
29
29
  import {