@sideboard-ai/core 0.1.322 → 0.1.323

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 (55) hide show
  1. package/dist/{abletime-CRRLEYTE.js → abletime-5ZY3ZUUO.js} +4 -4
  2. package/dist/{abletime-ICW6Q2AB.js → abletime-CU2UPMJF.js} +4 -4
  3. package/dist/{abletime-oauth-P3KPPJE4.js → abletime-oauth-4TTCR3CT.js} +3 -3
  4. package/dist/{abletime-oauth-Q76XBSPG.js → abletime-oauth-7EOSBEFM.js} +3 -3
  5. package/dist/{abletime-rest-DQ3PNKXP.js → abletime-rest-3TG4G7LW.js} +3 -3
  6. package/dist/{abletime-rest-DNFAYYLP.js → abletime-rest-KOKE7V4B.js} +3 -3
  7. package/dist/{agents-PFVYC36J.js → agents-2ZXORBEJ.js} +5 -5
  8. package/dist/{agents-ROFDNE7Z.js → agents-SPRAOMGI.js} +5 -5
  9. package/dist/{app-settings-KMPVI2B7.js → app-settings-I5HM5RMP.js} +1 -1
  10. package/dist/{app-settings-P3H4SEIK.js → app-settings-XIF4EC4K.js} +1 -1
  11. package/dist/{chunk-45UB2J47.js → chunk-4C5PQ7JA.js} +160 -46
  12. package/dist/{chunk-XDQSHSL6.js → chunk-53SBTCKF.js} +4 -4
  13. package/dist/{chunk-BPDVHB4U.js → chunk-5GDJSFCT.js} +2 -2
  14. package/dist/{chunk-H6GXYV5Q.js → chunk-6W3XRKD5.js} +3 -3
  15. package/dist/{chunk-RHJKZOPQ.js → chunk-74OPNF7U.js} +2 -2
  16. package/dist/{chunk-BTIXTH4N.js → chunk-7PVT73H6.js} +3 -3
  17. package/dist/{chunk-JNEFEA2A.js → chunk-D3VSKNVA.js} +4 -4
  18. package/dist/{chunk-FZKAAAEB.js → chunk-EJ66LEKH.js} +1 -0
  19. package/dist/{chunk-DFUXW2IT.js → chunk-EKU7FQVG.js} +2 -2
  20. package/dist/{chunk-5OQONGHO.js → chunk-FR3SAYUL.js} +5 -5
  21. package/dist/{chunk-UWJUARFA.js → chunk-FUFNMUNR.js} +1 -1
  22. package/dist/{chunk-TEFFR6PB.js → chunk-INBUV7HY.js} +2 -2
  23. package/dist/{chunk-LD2DXHBP.js → chunk-JDX3474T.js} +182 -50
  24. package/dist/{chunk-SPMIZSKH.js → chunk-MYVKOIIY.js} +3 -3
  25. package/dist/{chunk-7JV5QP5K.js → chunk-MZIZTSR2.js} +2 -2
  26. package/dist/{chunk-HHPTGIKS.js → chunk-NXUN4U5P.js} +2 -2
  27. package/dist/{chunk-V76MQ7MH.js → chunk-ODH3XHMI.js} +5 -5
  28. package/dist/{chunk-IFU4W4C4.js → chunk-OIHRC2ZJ.js} +1 -0
  29. package/dist/{chunk-56M6VEXI.js → chunk-Q3YJZPQI.js} +3 -3
  30. package/dist/{chunk-UX6EDDGR.js → chunk-QOS4465Y.js} +1 -1
  31. package/dist/{chunk-YWBLQBSN.js → chunk-ROOZDDFA.js} +1 -1
  32. package/dist/{chunk-BANN5HUX.js → chunk-RTVS3M74.js} +4 -4
  33. package/dist/{chunk-RGUZPMTF.js → chunk-SKO7IGKU.js} +4 -4
  34. package/dist/{chunk-72PUPPV2.js → chunk-Y3WREIPQ.js} +3 -3
  35. package/dist/{conductor-XLXJU24U.js → conductor-52KTQ3IM.js} +4 -4
  36. package/dist/{conductor-CNT3VL3S.js → conductor-FB7MKLRN.js} +4 -4
  37. package/dist/{coordinator-prompt-D5EE2YTV.js → coordinator-prompt-7HXV7HJ5.js} +3 -3
  38. package/dist/{coordinator-prompt-TU24TQ4I.js → coordinator-prompt-7W7WPY4X.js} +3 -3
  39. package/dist/{global-workspace-UPMXDQM7.js → global-workspace-5BWUTSPJ.js} +3 -3
  40. package/dist/{global-workspace-743TPQNF.js → global-workspace-EI3KBGZE.js} +3 -3
  41. package/dist/index.cjs +267 -57
  42. package/dist/index.d.cts +45 -17
  43. package/dist/index.d.ts +45 -17
  44. package/dist/index.js +113 -36
  45. package/dist/mcp/run-stdio.cjs +242 -57
  46. package/dist/mcp/run-stdio.js +97 -31
  47. package/dist/{optional-cli-USD6PROE.js → optional-cli-RMMS5L6F.js} +3 -3
  48. package/dist/{optional-cli-2YDQQCCD.js → optional-cli-Y3Z3GIPZ.js} +4 -4
  49. package/dist/{orchestrator-VQ4HRYVB.js → orchestrator-2RDE2YS3.js} +8 -8
  50. package/dist/{orchestrator-B4STIW4B.js → orchestrator-RMPZETOO.js} +8 -8
  51. package/dist/{workspaces-75FD4QUR.js → workspaces-LJQS73K6.js} +3 -3
  52. package/dist/{workspaces-47WQL5IG.js → workspaces-OPQ5NMM6.js} +3 -3
  53. package/dist/{worktree-G3E6WP66.js → worktree-4NGXCCUO.js} +2 -2
  54. package/dist/{worktree-PDNPL5CQ.js → worktree-ZDA2UJ7C.js} +2 -2
  55. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ import {
14
14
  MAX_RUN_LOG_CHARS,
15
15
  Orchestrator,
16
16
  RUN_SCRIPT_DESKTOP_ADOPT_MS,
17
+ WEEKDAY_LABELS,
17
18
  addStackLayerFromThread,
18
19
  adoptThread,
19
20
  agentBlockFields,
@@ -94,6 +95,7 @@ import {
94
95
  formatScheduleWhen,
95
96
  formatScheduledPrompt,
96
97
  formatUiReminder,
98
+ formatWeeklyDays,
97
99
  formatWorktreeDirective,
98
100
  formatWorktreeReminder,
99
101
  getDiff,
@@ -144,12 +146,15 @@ import {
144
146
  mentionsPrGoal,
145
147
  mergeSetupOutput,
146
148
  moveQueuedItemToFront,
149
+ normalizeWeekdays,
150
+ normalizeWeeklyTime,
147
151
  notifyOrchestrator,
148
152
  openPrStackLayers,
149
153
  openStackLayer,
150
154
  packagedDetachedJobPath,
151
155
  parseDurationMs,
152
156
  parseIssueSince,
157
+ parseWeeklyDays,
153
158
  pendingInjectedNotices,
154
159
  prependQueuedItem,
155
160
  previewIssueCommentBody,
@@ -204,13 +209,14 @@ import {
204
209
  updateSchedule,
205
210
  visibleAgentBlock,
206
211
  waitForPidExit,
212
+ weeklyCronExpr,
207
213
  workspaceTagTargetRef,
208
214
  worktreeAgentBlock,
209
215
  worktreeBoardStatus,
210
216
  worktreeCleanupSettings,
211
217
  writeAgentBlock,
212
218
  writeWorktreeFile
213
- } from "./chunk-LD2DXHBP.js";
219
+ } from "./chunk-JDX3474T.js";
214
220
  import {
215
221
  LEGACY_PLAN_FILE_REL,
216
222
  PLAN_FILE_NAME,
@@ -300,7 +306,7 @@ import {
300
306
  userMcpNamesToDisable,
301
307
  worktreeMcpToolNames,
302
308
  writeInjectedMcpConfig
303
- } from "./chunk-JNEFEA2A.js";
309
+ } from "./chunk-D3VSKNVA.js";
304
310
  import {
305
311
  brightsyMcpServerName,
306
312
  connectBrightsyTeam,
@@ -431,7 +437,7 @@ import {
431
437
  workspaceAgentChatSummaries,
432
438
  worktreeRunPortsPath,
433
439
  wrapReviewSkillMarkdown
434
- } from "./chunk-BANN5HUX.js";
440
+ } from "./chunk-RTVS3M74.js";
435
441
  import {
436
442
  STDERR_EVENT_MAX_CHARS,
437
443
  STDOUT_EVENT_MAX_CHARS,
@@ -497,7 +503,7 @@ import {
497
503
  parseAbleTimeOAuthCallbackUrl,
498
504
  resolveAbleTimeOAuthHost,
499
505
  startAbleTimeOAuth
500
- } from "./chunk-56M6VEXI.js";
506
+ } from "./chunk-Q3YJZPQI.js";
501
507
  import {
502
508
  ableTimeDependencyTarget,
503
509
  ableTimeStateIsClosed,
@@ -523,10 +529,10 @@ import {
523
529
  toAbleTimeIssueInfo,
524
530
  updateAbleTimeTask,
525
531
  verifyAbleTimeConnection
526
- } from "./chunk-BTIXTH4N.js";
532
+ } from "./chunk-7PVT73H6.js";
527
533
  import {
528
534
  looksLikeAbleTimeUlid
529
- } from "./chunk-DFUXW2IT.js";
535
+ } from "./chunk-EKU7FQVG.js";
530
536
  import {
531
537
  ABLETIME_MCP_PATH,
532
538
  ABLETIME_MCP_PM_PATH,
@@ -547,13 +553,13 @@ import {
547
553
  normalizeAbleTimeCredential,
548
554
  normalizeAbleTimeHost,
549
555
  rewriteAbleTimeError
550
- } from "./chunk-V76MQ7MH.js";
556
+ } from "./chunk-ODH3XHMI.js";
551
557
  import {
552
558
  clearOptionalCliPresenceCache,
553
559
  detectOptionalServiceClis,
554
560
  installOptionalServiceCli,
555
561
  optionalCliPresence
556
- } from "./chunk-RHJKZOPQ.js";
562
+ } from "./chunk-74OPNF7U.js";
557
563
  import {
558
564
  OPTIONAL_SERVICES,
559
565
  OPTIONAL_SERVICE_IDS,
@@ -569,7 +575,7 @@ import {
569
575
  optionalServiceConnected,
570
576
  optionalServiceSpec,
571
577
  verifyOptionalService
572
- } from "./chunk-TEFFR6PB.js";
578
+ } from "./chunk-INBUV7HY.js";
573
579
  import {
574
580
  getAgentSetupInfo,
575
581
  installAgent,
@@ -581,7 +587,7 @@ import {
581
587
  prepareTerminalCommand,
582
588
  resolveLoginCommand,
583
589
  whichOnPath
584
- } from "./chunk-BPDVHB4U.js";
590
+ } from "./chunk-5GDJSFCT.js";
585
591
  import {
586
592
  CLOUD_COORDINATOR_BUSY_REPLY,
587
593
  CLOUD_COORDINATOR_CANCELED_REPLY,
@@ -634,7 +640,7 @@ import {
634
640
  stageBuffersAsAttachments,
635
641
  syncWorkspacesFromThreads,
636
642
  takenTeamSlugsForOrchestration
637
- } from "./chunk-H6GXYV5Q.js";
643
+ } from "./chunk-6W3XRKD5.js";
638
644
  import {
639
645
  GITHUB_PR_BODY_MAX_CHARS,
640
646
  GITHUB_PR_BODY_SAFE_CHARS,
@@ -723,7 +729,7 @@ import {
723
729
  suggestSlug,
724
730
  switchWorktreeBranch,
725
731
  warmGithubAgentAuth
726
- } from "./chunk-UWJUARFA.js";
732
+ } from "./chunk-FUFNMUNR.js";
727
733
  import {
728
734
  FAMOUS_SOCCER_TEAMS,
729
735
  allocateTeamName,
@@ -1024,7 +1030,7 @@ import {
1024
1030
  withTurnScopedCost,
1025
1031
  writeSecureJson,
1026
1032
  writeViewerContext
1027
- } from "./chunk-FZKAAAEB.js";
1033
+ } from "./chunk-EJ66LEKH.js";
1028
1034
  import {
1029
1035
  THINKING_EFFORTS,
1030
1036
  isThinkingEffort,
@@ -9014,7 +9020,7 @@ async function startHeadlessHost(opts) {
9014
9020
  };
9015
9021
  const refreshRunning = async () => {
9016
9022
  try {
9017
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-B4STIW4B.js");
9023
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-RMPZETOO.js");
9018
9024
  agentsRunning = getOrchestrator2().getRuntime().running;
9019
9025
  } catch {
9020
9026
  agentsRunning = 0;
@@ -10766,18 +10772,79 @@ function fail4(err) {
10766
10772
  );
10767
10773
  }
10768
10774
  function parseWhen(args) {
10769
- const count = [args.at, args.every, args.cron].filter((v) => v?.trim()).length;
10770
- if (count !== 1) {
10771
- throw new Error("Pass exactly one of at (ISO datetime), every (15m/1h/6h/1d), or cron");
10775
+ const at = args.at?.trim();
10776
+ const every = args.every?.trim();
10777
+ const cron = args.cron?.trim();
10778
+ const time = args.time?.trim();
10779
+ const days = args.days?.trim();
10780
+ if (days && !time && !at && !every && !cron) {
10781
+ throw new Error("days needs time (HH:mm), for example time=07:30 days=weekdays");
10782
+ }
10783
+ const picked = [at, every, cron, time].filter(Boolean);
10784
+ if (picked.length !== 1) {
10785
+ throw new Error(
10786
+ "Pass exactly one of at (ISO datetime), every (15m/1h/6h/1d), time (HH:mm), or cron"
10787
+ );
10788
+ }
10789
+ if (at) return { kind: "once", at };
10790
+ if (every) return { kind: "every", every };
10791
+ if (time) {
10792
+ return {
10793
+ kind: "weekly",
10794
+ time,
10795
+ days: parseWeeklyDays(days || "daily"),
10796
+ tz: args.tz?.trim() || void 0
10797
+ };
10772
10798
  }
10773
- if (args.at?.trim()) return { kind: "once", at: args.at.trim() };
10774
- if (args.every?.trim()) return { kind: "every", every: args.every.trim() };
10775
10799
  return {
10776
10800
  kind: "cron",
10777
- expr: args.cron.trim(),
10801
+ expr: cron,
10778
10802
  tz: args.tz?.trim() || void 0
10779
10803
  };
10780
10804
  }
10805
+ function whenFromUpdate(id, args) {
10806
+ const at = args.at?.trim();
10807
+ const every = args.every?.trim();
10808
+ const cron = args.cron?.trim();
10809
+ const time = args.time?.trim();
10810
+ const days = args.days?.trim();
10811
+ const tzSet = args.tz !== void 0;
10812
+ if (!at && !every && !cron && !time && !days && !tzSet) return void 0;
10813
+ if ((time || days) && !at && !every && !cron) {
10814
+ const current = getSchedule(id);
10815
+ const weekly = current?.when.kind === "weekly" ? current.when : null;
10816
+ if (!weekly && !(time && days)) {
10817
+ const kind = current?.when.kind ?? "missing";
10818
+ throw new Error(
10819
+ `time and days change a days-at-a-time automation. This job is ${kind}. Pass time and days together to switch it, or at / every / cron to replace the cadence.`
10820
+ );
10821
+ }
10822
+ const clock = time || weekly?.time;
10823
+ if (!clock) {
10824
+ throw new Error("time (HH:mm) is required, for example time=07:30 days=weekdays");
10825
+ }
10826
+ const prevTz = current?.when.kind === "weekly" || current?.when.kind === "cron" ? current.when.tz : void 0;
10827
+ return {
10828
+ kind: "weekly",
10829
+ time: clock,
10830
+ days: days ? parseWeeklyDays(days) : weekly?.days ?? parseWeeklyDays("daily"),
10831
+ tz: tzSet ? args.tz?.trim() || void 0 : prevTz
10832
+ };
10833
+ }
10834
+ if (!at && !every && !cron && !time && !days && tzSet) {
10835
+ const current = getSchedule(id);
10836
+ if (current?.when.kind === "weekly" || current?.when.kind === "cron") {
10837
+ return { ...current.when, tz: args.tz?.trim() || void 0 };
10838
+ }
10839
+ return void 0;
10840
+ }
10841
+ return parseWhen(args);
10842
+ }
10843
+ function createdHint(schedule) {
10844
+ const awake = scheduleNeedsCaffeinate(schedule) ? " Caffeinate while automations are enabled is now on so the Mac can stay awake until this job is due." : "";
10845
+ const fresh = schedule.threadId ? "" : schedule.archiveChat === false ? " This job leaves the new chat open so you can keep talking." : " A new Global chat is archived when the run finishes (History keeps the last 5 runs). Pass archiveChat=false to leave it open.";
10846
+ return `Fires while Sideboard.app is running.${fresh}${awake}`;
10847
+ }
10781
10848
  function registerScheduleTools(server) {
10782
10849
  server.tool(
10783
10850
  "list_schedules",
@@ -10793,14 +10860,19 @@ function registerScheduleTools(server) {
10793
10860
  );
10794
10861
  server.tool(
10795
10862
  "create_schedule",
10796
- "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.",
10863
+ "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), time (HH:mm, with days such as weekdays or mon,wed), or cron (5-field). Recurring jobs without chatId open a new Global chat each run and archive it when that run finishes unless archiveChat is false (leave the chat open to keep talking, for example a morning start-my-day run). History keeps the last 5 archived runs 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.",
10797
10864
  {
10798
10865
  prompt: z7.string().describe("User message / goal queued when the automation fires"),
10799
10866
  name: z7.string().optional(),
10800
10867
  at: z7.string().optional().describe("ISO datetime for a one-shot"),
10801
10868
  every: z7.string().optional().describe("Interval such as 15m, 1h, 6h, 1d"),
10869
+ time: z7.string().optional().describe("HH:mm (24-hour) clock time. Omit days for every day."),
10870
+ days: z7.string().optional().describe("daily, weekdays, weekends, or days such as mon,wed,fri or mon-fri. Use with time."),
10802
10871
  cron: z7.string().optional().describe("5-field cron expression"),
10803
- tz: z7.string().optional().describe("IANA timezone for cron (default: system)"),
10872
+ tz: z7.string().optional().describe("IANA timezone for cron or time (default: system)"),
10873
+ archiveChat: z7.boolean().optional().describe(
10874
+ "Archive a new Global chat when the run finishes. Default true. Pass false to leave the chat open."
10875
+ ),
10804
10876
  chatId: z7.string().optional().describe(
10805
10877
  'Existing chat id (orchestration or workspace), or "self" for this chat. Omit to create a new Global chat on fire.'
10806
10878
  ),
@@ -10827,11 +10899,12 @@ function registerScheduleTools(server) {
10827
10899
  threadId,
10828
10900
  agent: args.agent,
10829
10901
  model: args.model,
10902
+ archiveChat: args.archiveChat,
10830
10903
  createdBy: "mcp"
10831
10904
  });
10832
10905
  return text4({
10833
10906
  schedule,
10834
- 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)."
10907
+ hint: createdHint(schedule)
10835
10908
  });
10836
10909
  } catch (err) {
10837
10910
  return fail4(err);
@@ -10840,15 +10913,18 @@ function registerScheduleTools(server) {
10840
10913
  );
10841
10914
  server.tool(
10842
10915
  "update_schedule",
10843
- "Update a local automation (prompt, cadence, target chat, enabled). Pass id from list_schedules.",
10916
+ "Update a local automation (prompt, cadence, target chat, archiveChat, enabled). Pass id from list_schedules.",
10844
10917
  {
10845
10918
  id: z7.string(),
10846
10919
  prompt: z7.string().optional(),
10847
10920
  name: z7.string().optional(),
10848
10921
  at: z7.string().optional(),
10849
10922
  every: z7.string().optional(),
10923
+ time: z7.string().optional().describe("HH:mm clock time. Use with days, or alone to change the time of a weekly job."),
10924
+ days: z7.string().optional().describe("daily, weekdays, weekends, or mon,wed,fri. Use with time, or alone on an existing weekly job."),
10850
10925
  cron: z7.string().optional(),
10851
10926
  tz: z7.string().optional(),
10927
+ archiveChat: z7.boolean().optional().describe("Archive a new Global chat when the run finishes. False leaves it open."),
10852
10928
  chatId: z7.string().optional().describe(
10853
10929
  'Existing chat (orchestration or workspace), "self", or empty string to create a new Global chat each run'
10854
10930
  ),
@@ -10859,13 +10935,7 @@ function registerScheduleTools(server) {
10859
10935
  },
10860
10936
  async (args) => {
10861
10937
  try {
10862
- const cadenceSet = [args.at, args.every, args.cron].some((v) => v?.trim());
10863
- const when = cadenceSet ? parseWhen({
10864
- at: args.at,
10865
- every: args.every,
10866
- cron: args.cron,
10867
- tz: args.tz
10868
- }) : void 0;
10938
+ const when = whenFromUpdate(args.id, args);
10869
10939
  let threadId;
10870
10940
  const rawChatId = args.chatId ?? args.threadId;
10871
10941
  if (rawChatId !== void 0) {
@@ -10885,7 +10955,8 @@ function registerScheduleTools(server) {
10885
10955
  threadId,
10886
10956
  agent: args.agent,
10887
10957
  enabled: args.enabled,
10888
- model: args.model
10958
+ model: args.model,
10959
+ archiveChat: args.archiveChat
10889
10960
  });
10890
10961
  return text4({ schedule });
10891
10962
  } catch (err) {
@@ -11092,7 +11163,7 @@ async function handleJobStop(params, _ctx) {
11092
11163
  return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
11093
11164
  }
11094
11165
  async function defaultTurnWait(ref, timeoutMs) {
11095
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-B4STIW4B.js");
11166
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-RMPZETOO.js");
11096
11167
  const orch = getOrchestrator2();
11097
11168
  const thread = await orch.waitForTurn(ref, timeoutMs, {
11098
11169
  resolveIfStillRunning: true
@@ -11445,7 +11516,7 @@ async function startMcpServer() {
11445
11516
  );
11446
11517
  }
11447
11518
  try {
11448
- const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-P3H4SEIK.js");
11519
+ const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-XIF4EC4K.js");
11449
11520
  orch.setMaxConcurrent(maxConcurrentAgents2());
11450
11521
  } catch {
11451
11522
  }
@@ -11993,7 +12064,7 @@ async function startMcpServer() {
11993
12064
  if (!worktreeProfile) {
11994
12065
  registerConnectedIssueVendorTools(server);
11995
12066
  const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-ZNUEZGHB.js");
11996
- const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-P3H4SEIK.js");
12067
+ const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-XIF4EC4K.js");
11997
12068
  const accountDefaults = resolveThreadDefaults2();
11998
12069
  const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
11999
12070
  server.tool(
@@ -14760,7 +14831,7 @@ async function continueSourceThread(threadId, prompt) {
14760
14831
  await continueOnReply(threadId, prompt);
14761
14832
  return;
14762
14833
  }
14763
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-B4STIW4B.js");
14834
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-RMPZETOO.js");
14764
14835
  await getOrchestrator2().send(threadId, prompt);
14765
14836
  } catch {
14766
14837
  }
@@ -15166,6 +15237,7 @@ export {
15166
15237
  THINKING_EFFORTS,
15167
15238
  THINKING_PART_MAX_CHARS,
15168
15239
  USAGE_ON_LIMIT_VALUES,
15240
+ WEEKDAY_LABELS,
15169
15241
  WORKTREE_ABLETIME_MCP_TOOLS,
15170
15242
  WORKTREE_GITHUB_MCP_TOOLS,
15171
15243
  WORKTREE_LINEAR_MCP_TOOLS,
@@ -15493,6 +15565,7 @@ export {
15493
15565
  formatUiReminder,
15494
15566
  formatViewerContextDirective,
15495
15567
  formatViewerContextReminder,
15568
+ formatWeeklyDays,
15496
15569
  formatWorkspaceInventory,
15497
15570
  formatWorkspaceProfileSuffix,
15498
15571
  formatWorktreeDirective,
@@ -15789,6 +15862,8 @@ export {
15789
15862
  normalizeThinkingEffort,
15790
15863
  normalizeThread,
15791
15864
  normalizeTurnInput,
15865
+ normalizeWeekdays,
15866
+ normalizeWeeklyTime,
15792
15867
  normalizeWorkspaceTags,
15793
15868
  normalizeWorktreePath,
15794
15869
  notifyOrchestrator,
@@ -15828,6 +15903,7 @@ export {
15828
15903
  parseSessionQuotaResetAt,
15829
15904
  parseSlackRelayClientMessage,
15830
15905
  parseSlackRelayServerMessage,
15906
+ parseWeeklyDays,
15831
15907
  partsToAssistantText,
15832
15908
  pastedTextStats,
15833
15909
  patchReadAloudSettings,
@@ -16105,6 +16181,7 @@ export {
16105
16181
  visibleToolRowDetail,
16106
16182
  waitForPidExit,
16107
16183
  warmGithubAgentAuth,
16184
+ weeklyCronExpr,
16108
16185
  whichOnPath,
16109
16186
  withAddedAccount,
16110
16187
  withEventParentId,