@sideboard-ai/core 0.1.228 → 0.1.230

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 (48) hide show
  1. package/dist/{abletime-D6773P33.js → abletime-BGVOCEOU.js} +4 -4
  2. package/dist/{abletime-BF253OZT.js → abletime-WZNDTRVL.js} +4 -4
  3. package/dist/{abletime-oauth-KQPVVBKA.js → abletime-oauth-6M5GWEPX.js} +3 -3
  4. package/dist/{abletime-oauth-H4672PRH.js → abletime-oauth-ZLU2EYRK.js} +3 -3
  5. package/dist/{abletime-rest-DAFPXZ7H.js → abletime-rest-F7XG5NGY.js} +3 -3
  6. package/dist/{abletime-rest-OPEVV3XC.js → abletime-rest-WNHIATB3.js} +3 -3
  7. package/dist/{agents-DV5UROWB.js → agents-ENAQHQRZ.js} +5 -5
  8. package/dist/{agents-QQ77D7VT.js → agents-TCTEAK6M.js} +5 -5
  9. package/dist/{app-settings-5RQMQKSB.js → app-settings-KBL2G7M4.js} +7 -1
  10. package/dist/{app-settings-V2BBCX2H.js → app-settings-UXWCPDEA.js} +7 -1
  11. package/dist/{chunk-NFWPDEN4.js → chunk-4CZ25DO2.js} +2 -2
  12. package/dist/{chunk-3IMSQNTS.js → chunk-4VGCG2HV.js} +17 -0
  13. package/dist/{chunk-SQHRPJ7P.js → chunk-6L25K7BE.js} +14 -4
  14. package/dist/{chunk-HSYE5ID6.js → chunk-AS4UN7QL.js} +5 -5
  15. package/dist/{chunk-3NWUHXU3.js → chunk-C774RJJA.js} +3 -3
  16. package/dist/{chunk-VUW3VKLW.js → chunk-FA4CPYCY.js} +17 -4
  17. package/dist/{chunk-CLI5DVU4.js → chunk-GHRZNPBK.js} +2 -2
  18. package/dist/{chunk-N2VST3NL.js → chunk-HZFLKVGC.js} +3 -3
  19. package/dist/{chunk-72XUASTH.js → chunk-HZLZ34FK.js} +157 -26
  20. package/dist/{chunk-EWHJNJHV.js → chunk-I5NC7DWO.js} +38 -0
  21. package/dist/{chunk-WHYJL7CP.js → chunk-JJRRLCCS.js} +156 -25
  22. package/dist/{chunk-646I442S.js → chunk-MVLXDYN5.js} +5 -5
  23. package/dist/{chunk-KTZESHYH.js → chunk-N5TX66CD.js} +2 -2
  24. package/dist/{chunk-RRW2XWAY.js → chunk-P6ZM5QJW.js} +2 -2
  25. package/dist/{chunk-THLVCXLF.js → chunk-RGNPPRZZ.js} +3 -3
  26. package/dist/{chunk-Y5JES2VV.js → chunk-RZTRWN2V.js} +38 -0
  27. package/dist/{chunk-SOGGKYFV.js → chunk-SWNEA5OZ.js} +3 -3
  28. package/dist/{chunk-P2EAAM3H.js → chunk-UNTOZA3C.js} +3 -3
  29. package/dist/{chunk-HY2GFZ5S.js → chunk-XJETIO4K.js} +17 -0
  30. package/dist/{coordinator-prompt-JLMQVORO.js → coordinator-prompt-DFXYTM6D.js} +4 -4
  31. package/dist/{coordinator-prompt-VZ7OSRLD.js → coordinator-prompt-YKLXQTWH.js} +4 -4
  32. package/dist/{global-workspace-3FDAUNN2.js → global-workspace-4SPANNJT.js} +4 -4
  33. package/dist/{global-workspace-QPSJEXGR.js → global-workspace-EYZKYHAO.js} +4 -4
  34. package/dist/index.cjs +992 -634
  35. package/dist/index.d.cts +120 -6
  36. package/dist/index.d.ts +120 -6
  37. package/dist/index.js +207 -68
  38. package/dist/mcp/run-stdio.cjs +289 -50
  39. package/dist/mcp/run-stdio.js +87 -51
  40. package/dist/{orchestrator-6XEWQWSM.js → orchestrator-HMJPNUN5.js} +8 -6
  41. package/dist/{orchestrator-QUJORSTA.js → orchestrator-ZT3SJVKF.js} +8 -6
  42. package/dist/{thread-store-KDPPXJJ3.js → thread-store-FBK5SZ5P.js} +1 -1
  43. package/dist/{thread-store-N6WQIWZ4.js → thread-store-IKJD4EOK.js} +1 -1
  44. package/dist/{workspaces-76W7IEKR.js → workspaces-73Y7IJY2.js} +4 -4
  45. package/dist/{workspaces-TDBA64II.js → workspaces-FQCSCTNH.js} +4 -4
  46. package/dist/{worktree-7V67XTEO.js → worktree-36VEFUJN.js} +3 -3
  47. package/dist/{worktree-I573UOPD.js → worktree-DOPRKG7K.js} +3 -3
  48. package/package.json +1 -1
