@sideboard-ai/core 0.1.103 → 0.1.107

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 (35) hide show
  1. package/dist/{agents-XZBAKBO2.js → agents-4XQANGFO.js} +6 -6
  2. package/dist/{agents-UT5GCJH3.js → agents-T4RHL5UX.js} +5 -5
  3. package/dist/{app-settings-VDJK2BZ2.js → app-settings-2WH6DVOW.js} +3 -1
  4. package/dist/{app-settings-EKJM2344.js → app-settings-6AXBWM3K.js} +3 -1
  5. package/dist/chunk-3SIFRHJ3.js +7309 -0
  6. package/dist/{chunk-YJADJH5U.js → chunk-5XUKY2JY.js} +5 -4
  7. package/dist/{chunk-H6LP57EF.js → chunk-6HRR4T4P.js} +6 -6
  8. package/dist/{chunk-WA3DVVWG.js → chunk-6JJTMI7G.js} +1 -1
  9. package/dist/{chunk-XHZJJWLI.js → chunk-7ZTQHC2Q.js} +10 -0
  10. package/dist/{chunk-WSYCND2U.js → chunk-EX4NZN3O.js} +10 -0
  11. package/dist/{chunk-ETMRBJKA.js → chunk-GYFNFU62.js} +5 -4
  12. package/dist/{chunk-ND6AO7C5.js → chunk-LRO7YVLJ.js} +2 -2
  13. package/dist/{chunk-DHAGMJIK.js → chunk-PZVA2VDF.js} +1 -1
  14. package/dist/{chunk-HHLZWO7U.js → chunk-SMWVSSE5.js} +7 -7
  15. package/dist/{chunk-OW34MVDN.js → chunk-THXSFETX.js} +3 -3
  16. package/dist/{chunk-27MCESES.js → chunk-VTTTV2LM.js} +2 -2
  17. package/dist/chunk-XEFHG6VG.js +6946 -0
  18. package/dist/{chunk-LANDJIAI.js → chunk-XOYH3OMI.js} +4 -4
  19. package/dist/{coordinator-prompt-UWHSD65V.js → coordinator-prompt-4TUQUEHY.js} +3 -3
  20. package/dist/{coordinator-prompt-3DFZRMXE.js → coordinator-prompt-YQWRXCPX.js} +3 -3
  21. package/dist/{global-workspace-KJQS5S2C.js → global-workspace-H37LFFXI.js} +4 -4
  22. package/dist/{global-workspace-UR4E3CCG.js → global-workspace-V6TMECDU.js} +4 -4
  23. package/dist/index.cjs +11576 -10704
  24. package/dist/index.d.cts +98 -12
  25. package/dist/index.d.ts +98 -12
  26. package/dist/index.js +711 -7005
  27. package/dist/mcp/run-stdio.cjs +7513 -6629
  28. package/dist/mcp/run-stdio.js +329 -6638
  29. package/dist/orchestrator-2P7DX44Q.js +31 -0
  30. package/dist/orchestrator-DEHSKERK.js +32 -0
  31. package/dist/{workspaces-NTIVI6DI.js → workspaces-JU3P6FHB.js} +5 -5
  32. package/dist/{workspaces-TKJXPNV4.js → workspaces-UPEVANU4.js} +5 -5
  33. package/dist/{worktree-NKWN5ZTS.js → worktree-6MFKE465.js} +2 -2
  34. package/dist/{worktree-PEUPFAKL.js → worktree-NR5YJG2E.js} +2 -2
  35. package/package.json +2 -1
@@ -2,10 +2,10 @@
2
2
 
