@sideboard-ai/core 0.1.258 → 0.1.262

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 (66) hide show
  1. package/dist/{abletime-IDQJI2KW.js → abletime-CDGINDXG.js} +6 -5
  2. package/dist/{abletime-OGQR4LIL.js → abletime-OQ4PC52L.js} +7 -6
  3. package/dist/{abletime-oauth-ZQUIY4EM.js → abletime-oauth-5A5EOH2A.js} +5 -4
  4. package/dist/{abletime-oauth-MBAG5MYU.js → abletime-oauth-KX2TDFTE.js} +6 -5
  5. package/dist/{abletime-rest-WEJERY4O.js → abletime-rest-PUGKYTRR.js} +6 -5
  6. package/dist/{abletime-rest-JZIIT5W3.js → abletime-rest-UEHOBLXD.js} +5 -4
  7. package/dist/agents/cursor-runner.cjs +274 -12
  8. package/dist/agents/cursor-runner.js +156 -13
  9. package/dist/{agents-HZP7YEKC.js → agents-IKVUGW5H.js} +12 -9
  10. package/dist/{agents-FSUI5MET.js → agents-J2P4KNEY.js} +21 -18
  11. package/dist/{app-settings-CLARFJUX.js → app-settings-OM7H64YM.js} +12 -3
  12. package/dist/{app-settings-ONYJ36XH.js → app-settings-VQEUCONM.js} +11 -2
  13. package/dist/chunk-3HO2OY5T.js +159 -0
  14. package/dist/{chunk-F7ANS66U.js → chunk-4F7J6UWD.js} +75 -33
  15. package/dist/{chunk-WDDUIGFK.js → chunk-4GK32AYX.js} +1 -1
  16. package/dist/{chunk-ZC3TVLY6.js → chunk-5OKJDCBK.js} +5 -5
  17. package/dist/{chunk-KJM3E3NF.js → chunk-6PFZ6XO7.js} +65 -6
  18. package/dist/{title-4A2ATYNY.js → chunk-7H655NEW.js} +1 -0
  19. package/dist/{chunk-R4DWUBOL.js → chunk-ABPNIYRS.js} +78 -37
  20. package/dist/{chunk-XIEDFRBP.js → chunk-B6XFBNYM.js} +2 -2
  21. package/dist/chunk-CEMNIGQH.js +161 -0
  22. package/dist/{chunk-66LAOKLK.js → chunk-D554YCHG.js} +2 -2
  23. package/dist/{chunk-HCNCZPDL.js → chunk-FSZ7YYFQ.js} +119 -63
  24. package/dist/{chunk-4723RAO3.js → chunk-FWNL62VA.js} +3 -1
  25. package/dist/{chunk-Y7CS2WGJ.js → chunk-GIZQAOHZ.js} +247 -109
  26. package/dist/chunk-HHEKVR6C.js +72 -0
  27. package/dist/{chunk-IFHHPPSL.js → chunk-J6ONZP74.js} +5 -5
  28. package/dist/{chunk-PJK24CN3.js → chunk-JTNY5CK4.js} +10 -10
  29. package/dist/{chunk-CPEIHTG7.js → chunk-KVQX62XI.js} +3 -3
  30. package/dist/{chunk-5F4YFGHL.js → chunk-LDXSAVWO.js} +7 -7
  31. package/dist/{title-4WAKWZRF.js → chunk-LX5R5JOR.js} +1 -0
  32. package/dist/{chunk-D6JWYJ4P.js → chunk-N2WW62LF.js} +1 -0
  33. package/dist/{chunk-RTQOCFIV.js → chunk-S7VDDJ34.js} +3 -3
  34. package/dist/{chunk-RJC2MKXN.js → chunk-TJ673EZT.js} +3 -1
  35. package/dist/{chunk-63YSFXLT.js → chunk-U3AOJLH3.js} +126 -70
  36. package/dist/{chunk-452Y24PW.js → chunk-VIC6TDYT.js} +68 -9
  37. package/dist/{chunk-553IEH7O.js → chunk-W5PWGEKS.js} +241 -104
  38. package/dist/{chunk-VVHHBOIA.js → chunk-WV7KJH2E.js} +5 -3
  39. package/dist/{chunk-BYRZS2S2.js → chunk-X2OTZ36G.js} +4 -4
  40. package/dist/{chunk-FGWUZOZN.js → chunk-YFTO7U2A.js} +3 -3
  41. package/dist/connected-teams-7CENZDWU.js +1 -1
  42. package/dist/{connected-teams-Z5GOIC5I.js → connected-teams-RU6VATCM.js} +2 -2
  43. package/dist/{coordinator-prompt-HZUWK3NP.js → coordinator-prompt-TU6656OK.js} +9 -8
  44. package/dist/{coordinator-prompt-Y6S6USNS.js → coordinator-prompt-VQHQ3RIX.js} +8 -7
  45. package/dist/{global-workspace-4JCITHB6.js → global-workspace-47NZVA44.js} +8 -7
  46. package/dist/{global-workspace-YA7U4M2N.js → global-workspace-PHF2MOGW.js} +9 -8
  47. package/dist/index.cjs +1443 -856
  48. package/dist/index.d.cts +118 -37
  49. package/dist/index.d.ts +118 -37
  50. package/dist/index.js +148 -64
  51. package/dist/managed-accounts-2AK5RIAF.js +39 -0
  52. package/dist/managed-accounts-4BLTJKAN.js +41 -0
  53. package/dist/mcp/run-stdio.cjs +2722 -2248
  54. package/dist/mcp/run-stdio.js +136 -50
  55. package/dist/{orchestrator-LWADJQTN.js → orchestrator-OCG4QVA5.js} +13 -11
  56. package/dist/{orchestrator-VHJZEVGA.js → orchestrator-VLTO5JBR.js} +13 -11
  57. package/dist/{plan-file-CKXUFTQ2.js → plan-file-VAHV5WBB.js} +2 -2
  58. package/dist/{thread-store-HDQ4CH54.js → thread-store-FJ5CDX2M.js} +1 -1
  59. package/dist/{thread-store-ZDR3Z5UG.js → thread-store-SHCUBWB3.js} +1 -1
  60. package/dist/title-ERD6D3C3.js +8 -0
  61. package/dist/title-Z7WAJN57.js +6 -0
  62. package/dist/{workspaces-IXZD7EC4.js → workspaces-2XTDS7N2.js} +9 -8
  63. package/dist/{workspaces-4KHEUPEX.js → workspaces-I7TWFTJM.js} +8 -7
  64. package/dist/{worktree-DAAF64UU.js → worktree-DDDF3WHV.js} +8 -7
  65. package/dist/{worktree-S3FOMEQ2.js → worktree-YASFE65H.js} +7 -6
  66. package/package.json +1 -1