@@ -15,11 +15,11 @@ import {
15
15
  toAbleTimeIssueInfo,
16
16
  updateAbleTimeTask,
17
17
  verifyAbleTimeConnection
18
- } from "./chunk-SOGGKYFV.js";
19
- import "./chunk-RRW2XWAY.js";
20
- import "./chunk-646I442S.js";
18
+ } from "./chunk-SWNEA5OZ.js";
19
+ import "./chunk-P6ZM5QJW.js";
20
+ import "./chunk-MVLXDYN5.js";
21
21
  import "./chunk-N7WZ6NIN.js";
22
- import "./chunk-EWHJNJHV.js";
22
+ import "./chunk-I5NC7DWO.js";
23
23
  import "./chunk-WDRMZKVB.js";
24
24
  import "./chunk-JT7R45JB.js";
25
25
  import "./chunk-77WWLBCI.js";
@@ -17,11 +17,11 @@ import {
17
17
  toAbleTimeIssueInfo,
18
18
  updateAbleTimeTask,
19
19
  verifyAbleTimeConnection
20
- } from "./chunk-THLVCXLF.js";
21
- import "./chunk-CLI5DVU4.js";
22
- import "./chunk-HSYE5ID6.js";
20
+ } from "./chunk-RGNPPRZZ.js";
21
+ import "./chunk-GHRZNPBK.js";
22
+ import "./chunk-AS4UN7QL.js";
23
23
  import "./chunk-VKQGAWHY.js";
24
- import "./chunk-Y5JES2VV.js";
24
+ import "./chunk-RZTRWN2V.js";
25
25
  import "./chunk-NSTQ6QKD.js";
26
26
  import "./chunk-KGZBYWZ3.js";
27
27
  import "./chunk-EQNRWDLN.js";
@@ -20,10 +20,10 @@ import {
20
20
  parseAbleTimeOAuthCallbackUrl,
21
21
  resolveAbleTimeOAuthHost,
22
22
  startAbleTimeOAuth
23
- } from "./chunk-3NWUHXU3.js";
24
- import "./chunk-646I442S.js";
23
+ } from "./chunk-C774RJJA.js";
24
+ import "./chunk-MVLXDYN5.js";
25
25
  import "./chunk-N7WZ6NIN.js";
26
- import "./chunk-EWHJNJHV.js";
26
+ import "./chunk-I5NC7DWO.js";
27
27
  import "./chunk-WDRMZKVB.js";
28
28
  import "./chunk-JT7R45JB.js";
29
29
  import "./chunk-77WWLBCI.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  DEFAULT_ABLETIME_HOST,
5
5
  normalizeAbleTimeHost
6
- } from "./chunk-HSYE5ID6.js";
6
+ } from "./chunk-AS4UN7QL.js";
7
7
  import {
8
8
  httpFetch
9
9
  } from "./chunk-VKQGAWHY.js";
