@sideboard-ai/core 0.1.109 → 0.1.110

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 (43) hide show
  1. package/dist/agents/cursor-runner.cjs +87 -12
  2. package/dist/agents/cursor-runner.js +37 -11
  3. package/dist/{agents-XB332VUJ.js → agents-MQDW3YXL.js} +6 -6
  4. package/dist/{agents-YIMHDI46.js → agents-WK54VP7J.js} +7 -7
  5. package/dist/{app-settings-EBCVMFF6.js → app-settings-5XAGNDX7.js} +3 -1
  6. package/dist/{app-settings-IYSSVZHH.js → app-settings-J4LUWIRN.js} +3 -1
  7. package/dist/{chunk-WD2TARQS.js → chunk-3UOKB6VQ.js} +40 -0
  8. package/dist/{chunk-756EO4GK.js → chunk-4EWPKYOU.js} +4 -4
  9. package/dist/{chunk-4LKD3PGO.js → chunk-4NR5FL46.js} +10 -0
  10. package/dist/{chunk-FBV6NK62.js → chunk-7KWYXGIU.js} +2 -2
  11. package/dist/{chunk-KGSVLZV6.js → chunk-A4VZXJEJ.js} +2 -0
  12. package/dist/{chunk-VRTKGKUW.js → chunk-AROMOP3C.js} +2 -2
  13. package/dist/{chunk-EW7COXYE.js → chunk-C4KHDW3U.js} +2 -2
  14. package/dist/{chunk-Q6B3NRCT.js → chunk-EAAB4EK5.js} +154 -287
  15. package/dist/{chunk-I2OJ2YSP.js → chunk-KQBI5HNT.js} +2 -2
  16. package/dist/{chunk-P3BQ5DOL.js → chunk-KYOTBZ6S.js} +2 -0
  17. package/dist/{chunk-KKHDPV45.js → chunk-RSIWPLRG.js} +473 -37
  18. package/dist/{chunk-NE4TOOKS.js → chunk-SGEVS5SY.js} +10 -0
  19. package/dist/{chunk-TROJ3PVH.js → chunk-VOD3HFLP.js} +4 -4
  20. package/dist/{chunk-AY2EQI2P.js → chunk-VOJSO3RM.js} +472 -46
  21. package/dist/{chunk-MMI4RJ5I.js → chunk-WIHKHR5R.js} +14 -3
  22. package/dist/{chunk-LTPX5N6K.js → chunk-XOZDAVOP.js} +162 -276
  23. package/dist/{chunk-OQDIYVDD.js → chunk-YFAXVUY2.js} +2 -2
  24. package/dist/{chunk-JVIW55KT.js → chunk-YXDR43ZC.js} +2 -2
  25. package/dist/{coordinator-prompt-JKOU6BWV.js → coordinator-prompt-AR66L3N4.js} +4 -4
  26. package/dist/{coordinator-prompt-V66BYTUV.js → coordinator-prompt-BHMLWL64.js} +4 -4
  27. package/dist/{global-workspace-WBQWQQQY.js → global-workspace-SKFODUQQ.js} +5 -5
  28. package/dist/{global-workspace-NCTBE7G7.js → global-workspace-XSUFEIAQ.js} +5 -5
  29. package/dist/index.cjs +835 -489
  30. package/dist/index.d.cts +51 -3
  31. package/dist/index.d.ts +51 -3
  32. package/dist/index.js +44 -23
  33. package/dist/mcp/run-stdio.cjs +812 -487
  34. package/dist/mcp/run-stdio.js +17 -12
  35. package/dist/{orchestrator-6W7EKSPO.js → orchestrator-FCZVCKBK.js} +10 -10
  36. package/dist/{orchestrator-JVGVPKLI.js → orchestrator-SCATSB3O.js} +8 -8
  37. package/dist/{thread-store-DQJGDKIJ.js → thread-store-LPTBVW5C.js} +1 -1
  38. package/dist/{thread-store-4OUEQ2DB.js → thread-store-OEALWU7Y.js} +1 -1
  39. package/dist/{workspaces-SUBEDSGB.js → workspaces-HV3J4TTW.js} +6 -6
  40. package/dist/{workspaces-I3554R3F.js → workspaces-XAQVKTLO.js} +6 -6
  41. package/dist/{worktree-7H6HB6GW.js → worktree-N2EV24EE.js} +3 -3
  42. package/dist/{worktree-2UWO7VEK.js → worktree-XFJED3VU.js} +3 -3
  43. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -21,7 +21,6 @@ import {
21
21
  agentGitPrompt,
22
22
  allocatePort,
23
23
  allocatePortRange,
24
- applyAgentEvent,
25
24
  applyCompaction,
26
25
  applyPromptCacheTtlEnv,
27
26
  applyThreadIntoMain,
@@ -60,7 +59,6 @@ import {
60
59
  estimateThreadChars,
61
60
  expandComposerPrompt,
62
61
  extractiveSummary,
63
- finalizeParts,
64
62
  findOrphanWorktrees,
65
63
  findThreadForStackLayer,
66
64
  fireSchedule,
@@ -95,10 +93,11 @@ import {
95
93
  initStackFromThread,
96
94
  initializeGitRepository,
97
95
  inspectGitWorktree,
98
- isBrightsyNdjsonLine,
96
+ isCowboyThread,
99
97
  isDesktopHostAlive,
100
98
  isImageFilePath,
101
99
  isPidAlive,
100
+ isPrimaryCheckoutThread,
102
101
  isSlackExternalReplyPrompt,
103
102
  isThisProcessDesktopHost,
104
103
  lastRequestOccupancy,
@@ -114,11 +113,9 @@ import {
114
113
  listWorktreeFiles,
115
114
  loadAgentInstructions,
116
115
  maybeCompactContext,
117
- normalizeParseResult,
118
116
  openPrStackLayers,
119
117
  openStackLayer,
120
118
  parseDurationMs,
121
- partsToAssistantText,
122
119
  pendingSlackExternalReplies,
123
120
  permalinkForSlackReplyBadge,
124
121
  previewLand,
@@ -148,6 +145,7 @@ import {
148
145
  setSlackReplyTarget,
149
146
  shouldCompactContext,
150
147
  shouldRefreshReviewRequestTemplate,
148
+ shouldRemoveWorktreeOnTeardown,
151
149
  shouldResetSessionForOccupancy,
152
150
  shouldRunWorktreeCleanup,
153
151
  slackApi,
@@ -161,14 +159,10 @@ import {
161
159
  stageBuffersAsAttachments,
162
160
  startDevServer,
163
161
  startOrchestration,
164
- stripBrightsyNdjsonNoise,
165
162
  summarizeConversation,
166
163
  takenTeamSlugsForChatTab,
167
164
  thisProcessShouldDrainAgentQueues,
168
165
  threadsSharingWorktree,
169
- toolDescription,
170
- toolDetail,
171
- toolFilePath,
172
166
  updateSchedule,
173
167
  upsertSlackWorkspace,
174
168
  waitForPidExit,
@@ -176,7 +170,7 @@ import {
176
170
  worktreeCleanupSettings,
177
171
  wrapReviewSkillMarkdown,
178
172
  writeWorktreeFile
179
- } from "./chunk-Q6B3NRCT.js";
173
+ } from "./chunk-EAAB4EK5.js";
180
174
  import {
181
175
  BRIGHTSY_MCP_ALLOWED_TOOLS,
182
176
  CLAUDE_MODEL_CATALOG,
@@ -186,6 +180,7 @@ import {
186
180
  SIDEBOARD_MCP_PROFILE_ENV,
187
181
  WORKTREE_MCP_TOOLS,
188
182
  allAdapters,
183
+ applyAgentEvent,
189
184
  applyTurnUsage,
190
185
  brightsyAdapter,
191
186
  brightsyMcpAllowedTools,
@@ -199,6 +194,7 @@ import {
199
194
  decodeBrightsyTarget,
200
195
  dropCachedPrefixOnResume,
201
196
  encodeBrightsyTarget,
197
+ finalizeParts,
202
198
  findInvalidCacheControlTtlOrder,
203
199
  flattenTurnInput,
204
200
  fromInclusiveInputUsage,
@@ -206,8 +202,10 @@ import {
206
202
  getAgentSetupInfo,
207
203
  installAgent,
208
204
  isBrightsyConnected,
205
+ isBrightsyNdjsonLine,
209
206
  isCursorAutoModel,
210
207
  isSessionQuotaLimit,
208
+ isSubagentToolName,
211
209
  listAgentSetupInfo,
212
210
  listBrightsyChatTargets,
213
211
  listCodexModels,
@@ -218,11 +216,14 @@ import {
218
216
  mcpAllowTools,
219
217
  mcpAuthWarnings,
220
218
  mergeUsage,
219
+ messagePartParentId,
220
+ normalizeParseResult,
221
221
  normalizeTurnInput,
222
222
  openInSystemTerminal,
223
223
  opencodeAdapter,
224
224
  parseMcpList,
225
225
  parseSessionQuotaResetAt,
226
+ partsToAssistantText,
226
227
  permissionMode,
227
228
  prepareTerminalCommand,
228
229
  promptMentionsBrightsy,
@@ -234,10 +235,16 @@ import {
234
235
  sanitizeMcpServerName,
235
236
  shouldInjectBrightsyMcp,
236
237
  sideboardMcpProfile,
238
+ stripBrightsyNdjsonNoise,
237
239
  threadRequestsBrightsyMcp,
240
+ toolDescription,
241
+ toolDetail,
242
+ toolFilePath,
238
243
  totalTokens,
244
+ withEventParentId,
245
+ withEventsParentId,
239
246
  writeInjectedMcpConfig
240
- } from "./chunk-KKHDPV45.js";
247
+ } from "./chunk-RSIWPLRG.js";
241
248
  import {
242
249
  brightsyConfigPath,
243
250
  brightsyMcpServerName,
@@ -256,7 +263,7 @@ import {
256
263
  listWorkspaces,
257
264
  removeWorkspace,
258
265
  syncWorkspacesFromThreads
259
- } from "./chunk-FBV6NK62.js";
266
+ } from "./chunk-7KWYXGIU.js";
260
267
  import {
261
268
  CLOUD_COORDINATOR_BUSY_REPLY,
262
269
  CLOUD_COORDINATOR_STOPPED_REPLY,
@@ -284,7 +291,7 @@ import {
284
291
  parseForceStopMessage,
285
292
  slackCoordinatorSourceRef,
286
293
  takenTeamSlugsForOrchestration
287
- } from "./chunk-756EO4GK.js";
294
+ } from "./chunk-4EWPKYOU.js";
288
295
  import {
289
296
  COORDINATOR_TOOL_PLAYBOOK,
290
297
  SLACK_REPLY_FORMATTING,
@@ -293,7 +300,7 @@ import {
293
300
  enrichWorkspacesWithGithub,
294
301
  ensureGlobalCoordinatorCwd,
295
302
  formatWorkspaceInventory
296
- } from "./chunk-I2OJ2YSP.js";
303
+ } from "./chunk-KQBI5HNT.js";
297
304
  import {
298
305
  LEGACY_PLAN_FILE_REL,
299
306
  PLAN_FILE_NAME,
@@ -305,11 +312,11 @@ import {
305
312
  resolvePlanMarkdown,
306
313
  writePlanFile
307
314
  } from "./chunk-QTUESPAW.js";
308
- import "./chunk-MMI4RJ5I.js";
315
+ import "./chunk-WIHKHR5R.js";
309
316
  import {
310
317
  cursorSdkMessageToEvents,
311
318
  parseCursorRunnerLine
312
- } from "./chunk-WD2TARQS.js";
319
+ } from "./chunk-3UOKB6VQ.js";
313
320
  import {
314
321
  caffeinateHoldPath,
315
322
  getCaffeinateHold,
@@ -397,7 +404,7 @@ import {
397
404
  worktreeDisplayLabel,
398
405
  worktreeDisplayLabelForGroup,
399
406
  worktreeNameFromPath
400
- } from "./chunk-EW7COXYE.js";
407
+ } from "./chunk-C4KHDW3U.js";
401
408
  import {
402
409
  ATTACHMENTS_DIR,
403
410
  LEGACY_ATTACHMENTS_DIR,
@@ -423,6 +430,7 @@ import {
423
430
  childEnvWithAppSettings,
424
431
  claudeChromeEnabled,
425
432
  claudeUserSettingsPath,
433
+ cowboyModeEnabled,
426
434
  deleteBranchOnPurgeEnabled,
427
435
  disconnectLinearConnection,
428
436
  ensureSlackDeviceIdentity,
@@ -464,7 +472,7 @@ import {
464
472
  updateDefaultsSettings,
465
473
  updateIntegrationsSettings,
466
474
  updateOpencodeSettings
467
- } from "./chunk-4LKD3PGO.js";
475
+ } from "./chunk-4NR5FL46.js";
468
476
  import {
469
477
  stripNestedElectronEnv
470
478
  } from "./chunk-4TR3HZFT.js";
@@ -482,7 +490,7 @@ import {
482
490
  updateThread,
483
491
  withThreadLock,
484
492
  writeThread
485
- } from "./chunk-KGSVLZV6.js";
493
+ } from "./chunk-A4VZXJEJ.js";
486
494
  import {
487
495
  THINKING_EFFORTS,
488
496
  isThinkingEffort,
@@ -2234,7 +2242,7 @@ async function startMcpServer() {
2234
2242
  );
2235
2243
  }
2236
2244
  try {
2237
- const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-IYSSVZHH.js");
2245
+ const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-J4LUWIRN.js");
2238
2246
  orch.setMaxConcurrent(maxConcurrentAgents2());
2239
2247
  } catch {
2240
2248
  }
@@ -2454,7 +2462,7 @@ async function startMcpServer() {
2454
2462
  registerLinearTools(server);
2455
2463
  registerScheduleTools(server);
2456
2464
  const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-X3JNPR42.js");
2457
- const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-IYSSVZHH.js");
2465
+ const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-J4LUWIRN.js");
2458
2466
  const accountDefaults = resolveThreadDefaults2();
2459
2467
  const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
2460
2468
  server.tool(
@@ -2497,7 +2505,7 @@ async function startMcpServer() {
2497
2505
  );
2498
2506
  server.tool(
2499
2507
  "create_thread",
2500
- `Create a new worktree thread (chat) from branch, pr, or ticket. Pass repoPath from list_workspaces. From an orchestration chat, omit parentThreadId (Sideboard binds the child to this chat) or pass the exact id from the turn reminder \u2014 never invent a uuid. Prefer omitting agent/model so Sideboard applies ${accountDefaultsHint}. Setup (settings.toml, .cursor/worktrees.json, or script/setup) runs in the background in parallel with the first turn. Then use send_to_thread to chat.`,
2508
+ `Create a new worktree thread (chat) from branch, pr, or ticket. Pass repoPath from list_workspaces. cowboy=true uses the project folder on the default branch (no isolated worktree; land is commit+push). From an orchestration chat, omit parentThreadId (Sideboard binds the child to this chat) or pass the exact id from the turn reminder \u2014 never invent a uuid. Prefer omitting agent/model so Sideboard applies ${accountDefaultsHint}. Setup (settings.toml, .cursor/worktrees.json, or script/setup) runs in the background in parallel with the first turn (skipped for cowboy). Then use send_to_thread to chat.`,
2501
2509
  {
2502
2510
  sourceType: z4.enum(["branch", "pr", "ticket"]),
2503
2511
  sourceRef: z4.string(),
@@ -2507,6 +2515,9 @@ async function startMcpServer() {
2507
2515
  ),
2508
2516
  repoPath: z4.string(),
2509
2517
  title: z4.string().optional(),
2518
+ cowboy: z4.boolean().optional().describe(
2519
+ "If true, work in the project folder on the default branch (no thread/* worktree). Requires Settings \u2192 Advanced \u2192 Cowboy mode. Land is commit+push to that branch. Archive does not delete the folder."
2520
+ ),
2510
2521
  parentThreadId: z4.string().optional().describe(
2511
2522
  "Orchestration: omit (preferred) or pass YOUR chat id from the turn reminder / AGENTS.md. Do not invent uuids."
2512
2523
  )
@@ -2567,7 +2578,8 @@ async function startMcpServer() {
2567
2578
  fast: opts.fast,
2568
2579
  repoPath: args.repoPath,
2569
2580
  title: args.title,
2570
- parentThreadId: parentId || null
2581
+ parentThreadId: parentId || null,
2582
+ cowboy: args.cowboy || void 0
2571
2583
  }),
2572
2584
  CREATE_THREAD_TIMEOUT_MS,
2573
2585
  "create_thread"
@@ -2585,6 +2597,7 @@ async function startMcpServer() {
2585
2597
  agent: thread.agent,
2586
2598
  model: thread.model,
2587
2599
  status: thread.status,
2600
+ cowboy: Boolean(thread.cowboy),
2588
2601
  link: `sideboard://thread/${thread.id}`,
2589
2602
  parentThreadId: thread.parentThreadId,
2590
2603
  ...agentCoercedFrom ? {
@@ -5706,6 +5719,7 @@ export {
5706
5719
  coordinatorTurnReminder,
5707
5720
  copyConfiguredFiles,
5708
5721
  countCacheControlBlocks,
5722
+ cowboyModeEnabled,
5709
5723
  createChatTab,
5710
5724
  createEmptyThread,
5711
5725
  createExistingBranchWorktree,
@@ -5856,6 +5870,7 @@ export {
5856
5870
  isBrightsyNdjsonLine,
5857
5871
  isCloudCoordinatorThread,
5858
5872
  isConductorBundledCli,
5873
+ isCowboyThread,
5859
5874
  isCursorAutoModel,
5860
5875
  isDefaultishSourceRef,
5861
5876
  isDesktopHostAlive,
@@ -5874,11 +5889,13 @@ export {
5874
5889
  isPlaceholderBranch,
5875
5890
  isPrNotMergeableError,
5876
5891
  isPresentPlanToolName,
5892
+ isPrimaryCheckoutThread,
5877
5893
  isSessionQuotaLimit,
5878
5894
  isSideboardScratchPath,
5879
5895
  isSlackCoordinatorThread,
5880
5896
  isSlackExternalReplyPrompt,
5881
5897
  isSlackOAuthCancelled,
5898
+ isSubagentToolName,
5882
5899
  isThinkingEffort,
5883
5900
  isThisProcessDesktopHost,
5884
5901
  isThreadCaffeinated,
@@ -5933,6 +5950,7 @@ export {
5933
5950
  mergePrStack,
5934
5951
  mergeSideboardIntoMcpServersJson,
5935
5952
  mergeUsage,
5953
+ messagePartParentId,
5936
5954
  nextPastedTextName,
5937
5955
  nextThinkingEffort,
5938
5956
  nonInteractiveGitProcessEnv,
@@ -6051,6 +6069,7 @@ export {
6051
6069
  shouldCompactContext,
6052
6070
  shouldInjectBrightsyMcp,
6053
6071
  shouldRefreshReviewRequestTemplate,
6072
+ shouldRemoveWorktreeOnTeardown,
6054
6073
  shouldResetSessionForOccupancy,
6055
6074
  shouldRunWorktreeCleanup,
6056
6075
  sideboardHomeDir,
@@ -6121,6 +6140,8 @@ export {
6121
6140
  waitForPidExit,
6122
6141
  warmGithubAgentAuth,
6123
6142
  withAgentInstructions,
6143
+ withEventParentId,
6144
+ withEventsParentId,
6124
6145
  withExportedPath,
6125
6146
  withThreadLock,
6126
6147
  workspaceSettingsSourceLabel,