@sideboard-ai/core 0.1.319 → 0.1.320

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 (61) hide show
  1. package/dist/{abletime-L3ODNTBT.js → abletime-CRRLEYTE.js} +4 -4
  2. package/dist/{abletime-DVYO4IVS.js → abletime-ICW6Q2AB.js} +4 -4
  3. package/dist/{abletime-oauth-2VWQCXGT.js → abletime-oauth-P3KPPJE4.js} +3 -3
  4. package/dist/{abletime-oauth-6DTX7LB7.js → abletime-oauth-Q76XBSPG.js} +3 -3
  5. package/dist/{abletime-rest-PYQM234B.js → abletime-rest-DNFAYYLP.js} +3 -3
  6. package/dist/{abletime-rest-7NICZYOC.js → abletime-rest-DQ3PNKXP.js} +3 -3
  7. package/dist/{agents-KABJUDPI.js → agents-CJZYJOWP.js} +7 -7
  8. package/dist/{agents-2AR7I6B6.js → agents-F2E2HACB.js} +7 -7
  9. package/dist/{app-settings-CZVFMOI5.js → app-settings-KMPVI2B7.js} +1 -1
  10. package/dist/{app-settings-V6YPYY57.js → app-settings-P3H4SEIK.js} +1 -1
  11. package/dist/{chunk-YEIHCSZS.js → chunk-4GZC6DDH.js} +2 -0
  12. package/dist/{chunk-5OM7UCTQ.js → chunk-56M6VEXI.js} +3 -3
  13. package/dist/{chunk-ZM43NTJJ.js → chunk-5OQONGHO.js} +5 -5
  14. package/dist/{chunk-A6C67DY5.js → chunk-5S3YP5KH.js} +4 -4
  15. package/dist/{chunk-QPLQXWND.js → chunk-72PUPPV2.js} +3 -3
  16. package/dist/{chunk-OO3R6CS2.js → chunk-B7UL36WH.js} +214 -37
  17. package/dist/{chunk-WLZHRNE6.js → chunk-BTIXTH4N.js} +3 -3
  18. package/dist/{chunk-AESO2KJS.js → chunk-CB5Z5C3J.js} +2 -2
  19. package/dist/{chunk-AUJ4XB6H.js → chunk-DFUXW2IT.js} +2 -2
  20. package/dist/{chunk-ST2UQBJT.js → chunk-DJZRDTZY.js} +6 -6
  21. package/dist/{chunk-TUJFCJJU.js → chunk-EDXTP2VR.js} +2 -2
  22. package/dist/{chunk-I5TESHDN.js → chunk-EQ52JR3Q.js} +5 -5
  23. package/dist/{chunk-FDXHNROD.js → chunk-EQ5JY3MJ.js} +2 -2
  24. package/dist/{chunk-E52SQENB.js → chunk-FZKAAAEB.js} +3 -1
  25. package/dist/{chunk-JD7CC6SW.js → chunk-HHPTGIKS.js} +2 -2
  26. package/dist/{chunk-U2N32EA6.js → chunk-IDPFLXRY.js} +215 -38
  27. package/dist/{chunk-GCHSJCCX.js → chunk-IFU4W4C4.js} +3 -1
  28. package/dist/{chunk-IAPO7ZFG.js → chunk-LLIEU2ZB.js} +5 -5
  29. package/dist/{chunk-MBYGWNLQ.js → chunk-OAFBHCSM.js} +1 -1
  30. package/dist/{chunk-NRSC4N5X.js → chunk-P74GXA5V.js} +6 -6
  31. package/dist/{chunk-A46CIARU.js → chunk-PNLGWAYE.js} +2 -2
  32. package/dist/{chunk-53OCOGND.js → chunk-QGY3UNNL.js} +2 -2
  33. package/dist/{chunk-7Q327QF2.js → chunk-QIC2JXHW.js} +5 -5
  34. package/dist/{chunk-YALFZKSC.js → chunk-RHJPP26T.js} +11 -11
  35. package/dist/{chunk-AZ4GEEGL.js → chunk-UK2KESBN.js} +2 -2
  36. package/dist/{chunk-LXBZQP2Q.js → chunk-V76MQ7MH.js} +5 -5
  37. package/dist/{chunk-HOLB6ZFZ.js → chunk-XMHMVEIY.js} +2 -0
  38. package/dist/{chunk-GH7UMULC.js → chunk-ZYZBCLJR.js} +6 -6
  39. package/dist/{conductor-MG2RAQNT.js → conductor-FPFY6Z5S.js} +6 -6
  40. package/dist/{conductor-NIUBJLTS.js → conductor-JA5W3L7C.js} +6 -6
  41. package/dist/{coordinator-prompt-3CT3D5UM.js → coordinator-prompt-M75TAN43.js} +4 -4
  42. package/dist/{coordinator-prompt-X74F3JIC.js → coordinator-prompt-NUC2ZXMJ.js} +4 -4
  43. package/dist/{global-workspace-BUWMRNW5.js → global-workspace-5A4H34AF.js} +4 -4
  44. package/dist/{global-workspace-FTNJEML3.js → global-workspace-SCLQUNUI.js} +4 -4
  45. package/dist/index.cjs +589 -402
  46. package/dist/index.d.cts +29 -4
  47. package/dist/index.d.ts +29 -4
  48. package/dist/index.js +28 -28
  49. package/dist/mcp/run-stdio.cjs +219 -32
  50. package/dist/mcp/run-stdio.js +23 -23
  51. package/dist/{optional-cli-EMSZBYDE.js → optional-cli-2V3SLME5.js} +3 -3
  52. package/dist/{optional-cli-6GGESWGE.js → optional-cli-MRNQKVIR.js} +4 -4
  53. package/dist/{orchestrator-H3DSZ5RM.js → orchestrator-7BDZ5GWD.js} +10 -10
  54. package/dist/{orchestrator-NCA4LSCC.js → orchestrator-NPFWU3XU.js} +10 -10
  55. package/dist/{thread-store-PLNIWFZ4.js → thread-store-JWHVXLDX.js} +1 -1
  56. package/dist/{thread-store-7BBA63KV.js → thread-store-QHYN2ZMQ.js} +1 -1
  57. package/dist/{workspaces-2V5UYPYC.js → workspaces-5QA3YM4L.js} +4 -4
  58. package/dist/{workspaces-MGKEAYNM.js → workspaces-KWMBOTQD.js} +4 -4
  59. package/dist/{worktree-THAXW5U7.js → worktree-7EATHVYQ.js} +3 -3
  60. package/dist/{worktree-XJKLDYOL.js → worktree-O6BANO2I.js} +3 -3
  61. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -278,6 +278,7 @@ interface Thread {
278
278
  updatedAt: string;
279
279
  /** When this chat was archived. History age uses this, not later row updates. */
280
280
  archivedAt?: string;
281
+ ephemeralAutomationId?: string;
281
282
  messages: ThreadMessage[];
282
283
  /**
283
284
  * Prose-only turns dropped by auto-compact (user text + agent answers).
@@ -1310,8 +1311,8 @@ interface AdvancedAppSettings {
1310
1311
  */
1311
1312
  caffeinateWhileSlackListen?: boolean;
1312
1313
  /**
1313
- * Keep the Mac awake with `caffeinate` while any local schedule is enabled
1314
- * (so a due job can fire). Creating or enabling a future schedule turns this
1314
+ * Keep the Mac awake with `caffeinate` while any automation is enabled
1315
+ * (so a due job can fire). Creating or enabling a future automation turns this
1315
1316
  * on. Default off until then.
1316
1317
  */
1317
1318
  caffeinateWhileSchedules?: boolean;
@@ -1909,6 +1910,16 @@ interface ScheduledTask {
1909
1910
  threadId: string | null;
1910
1911
  agent: OrchestratorAgentKind | null;
1911
1912
  model: string | null;
1913
+ /**
1914
+ * Composer choices for the run. Null means "leave the chat / account default"
1915
+ * so older jobs do not reset a target chat.
1916
+ */
1917
+ effort: ThinkingEffort | null;
1918
+ fast: boolean | null;
1919
+ planMode: boolean | null;
1920
+ autonomy: Autonomy | null;
1921
+ /** Files, issues, and workspace links staged on the prompt. */
1922
+ attachments: ThreadAttachment[];
1912
1923
  nextRunAt: string;
1913
1924
  lastRunAt: string | null;
1914
1925
  lastThreadId: string | null;
@@ -1924,10 +1935,15 @@ interface CreateScheduledTaskInput {
1924
1935
  threadId?: string | null;
1925
1936
  agent?: AgentKind | null;
1926
1937
  model?: string | null;
1938
+ effort?: ThinkingEffort | null;
1939
+ fast?: boolean | null;
1940
+ planMode?: boolean | null;
1941
+ autonomy?: Autonomy | null;
1942
+ attachments?: ThreadAttachment[];
1927
1943
  enabled?: boolean;
1928
1944
  createdBy: ScheduleCreatedBy;
1929
1945
  }
1930
- type UpdateScheduledTaskPatch = Partial<Pick<ScheduledTask, 'name' | 'prompt' | 'enabled' | 'when' | 'threadId' | 'agent' | 'model'>>;
1946
+ type UpdateScheduledTaskPatch = Partial<Pick<ScheduledTask, 'name' | 'prompt' | 'enabled' | 'when' | 'threadId' | 'agent' | 'model' | 'effort' | 'fast' | 'planMode' | 'autonomy' | 'attachments'>>;
1931
1947
  declare function schedulesPath(): string;
1932
1948
  declare function parseDurationMs(every: string): number | null;
1933
1949
  declare function defaultScheduleName(prompt: string): string;
@@ -6202,6 +6218,13 @@ declare function startOrchestration(opts: {
6202
6218
  fast?: boolean;
6203
6219
  planMode?: boolean;
6204
6220
  attachments?: Thread['attachments'];
6221
+ /**
6222
+ * One-off automation run. The chat is archived when the turn finishes, and
6223
+ * History keeps only the latest run for this id.
6224
+ */
6225
+ ephemeralAutomationId?: string;
6226
+ /** Sidebar / History label. Defaults to the soccer nickname. */
6227
+ ephemeralTitle?: string;
6205
6228
  }): Promise<Thread>;
6206
6229
 
6207
6230
  /**
@@ -6662,7 +6685,9 @@ declare function isHistoryRetentionStub(thread: Pick<Thread, 'messages' | 'attac
6662
6685
  * Age-expired rows are purged. Count overflow is stripped first (keep the
6663
6686
  * searchable row) and purged on a later pass once it is already a stub.
6664
6687
  */
6665
- declare function planHistoryRetention<T extends Pick<Thread, 'id' | 'updatedAt' | 'createdAt' | 'archivedAt' | 'messages' | 'attachments'>>(archived: T[], thresholds?: HistoryRetentionThresholds): HistoryRetentionPlan;
6688
+ declare function planHistoryRetention<T extends Pick<Thread, 'id' | 'updatedAt' | 'createdAt' | 'archivedAt' | 'messages' | 'attachments'> & {
6689
+ ephemeralAutomationId?: string;
6690
+ }>(archived: T[], thresholds?: HistoryRetentionThresholds): HistoryRetentionPlan;
6666
6691
  /** Manual History “Clear older than…” — purge those rows, do not strip. */
6667
6692
  declare function planHistoryAgePurge<T extends Pick<Thread, 'id' | 'updatedAt' | 'createdAt' | 'archivedAt'>>(archived: T[], olderThanDays: number, nowMs?: number): string[];
6668
6693
 
package/dist/index.d.ts CHANGED
@@ -278,6 +278,7 @@ interface Thread {
278
278
  updatedAt: string;
279
279
  /** When this chat was archived. History age uses this, not later row updates. */
280
280
  archivedAt?: string;
281
+ ephemeralAutomationId?: string;
281
282
  messages: ThreadMessage[];
282
283
  /**
283
284
  * Prose-only turns dropped by auto-compact (user text + agent answers).
@@ -1310,8 +1311,8 @@ interface AdvancedAppSettings {
1310
1311
  */
1311
1312
  caffeinateWhileSlackListen?: boolean;
1312
1313
  /**
1313
- * Keep the Mac awake with `caffeinate` while any local schedule is enabled
1314
- * (so a due job can fire). Creating or enabling a future schedule turns this
1314
+ * Keep the Mac awake with `caffeinate` while any automation is enabled
1315
+ * (so a due job can fire). Creating or enabling a future automation turns this
1315
1316
  * on. Default off until then.
1316
1317
  */
1317
1318
  caffeinateWhileSchedules?: boolean;
@@ -1909,6 +1910,16 @@ interface ScheduledTask {
1909
1910
  threadId: string | null;
1910
1911
  agent: OrchestratorAgentKind | null;
1911
1912
  model: string | null;
1913
+ /**
1914
+ * Composer choices for the run. Null means "leave the chat / account default"
1915
+ * so older jobs do not reset a target chat.
1916
+ */
1917
+ effort: ThinkingEffort | null;
1918
+ fast: boolean | null;
1919
+ planMode: boolean | null;
1920
+ autonomy: Autonomy | null;
1921
+ /** Files, issues, and workspace links staged on the prompt. */
1922
+ attachments: ThreadAttachment[];
1912
1923
  nextRunAt: string;
1913
1924
  lastRunAt: string | null;
1914
1925
  lastThreadId: string | null;
@@ -1924,10 +1935,15 @@ interface CreateScheduledTaskInput {
1924
1935
  threadId?: string | null;
1925
1936
  agent?: AgentKind | null;
1926
1937
  model?: string | null;
1938
+ effort?: ThinkingEffort | null;
1939
+ fast?: boolean | null;
1940
+ planMode?: boolean | null;
1941
+ autonomy?: Autonomy | null;
1942
+ attachments?: ThreadAttachment[];
1927
1943
  enabled?: boolean;
1928
1944
  createdBy: ScheduleCreatedBy;
1929
1945
  }
1930
- type UpdateScheduledTaskPatch = Partial<Pick<ScheduledTask, 'name' | 'prompt' | 'enabled' | 'when' | 'threadId' | 'agent' | 'model'>>;
1946
+ type UpdateScheduledTaskPatch = Partial<Pick<ScheduledTask, 'name' | 'prompt' | 'enabled' | 'when' | 'threadId' | 'agent' | 'model' | 'effort' | 'fast' | 'planMode' | 'autonomy' | 'attachments'>>;
1931
1947
  declare function schedulesPath(): string;
1932
1948
  declare function parseDurationMs(every: string): number | null;
1933
1949
  declare function defaultScheduleName(prompt: string): string;
@@ -6202,6 +6218,13 @@ declare function startOrchestration(opts: {
6202
6218
  fast?: boolean;
6203
6219
  planMode?: boolean;
6204
6220
  attachments?: Thread['attachments'];
6221
+ /**
6222
+ * One-off automation run. The chat is archived when the turn finishes, and
6223
+ * History keeps only the latest run for this id.
6224
+ */
6225
+ ephemeralAutomationId?: string;
6226
+ /** Sidebar / History label. Defaults to the soccer nickname. */
6227
+ ephemeralTitle?: string;
6205
6228
  }): Promise<Thread>;
6206
6229
 
6207
6230
  /**
@@ -6662,7 +6685,9 @@ declare function isHistoryRetentionStub(thread: Pick<Thread, 'messages' | 'attac
6662
6685
  * Age-expired rows are purged. Count overflow is stripped first (keep the
6663
6686
  * searchable row) and purged on a later pass once it is already a stub.
6664
6687
  */
6665
- declare function planHistoryRetention<T extends Pick<Thread, 'id' | 'updatedAt' | 'createdAt' | 'archivedAt' | 'messages' | 'attachments'>>(archived: T[], thresholds?: HistoryRetentionThresholds): HistoryRetentionPlan;
6688
+ declare function planHistoryRetention<T extends Pick<Thread, 'id' | 'updatedAt' | 'createdAt' | 'archivedAt' | 'messages' | 'attachments'> & {
6689
+ ephemeralAutomationId?: string;
6690
+ }>(archived: T[], thresholds?: HistoryRetentionThresholds): HistoryRetentionPlan;
6666
6691
  /** Manual History “Clear older than…” — purge those rows, do not strip. */
6667
6692
  declare function planHistoryAgePurge<T extends Pick<Thread, 'id' | 'updatedAt' | 'createdAt' | 'archivedAt'>>(archived: T[], olderThanDays: number, nowMs?: number): string[];
6668
6693
 
package/dist/index.js CHANGED
@@ -206,7 +206,7 @@ import {
206
206
  worktreeCleanupSettings,
207
207
  writeAgentBlock,
208
208
  writeWorktreeFile
209
- } from "./chunk-U2N32EA6.js";
209
+ } from "./chunk-IDPFLXRY.js";
210
210
  import {
211
211
  LEGACY_PLAN_FILE_REL,
212
212
  PLAN_FILE_NAME,
@@ -296,7 +296,7 @@ import {
296
296
  userMcpNamesToDisable,
297
297
  worktreeMcpToolNames,
298
298
  writeInjectedMcpConfig
299
- } from "./chunk-IAPO7ZFG.js";
299
+ } from "./chunk-LLIEU2ZB.js";
300
300
  import {
301
301
  brightsyMcpServerName,
302
302
  connectBrightsyTeam,
@@ -427,7 +427,7 @@ import {
427
427
  workspaceAgentChatSummaries,
428
428
  worktreeRunPortsPath,
429
429
  wrapReviewSkillMarkdown
430
- } from "./chunk-ST2UQBJT.js";
430
+ } from "./chunk-DJZRDTZY.js";
431
431
  import {
432
432
  STDERR_EVENT_MAX_CHARS,
433
433
  STDOUT_EVENT_MAX_CHARS,
@@ -469,7 +469,7 @@ import {
469
469
  visibleToolRowDetail,
470
470
  withEventParentId,
471
471
  withEventsParentId
472
- } from "./chunk-7Q327QF2.js";
472
+ } from "./chunk-QIC2JXHW.js";
473
473
  import "./chunk-7H655NEW.js";
474
474
  import {
475
475
  ABLETIME_OAUTH_CALLBACK_PATH,
@@ -493,7 +493,7 @@ import {
493
493
  parseAbleTimeOAuthCallbackUrl,
494
494
  resolveAbleTimeOAuthHost,
495
495
  startAbleTimeOAuth
496
- } from "./chunk-5OM7UCTQ.js";
496
+ } from "./chunk-56M6VEXI.js";
497
497
  import {
498
498
  ableTimeDependencyTarget,
499
499
  ableTimeStateIsClosed,
@@ -519,10 +519,10 @@ import {
519
519
  toAbleTimeIssueInfo,
520
520
  updateAbleTimeTask,
521
521
  verifyAbleTimeConnection
522
- } from "./chunk-WLZHRNE6.js";
522
+ } from "./chunk-BTIXTH4N.js";
523
523
  import {
524
524
  looksLikeAbleTimeUlid
525
- } from "./chunk-AUJ4XB6H.js";
525
+ } from "./chunk-DFUXW2IT.js";
526
526
  import {
527
527
  ABLETIME_MCP_PATH,
528
528
  ABLETIME_MCP_PM_PATH,
@@ -543,13 +543,13 @@ import {
543
543
  normalizeAbleTimeCredential,
544
544
  normalizeAbleTimeHost,
545
545
  rewriteAbleTimeError
546
- } from "./chunk-LXBZQP2Q.js";
546
+ } from "./chunk-V76MQ7MH.js";
547
547
  import {
548
548
  clearOptionalCliPresenceCache,
549
549
  detectOptionalServiceClis,
550
550
  installOptionalServiceCli,
551
551
  optionalCliPresence
552
- } from "./chunk-AZ4GEEGL.js";
552
+ } from "./chunk-UK2KESBN.js";
553
553
  import {
554
554
  OPTIONAL_SERVICES,
555
555
  OPTIONAL_SERVICE_IDS,
@@ -565,7 +565,7 @@ import {
565
565
  optionalServiceConnected,
566
566
  optionalServiceSpec,
567
567
  verifyOptionalService
568
- } from "./chunk-FDXHNROD.js";
568
+ } from "./chunk-EQ5JY3MJ.js";
569
569
  import {
570
570
  getAgentSetupInfo,
571
571
  installAgent,
@@ -577,7 +577,7 @@ import {
577
577
  prepareTerminalCommand,
578
578
  resolveLoginCommand,
579
579
  whichOnPath
580
- } from "./chunk-AESO2KJS.js";
580
+ } from "./chunk-CB5Z5C3J.js";
581
581
  import {
582
582
  CLOUD_COORDINATOR_BUSY_REPLY,
583
583
  CLOUD_COORDINATOR_CANCELED_REPLY,
@@ -630,7 +630,7 @@ import {
630
630
  stageBuffersAsAttachments,
631
631
  syncWorkspacesFromThreads,
632
632
  takenTeamSlugsForOrchestration
633
- } from "./chunk-YALFZKSC.js";
633
+ } from "./chunk-RHJPP26T.js";
634
634
  import {
635
635
  GITHUB_PR_BODY_MAX_CHARS,
636
636
  GITHUB_PR_BODY_SAFE_CHARS,
@@ -718,7 +718,7 @@ import {
718
718
  suggestSlug,
719
719
  switchWorktreeBranch,
720
720
  warmGithubAgentAuth
721
- } from "./chunk-TUJFCJJU.js";
721
+ } from "./chunk-EDXTP2VR.js";
722
722
  import {
723
723
  FAMOUS_SOCCER_TEAMS,
724
724
  allocateTeamName,
@@ -752,7 +752,7 @@ import {
752
752
  worktreeNameFromPath,
753
753
  worktreeSlugForTicket,
754
754
  writeThread
755
- } from "./chunk-YEIHCSZS.js";
755
+ } from "./chunk-4GZC6DDH.js";
756
756
  import "./chunk-2P4XKWV2.js";
757
757
  import {
758
758
  BRIGHTSY_OAUTH_CLIENT_ID,
@@ -1017,7 +1017,7 @@ import {
1017
1017
  withTurnScopedCost,
1018
1018
  writeSecureJson,
1019
1019
  writeViewerContext
1020
- } from "./chunk-E52SQENB.js";
1020
+ } from "./chunk-FZKAAAEB.js";
1021
1021
  import {
1022
1022
  THINKING_EFFORTS,
1023
1023
  isThinkingEffort,
@@ -8757,7 +8757,7 @@ async function startHeadlessHost(opts) {
8757
8757
  };
8758
8758
  const refreshRunning = async () => {
8759
8759
  try {
8760
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-NCA4LSCC.js");
8760
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-NPFWU3XU.js");
8761
8761
  agentsRunning = getOrchestrator2().getRuntime().running;
8762
8762
  } catch {
8763
8763
  agentsRunning = 0;
@@ -10379,7 +10379,7 @@ function parseWhen(args) {
10379
10379
  function registerScheduleTools(server) {
10380
10380
  server.tool(
10381
10381
  "list_schedules",
10382
- "List local Sideboard schedules that trigger a chat when due. Jobs fire only while Sideboard.app is running on this Mac (sleep skips until wake).",
10382
+ "List local Sideboard automations that trigger a chat when due. Jobs fire only while Sideboard.app is running on this Mac (sleep skips until wake). Shown in the sidebar after Board.",
10383
10383
  {},
10384
10384
  async () => {
10385
10385
  try {
@@ -10391,9 +10391,9 @@ function registerScheduleTools(server) {
10391
10391
  );
10392
10392
  server.tool(
10393
10393
  "create_schedule",
10394
- "Create a local schedule that, when due, sends a prompt to an existing chat (chatId) or starts a new Global orchestration chat (omit chatId). Pass chatId=self to continue this chat. If that chat is missing or archived when the job fires, Sideboard starts a new Global chat (recurring jobs then continue that chat). Exactly one of at (ISO datetime), every (15m/1h/6h/1d), or cron (5-field). Recurring jobs without chatId open a new Global chat each run. Creating or enabling a future job turns on Settings \u2192 Advanced \u2192 Caffeinate while schedules are enabled so the Mac stays awake until due. Sideboard.app must be running for the job to fire.",
10394
+ "Create a local automation that, when due, sends a prompt to an existing chat (chatId) or starts a new Global orchestration chat (omit chatId). Pass chatId=self to continue this chat. If that chat is missing or archived when the job fires, Sideboard starts a new Global chat (recurring jobs then continue that chat). Exactly one of at (ISO datetime), every (15m/1h/6h/1d), or cron (5-field). Recurring jobs without chatId open a new Global chat each run and archive it when that run finishes. History keeps the latest run for that automation. Creating or enabling a future job turns on Settings \u2192 Advanced \u2192 Caffeinate while automations are enabled so the Mac stays awake until due. Sideboard.app must be running for the job to fire.",
10395
10395
  {
10396
- prompt: z7.string().describe("User message / goal queued when the schedule fires"),
10396
+ prompt: z7.string().describe("User message / goal queued when the automation fires"),
10397
10397
  name: z7.string().optional(),
10398
10398
  at: z7.string().optional().describe("ISO datetime for a one-shot"),
10399
10399
  every: z7.string().optional().describe("Interval such as 15m, 1h, 6h, 1d"),
@@ -10429,7 +10429,7 @@ function registerScheduleTools(server) {
10429
10429
  });
10430
10430
  return text4({
10431
10431
  schedule,
10432
- hint: scheduleNeedsCaffeinate(schedule) ? "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run. Caffeinate while schedules are enabled is now on so the Mac can stay awake until this job is due." : "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run."
10432
+ hint: scheduleNeedsCaffeinate(schedule) ? "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run and archive it when that run finishes (History keeps the latest). Caffeinate while automations are enabled is now on so the Mac can stay awake until this job is due." : "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run and archive it when that run finishes (History keeps the latest)."
10433
10433
  });
10434
10434
  } catch (err) {
10435
10435
  return fail4(err);
@@ -10438,7 +10438,7 @@ function registerScheduleTools(server) {
10438
10438
  );
10439
10439
  server.tool(
10440
10440
  "update_schedule",
10441
- "Update a local schedule (prompt, cadence, target chat, enabled). Pass id from list_schedules.",
10441
+ "Update a local automation (prompt, cadence, target chat, enabled). Pass id from list_schedules.",
10442
10442
  {
10443
10443
  id: z7.string(),
10444
10444
  prompt: z7.string().optional(),
@@ -10493,7 +10493,7 @@ function registerScheduleTools(server) {
10493
10493
  );
10494
10494
  server.tool(
10495
10495
  "delete_schedule",
10496
- "Delete a local schedule. Pass id from list_schedules.",
10496
+ "Delete a local automation. Pass id from list_schedules.",
10497
10497
  { id: z7.string() },
10498
10498
  async ({ id }) => {
10499
10499
  try {
@@ -10506,12 +10506,12 @@ function registerScheduleTools(server) {
10506
10506
  );
10507
10507
  server.tool(
10508
10508
  "run_schedule",
10509
- "Fire a schedule now (does not wait for nextRunAt). Queues the prompt on the target chat or starts a new Global chat. If Sideboard.app is running, the desktop drains the turn.",
10509
+ "Fire an automation now (does not wait for nextRunAt). Queues the prompt on the target chat or starts a new Global chat. If Sideboard.app is running, the desktop drains the turn.",
10510
10510
  { id: z7.string() },
10511
10511
  async ({ id }) => {
10512
10512
  try {
10513
10513
  if (!getSchedule(id)) {
10514
- return fail4(new Error(`Schedule not found: ${id}`));
10514
+ return fail4(new Error(`Automation not found: ${id}`));
10515
10515
  }
10516
10516
  const schedule = await fireSchedule(id);
10517
10517
  return text4({ schedule });
@@ -10690,7 +10690,7 @@ async function handleJobStop(params, _ctx) {
10690
10690
  return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
10691
10691
  }
10692
10692
  async function defaultTurnWait(ref, timeoutMs) {
10693
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-NCA4LSCC.js");
10693
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-NPFWU3XU.js");
10694
10694
  const orch = getOrchestrator2();
10695
10695
  const thread = await orch.waitForTurn(ref, timeoutMs, {
10696
10696
  resolveIfStillRunning: true
@@ -11043,7 +11043,7 @@ async function startMcpServer() {
11043
11043
  );
11044
11044
  }
11045
11045
  try {
11046
- const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-V6YPYY57.js");
11046
+ const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-P3H4SEIK.js");
11047
11047
  orch.setMaxConcurrent(maxConcurrentAgents2());
11048
11048
  } catch {
11049
11049
  }
@@ -11591,7 +11591,7 @@ async function startMcpServer() {
11591
11591
  if (!worktreeProfile) {
11592
11592
  registerConnectedIssueVendorTools(server);
11593
11593
  const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-ZNUEZGHB.js");
11594
- const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-V6YPYY57.js");
11594
+ const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-P3H4SEIK.js");
11595
11595
  const accountDefaults = resolveThreadDefaults2();
11596
11596
  const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
11597
11597
  server.tool(
@@ -14358,7 +14358,7 @@ async function continueSourceThread(threadId, prompt) {
14358
14358
  await continueOnReply(threadId, prompt);
14359
14359
  return;
14360
14360
  }
14361
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-NCA4LSCC.js");
14361
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-NPFWU3XU.js");
14362
14362
  await getOrchestrator2().send(threadId, prompt);
14363
14363
  } catch {
14364
14364
  }