@@ -12,7 +12,7 @@ import {
12
12
  getAbleTimeHost,
13
13
  loadAppSettings,
14
14
  saveAbleTimeConnection
15
- } from "./chunk-Y5JES2VV.js";
15
+ } from "./chunk-RZTRWN2V.js";
16
16
  import "./chunk-NSTQ6QKD.js";
17
17
  import "./chunk-KGZBYWZ3.js";
18
18
  import "./chunk-EQNRWDLN.js";
@@ -287,7 +287,7 @@ async function startAbleTimeOAuth(opts) {
287
287
  persistAbleTimeTokens(data, { host });
288
288
  const token = data.access_token.trim();
289
289
  try {
290
- const { getAbleTimeOrientation } = await import("./abletime-BF253OZT.js");
290
+ const { getAbleTimeOrientation } = await import("./abletime-WZNDTRVL.js");
291
291
  const orientation = await getAbleTimeOrientation({ token, host });
292
292
  return saveAbleTimeConnection({
293
293
  accessToken: token,
@@ -5,10 +5,10 @@ import {
5
5
  callAbleTimeRestTool,
6
6
  looksLikeAbleTimeUlid,
7
7
  textFromAbleTimeDoc
8
- } from "./chunk-RRW2XWAY.js";
9
- import "./chunk-646I442S.js";
8
+ } from "./chunk-P6ZM5QJW.js";
9
+ import "./chunk-MVLXDYN5.js";
10
10
  import "./chunk-N7WZ6NIN.js";
11
- import "./chunk-EWHJNJHV.js";
11
+ import "./chunk-I5NC7DWO.js";
12
12
  import "./chunk-WDRMZKVB.js";
13
13
  import "./chunk-JT7R45JB.js";
14
14
  import "./chunk-77WWLBCI.js";
@@ -7,10 +7,10 @@ import {
7
7
  callAbleTimeRestTool,
8
8
  looksLikeAbleTimeUlid,
9
9
  textFromAbleTimeDoc
10
- } from "./chunk-CLI5DVU4.js";
11
- import "./chunk-HSYE5ID6.js";
10
+ } from "./chunk-GHRZNPBK.js";
11
+ import "./chunk-AS4UN7QL.js";
12
12
  import "./chunk-VKQGAWHY.js";
13
- import "./chunk-Y5JES2VV.js";
13
+ import "./chunk-RZTRWN2V.js";
14
14
  import "./chunk-NSTQ6QKD.js";
15
15
  import "./chunk-KGZBYWZ3.js";
16
16
  import "./chunk-EQNRWDLN.js";
@@ -50,14 +50,14 @@ import {
50
50
  resolveQuotaFallbackAgent,
51
51
  turnCostUsdFromCursorUsage,
52
52
  whichOnPath
53
- } from "./chunk-SQHRPJ7P.js";
54
- import "./chunk-P2EAAM3H.js";
53
+ } from "./chunk-6L25K7BE.js";
54
+ import "./chunk-UNTOZA3C.js";
55
55
  import "./chunk-SXFRXNBM.js";
56
56
  import "./chunk-P2BSMNHB.js";
57
57
  import "./chunk-VKQGAWHY.js";
58
- import "./chunk-NFWPDEN4.js";
58
+ import "./chunk-4CZ25DO2.js";
59
59
  import "./chunk-D6JWYJ4P.js";
60
- import "./chunk-HY2GFZ5S.js";
60
+ import "./chunk-XJETIO4K.js";
61
61
  import "./chunk-X5B3OS5I.js";
62
62
  import "./chunk-SZJZEFTY.js";
63
63
  import {
@@ -74,7 +74,7 @@ import {
74
74
  assertOrchestratorCapableAgent,
75
75
  coerceOrchestratorAgent,
76
76
  isOrchestratorCapableAgent
77
- } from "./chunk-Y5JES2VV.js";
77
+ } from "./chunk-RZTRWN2V.js";
78
78
  import "./chunk-NSTQ6QKD.js";
79
79
  import "./chunk-KGZBYWZ3.js";
80
80
  import "./chunk-EQNRWDLN.js";
@@ -44,9 +44,9 @@ import {
44
44
  resolveLoginCommand,
45
45
  resolveQuotaFallbackAgent,
46
46
  whichOnPath
47
- } from "./chunk-VUW3VKLW.js";
48
- import "./chunk-N2VST3NL.js";
49
- import "./chunk-KTZESHYH.js";
47
+ } from "./chunk-FA4CPYCY.js";
48
+ import "./chunk-HZFLKVGC.js";
49
+ import "./chunk-N5TX66CD.js";
50
50
  import "./chunk-6K64FJDD.js";