@@ -11,7 +11,9 @@ import {
11
11
  searchAbleTimeTasks,
12
12
  toAbleTimeIssueInfo,
13
13
  updateAbleTimeTask
14
- } from "../chunk-RTQOCFIV.js";
14
+ } from "../chunk-S7VDDJ34.js";
15
+ import "../chunk-B6XFBNYM.js";
16
+ import "../chunk-5OKJDCBK.js";
15
17
  import {
16
18
  AGENT_GIT_ACTIONS,
17
19
  BOARD_COLUMN_DEFS,
@@ -50,37 +52,32 @@ import {
50
52
  threadsSharingWorktree,
51
53
  updateSchedule,
52
54
  waitForDetachedJob
53
- } from "../chunk-553IEH7O.js";
55
+ } from "../chunk-W5PWGEKS.js";
54
56
  import {
55
57
  PRESENT_PLAN_REQUIRES_PLAN_MODE,
56
58
  PRESENT_PLAN_TOOL_DESCRIPTION,
57
59
  shouldRegisterPresentPlan,
58
60
  threadMayPresentPlan
59
- } from "../chunk-WDDUIGFK.js";
61
+ } from "../chunk-4GK32AYX.js";
60
62
  import "../chunk-QN5DL2QO.js";
61
63
  import {
62
64
  SIDEBOARD_THREAD_ID_ENV,
63
65
  applySystemCaEnv,
66
+ clipToolResultForStore,
64
67
  isCursorApiKeyConfigured,
65
68
  isInternalAgentStatusText,
66
69
  listModelsForAgent,
70
+ looksLikeHugeToolResultDump,
67
71
  materializeSystemCaBundle,
68
72
  sideboardMcpProfile,
69
73
  trustSystemCertificates
70
- } from "../chunk-F7ANS66U.js";
74
+ } from "../chunk-4F7J6UWD.js";
71
75
  import {
72
76
  GLOBAL_WORKSPACE_ID,
73
77
  isCloudCoordinatorThread,
74
78
  isOrchestratorThread,
75
79
  listWorkspaces
76
- } from "../chunk-PJK24CN3.js";
77
- import "../chunk-XAISOBBG.js";
78
- import "../chunk-P2BSMNHB.js";
79
- import "../chunk-XIEDFRBP.js";
80
- import "../chunk-ZC3TVLY6.js";
81
- import {
82
- httpFetch
83
- } from "../chunk-VKQGAWHY.js";
80
+ } from "../chunk-JTNY5CK4.js";
84
81
  import {
85
82
  canonicalizeRepoPath,
86
83
  formatGhLandError,
@@ -91,14 +88,16 @@ import {
91
88
  resolveListPrsOptions,
92
89
  resolveRepoRoot,
93
90
  warmGithubAgentAuth
94
- } from "../chunk-HCNCZPDL.js";
95
- import "../chunk-D6JWYJ4P.js";
91
+ } from "../chunk-FSZ7YYFQ.js";
96
92
  import {
97
- appendMessage,
98
- findThreadByRef,
99
- readThread
100
- } from "../chunk-RJC2MKXN.js";
101
- import "../chunk-H547WSSZ.js";
93
+ CLI_DIR
94
+ } from "../chunk-N2WW62LF.js";
95
+ import "../chunk-XAISOBBG.js";
96
+ import "../chunk-P2BSMNHB.js";
97
+ import {
98
+ httpFetch
99
+ } from "../chunk-VKQGAWHY.js";
100
+ import "../chunk-LX5R5JOR.js";
102
101
  import "../chunk-DD67JWTN.js";
