@sideboard-ai/core 0.1.241 → 0.1.243

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 (52) hide show
  1. package/dist/{abletime-VSV6AUBV.js → abletime-CWIJ7INC.js} +4 -4
  2. package/dist/{abletime-UX4VUENQ.js → abletime-OI6FNSXX.js} +4 -4
  3. package/dist/{abletime-oauth-DKBUZV2C.js → abletime-oauth-CHVTUZBR.js} +3 -3
  4. package/dist/{abletime-oauth-QMDV45JC.js → abletime-oauth-PUIPZTA4.js} +3 -3
  5. package/dist/{abletime-rest-NL56UVK5.js → abletime-rest-32NIVXAY.js} +3 -3
  6. package/dist/{abletime-rest-VPBC2XS5.js → abletime-rest-APJUKFKL.js} +3 -3
  7. package/dist/{agents-CDQCQVWU.js → agents-CPME6O2H.js} +9 -5
  8. package/dist/{agents-PBRIHUYM.js → agents-VKO5UZO6.js} +9 -5
  9. package/dist/{app-settings-AGDLF75Z.js → app-settings-652J57CX.js} +1 -1
  10. package/dist/{app-settings-I27UBVI4.js → app-settings-VOPXJMGV.js} +1 -1
  11. package/dist/{chunk-BILEJG3V.js → chunk-3P5OCI2X.js} +3 -3
  12. package/dist/{chunk-3PGFAVFL.js → chunk-43F44EKX.js} +2 -2
  13. package/dist/{chunk-3AJUH66R.js → chunk-6I5YQTNK.js} +2 -1
  14. package/dist/{chunk-NJ5OXOTN.js → chunk-7HOKP4GR.js} +2 -1
  15. package/dist/{chunk-TB6UMHIF.js → chunk-7UCZ4DRF.js} +2 -2
  16. package/dist/{chunk-DXY4K5MP.js → chunk-BL2UGKWU.js} +3 -3
  17. package/dist/{chunk-CWHMLCLN.js → chunk-C64YQAA6.js} +3 -3
  18. package/dist/{chunk-O3UAQAYA.js → chunk-CCD2QIFK.js} +2 -2
  19. package/dist/{chunk-63UHRQ64.js → chunk-DARSRQUE.js} +1523 -1450
  20. package/dist/{chunk-OKHOYI53.js → chunk-ECZTXNYR.js} +3 -3
  21. package/dist/{chunk-CRAXJAYJ.js → chunk-G45QP2ZD.js} +3 -3
  22. package/dist/{chunk-3Q4PVZ3U.js → chunk-HR4RNC73.js} +32 -5
  23. package/dist/{chunk-YXOOSFAF.js → chunk-IMO7AZI4.js} +2 -2
  24. package/dist/{chunk-QXYWLO6W.js → chunk-ISZERVDT.js} +28 -5
  25. package/dist/{chunk-EE3REM4B.js → chunk-NEOAHPMK.js} +1582 -1505
  26. package/dist/{chunk-DJU54RYW.js → chunk-PGPSIEMW.js} +13 -0
  27. package/dist/{chunk-P3DCZRER.js → chunk-PPJ5JTWA.js} +1 -0
  28. package/dist/{chunk-5ELC3KK3.js → chunk-QNJXJIWJ.js} +5 -5
  29. package/dist/{chunk-JFOPOMK7.js → chunk-WDDUIGFK.js} +13 -0
  30. package/dist/{chunk-IVXPXYH2.js → chunk-WURF67ID.js} +5 -5
  31. package/dist/{chunk-QLWMHQPH.js → chunk-YLGBQVRK.js} +1 -0
  32. package/dist/{coordinator-prompt-5UINTEA6.js → coordinator-prompt-AJ3E6LBX.js} +4 -4
  33. package/dist/{coordinator-prompt-ATK73HYU.js → coordinator-prompt-PYIRQGU7.js} +4 -4
  34. package/dist/{global-workspace-TD5SARNW.js → global-workspace-GIQ6F6IJ.js} +4 -4
  35. package/dist/{global-workspace-ZJBBICFJ.js → global-workspace-GQM653DP.js} +4 -4
  36. package/dist/index.cjs +609 -463
  37. package/dist/index.d.cts +56 -2
  38. package/dist/index.d.ts +56 -2
  39. package/dist/index.js +74 -38
  40. package/dist/mcp/run-stdio.cjs +1029 -908
  41. package/dist/mcp/run-stdio.js +50 -36
  42. package/dist/{orchestrator-ZUOEBJFN.js → orchestrator-3IOISDFS.js} +7 -7
  43. package/dist/{orchestrator-7AJEFWGQ.js → orchestrator-YDPDMXUY.js} +7 -7
  44. package/dist/{plan-file-UUKCZEYP.js → plan-file-7MMIPV7Y.js} +9 -1
  45. package/dist/{plan-file-2EPHYRX7.js → plan-file-CKXUFTQ2.js} +9 -1
  46. package/dist/{thread-store-YOPKY74K.js → thread-store-JQB7KZJR.js} +1 -1
  47. package/dist/{thread-store-AYPBEZT5.js → thread-store-SCV2IZYS.js} +1 -1
  48. package/dist/{workspaces-4SFSCYKT.js → workspaces-OIBSD5B6.js} +4 -4
  49. package/dist/{workspaces-JX5R4V24.js → workspaces-WYC5TLC3.js} +4 -4
  50. package/dist/{worktree-Y5FES5D6.js → worktree-5VRZVGP3.js} +3 -3
  51. package/dist/{worktree-AGVPKDBH.js → worktree-DGDM7LGV.js} +3 -3
  52. package/package.json +1 -1