51
51
  import "./chunk-PO4M4JAJ.js";
52
52
  import "./chunk-ZXJMAKEP.js";
@@ -63,10 +63,10 @@ import {
63
63
  assertOrchestratorCapableAgent,
64
64
  coerceOrchestratorAgent,
65
65
  isOrchestratorCapableAgent
66
- } from "./chunk-EWHJNJHV.js";
66
+ } from "./chunk-I5NC7DWO.js";
67
67
  import "./chunk-WDRMZKVB.js";
68
68
  import "./chunk-JT7R45JB.js";
69
- import "./chunk-3IMSQNTS.js";
69
+ import "./chunk-4VGCG2HV.js";
70
70
  import "./chunk-7J72QJOM.js";
71
71
  import "./chunk-77WWLBCI.js";
72
72
  import "./chunk-WFUDY6PC.js";
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import {
4
+ AGENT_DONE_SOUNDS,
4
5
  FOLLOW_UP_BEHAVIORS,
5
6
  GITHUB_GIT_AUTH_MODES,
6
7
  HARNESS_ENV_KEYS,
7
8
  ISSUE_SOURCE_LABELS,
8
9
  PROFILE_NOTES_MAX,
9
10
  USAGE_ON_LIMIT_VALUES,
11
+ agentDoneSound,
10
12
  appSettingsPath,
11
13
  applyAppEnvironment,
12
14
  autoArchiveOnMergeEnabled,
@@ -54,6 +56,7 @@ import {
54
56
  historyMaxCount,
55
57
  historyMaxDays,
56
58
  isAbleTimeConnected,
59
+ isAgentDoneSound,
57
60
  isIssueSourceConnected,
58
61
  isLinearConnected,
59
62
  isUsageOnLimit,
@@ -94,19 +97,21 @@ import {
94
97
  updateProjectProfileSettings,
95
98
  usageOnLimit,
96
99
  writeViewerContext
97
- } from "./chunk-Y5JES2VV.js";
100
+ } from "./chunk-RZTRWN2V.js";
98
101
  import "./chunk-NSTQ6QKD.js";
99
102
  import "./chunk-KGZBYWZ3.js";
100
103
  import "./chunk-EQNRWDLN.js";
101
104
  import "./chunk-WWUABK6B.js";
102
105
  import "./chunk-FJZWM2ON.js";
103
106
  export {
107
+ AGENT_DONE_SOUNDS,
104
108
  FOLLOW_UP_BEHAVIORS,
105
109
  GITHUB_GIT_AUTH_MODES,
106
110
  HARNESS_ENV_KEYS,
107
111
  ISSUE_SOURCE_LABELS,
108
112
  PROFILE_NOTES_MAX,
109
113
  USAGE_ON_LIMIT_VALUES,
114
+ agentDoneSound,
110
115
  appSettingsPath,
111
116
  applyAppEnvironment,
112
117
  autoArchiveOnMergeEnabled,
@@ -154,6 +159,7 @@ export {
154
159
  historyMaxCount,
155
160
  historyMaxDays,
156
161
  isAbleTimeConnected,
162
+ isAgentDoneSound,
157
163
  isIssueSourceConnected,
158
164
  isLinearConnected,
159
165
  isUsageOnLimit,
@@ -1,10 +1,12 @@
1
1
  import {
2
+ AGENT_DONE_SOUNDS,
2
3
  FOLLOW_UP_BEHAVIORS,
3
4
  GITHUB_GIT_AUTH_MODES,
4
5
  HARNESS_ENV_KEYS,
5
6
  ISSUE_SOURCE_LABELS,
6
7
  PROFILE_NOTES_MAX,
7
8
  USAGE_ON_LIMIT_VALUES,
9
+ agentDoneSound,
8
10
  appSettingsPath,
9
11
  applyAppEnvironment,
10
12
  autoArchiveOnMergeEnabled,
@@ -52,6 +54,7 @@ import {
52
54
  historyMaxCount,
53
55
  historyMaxDays,
54
56
  isAbleTimeConnected,
57
+ isAgentDoneSound,
55
58
  isIssueSourceConnected,
56
59
  isLinearConnected,
57
60
  isUsageOnLimit,
@@ -92,19 +95,21 @@ import {
92
95
  updateProjectProfileSettings,
93
96
  usageOnLimit,
94
97
  writeViewerContext
95
- } from "./chunk-EWHJNJHV.js";
98
+ } from "./chunk-I5NC7DWO.js";
96
99
  import "./chunk-WDRMZKVB.js";
97
100
  import "./chunk-JT7R45JB.js";
98
101
  import "./chunk-77WWLBCI.js";
99
102
  import "./chunk-WFUDY6PC.js";
100
103
  import "./chunk-4TR3HZFT.js";
101
104
  export {
105
+ AGENT_DONE_SOUNDS,
102
106
  FOLLOW_UP_BEHAVIORS,
103
107
  GITHUB_GIT_AUTH_MODES,
104
108
  HARNESS_ENV_KEYS,
105
109
  ISSUE_SOURCE_LABELS,
106
110
  PROFILE_NOTES_MAX,
107
111
  USAGE_ON_LIMIT_VALUES,
112
+ agentDoneSound,
108
113
  appSettingsPath,
109
114
  applyAppEnvironment,
110
115
  autoArchiveOnMergeEnabled,
@@ -152,6 +157,7 @@ export {
152
157
  historyMaxCount,
153
158
  historyMaxDays,
154
159
  isAbleTimeConnected,
160
+ isAgentDoneSound,
155
161
  isIssueSourceConnected,
156
162
  isLinearConnected,
157
163
  isUsageOnLimit,
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-D6JWYJ4P.js";
6
6
  import {
7
7
  listThreads
8
- } from "./chunk-HY2GFZ5S.js";
8
+ } from "./chunk-XJETIO4K.js";
9
9
  import {
10
10
  ensureWorktreeSideboardIgnored
11
11
  } from "./chunk-SZJZEFTY.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  getGithubGitAuthMode,
24
24
  getGithubPat
25
- } from "./chunk-Y5JES2VV.js";
25
+ } from "./chunk-RZTRWN2V.js";
26
26
  import {
27
27
  worktreesRoot
28
28
  } from "./chunk-EQNRWDLN.js";
@@ -33,6 +33,22 @@ function resolveThreadEffort(raw) {
33
33
  if (raw.fast) return "low";
34
34
  return "high";
35
35
  }
36
+ function normalizeRunScriptRequest(raw) {
37
+ if (!raw || typeof raw !== "object") return void 0;
38
+ const req = raw;
39
+ if (req.op !== "start" && req.op !== "stop") return void 0;
40
+ if (typeof req.requestId !== "string" || !req.requestId.trim()) return void 0;
41
+ if (typeof req.requestedAt !== "string" || !req.requestedAt.trim()) return void 0;
42
+ return {
43
+ op: req.op,
44
+ scriptName: req.scriptName ?? null,
45
+ requestId: req.requestId,
46
+ requestedAt: req.requestedAt,
47
+ claimedAt: req.claimedAt ?? null,
48
+ fulfilledAt: req.fulfilledAt ?? null,
49
+ error: req.error ?? null
50
+ };
51
+ }
36
52
  function normalizeThread(raw) {
37
53
  return {
38
54
  ...raw,
@@ -56,6 +72,7 @@ function normalizeThread(raw) {
56
72
  stackLayer: raw.stackLayer ?? null,
57
73
  userSetTitle: Boolean(raw.userSetTitle),
58
74
  activeRuns: Array.isArray(raw.activeRuns) ? raw.activeRuns : [],
75
+ runScriptRequest: normalizeRunScriptRequest(raw.runScriptRequest),
59
76
  quotaResumeAt: raw.quotaResumeAt ?? null,
60
77
  quotaContinuedFromId: raw.quotaContinuedFromId ?? null,
61
78
  archivedAt: typeof raw.archivedAt === "string" && raw.archivedAt.trim() ? raw.archivedAt.trim() : void 0
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  isOrchestratorThread
5
- } from "./chunk-P2EAAM3H.js";
5
+ } from "./chunk-UNTOZA3C.js";
6
6
  import {
7
7
  applyConnectedTeamToCli,
8
8
  brightsyMcpServerName,
@@ -20,7 +20,7 @@ import {
20
20
  mergeAgentGitAuthEnv,
21
21
  resolveAgentGitAuthEnv,
22
22
  resolveCodexGitWritableRoots
23
- } from "./chunk-NFWPDEN4.js";
23
+ } from "./chunk-4CZ25DO2.js";
24
24
  import {
25
25
  enrichPathWithNpmGlobalBin,
26
26
  isConductorBundledCli,
@@ -36,7 +36,7 @@ import {
36
36
  loadAppSettings,
37
37
  resolveAgentExecutable,
38
38
  resolveClaudeExecutable
39
- } from "./chunk-Y5JES2VV.js";
39
+ } from "./chunk-RZTRWN2V.js";
40
40
  import {
41
41
  appDataDir
42
42
  } from "./chunk-EQNRWDLN.js";
@@ -1232,6 +1232,9 @@ var SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS = [
1232
1232
  "mcp__sideboard__present_plan",
1233
1233
  "mcp__sideboard__wait_for_job",
1234
1234
  "mcp__sideboard__stop_job",
1235
+ "mcp__sideboard__list_run_scripts",
1236
+ "mcp__sideboard__run_dev_script",
1237
+ "mcp__sideboard__stop_dev_script",
1235
1238
  "mcp__sideboard__get_viewer_context",
1236
1239
  "mcp__sideboard__update_viewer_context"
1237
1240
  ];
@@ -1707,6 +1710,13 @@ function toolDescription(name, input) {
1707
1710
  if (/stop_job$/i.test(name)) {
1708
1711
  return str(input?.id) ? `Stop ${str(input?.id)}` : "Stop job";
1709
1712
  }
1713
+ if (/list_run_scripts$/i.test(name)) return "List run scripts";
1714
+ if (/run_dev_script$/i.test(name)) {
1715
+ return str(input?.name) ? `Start ${str(input?.name)}` : "Start Dev script";
1716
+ }
1717
+ if (/stop_dev_script$/i.test(name)) {
1718
+ return str(input?.name) ? `Stop ${str(input?.name)}` : "Stop Dev script";
1719
+ }
1710
1720
  if (isSubagentToolName(name)) {
1711
1721
  const desc = str(input?.description);
1712
1722
  const sub = asRecord(input?.subagentType);
@@ -2538,7 +2548,7 @@ var claudeAdapter = {
2538
2548
  );
2539
2549
  }
2540
2550
  const mode = permissionMode(thread);
2541
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-QPSJEXGR.js");
2551
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-EYZKYHAO.js");
2542
2552
  const isOrchestrator = isOrchestratorThread2(thread);
2543
2553
  const injectedServers = await buildInjectedMcpServers({
2544
2554
  includeSideboard: true,
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  getAbleTimeHost,
8
8
  isAbleTimeConnected
9
- } from "./chunk-Y5JES2VV.js";
9
+ } from "./chunk-RZTRWN2V.js";
10
10
 
11
11
  // src/integrations/abletime-mcp.ts
12
12
  var DEFAULT_ABLETIME_HOST = "https://track.abletime.com";
@@ -155,7 +155,7 @@ function textsFromUnknown(value) {
155
155
  return "";
156
156
  }
157
157
  async function abletimeMcpRequest(method, params, opts) {
158
- const rawToken = opts?.token ?? await import("./abletime-oauth-H4672PRH.js").then((m) => m.ensureAbleTimeAccessToken());
158
+ const rawToken = opts?.token ?? await import("./abletime-oauth-ZLU2EYRK.js").then((m) => m.ensureAbleTimeAccessToken());
159
159
  if (!rawToken?.trim()) {
160
160
  throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
161
161
  }
@@ -226,9 +226,9 @@ async function callAbleTimeTool(name, args = {}, opts) {
226
226
  if (!opts?.token && !isAbleTimeConnected()) {
227
227
  throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
228
228
  }
229
- const rawToken = opts?.token ?? await import("./abletime-oauth-H4672PRH.js").then((m) => m.ensureAbleTimeAccessToken());
229
+ const rawToken = opts?.token ?? await import("./abletime-oauth-ZLU2EYRK.js").then((m) => m.ensureAbleTimeAccessToken());
230
230
  if (rawToken && ableTimeUsesRest(rawToken)) {
231
- const { callAbleTimeRestTool } = await import("./abletime-rest-OPEVV3XC.js");
231
+ const { callAbleTimeRestTool } = await import("./abletime-rest-WNHIATB3.js");
232
232
  return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
233
233
  }
234
234
  const requestOpts = { ...opts, pm: opts?.pm ?? abletimeToolUsesPm(name) };
@@ -244,7 +244,7 @@ async function callAbleTimeTool(name, args = {}, opts) {
244
244
  return await call();
245
245
  }
246
246
  if (rawToken && ableTimeUsesRest(rawToken) && isAbleTimeRejectedCredential(message)) {
247
- const { callAbleTimeRestTool } = await import("./abletime-rest-OPEVV3XC.js");
247
+ const { callAbleTimeRestTool } = await import("./abletime-rest-WNHIATB3.js");
248
248
  return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
249
249
  }
250
250
  throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_ABLETIME_HOST,
3
3
  normalizeAbleTimeHost
4
- } from "./chunk-646I442S.js";
4
+ } from "./chunk-MVLXDYN5.js";
5
5
  import {
6
6
  httpFetch
7
7
  } from "./chunk-N7WZ6NIN.js";
@@ -10,7 +10,7 @@ import {
10
10
  getAbleTimeHost,
11
11
  loadAppSettings,
12
12
  saveAbleTimeConnection
13
- } from "./chunk-EWHJNJHV.js";
13
+ } from "./chunk-I5NC7DWO.js";
14
14
 
15
15
  // src/integrations/abletime-oauth.ts
16
16
  import { createHash, randomBytes } from "crypto";
@@ -280,7 +280,7 @@ async function startAbleTimeOAuth(opts) {
280
280
  persistAbleTimeTokens(data, { host });
281
281
  const token = data.access_token.trim();
282
282
  try {
283
- const { getAbleTimeOrientation } = await import("./abletime-D6773P33.js");
283
+ const { getAbleTimeOrientation } = await import("./abletime-BGVOCEOU.js");
284
284
  const orientation = await getAbleTimeOrientation({ token, host });
285
285
  return saveAbleTimeConnection({
286
286
  accessToken: token,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  isOrchestratorThread
3
- } from "./chunk-N2VST3NL.js";
3
+ } from "./chunk-HZFLKVGC.js";
4
4
  import {
5
5
  codexUnattendedGitConfigArgs,
6
6
  mergeAgentGitAuthEnv,
7
7
  resolveAgentGitAuthEnv,
8
8
  resolveCodexGitWritableRoots
9
- } from "./chunk-KTZESHYH.js";
9
+ } from "./chunk-N5TX66CD.js";
10
10
  import {
11
11
  applyConnectedTeamToCli,
12
12
  brightsyMcpServerName,
@@ -42,7 +42,7 @@ import {
42
42
  loadAppSettings,
43
43
  resolveAgentExecutable,
44
44
  resolveClaudeExecutable
45
- } from "./chunk-EWHJNJHV.js";
45
+ } from "./chunk-I5NC7DWO.js";
46
46
  import {
47
47
  appDataDir
48
48
  } from "./chunk-WFUDY6PC.js";
@@ -562,6 +562,9 @@ var WORKTREE_MCP_TOOLS = [
562
562
  "present_files",
563
563
  "wait_for_job",
564
564
  "stop_job",
565
+ "list_run_scripts",
566
+ "run_dev_script",
567
+ "stop_dev_script",
565
568
  "get_viewer_context",
566
569
  "update_viewer_context"
567
570
  ];
@@ -608,6 +611,9 @@ var SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS = [
608
611
  "mcp__sideboard__present_plan",
609
612
  "mcp__sideboard__wait_for_job",
610
613
  "mcp__sideboard__stop_job",
614
+ "mcp__sideboard__list_run_scripts",
615
+ "mcp__sideboard__run_dev_script",
616
+ "mcp__sideboard__stop_dev_script",
611
617
  "mcp__sideboard__get_viewer_context",
612
618
  "mcp__sideboard__update_viewer_context"
613
619
  ];
@@ -1190,6 +1196,13 @@ function toolDescription(name, input) {
1190
1196
  if (/stop_job$/i.test(name)) {
1191
1197
  return str(input?.id) ? `Stop ${str(input?.id)}` : "Stop job";
1192
1198
  }
1199
+ if (/list_run_scripts$/i.test(name)) return "List run scripts";
1200
+ if (/run_dev_script$/i.test(name)) {
1201
+ return str(input?.name) ? `Start ${str(input?.name)}` : "Start Dev script";
1202
+ }
1203
+ if (/stop_dev_script$/i.test(name)) {
1204
+ return str(input?.name) ? `Stop ${str(input?.name)}` : "Stop Dev script";
1205
+ }
1193
1206
  if (isSubagentToolName(name)) {
1194
1207
  const desc = str(input?.description);
1195
1208
  const sub = asRecord(input?.subagentType);
@@ -2104,7 +2117,7 @@ var claudeAdapter = {
2104
2117
  );
2105
2118
  }
2106
2119
  const mode = permissionMode(thread);
2107
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-3FDAUNN2.js");
2120
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-4SPANNJT.js");
2108
2121
  const isOrchestrator = isOrchestratorThread2(thread);
2109
2122
  const injectedServers = await buildInjectedMcpServers({
2110
2123
  includeSideboard: true,
@@ -6,14 +6,14 @@ import {
6
6
  normalizeAbleTimeCredential,
7
7
  normalizeAbleTimeHost,
8
8
  rewriteAbleTimeError
9
- } from "./chunk-HSYE5ID6.js";
9
+ } from "./chunk-AS4UN7QL.js";
10
10
  import {
11
11
  httpFetch
12
12
  } from "./chunk-VKQGAWHY.js";
13
13
  import {
14
14
  getAbleTimeAccessToken,
15
15
  getAbleTimeHost
16
- } from "./chunk-Y5JES2VV.js";
16
+ } from "./chunk-RZTRWN2V.js";
17
17
 
18
18
  // src/integrations/abletime-rest.ts
19
19
  var ABLETIME_REST_PREFIX = "/api/public/v2";
@@ -6,7 +6,7 @@ import {
6
6
  resolveRepoRoot,
7
7
  takenSlugsFromThread,
8
8
  teamSlugFromName
9
- } from "./chunk-KTZESHYH.js";
9
+ } from "./chunk-N5TX66CD.js";
10
10
  import {
11
11
  ATTACHMENTS_DIR,
12
12
  attachmentsGitignoreBody
@@ -23,13 +23,13 @@ import {
23
23
  resolveThreadDefaults,
24
24
  resolveViewerProfile,
25
25
  resolveViewerProfileForRepo
26
- } from "./chunk-EWHJNJHV.js";
26
+ } from "./chunk-I5NC7DWO.js";
27
27
  import {
28
28
  createEmptyThread,
29
29
  listThreads,
30
30
  updateThread,
31
31
  writeThread
32
- } from "./chunk-3IMSQNTS.js";
32
+ } from "./chunk-4VGCG2HV.js";
33
33
  import {
34
34
  appDataDir,
35
35
  globalAgentCwd,