103
102
  import {
104
103
  gh,
@@ -121,24 +120,114 @@ import {
121
120
  saveLinearOAuth,
122
121
  writeSecureJson,
123
122
  writeViewerContext
124
- } from "../chunk-452Y24PW.js";
123
+ } from "../chunk-VIC6TDYT.js";
125
124
  import {
126
125
  writePrivateFile
127
126
  } from "../chunk-NSTQ6QKD.js";
127
+ import {
128
+ dropNestedElectronEnvFromProcess
129
+ } from "../chunk-WWUABK6B.js";
130
+ import "../chunk-FJZWM2ON.js";
131
+ import "../chunk-CEMNIGQH.js";
132
+ import {
133
+ appendMessage,
134
+ findThreadByRef,
135
+ readThread
136
+ } from "../chunk-TJ673EZT.js";
137
+ import "../chunk-H547WSSZ.js";
128
138
  import "../chunk-KGZBYWZ3.js";
129
139
  import {
130
140
  activeRunPreview,
131
141
  appDataDir,
132
142
  runScriptPreview
133
143
  } from "../chunk-Z2LGMV6C.js";
134
- import {
135
- dropNestedElectronEnvFromProcess
136
- } from "../chunk-WWUABK6B.js";
137
- import "../chunk-FJZWM2ON.js";
138
144
 
139
145
  // src/mcp/server.ts
140
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
141
146
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
147
+
148
+ // src/mcp/wrap-mcp-tools.ts
149
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
150
+
151
+ // src/agents/tool-result-clip.ts
152
+ import { mkdirSync, writeFileSync } from "fs";
153
+ import { join } from "path";
154
+ function spillPath(cwd, prefix) {
155
+ const stamp = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
156
+ const safe = prefix.replace(/[^a-zA-Z0-9_-]+/g, "-").slice(0, 40) || "tool";
157
+ return join(cwd, CLI_DIR, `${safe}-${stamp}.txt`);
158
+ }
159
+ function spillToolResultToCli(content, opts) {
160
+ const cwd = opts?.cwd?.trim();
161
+ if (!cwd || !content) return null;
162
+ const file = spillPath(cwd, opts?.prefix ?? "tool-result");
163
+ try {
164
+ mkdirSync(join(cwd, CLI_DIR), { recursive: true });
165
+ writeFileSync(file, content, "utf8");
166
+ return file;
167
+ } catch {
168
+ return null;
169
+ }
170
+ }
171
+ function spillAndClipToolResult(content, opts) {
172
+ const clipped = clipToolResultForStore(content);
173
+ if (clipped == null) return content;
174
+ if (clipped === content) return content;
175
+ if (looksLikeHugeToolResultDump(content)) return clipped;
176
+ const spilled = spillToolResultToCli(content, opts);
177
+ if (!spilled) return clipped;
178
+ return `${clipped}
179
+
180
+ Full output: ${spilled} (${content.length} chars). Read that file with offset/limit \u2014 do not dump it whole.`;
181
+ }
182
+ function clipMcpToolResult(result, cwd) {
183
+ if (result == null) return { content: [] };
184
+ if (!Array.isArray(result.content)) return result;
185
+ return {
186
+ ...result,
187
+ content: result.content.map((block) => {
188
+ if (block?.type !== "text" || typeof block.text !== "string") return block;
189
+ return {
190
+ ...block,
191
+ text: spillAndClipToolResult(block.text, { cwd, prefix: "mcp" })
192
+ };
193
+ })
194
+ };
195
+ }
196
+
197
+ // src/mcp/wrap-mcp-tools.ts
198
+ function wrapToolCallback(fn, cwd) {
199
+ return async (...args) => {
200
+ const result = await fn(...args);
201
+ return clipMcpToolResult(result, cwd());
202
+ };
203
+ }
204
+ function wrapRegistrar(orig, cwd) {
205
+ return ((...args) => {
206
+ const last = args.length - 1;
207
+ if (typeof args[last] === "function") {
208
+ args[last] = wrapToolCallback(args[last], cwd);
209
+ }
210
+ return orig(...args);
211
+ });
212
+ }
213
+ function wrapMcpToolResults(server, cwd = () => process.cwd()) {
214
+ const rec = server;
215
+ rec.tool = wrapRegistrar(rec.tool.bind(server), cwd);
216
+ if (typeof rec.registerTool === "function") {
217
+ rec.registerTool = wrapRegistrar(rec.registerTool.bind(server), cwd);
218
+ }
219
+ return server;
220
+ }
221
+ function createClippedMcpServer() {
222
+ return wrapMcpToolResults(
223
+ new McpServer({
224
+ name: "sideboard",
225
+ version: "0.1.0"
226
+ })
227
+ );
228
+ }
229
+
230
+ // src/mcp/server.ts
142
231
  import { z as z9 } from "zod";
