@sideboard-ai/core 0.1.242 → 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-LRMJ6V6U.js → chunk-DARSRQUE.js} +1503 -1462
  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-R3YKDTVE.js → chunk-NEOAHPMK.js} +1569 -1526
  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 +574 -464
  37. package/dist/index.d.cts +43 -3
  38. package/dist/index.d.ts +43 -3
  39. package/dist/index.js +70 -38
  40. package/dist/mcp/run-stdio.cjs +1633 -1544
  41. package/dist/mcp/run-stdio.js +50 -36
  42. package/dist/{orchestrator-66ZFQHW5.js → orchestrator-3IOISDFS.js} +7 -7
  43. package/dist/{orchestrator-VYNPNHY4.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
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  parseAbleTimeOAuthCallbackUrl,
21
21
  resolveAbleTimeOAuthHost,
22
22
  startAbleTimeOAuth
23
- } from "./chunk-CWHMLCLN.js";
23
+ } from "./chunk-C64YQAA6.js";
24
24
  import {
25
25
  ableTimeDependencyTarget,
26
26
  commentAbleTimeTask,
@@ -38,8 +38,8 @@ import {
38
38
  toAbleTimeIssueInfo,
39
39
  updateAbleTimeTask,
40
40
  verifyAbleTimeConnection
41
- } from "./chunk-CRAXJAYJ.js";
42
- import "./chunk-3PGFAVFL.js";
41
+ } from "./chunk-G45QP2ZD.js";
42
+ import "./chunk-43F44EKX.js";
43
43
  import {
44
44
  ABLETIME_MCP_PATH,
45
45
  ABLETIME_MCP_PM_PATH,
@@ -60,7 +60,7 @@ import {
60
60
  normalizeAbleTimeCredential,
61
61
  normalizeAbleTimeHost,
62
62
  rewriteAbleTimeError
63
- } from "./chunk-5ELC3KK3.js";
63
+ } from "./chunk-QNJXJIWJ.js";
64
64
  import {
65
65
  AGENT_GIT_ACTIONS,
66
66
  BOARD_COLUMN_DEFS,
@@ -107,6 +107,7 @@ import {
107
107
  alignQueueAttachments,
108
108
  allocatePort,
109
109
  allocatePortRange,
110
+ appendCompactedMessages,
110
111
  appendQueuedItem,
111
112
  applyCompaction,
112
113
  applyForwardOccupancy,
@@ -127,6 +128,7 @@ import {
127
128
  cleanupArchivedHistory,
128
129
  cleanupOrphanWorktrees,
129
130
  cloneRepoIntoSideboard,
131
+ compactArchiveProse,
130
132
  computeNextRunAt,
131
133
  conductorDbPath,
132
134
  confirmLand,
@@ -254,6 +256,7 @@ import {
254
256
  mcpWaitTaskHint,
255
257
  mentionsPrGoal,
256
258
  mergeSetupOutput,
259
+ messagesForCompactArchive,
257
260
  messagesSinceLastBrightsyContextSummary,
258
261
  moveQueuedItemToFront,
259
262
  needsCoordinatorAction,
@@ -333,23 +336,28 @@ import {
333
336
  worktreeRunPortsPath,
334
337
  wrapReviewSkillMarkdown,
335
338
  writeWorktreeFile
336
- } from "./chunk-R3YKDTVE.js";
339
+ } from "./chunk-NEOAHPMK.js";
337
340
  import {
338
341
  LEGACY_PLAN_FILE_REL,
339
342
  PLAN_FILE_NAME,
340
343
  PLAN_FILE_REL,
344
+ PRESENT_PLAN_REQUIRES_PLAN_MODE,
345
+ PRESENT_PLAN_TOOL_DESCRIPTION,
341
346
  extractPresentedPlan,
342
347
  isPresentPlanToolName,
343
348
  planFileAbs,
344
349
  readPlanFile,
345
350
  resolvePlanMarkdown,
351
+ shouldRegisterPresentPlan,
352
+ threadMayPresentPlan,
346
353
  writePlanFile
347
- } from "./chunk-DJU54RYW.js";
354
+ } from "./chunk-PGPSIEMW.js";
348
355
  import {
349
356
  BRIGHTSY_MCP_ALLOWED_TOOLS,
350
357
  CLAUDE_MODEL_CATALOG,
351
358
  MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS,
352
359
  PLAN_MODE_INSTRUCTION,
360
+ PLAN_MODE_OFF_INSTRUCTION,
353
361
  SIDEBOARD_MCP_ALLOWED_TOOLS,
354
362
  SIDEBOARD_MCP_PROFILE_ENV,
355
363
  SIDEBOARD_THREAD_ID_ENV,
@@ -371,6 +379,8 @@ import {
371
379
  clipAgentEventForPaint,
372
380
  clipThinkingForStore,
373
381
  codexAdapter,
382
+ compactPartsForSummaryMessage,
383
+ compactSummaryPart,
374
384
  countCacheControlBlocks,
375
385
  cursorAdapter,
376
386
  decodeBrightsyTarget,
@@ -434,6 +444,7 @@ import {
434
444
  parseSessionQuotaResetAt,
435
445
  partsToAssistantText,
436
446
  permissionMode,
447
+ planModeTurnInstruction,
437
448
  prepareTerminalCommand,
438
449
  promptMentionsBrightsy,
439
450
  registerPackagedUserMcpClients,
@@ -461,7 +472,7 @@ import {
461
472
  withEventParentId,
462
473
  withEventsParentId,
463
474
  writeInjectedMcpConfig
464
- } from "./chunk-QXYWLO6W.js";
475
+ } from "./chunk-ISZERVDT.js";
465
476
  import {
466
477
  CLOUD_COORDINATOR_BUSY_REPLY,
467
478
  CLOUD_COORDINATOR_CANCELED_REPLY,
@@ -507,7 +518,7 @@ import {
507
518
  stageBuffersAsAttachments,
508
519
  syncWorkspacesFromThreads,
509
520
  takenTeamSlugsForOrchestration
510
- } from "./chunk-BILEJG3V.js";
521
+ } from "./chunk-3P5OCI2X.js";
511
522
  import {
512
523
  FAMOUS_SOCCER_TEAMS,
513
524
  GITHUB_PR_BODY_MAX_CHARS,
@@ -605,7 +616,7 @@ import {
605
616
  worktreeDisplayLabelForGroup,
606
617
  worktreeNameFromPath,
607
618
  worktreeSlugForTicket
608
- } from "./chunk-O3UAQAYA.js";
619
+ } from "./chunk-CCD2QIFK.js";
609
620
  import {
610
621
  ATTACHMENTS_DIR,
611
622
  CLI_DIR,
@@ -787,7 +798,7 @@ import {
787
798
  usageOnLimit,
788
799
  writeSecureJson,
789
800
  writeViewerContext
790
- } from "./chunk-P3DCZRER.js";
801
+ } from "./chunk-PPJ5JTWA.js";
791
802
  import {
792
803
  examplePrefixedBranch,
793
804
  resolveGitBranchPrefix,
@@ -820,7 +831,7 @@ import {
820
831
  updateThread,
821
832
  withThreadLock,
822
833
  writeThread
823
- } from "./chunk-3AJUH66R.js";
834
+ } from "./chunk-6I5YQTNK.js";
824
835
  import "./chunk-224IXQOM.js";
825
836
  import {
826
837
  THINKING_EFFORTS,
@@ -980,7 +991,8 @@ function slimThreadForUiList(thread) {
980
991
  attachments: [],
981
992
  pendingTurnAttachments: [],
982
993
  queueAttachments: [],
983
- messages: slimMessagesForUiList(messages, thread.updatedAt)
994
+ messages: slimMessagesForUiList(messages, thread.updatedAt),
995
+ compactedMessages: void 0
984
996
  };
985
997
  }
986
998
  function slimMessagesForUiList(messages, fallbackTs) {
@@ -3947,7 +3959,7 @@ async function continueSourceThread(threadId, prompt) {
3947
3959
  await continueOnReply(threadId, prompt);
3948
3960
  return;
3949
3961
  }
3950
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-VYNPNHY4.js");
3962
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-YDPDMXUY.js");
3951
3963
  await getOrchestrator2().send(threadId, prompt);
3952
3964
  } catch {
3953
3965
  }
@@ -6062,7 +6074,7 @@ async function startMcpServer() {
6062
6074
  );
6063
6075
  }
6064
6076
  try {
6065
- const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-I27UBVI4.js");
6077
+ const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-VOPXJMGV.js");
6066
6078
  orch.setMaxConcurrent(maxConcurrentAgents2());
6067
6079
  } catch {
6068
6080
  }
@@ -6287,31 +6299,40 @@ async function startMcpServer() {
6287
6299
  return mcpJson(payload);
6288
6300
  }
6289
6301
  );
6290
- server.tool(
6291
- "present_plan",
6292
- "Save the implementation plan as markdown to .context/attachments/plan.md and show it in Sideboard chat for user approval (Copy / Hand off / Approve). Call this when the plan is ready \u2014 required in plan mode. Pass the full plan body in content. Then Claude should call ExitPlanMode.",
6293
- {
6294
- title: z9.string().optional().describe("Short plan title (defaults to Plan)"),
6295
- content: z9.string().min(1).describe("Full plan markdown (headings, steps, risks, open questions)"),
6296
- thread_id: z9.string().optional().describe("Sideboard thread id when cwd is not the worktree")
6297
- },
6298
- async ({ title, content, thread_id }) => {
6299
- const { writePlanFile: writePlanFile2 } = await import("./plan-file-UUKCZEYP.js");
6300
- let root = process.cwd();
6301
- if (thread_id?.trim()) {
6302
- const t = orch.getThread(thread_id.trim());
6302
+ const callingThreadId = process.env[SIDEBOARD_THREAD_ID_ENV]?.trim() || "";
6303
+ const callingThread = callingThreadId ? orch.getThread(callingThreadId) : null;
6304
+ if (shouldRegisterPresentPlan(callingThread)) {
6305
+ server.tool(
6306
+ "present_plan",
6307
+ PRESENT_PLAN_TOOL_DESCRIPTION,
6308
+ {
6309
+ title: z9.string().optional().describe("Short plan title (defaults to Plan)"),
6310
+ content: z9.string().min(1).describe("Full plan markdown (headings, steps, risks, open questions)"),
6311
+ thread_id: z9.string().optional().describe("Sideboard thread id when cwd is not the worktree")
6312
+ },
6313
+ async ({ title, content, thread_id }) => {
6314
+ const { writePlanFile: writePlanFile2 } = await import("./plan-file-7MMIPV7Y.js");
6315
+ const ref = thread_id?.trim() || callingThreadId;
6316
+ const t = ref ? orch.getThread(ref) : null;
6317
+ if (t && !threadMayPresentPlan(t)) {
6318
+ return mcpJson(
6319
+ { ok: false, error: PRESENT_PLAN_REQUIRES_PLAN_MODE },
6320
+ true
6321
+ );
6322
+ }
6323
+ let root = process.cwd();
6303
6324
  if (t?.worktreePath?.trim()) root = t.worktreePath;
6325
+ const path2 = writePlanFile2(root, content);
6326
+ const payload = {
6327
+ ok: true,
6328
+ path: path2,
6329
+ title: title?.trim() || "Plan",
6330
+ message: "Plan saved to .context/attachments/plan.md and shown in Sideboard chat for approval."
6331
+ };
6332
+ return mcpJson(payload);
6304
6333
  }
6305
- const path2 = writePlanFile2(root, content);
6306
- const payload = {
6307
- ok: true,
6308
- path: path2,
6309
- title: title?.trim() || "Plan",
6310
- message: "Plan saved to .context/attachments/plan.md and shown in Sideboard chat for approval."
6311
- };
6312
- return mcpJson(payload);
6313
- }
6314
- );
6334
+ );
6335
+ }
6315
6336
  server.tool(
6316
6337
  "present_schema",
6317
6338
  "Open Sideboard\u2019s schema-driven side column (filterable table and/or form) when the user needs to filter, edit, publish, or persist records. Do not call this just to re-display rows you already wrote as a markdown table. If the user asks for an editable / interactive table, call this even if chat already showed those rows. Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
@@ -6548,7 +6569,7 @@ async function startMcpServer() {
6548
6569
  registerConnectedIssueVendorTools(server);
6549
6570
  registerScheduleTools(server);
6550
6571
  const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-PXHGH7ZN.js");
6551
- const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-I27UBVI4.js");
6572
+ const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-VOPXJMGV.js");
6552
6573
  const accountDefaults = resolveThreadDefaults2();
6553
6574
  const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
6554
6575
  server.tool(
@@ -9613,8 +9634,11 @@ export {
9613
9634
  PLAN_FILE_NAME,
9614
9635
  PLAN_FILE_REL,
9615
9636
  PLAN_MODE_INSTRUCTION,
9637
+ PLAN_MODE_OFF_INSTRUCTION,
9616
9638
  PLAN_QUESTION_ANSWERS_PREFIX,
9617
9639
  PORT_RANGE_SIZE,
9640
+ PRESENT_PLAN_REQUIRES_PLAN_MODE,
9641
+ PRESENT_PLAN_TOOL_DESCRIPTION,
9618
9642
  PROFILE_NOTES_MAX,
9619
9643
  PR_DETAILS_JSON_FIELDS,
9620
9644
  REPO_REVIEW_NAME,
@@ -9685,6 +9709,7 @@ export {
9685
9709
  annotateDevAccessRuns,
9686
9710
  appDataDir,
9687
9711
  appSettingsPath,
9712
+ appendCompactedMessages,
9688
9713
  appendIndexedGitConfig,
9689
9714
  appendMessage,
9690
9715
  appendQueuedItem,
@@ -9772,6 +9797,9 @@ export {
9772
9797
  commentGitHubIssue,
9773
9798
  commentLinearIssue,
9774
9799
  commitAll,
9800
+ compactArchiveProse,
9801
+ compactPartsForSummaryMessage,
9802
+ compactSummaryPart,
9775
9803
  computeNextRunAt,
9776
9804
  conductorBundledBinDir,
9777
9805
  conductorDbPath,
@@ -10171,6 +10199,7 @@ export {
10171
10199
  mergeSideboardIntoMcpServersJson,
10172
10200
  mergeUsage,
10173
10201
  messagePartParentId,
10202
+ messagesForCompactArchive,
10174
10203
  messagesSinceLastBrightsyContextSummary,
10175
10204
  moveQueuedItemToFront,
10176
10205
  needsCoordinatorAction,
@@ -10230,6 +10259,7 @@ export {
10230
10259
  planFileAbs,
10231
10260
  planHistoryAgePurge,
10232
10261
  planHistoryRetention,
10262
+ planModeTurnInstruction,
10233
10263
  planQuestionsSignature,
10234
10264
  pnpmFilterPackage,
10235
10265
  pollSlackOutboundWatches,
@@ -10357,6 +10387,7 @@ export {
10357
10387
  shouldInjectBrightsyMcp,
10358
10388
  shouldNotifyOrchestrator,
10359
10389
  shouldRefreshReviewRequestTemplate,
10390
+ shouldRegisterPresentPlan,
10360
10391
  shouldRemoveWorktreeOnTeardown,
10361
10392
  shouldResetSessionForOccupancy,
10362
10393
  shouldRunHistoryCleanup,
@@ -10418,6 +10449,7 @@ export {
10418
10449
  threadHasCompactedContext,
10419
10450
  threadLivePath,
10420
10451
  threadLockPath,
10452
+ threadMayPresentPlan,
10421
10453
  threadRequestsBrightsyMcp,
10422
10454
  threadsDir,
10423
10455
  threadsSharingWorktree,