3
3
  import {
4
4
  resolveGithubRepoSlug
5
- } from "./chunk-WA3DVVWG.js";
5
+ } from "./chunk-6JJTMI7G.js";
6
6
  import {
7
7
  resolveThreadDefaults
8
- } from "./chunk-WSYCND2U.js";
8
+ } from "./chunk-EX4NZN3O.js";
9
9
  import {
10
10
  globalAgentCwd,
11
11
  sideboardReposDir
@@ -54,7 +54,8 @@ var COORDINATOR_TOOL_PLAYBOOK = [
54
54
  "- list_models \u2014 only when you need a specific model (rare); otherwise omit model so Account defaults apply",
55
55
  "- list_threads / get_thread \u2014 fleet status (what is going on)",
56
56
  "- ask_user \u2014 composer multiple-choice only when blocked on a concrete choice (approach fork, which API). Never for hellos, check-ins, or invented \u201Cwhat should we do?\u201D menus \u2014 reply in chat. Explain options first, description on every option, then wait.",
57
- "- set_caffeinate \u2014 keep this Mac awake across turns (macOS caffeinate). Turn on for Slack / away-from-keyboard work. Turn OFF when the user says they are done, wrapping up, going to sleep, or no longer need the machine awake. Closing this chat also releases it.",
57
+ "- set_caffeinate \u2014 keep this Mac awake across turns (macOS caffeinate). Turn on for Slack / away-from-keyboard work, overnight schedules, or when the user will be away. Turn OFF when they say they are done, wrapping up, going to sleep, or no longer need the machine awake. Closing this chat also releases it.",
58
+ "- list_schedules / create_schedule / update_schedule / delete_schedule / run_schedule \u2014 local jobs that send a prompt to an orchestration chat (threadId or self) or start a new Global chat (omit threadId). One-shot `at`, interval `every` (15m/1h/6h/1d), or 5-field `cron`. Recurring jobs without threadId open a new chat each run. Jobs fire only while Sideboard.app is running; sleep skips until wake. Overnight/unattended runs: ask the user to enable Settings \u2192 Advanced \u2192 Caffeinate while schedules are enabled, or call set_caffeinate.",
58
59
  "Workspaces:",
59
60
  "- add_workspace / remove_workspace \u2014 register or unregister a git repo",
60
61
  "Worktree threads (chats):",
@@ -110,7 +111,7 @@ function coordinatorTurnReminder(opts) {
110
111
  "- Existing repo: create_thread on a repoPath \u2192 send_to_thread \u2192 wait_for_turn. If stillRunning, the child is working (progress is tools/thinking) \u2014 wait_for_turn again; do not ping it. If status is error, lastError/text is the failure \u2014 adapt (switch agent, tell the user). Commit/push/draft PR with ask_git on the child, then wait_for_turn \u2014 never git/gh from this cwd. Call ask_git merge only if the user explicitly asked to merge.",
111
112
  "- New repo: Bash (clone or gh repo create under ~/sideboard/repos/<name>) \u2192 add_workspace \u2192 create_thread \u2192 send_to_thread \u2192 wait_for_turn (loop while stillRunning) \u2192 ask_git create-draft.",
112
113
  "- When naming threads for the user, link them as `[Title](sideboard://thread/<id>)`.",
113
- "- If they will wait on Slack or leave the Mac, call set_caffeinate enabled=true. When they say they are done / wrapping up / going to sleep, call set_caffeinate enabled=false. Closing this chat also turns it off."
114
+ "- If they will wait on Slack, leave the Mac, or rely on overnight schedules, call set_caffeinate enabled=true (or they can enable Settings \u2192 Advanced \u2192 Caffeinate while schedules are enabled). When they say they are done / wrapping up / going to sleep, call set_caffeinate enabled=false. Closing this chat also turns it off."
114
115
  ].filter(Boolean).join("\n");
115
116
  }
116
117
  function ensureGlobalCoordinatorCwd(opts) {
@@ -1,6 +1,3 @@
1
- import {
2
- isOrchestratorThread
3
- } from "./chunk-HHLZWO7U.js";
4
1
  import {
5
2
  applyConnectedTeamToCli,
6
3
  brightsyMcpServerName,
@@ -8,6 +5,9 @@ import {
8
5
  ensureConnectedBrightsyTeamTokens,
9
6
  loadBrightsyConfig
10
7
  } from "./chunk-2GO3YKBA.js";
8
+ import {
9
+ isOrchestratorThread
10
+ } from "./chunk-SMWVSSE5.js";
11
11
  import {
12
12
  applyNodeLaunch,
13
13
  cursorRipgrepEnv,
@@ -25,13 +25,13 @@ import {
25
25
  mergeAgentGitAuthEnv,
26
26
  resolveAgentGitAuthEnv,
27
27
  resolveCodexGitWritableRoots
28
- } from "./chunk-DHAGMJIK.js";
28
+ } from "./chunk-PZVA2VDF.js";
29
29
  import {
30
30
  claudeChromeEnabled,
31
31
  loadAppSettings,
32
32
  resolveAgentExecutable,
33
33
  resolveClaudeExecutable
34
- } from "./chunk-XHZJJWLI.js";
34
+ } from "./chunk-7ZTQHC2Q.js";
35
35
  import {
36
36
  isElectronLikeCommand,
37
37
  unwrapStrippedElectronLaunch
@@ -1019,7 +1019,7 @@ var claudeAdapter = {
1019
1019
  );
1020
1020
  }
1021
1021
  const mode = permissionMode(thread);
1022
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-UR4E3CCG.js");
1022
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-V6TMECDU.js");
1023
1023
  const isOrchestrator = isOrchestratorThread2(thread);
1024
1024
  const injectedServers = await buildInjectedMcpServers({
1025
1025
  includeSideboard: true,
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  getGithubGitAuthMode,
11
11
  getGithubPat
12
- } from "./chunk-WSYCND2U.js";
12
+ } from "./chunk-EX4NZN3O.js";
13
13
  import {
14
14
  worktreesRoot
15
15
  } from "./chunk-BD2ICC4D.js";
@@ -424,6 +424,9 @@ function normalizeAdvanced(raw) {
424
424
  } else if (typeof source.caffeinateWhileCloudConnect === "boolean") {
425
425
  out.caffeinateWhileSlackListen = source.caffeinateWhileCloudConnect;
426
426
  }
427
+ if (typeof source.caffeinateWhileSchedules === "boolean") {
428
+ out.caffeinateWhileSchedules = source.caffeinateWhileSchedules;
429
+ }
427
430
  if (typeof source.deleteBranchOnPurge === "boolean") {
428
431
  out.deleteBranchOnPurge = source.deleteBranchOnPurge;
429
432
  }
@@ -955,6 +958,9 @@ function updateAdvancedSettings(patch) {
955
958
  advanced.caffeinateWhileSlackListen = patch.caffeinateWhileCloudConnect;
956
959
  delete advanced.caffeinateWhileCloudConnect;
957
960
  }
961
+ if (typeof patch.caffeinateWhileSchedules === "boolean") {
962
+ advanced.caffeinateWhileSchedules = patch.caffeinateWhileSchedules;
963
+ }
958
964
  if (typeof patch.deleteBranchOnPurge === "boolean") {
959
965
  advanced.deleteBranchOnPurge = patch.deleteBranchOnPurge;
960
966
  }
@@ -999,6 +1005,9 @@ function caffeinateWhileRunningEnabled(settings = loadAppSettings()) {
999
1005
  function caffeinateWhileSlackListenEnabled(settings = loadAppSettings()) {
1000
1006
  return Boolean(settings.advanced.caffeinateWhileSlackListen);
1001
1007
  }
1008
+ function caffeinateWhileSchedulesEnabled(settings = loadAppSettings()) {
1009
+ return Boolean(settings.advanced.caffeinateWhileSchedules);
1010
+ }
1002
1011
  function caffeinateWhileCloudConnectEnabled(settings = loadAppSettings()) {
1003
1012
  return caffeinateWhileSlackListenEnabled(settings);
1004
1013
  }
@@ -1141,6 +1150,7 @@ export {
1141
1150
  autoRunAfterSetupEnabled,
1142
1151
  caffeinateWhileRunningEnabled,
1143
1152
  caffeinateWhileSlackListenEnabled,
1153
+ caffeinateWhileSchedulesEnabled,
1144
1154
  caffeinateWhileCloudConnectEnabled,
1145
1155
  deleteBranchOnPurgeEnabled,
1146
1156
  autoArchiveOnMergeEnabled,
@@ -452,6 +452,9 @@ function normalizeAdvanced(raw) {
452
452
  } else if (typeof source.caffeinateWhileCloudConnect === "boolean") {
453
453
  out.caffeinateWhileSlackListen = source.caffeinateWhileCloudConnect;
454
454
  }
455
+ if (typeof source.caffeinateWhileSchedules === "boolean") {
456
+ out.caffeinateWhileSchedules = source.caffeinateWhileSchedules;
457
+ }
455
458
  if (typeof source.deleteBranchOnPurge === "boolean") {
456
459
  out.deleteBranchOnPurge = source.deleteBranchOnPurge;
457
460
  }
@@ -983,6 +986,9 @@ function updateAdvancedSettings(patch) {
983
986
  advanced.caffeinateWhileSlackListen = patch.caffeinateWhileCloudConnect;
984
987
  delete advanced.caffeinateWhileCloudConnect;
985
988
  }
989
+ if (typeof patch.caffeinateWhileSchedules === "boolean") {
990
+ advanced.caffeinateWhileSchedules = patch.caffeinateWhileSchedules;
991
+ }
986
992
  if (typeof patch.deleteBranchOnPurge === "boolean") {
987
993
  advanced.deleteBranchOnPurge = patch.deleteBranchOnPurge;
988
994
  }
@@ -1027,6 +1033,9 @@ function caffeinateWhileRunningEnabled(settings = loadAppSettings()) {
1027
1033
  function caffeinateWhileSlackListenEnabled(settings = loadAppSettings()) {
1028
1034
  return Boolean(settings.advanced.caffeinateWhileSlackListen);
1029
1035
  }
1036
+ function caffeinateWhileSchedulesEnabled(settings = loadAppSettings()) {
1037
+ return Boolean(settings.advanced.caffeinateWhileSchedules);
1038
+ }
1030
1039
  function caffeinateWhileCloudConnectEnabled(settings = loadAppSettings()) {
1031
1040
  return caffeinateWhileSlackListenEnabled(settings);
1032
1041
  }
@@ -1170,6 +1179,7 @@ export {
1170
1179
  autoRunAfterSetupEnabled,
1171
1180
  caffeinateWhileRunningEnabled,
1172
1181
  caffeinateWhileSlackListenEnabled,
1182
+ caffeinateWhileSchedulesEnabled,
1173
1183
  caffeinateWhileCloudConnectEnabled,
1174
1184
  deleteBranchOnPurgeEnabled,
1175
1185
  autoArchiveOnMergeEnabled,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveGithubRepoSlug
3
- } from "./chunk-DHAGMJIK.js";
3
+ } from "./chunk-PZVA2VDF.js";
4
4
  import {
5
5
  resolveThreadDefaults
6
- } from "./chunk-XHZJJWLI.js";
6
+ } from "./chunk-7ZTQHC2Q.js";
7
7
  import {
8
8
  globalAgentCwd,
9
9
  sideboardReposDir
@@ -52,7 +52,8 @@ var COORDINATOR_TOOL_PLAYBOOK = [
52
52
  "- list_models \u2014 only when you need a specific model (rare); otherwise omit model so Account defaults apply",
53
53
  "- list_threads / get_thread \u2014 fleet status (what is going on)",
54
54
  "- ask_user \u2014 composer multiple-choice only when blocked on a concrete choice (approach fork, which API). Never for hellos, check-ins, or invented \u201Cwhat should we do?\u201D menus \u2014 reply in chat. Explain options first, description on every option, then wait.",
55
- "- set_caffeinate \u2014 keep this Mac awake across turns (macOS caffeinate). Turn on for Slack / away-from-keyboard work. Turn OFF when the user says they are done, wrapping up, going to sleep, or no longer need the machine awake. Closing this chat also releases it.",
55
+ "- set_caffeinate \u2014 keep this Mac awake across turns (macOS caffeinate). Turn on for Slack / away-from-keyboard work, overnight schedules, or when the user will be away. Turn OFF when they say they are done, wrapping up, going to sleep, or no longer need the machine awake. Closing this chat also releases it.",
56
+ "- list_schedules / create_schedule / update_schedule / delete_schedule / run_schedule \u2014 local jobs that send a prompt to an orchestration chat (threadId or self) or start a new Global chat (omit threadId). One-shot `at`, interval `every` (15m/1h/6h/1d), or 5-field `cron`. Recurring jobs without threadId open a new chat each run. Jobs fire only while Sideboard.app is running; sleep skips until wake. Overnight/unattended runs: ask the user to enable Settings \u2192 Advanced \u2192 Caffeinate while schedules are enabled, or call set_caffeinate.",
56
57
  "Workspaces:",
57
58
  "- add_workspace / remove_workspace \u2014 register or unregister a git repo",
58
59
  "Worktree threads (chats):",
@@ -108,7 +109,7 @@ function coordinatorTurnReminder(opts) {
108
109
  "- Existing repo: create_thread on a repoPath \u2192 send_to_thread \u2192 wait_for_turn. If stillRunning, the child is working (progress is tools/thinking) \u2014 wait_for_turn again; do not ping it. If status is error, lastError/text is the failure \u2014 adapt (switch agent, tell the user). Commit/push/draft PR with ask_git on the child, then wait_for_turn \u2014 never git/gh from this cwd. Call ask_git merge only if the user explicitly asked to merge.",
109
110
  "- New repo: Bash (clone or gh repo create under ~/sideboard/repos/<name>) \u2192 add_workspace \u2192 create_thread \u2192 send_to_thread \u2192 wait_for_turn (loop while stillRunning) \u2192 ask_git create-draft.",
110
111
  "- When naming threads for the user, link them as `[Title](sideboard://thread/<id>)`.",
111
- "- If they will wait on Slack or leave the Mac, call set_caffeinate enabled=true. When they say they are done / wrapping up / going to sleep, call set_caffeinate enabled=false. Closing this chat also turns it off."
112
+ "- If they will wait on Slack, leave the Mac, or rely on overnight schedules, call set_caffeinate enabled=true (or they can enable Settings \u2192 Advanced \u2192 Caffeinate while schedules are enabled). When they say they are done / wrapping up / going to sleep, call set_caffeinate enabled=false. Closing this chat also turns it off."
112
113
  ].filter(Boolean).join("\n");
113
114
  }
114
115
  function ensureGlobalCoordinatorCwd(opts) {
@@ -2,11 +2,11 @@
2
2
 
3
3
  import {
4
4
  isGlobalRepoPath
5
- } from "./chunk-OW34MVDN.js";
5
+ } from "./chunk-THXSFETX.js";
6
6
  import {
7
7
  ensureGhPreferOrigin,
8
8
  resolveRepoRoot
9
- } from "./chunk-WA3DVVWG.js";
9
+ } from "./chunk-6JJTMI7G.js";
10
10
  import {
11
11
  appDataDir
12
12
  } from "./chunk-BD2ICC4D.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  getGithubGitAuthMode,
6
6
  getGithubPat
7
- } from "./chunk-XHZJJWLI.js";
7
+ } from "./chunk-7ZTQHC2Q.js";
8
8
  import {
9
9
  listThreads
10
10
  } from "./chunk-KGSVLZV6.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ensureGlobalCoordinatorCwd
3
- } from "./chunk-ETMRBJKA.js";
3
+ } from "./chunk-GYFNFU62.js";
4
4
  import {
5
5
  allocateTeamName,
6
6
  takenSlugsFromThread,
7
7
  teamSlugFromName
8
- } from "./chunk-DHAGMJIK.js";
8
+ } from "./chunk-PZVA2VDF.js";
9
9
  import {
10
10
  resolveNewThreadOptions,
11
11
  resolveThreadDefaults
12
- } from "./chunk-XHZJJWLI.js";
12
+ } from "./chunk-7ZTQHC2Q.js";
13
13
  import {
14
14
  createEmptyThread,
15
15
  listThreads,
@@ -282,16 +282,16 @@ function ensureCloudCoordinator(agent) {
282
282
  }
283
283
 
284
284
  export {
285
+ ORCHESTRATOR_AGENT_KINDS,
286
+ isOrchestratorCapableAgent,
287
+ assertOrchestratorCapableAgent,
288
+ coerceOrchestratorAgent,
285
289
  CLOUD_ORCHESTRATOR_GOAL,
286
290
  SIDEBOARD_FORCE_STOP,
287
291
  CLOUD_COORDINATOR_BUSY_REPLY,
288
292
  CLOUD_COORDINATOR_STOPPED_REPLY,
289
293
  CLOUD_COORDINATOR_TIMEOUT_REPLY,
290
294
  parseForceStopMessage,
291
- ORCHESTRATOR_AGENT_KINDS,
292
- isOrchestratorCapableAgent,
293
- assertOrchestratorCapableAgent,
294
- coerceOrchestratorAgent,
295
295
  GLOBAL_WORKSPACE_ID,
296
296
  isGlobalThread,
297
297
  isGlobalRepoPath,
@@ -2,12 +2,12 @@
2
2
 
3
3
  import {
4
4
  ensureGlobalCoordinatorCwd
5
- } from "./chunk-YJADJH5U.js";
5
+ } from "./chunk-5XUKY2JY.js";
6
6
  import {
7
7
  allocateTeamName,
8
8
  takenSlugsFromThread,
9
9
  teamSlugFromName
10
- } from "./chunk-WA3DVVWG.js";
10
+ } from "./chunk-6JJTMI7G.js";
11
11
  import {
12
12
  createEmptyThread,
13
13
  listThreads,
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  resolveNewThreadOptions,
19
19
  resolveThreadDefaults
20
- } from "./chunk-WSYCND2U.js";
20
+ } from "./chunk-EX4NZN3O.js";
21
21
  import {
22
22
  globalAgentCwd
23
23
  } from "./chunk-BD2ICC4D.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  isGlobalRepoPath
3
- } from "./chunk-HHLZWO7U.js";
3
+ } from "./chunk-SMWVSSE5.js";
4
4
  import {
5
5
  ensureGhPreferOrigin,
6
6
  resolveRepoRoot
7
- } from "./chunk-DHAGMJIK.js";
7
+ } from "./chunk-PZVA2VDF.js";
8
8
  import {
9
9
  appDataDir
10
10
  } from "./chunk-QZQEXME2.js";