@@ -19,6 +19,15 @@ function isPresentPlanToolName(name) {
19
19
  if (!name) return false;
20
20
  return /present_plan$/i.test(name) || /^mcp__sideboard__present_plan$/i.test(name);
21
21
  }
22
+ function threadMayPresentPlan(thread) {
23
+ return Boolean(thread?.planMode);
24
+ }
25
+ function shouldRegisterPresentPlan(thread) {
26
+ if (thread == null) return true;
27
+ return threadMayPresentPlan(thread);
28
+ }
29
+ var PRESENT_PLAN_TOOL_DESCRIPTION = "Only when Sideboard Plan mode is on (composer Plan chip). Saves the implementation plan to .context/attachments/plan.md and shows Approve / Hand off / Copy in chat. Pass the full plan body in content. Then Claude should call ExitPlanMode. If Plan mode is off, do not call this \u2014 write the plan in chat.";
30
+ var PRESENT_PLAN_REQUIRES_PLAN_MODE = "Plan mode is off. Do not call present_plan or ExitPlanMode. Write the plan in chat. The user can turn Plan on in the composer.";
22
31
  function extractPresentedPlan(parts) {
23
32
  if (!parts?.length) return null;
24
33
  for (let i = parts.length - 1; i >= 0; i--) {
@@ -93,6 +102,10 @@ export {
93
102
  PLAN_FILE_NAME,
94
103
  LEGACY_PLAN_FILE_REL,
95
104
  isPresentPlanToolName,
105
+ threadMayPresentPlan,
106
+ shouldRegisterPresentPlan,
107
+ PRESENT_PLAN_TOOL_DESCRIPTION,
108
+ PRESENT_PLAN_REQUIRES_PLAN_MODE,
96
109
  extractPresentedPlan,
97
110
  resolvePlanMarkdown,
98
111
  planFileAbs,
@@ -462,6 +462,7 @@ function archivedUpdatedMs(thread) {
462
462
  }
463
463
  function isHistoryRetentionStub(thread) {
464
464
  if ((thread.attachments?.length ?? 0) > 0) return false;
465
+ if ((thread.compactedMessages?.length ?? 0) > 0) return false;
465
466
  const messages = thread.messages ?? [];
466
467
  if (messages.length === 0) return true;
467
468
  if (messages.length > 1) return false;
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  getAbleTimeHost,
6
6
  isAbleTimeConnected
7
- } from "./chunk-P3DCZRER.js";
7
+ } from "./chunk-PPJ5JTWA.js";
8
8
 
9
9
  // src/integrations/abletime-mcp.ts
10
10
  var DEFAULT_ABLETIME_HOST = "https://track.abletime.com";
@@ -153,7 +153,7 @@ function textsFromUnknown(value) {
153
153
  return "";
154
154
  }
155
155
  async function abletimeMcpRequest(method, params, opts) {
156
- const rawToken = opts?.token ?? await import("./abletime-oauth-QMDV45JC.js").then((m) => m.ensureAbleTimeAccessToken());
156
+ const rawToken = opts?.token ?? await import("./abletime-oauth-PUIPZTA4.js").then((m) => m.ensureAbleTimeAccessToken());
157
157
  if (!rawToken?.trim()) {
158
158
  throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
159
159
  }
@@ -224,9 +224,9 @@ async function callAbleTimeTool(name, args = {}, opts) {
224
224
  if (!opts?.token && !isAbleTimeConnected()) {
225
225
  throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
226
226
  }
227
- const rawToken = opts?.token ?? await import("./abletime-oauth-QMDV45JC.js").then((m) => m.ensureAbleTimeAccessToken());
227
+ const rawToken = opts?.token ?? await import("./abletime-oauth-PUIPZTA4.js").then((m) => m.ensureAbleTimeAccessToken());
228
228
  if (rawToken && ableTimeUsesRest(rawToken)) {
229
- const { callAbleTimeRestTool } = await import("./abletime-rest-NL56UVK5.js");
229
+ const { callAbleTimeRestTool } = await import("./abletime-rest-32NIVXAY.js");
230
230
  return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
231
231
  }
232
232
  const requestOpts = { ...opts, pm: opts?.pm ?? abletimeToolUsesPm(name) };
@@ -242,7 +242,7 @@ async function callAbleTimeTool(name, args = {}, opts) {
242
242
  return await call();
243
243
  }
244
244
  if (rawToken && ableTimeUsesRest(rawToken) && isAbleTimeRejectedCredential(message)) {
245
- const { callAbleTimeRestTool } = await import("./abletime-rest-NL56UVK5.js");
245
+ const { callAbleTimeRestTool } = await import("./abletime-rest-32NIVXAY.js");
246
246
  return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
247
247
  }
248
248
  throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
@@ -21,6 +21,15 @@ function isPresentPlanToolName(name) {
21
21
  if (!name) return false;
22
22
  return /present_plan$/i.test(name) || /^mcp__sideboard__present_plan$/i.test(name);
23
23
  }
24
+ function threadMayPresentPlan(thread) {
25
+ return Boolean(thread?.planMode);
26
+ }
27
+ function shouldRegisterPresentPlan(thread) {
28
+ if (thread == null) return true;
29
+ return threadMayPresentPlan(thread);
30
+ }
31
+ var PRESENT_PLAN_TOOL_DESCRIPTION = "Only when Sideboard Plan mode is on (composer Plan chip). Saves the implementation plan to .context/attachments/plan.md and shows Approve / Hand off / Copy in chat. Pass the full plan body in content. Then Claude should call ExitPlanMode. If Plan mode is off, do not call this \u2014 write the plan in chat.";
32
+ var PRESENT_PLAN_REQUIRES_PLAN_MODE = "Plan mode is off. Do not call present_plan or ExitPlanMode. Write the plan in chat. The user can turn Plan on in the composer.";
24
33
  function extractPresentedPlan(parts) {
25
34
  if (!parts?.length) return null;
26
35
  for (let i = parts.length - 1; i >= 0; i--) {
@@ -95,6 +104,10 @@ export {
95
104
  PLAN_FILE_NAME,
96
105
  LEGACY_PLAN_FILE_REL,
97
106
  isPresentPlanToolName,
107
+ threadMayPresentPlan,
108
+ shouldRegisterPresentPlan,
109
+ PRESENT_PLAN_TOOL_DESCRIPTION,
110
+ PRESENT_PLAN_REQUIRES_PLAN_MODE,
98
111
  extractPresentedPlan,
99
112
  resolvePlanMarkdown,
100
113
  planFileAbs,
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  getAbleTimeHost,
8
8
  isAbleTimeConnected
9
- } from "./chunk-QLWMHQPH.js";
9
+ } from "./chunk-YLGBQVRK.js";
10
10
 
11
11
  // src/integrations/abletime-mcp.ts
12
12
  var DEFAULT_ABLETIME_HOST = "https://track.abletime.com";
@@ -155,7 +155,7 @@ function textsFromUnknown(value) {
155
155
  return "";
156
156
  }
157
157
  async function abletimeMcpRequest(method, params, opts) {
158
- const rawToken = opts?.token ?? await import("./abletime-oauth-DKBUZV2C.js").then((m) => m.ensureAbleTimeAccessToken());
158
+ const rawToken = opts?.token ?? await import("./abletime-oauth-CHVTUZBR.js").then((m) => m.ensureAbleTimeAccessToken());
159
159
  if (!rawToken?.trim()) {
160
160
  throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
161
161
  }
@@ -226,9 +226,9 @@ async function callAbleTimeTool(name, args = {}, opts) {
226
226
  if (!opts?.token && !isAbleTimeConnected()) {
227
227
  throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
228
228
  }
229
- const rawToken = opts?.token ?? await import("./abletime-oauth-DKBUZV2C.js").then((m) => m.ensureAbleTimeAccessToken());
229
+ const rawToken = opts?.token ?? await import("./abletime-oauth-CHVTUZBR.js").then((m) => m.ensureAbleTimeAccessToken());
230
230
  if (rawToken && ableTimeUsesRest(rawToken)) {
231
- const { callAbleTimeRestTool } = await import("./abletime-rest-VPBC2XS5.js");
231
+ const { callAbleTimeRestTool } = await import("./abletime-rest-APJUKFKL.js");
232
232
  return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
233
233
  }
234
234
  const requestOpts = { ...opts, pm: opts?.pm ?? abletimeToolUsesPm(name) };
@@ -244,7 +244,7 @@ async function callAbleTimeTool(name, args = {}, opts) {
244
244
  return await call();
245
245
  }
246
246
  if (rawToken && ableTimeUsesRest(rawToken) && isAbleTimeRejectedCredential(message)) {
247
- const { callAbleTimeRestTool } = await import("./abletime-rest-VPBC2XS5.js");
247
+ const { callAbleTimeRestTool } = await import("./abletime-rest-APJUKFKL.js");
248
248
  return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
249
249
  }
250
250
  throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
@@ -444,6 +444,7 @@ function archivedUpdatedMs(thread) {
444
444
  }
445
445
  function isHistoryRetentionStub(thread) {
446
446
  if ((thread.attachments?.length ?? 0) > 0) return false;
447
+ if ((thread.compactedMessages?.length ?? 0) > 0) return false;
447
448
  const messages = thread.messages ?? [];
448
449
  if (messages.length === 0) return true;
449
450
  if (messages.length > 1) return false;
@@ -7,14 +7,14 @@ import {
7
7
  enrichWorkspacesWithGithub,
8
8
  ensureGlobalCoordinatorCwd,
9
9
  formatWorkspaceInventory
10
- } from "./chunk-BILEJG3V.js";
11
- import "./chunk-O3UAQAYA.js";
10
+ } from "./chunk-3P5OCI2X.js";
11
+ import "./chunk-CCD2QIFK.js";
12
12
  import "./chunk-6K64FJDD.js";
13
13
  import "./chunk-2P4XKWV2.js";
14
- import "./chunk-P3DCZRER.js";
14
+ import "./chunk-PPJ5JTWA.js";
15
15
  import "./chunk-WDRMZKVB.js";
16
16
  import "./chunk-JT7R45JB.js";
17
- import "./chunk-3AJUH66R.js";
17
+ import "./chunk-6I5YQTNK.js";
18
18
  import "./chunk-224IXQOM.js";
19
19
  import "./chunk-77WWLBCI.js";
20
20
  import "./chunk-A4JGXX2F.js";
@@ -9,14 +9,14 @@ import {
9
9
  enrichWorkspacesWithGithub,
10
10
  ensureGlobalCoordinatorCwd,
11
11
  formatWorkspaceInventory
12
- } from "./chunk-OKHOYI53.js";
13
- import "./chunk-TB6UMHIF.js";
12
+ } from "./chunk-ECZTXNYR.js";
13
+ import "./chunk-7UCZ4DRF.js";
14
14
  import "./chunk-D6JWYJ4P.js";
15
- import "./chunk-NJ5OXOTN.js";
15
+ import "./chunk-7HOKP4GR.js";
16
16
  import "./chunk-N6XI5KXL.js";
17
17
  import "./chunk-DD67JWTN.js";
18
18
  import "./chunk-2UG25RMK.js";
19
- import "./chunk-QLWMHQPH.js";
19
+ import "./chunk-YLGBQVRK.js";
20
20
  import "./chunk-NSTQ6QKD.js";
21
21
  import "./chunk-KGZBYWZ3.js";
22
22
  import "./chunk-KK63BFYN.js";
@@ -17,14 +17,14 @@ import {
17
17
  orchestratorSessionPoisonedByBuiltins,
18
18
  slackCoordinatorSourceRef,
19
19
  takenTeamSlugsForOrchestration
20
- } from "./chunk-OKHOYI53.js";
21
- import "./chunk-TB6UMHIF.js";
20
+ } from "./chunk-ECZTXNYR.js";
21
+ import "./chunk-7UCZ4DRF.js";
22
22
  import "./chunk-D6JWYJ4P.js";
23
- import "./chunk-NJ5OXOTN.js";
23
+ import "./chunk-7HOKP4GR.js";
24
24
  import "./chunk-N6XI5KXL.js";
25
25
  import "./chunk-DD67JWTN.js";
26
26
  import "./chunk-2UG25RMK.js";
27
- import "./chunk-QLWMHQPH.js";
27
+ import "./chunk-YLGBQVRK.js";
28
28
  import "./chunk-NSTQ6QKD.js";
29
29
  import "./chunk-KGZBYWZ3.js";
30
30
  import {
@@ -15,14 +15,14 @@ import {
15
15
  orchestratorSessionPoisonedByBuiltins,
16
16
  slackCoordinatorSourceRef,
17
17
  takenTeamSlugsForOrchestration
18
- } from "./chunk-BILEJG3V.js";
19
- import "./chunk-O3UAQAYA.js";
18
+ } from "./chunk-3P5OCI2X.js";
19
+ import "./chunk-CCD2QIFK.js";
20
20
  import "./chunk-6K64FJDD.js";
21
21
  import "./chunk-2P4XKWV2.js";
22
- import "./chunk-P3DCZRER.js";
22
+ import "./chunk-PPJ5JTWA.js";
23
23
  import "./chunk-WDRMZKVB.js";
24
24
  import "./chunk-JT7R45JB.js";
25
- import "./chunk-3AJUH66R.js";
25
+ import "./chunk-6I5YQTNK.js";
26
26
  import "./chunk-224IXQOM.js";
27
27
  import "./chunk-77WWLBCI.js";
28
28
  import {