143
232
  import { randomUUID as randomUUID2 } from "crypto";
144
233
  import { basename } from "path";
@@ -2215,13 +2304,13 @@ ${link}` : link;
2215
2304
 
2216
2305
  // src/slack/outbound-watch.ts
2217
2306
  import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
2218
- import { join as join3 } from "path";
2307
+ import { join as join4 } from "path";
2219
2308
 
2220
2309
  // src/slack/reply-target.ts
2221
2310
  import { existsSync, readFileSync } from "fs";
2222
- import { join } from "path";
2311
+ import { join as join2 } from "path";
2223
2312
  function storePath() {
2224
- return join(appDataDir(), "slack-reply-to.json");
2313
+ return join2(appDataDir(), "slack-reply-to.json");
2225
2314
  }
2226
2315
  function readStore() {
2227
2316
  const path = storePath();
@@ -2238,9 +2327,9 @@ function getSlackReplyTarget(threadId) {
2238
2327
  }
2239
2328
 
2240
2329
  // src/slack/workspaces.ts
2241
- import { join as join2 } from "path";
2330
+ import { join as join3 } from "path";
2242
2331
  function storePath2() {
2243
- return join2(appDataDir(), "slack-workspaces.json");
2332
+ return join3(appDataDir(), "slack-workspaces.json");
2244
2333
  }
2245
2334
  function readStore2() {
2246
2335
  try {
@@ -2310,7 +2399,7 @@ var POLL_INTERVAL_MS = 12e3;
2310
2399
  var lastPollMs = 0;
2311
2400
  var nameCache = /* @__PURE__ */ new Map();
2312
2401
  function storePath3() {
2313
- return join3(appDataDir(), "slack-outbound-watch.json");
2402
+ return join4(appDataDir(), "slack-outbound-watch.json");
2314
2403
  }
2315
2404
  function watchId(teamId, channelId, ts) {
2316
2405
  return `${teamId}:${channelId}:${ts}`;
@@ -2368,7 +2457,7 @@ async function continueSourceThread(threadId, prompt) {
2368
2457
  await continueOnReply(threadId, prompt);
2369
2458
  return;
2370
2459
  }
2371
- const { getOrchestrator: getOrchestrator2 } = await import("../orchestrator-VHJZEVGA.js");
2460
+ const { getOrchestrator: getOrchestrator2 } = await import("../orchestrator-VLTO5JBR.js");
2372
2461
  await getOrchestrator2().send(threadId, prompt);
2373
2462
  } catch {
2374
2463
  }
@@ -4053,17 +4142,17 @@ function registerScheduleTools(server) {
4053
4142
  }
4054
4143
 
4055
4144
  // src/board/load-home-board.ts
4056
- import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync as readFileSync4, unlinkSync as unlinkSync2, writeFileSync as writeFileSync2 } from "fs";
4057
- import { join as join5 } from "path";
4145
+ import { existsSync as existsSync4, mkdirSync as mkdirSync3, readFileSync as readFileSync4, unlinkSync as unlinkSync2, writeFileSync as writeFileSync3 } from "fs";
4146
+ import { join as join6 } from "path";
4058
4147
 
4059
4148
  // src/board/board-pins.ts
4060
4149
  import { randomUUID } from "crypto";
4061
- import { existsSync as existsSync3, mkdirSync, readFileSync as readFileSync3, unlinkSync, writeFileSync } from "fs";
4062
- import { join as join4 } from "path";
4150
+ import { existsSync as existsSync3, mkdirSync as mkdirSync2, readFileSync as readFileSync3, unlinkSync, writeFileSync as writeFileSync2 } from "fs";
4151
+ import { join as join5 } from "path";
4063
4152
  var FILE = "home-board-pins.json";
4064
4153
  var VERSION = 1;
4065
4154
  function pinsFile() {
4066
- return join4(appDataDir(), FILE);
4155
+ return join5(appDataDir(), FILE);
4067
4156
  }
4068
4157
  function readDisk() {
4069
4158
  const path = pinsFile();
@@ -4077,8 +4166,8 @@ function readDisk() {
4077
4166
  }
4078
4167
  }
4079
4168
  function writeDisk(items) {
4080
- mkdirSync(appDataDir(), { recursive: true });
4081
- writeFileSync(pinsFile(), JSON.stringify({ version: VERSION, items }, null, 2), "utf8");
4169
+ mkdirSync2(appDataDir(), { recursive: true });
4170
+ writeFileSync2(pinsFile(), JSON.stringify({ version: VERSION, items }, null, 2), "utf8");
4082
4171
  }
4083
4172
  function listBoardPins() {
4084
4173
  return readDisk();
@@ -4098,7 +4187,7 @@ function homeBoardWorkspaceKey(workspaces) {
4098
4187
  return workspaces.map((w) => w.path).filter(Boolean).sort().join("\n");
4099
4188
  }
4100
4189
  function cacheFile() {
4101
- return join5(appDataDir(), "home-board-cache.json");
4190
+ return join6(appDataDir(), "home-board-cache.json");
4102
4191
  }
4103
4192
  function emptyInputs() {
4104
4193
  return {
@@ -4140,8 +4229,8 @@ function readDiskCache() {
4140
4229
  }
4141
4230
  function writeDiskCache(entry) {
4142
4231
  try {
4143
- mkdirSync2(appDataDir(), { recursive: true });
4144
- writeFileSync2(cacheFile(), JSON.stringify(entry), "utf8");
4232
+ mkdirSync3(appDataDir(), { recursive: true });
4233
+ writeFileSync3(cacheFile(), JSON.stringify(entry), "utf8");
4145
4234
  } catch {
4146
4235
  }
4147
4236
  }
@@ -4471,7 +4560,7 @@ async function startMcpServer() {
4471
4560
  );
4472
4561
  }
4473
4562
  try {
4474
- const { maxConcurrentAgents } = await import("../app-settings-CLARFJUX.js");
4563
+ const { maxConcurrentAgents } = await import("../app-settings-OM7H64YM.js");
4475
4564
  orch.setMaxConcurrent(maxConcurrentAgents());
4476
4565
  } catch {
4477
4566
  }
@@ -4483,10 +4572,7 @@ async function startMcpServer() {
4483
4572
  err instanceof Error ? err.message : err
4484
4573
  );
4485
4574
  }
4486
- const server = new McpServer({
4487
- name: "sideboard",
4488
- version: "0.1.0"
4489
- });
4575
+ const server = createClippedMcpServer();
4490
4576
  const worktreeProfile = sideboardMcpProfile() === "worktree";
4491
4577
  const notifyParent = async (input) => {
4492
4578
  if (!worktreeProfile) return;
@@ -4708,7 +4794,7 @@ async function startMcpServer() {
4708
4794
  thread_id: z9.string().optional().describe("Sideboard thread id when cwd is not the worktree")
4709
4795
  },
4710
4796
  async ({ title, content, thread_id }) => {
4711
- const { writePlanFile } = await import("../plan-file-CKXUFTQ2.js");
4797
+ const { writePlanFile } = await import("../plan-file-VAHV5WBB.js");
4712
4798
  const ref = thread_id?.trim() || callingThreadId;
4713
4799
  const t = ref ? orch.getThread(ref) : null;
4714
4800
  if (t && !threadMayPresentPlan(t)) {
@@ -4966,7 +5052,7 @@ async function startMcpServer() {
4966
5052
  registerSlackTools(server);
4967
5053
  registerConnectedIssueVendorTools(server);
4968
5054
  const { getCaffeinateHold, setCaffeinateHold } = await import("../caffeinate-hold-UAGLSGMM.js");
4969
- const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-CLARFJUX.js");
5055
+ const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-OM7H64YM.js");
4970
5056
  const accountDefaults = resolveThreadDefaults();
4971
5057
  const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
4972
5058
  server.tool(
@@ -5291,7 +5377,7 @@ async function startMcpServer() {
5291
5377
  );
5292
5378
  server.tool(
5293
5379
  "request_review",
5294
- 'Start a merge-readiness Review on a worktree agent thread (same as the desktop Review button). Opens a new Review chat tab, attaches .claude/skills/review/SKILL.md when present (else copies .sideboard/review.md into .context/review.md, or seeds that file from the stock template), and sends "Review changes in this workspace." Expect Approve / Approve with nits / Request changes / Needs more information in that chat. The review stays there so the user can read it and type next steps \u2014 do not comment on or update the PR or ticket, and do not ask_user after the review, until they ask. Pass a worktree thread ref \u2014 not the orchestrator. Then wait_for_turn (loop while stillRunning) / get_turn_result on the returned review tab id.',
5380
+ 'Start a merge-readiness Review on a worktree agent thread (same as the desktop Review button). If that worktree has a single unused idle agent (no messages), runs the review there; otherwise opens a new Review chat tab. Attaches .claude/skills/review/SKILL.md when present (else copies .sideboard/review.md into .context/review.md, or seeds that file from the stock template), and sends "Review changes in this workspace." Expect Approve / Approve with nits / Request changes / Needs more information in that chat. The review stays there so the user can read it and type next steps \u2014 do not comment on or update the PR or ticket, and do not ask_user after the review, until they ask. Pass a worktree thread ref \u2014 not the orchestrator. Then wait_for_turn (loop while stillRunning) / get_turn_result on the returned review thread id.',
5295
5381
  { ref: z9.string().describe("Worktree thread id/ref to review") },
5296
5382
  async ({ ref }) => {
5297
5383
  try {
@@ -9,28 +9,30 @@ import {
9
9
  resolveSendFollowUp,
10
10
  startOrchestration,
11
11
  waitForPidExit
12
- } from "./chunk-Y7CS2WGJ.js";
12
+ } from "./chunk-GIZQAOHZ.js";
13
+ import "./chunk-ABPNIYRS.js";
14
+ import "./chunk-7H655NEW.js";
13
15
  import "./chunk-PGPSIEMW.js";
14
- import "./chunk-R4DWUBOL.js";
15
- import "./chunk-BYRZS2S2.js";
16
- import "./chunk-63YSFXLT.js";
17
- import "./chunk-6K64FJDD.js";
16
+ import "./chunk-X2OTZ36G.js";
17
+ import "./chunk-U3AOJLH3.js";
18
18
  import "./chunk-2P4XKWV2.js";
19
- import "./chunk-5F4YFGHL.js";
19
+ import "./chunk-LDXSAVWO.js";
20
20
  import "./chunk-ROPGQRPU.js";
21
21
  import "./chunk-N7WZ6NIN.js";
22
22
  import "./chunk-AXQ4ZWHK.js";
23
- import "./chunk-VVHHBOIA.js";
24
- import "./chunk-KJM3E3NF.js";
23
+ import "./chunk-WV7KJH2E.js";
24
+ import "./chunk-6K64FJDD.js";
25
+ import "./chunk-QVN2WOKJ.js";
26
+ import "./chunk-6PFZ6XO7.js";
27
+ import "./chunk-4TR3HZFT.js";
25
28
  import "./chunk-WDRMZKVB.js";
29
+ import "./chunk-3HO2OY5T.js";
26
30
  import "./chunk-NOT4SEAM.js";
27
31
  import "./chunk-JT7R45JB.js";
28
- import "./chunk-4723RAO3.js";
32
+ import "./chunk-FWNL62VA.js";
29
33
  import "./chunk-UWQ6UCIB.js";
30
34
  import "./chunk-77WWLBCI.js";
31
35
  import "./chunk-EHT2DRT4.js";
32
- import "./chunk-QVN2WOKJ.js";
33
- import "./chunk-4TR3HZFT.js";
34
36
  export {
35
37
  LIGHT_RECONCILE_THROTTLE_MS,
36
38
  LIVE_TURN_SPAWN_GRACE_MS,
@@ -11,26 +11,28 @@ import {
11
11
  resolveSendFollowUp,
12
12
  startOrchestration,
13
13
  waitForPidExit
14
- } from "./chunk-553IEH7O.js";
15
- import "./chunk-WDDUIGFK.js";
14
+ } from "./chunk-W5PWGEKS.js";
15
+ import "./chunk-4GK32AYX.js";
16
16
  import "./chunk-QN5DL2QO.js";
17
- import "./chunk-F7ANS66U.js";
18
- import "./chunk-PJK24CN3.js";
17
+ import "./chunk-4F7J6UWD.js";
18
+ import "./chunk-JTNY5CK4.js";
19
+ import "./chunk-FSZ7YYFQ.js";
20
+ import "./chunk-N2WW62LF.js";
19
21
  import "./chunk-XAISOBBG.js";
20
22
  import "./chunk-P2BSMNHB.js";
21
23
  import "./chunk-VKQGAWHY.js";
22
- import "./chunk-HCNCZPDL.js";
23
- import "./chunk-D6JWYJ4P.js";
24
- import "./chunk-RJC2MKXN.js";
25
- import "./chunk-H547WSSZ.js";
24
+ import "./chunk-LX5R5JOR.js";
26
25
  import "./chunk-DD67JWTN.js";
27
26
  import "./chunk-2UG25RMK.js";
28
- import "./chunk-452Y24PW.js";
27
+ import "./chunk-VIC6TDYT.js";
29
28
  import "./chunk-NSTQ6QKD.js";
30
- import "./chunk-KGZBYWZ3.js";
31
- import "./chunk-Z2LGMV6C.js";
32
29
  import "./chunk-WWUABK6B.js";
33
30
  import "./chunk-FJZWM2ON.js";
31
+ import "./chunk-CEMNIGQH.js";
32
+ import "./chunk-TJ673EZT.js";
33
+ import "./chunk-H547WSSZ.js";
34
+ import "./chunk-KGZBYWZ3.js";
35
+ import "./chunk-Z2LGMV6C.js";
34
36
  export {
35
37
  LIGHT_RECONCILE_THROTTLE_MS,
36
38
  LIVE_TURN_SPAWN_GRACE_MS,
@@ -14,8 +14,8 @@ import {
14
14
  shouldRegisterPresentPlan,
15
15
  threadMayPresentPlan,
16
16
  writePlanFile
17
- } from "./chunk-WDDUIGFK.js";
18
- import "./chunk-D6JWYJ4P.js";
17
+ } from "./chunk-4GK32AYX.js";
18
+ import "./chunk-N2WW62LF.js";
19
19
  export {
20
20
  LEGACY_PLAN_FILE_REL,
21
21
  PLAN_FILE_NAME,
@@ -17,7 +17,7 @@ import {
17
17
  updateThread,
18
18
  withThreadLock,
19
19
  writeThread
20
- } from "./chunk-RJC2MKXN.js";
20
+ } from "./chunk-TJ673EZT.js";
21
21
  import "./chunk-H547WSSZ.js";
22
22
  import "./chunk-KGZBYWZ3.js";
23
23
  import "./chunk-Z2LGMV6C.js";
@@ -15,7 +15,7 @@ import {
15
15
  updateThread,
16
16
  withThreadLock,
17
17
  writeThread
18
- } from "./chunk-4723RAO3.js";
18
+ } from "./chunk-FWNL62VA.js";
19
19
  import "./chunk-UWQ6UCIB.js";
20
20
  import "./chunk-77WWLBCI.js";
21
21
  import "./chunk-EHT2DRT4.js";
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+
3
+ import {
4
+ titleFromPrompt
5
+ } from "./chunk-LX5R5JOR.js";
6
+ export {
7
+ titleFromPrompt
8
+ };
@@ -0,0 +1,6 @@
1
+ import {
2
+ titleFromPrompt
3
+ } from "./chunk-7H655NEW.js";
4
+ export {
5
+ titleFromPrompt
6
+ };
@@ -7,19 +7,20 @@ import {
7
7
  primaryCheckoutFromLinkedWorktree,
8
8
  removeWorkspace,
9
9
  syncWorkspacesFromThreads
10
- } from "./chunk-PJK24CN3.js";
11
- import "./chunk-HCNCZPDL.js";
12
- import "./chunk-D6JWYJ4P.js";
13
- import "./chunk-RJC2MKXN.js";
14
- import "./chunk-H547WSSZ.js";
10
+ } from "./chunk-JTNY5CK4.js";
11
+ import "./chunk-FSZ7YYFQ.js";
12
+ import "./chunk-N2WW62LF.js";
15
13
  import "./chunk-DD67JWTN.js";
16
14
  import "./chunk-2UG25RMK.js";
17
- import "./chunk-452Y24PW.js";
15
+ import "./chunk-VIC6TDYT.js";
18
16
  import "./chunk-NSTQ6QKD.js";
19
- import "./chunk-KGZBYWZ3.js";
20
- import "./chunk-Z2LGMV6C.js";
21
17
  import "./chunk-WWUABK6B.js";
22
18
  import "./chunk-FJZWM2ON.js";
19
+ import "./chunk-CEMNIGQH.js";
20
+ import "./chunk-TJ673EZT.js";
21
+ import "./chunk-H547WSSZ.js";
22
+ import "./chunk-KGZBYWZ3.js";
23
+ import "./chunk-Z2LGMV6C.js";
23
24
  export {
24
25
  addWorkspace,
25
26
  ensureWorkspace,
@@ -5,19 +5,20 @@ import {
5
5
  primaryCheckoutFromLinkedWorktree,
6
6
  removeWorkspace,
7
7
  syncWorkspacesFromThreads
8
- } from "./chunk-BYRZS2S2.js";
9
- import "./chunk-63YSFXLT.js";
10
- import "./chunk-6K64FJDD.js";
8
+ } from "./chunk-X2OTZ36G.js";
9
+ import "./chunk-U3AOJLH3.js";
11
10
  import "./chunk-2P4XKWV2.js";
12
- import "./chunk-KJM3E3NF.js";
11
+ import "./chunk-6K64FJDD.js";
12
+ import "./chunk-QVN2WOKJ.js";
13
+ import "./chunk-6PFZ6XO7.js";
14
+ import "./chunk-4TR3HZFT.js";
13
15
  import "./chunk-WDRMZKVB.js";
16
+ import "./chunk-3HO2OY5T.js";
14
17
  import "./chunk-JT7R45JB.js";
15
- import "./chunk-4723RAO3.js";
18
+ import "./chunk-FWNL62VA.js";
16
19
  import "./chunk-UWQ6UCIB.js";
17
20
  import "./chunk-77WWLBCI.js";
18
21
  import "./chunk-EHT2DRT4.js";
19
- import "./chunk-QVN2WOKJ.js";
20
- import "./chunk-4TR3HZFT.js";
21
22
  export {
22
23
  addWorkspace,
23
24
  ensureWorkspace,
@@ -62,18 +62,19 @@ import {
62
62
  worktreeDisplayLabelForGroup,
63
63
  worktreeNameFromPath,
64
64
  worktreeSlugForTicket
65
- } from "./chunk-HCNCZPDL.js";
66
- import "./chunk-D6JWYJ4P.js";
67
- import "./chunk-RJC2MKXN.js";
68
- import "./chunk-H547WSSZ.js";
65
+ } from "./chunk-FSZ7YYFQ.js";
66
+ import "./chunk-N2WW62LF.js";
69
67
  import "./chunk-DD67JWTN.js";
70
68
  import "./chunk-2UG25RMK.js";
71
- import "./chunk-452Y24PW.js";
69
+ import "./chunk-VIC6TDYT.js";
72
70
  import "./chunk-NSTQ6QKD.js";
73
- import "./chunk-KGZBYWZ3.js";
74
- import "./chunk-Z2LGMV6C.js";
75
71
  import "./chunk-WWUABK6B.js";
76
72
  import "./chunk-FJZWM2ON.js";
73
+ import "./chunk-CEMNIGQH.js";
74
+ import "./chunk-TJ673EZT.js";
75
+ import "./chunk-H547WSSZ.js";
76
+ import "./chunk-KGZBYWZ3.js";
77
+ import "./chunk-Z2LGMV6C.js";
77
78
  export {
78
79
  FAMOUS_SOCCER_TEAMS,
79
80
  PR_DETAILS_JSON_FIELDS,
@@ -60,18 +60,19 @@ import {
60
60
  worktreeDisplayLabelForGroup,
61
61
  worktreeNameFromPath,
62
62
  worktreeSlugForTicket
63
- } from "./chunk-63YSFXLT.js";
64
- import "./chunk-6K64FJDD.js";
63
+ } from "./chunk-U3AOJLH3.js";
65
64
  import "./chunk-2P4XKWV2.js";
66
- import "./chunk-KJM3E3NF.js";
65
+ import "./chunk-6K64FJDD.js";
66
+ import "./chunk-QVN2WOKJ.js";
67
+ import "./chunk-6PFZ6XO7.js";
68
+ import "./chunk-4TR3HZFT.js";
67
69
  import "./chunk-WDRMZKVB.js";
70
+ import "./chunk-3HO2OY5T.js";
68
71
  import "./chunk-JT7R45JB.js";
69
- import "./chunk-4723RAO3.js";
72
+ import "./chunk-FWNL62VA.js";
70
73
  import "./chunk-UWQ6UCIB.js";
71
74
  import "./chunk-77WWLBCI.js";
72
75
  import "./chunk-EHT2DRT4.js";
73
- import "./chunk-QVN2WOKJ.js";
74
- import "./chunk-4TR3HZFT.js";
75
76
  export {
76
77
  FAMOUS_SOCCER_TEAMS,
77
78
  PR_DETAILS_JSON_FIELDS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sideboard-ai/core",
3
- "version": "0.1.258",
3
+ "version": "0.1.262",
4
4
  "description": "Sideboard core — orchestration, agents, git worktrees, MCP server",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",