@sideboard-ai/core 0.1.227 → 0.1.229
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.
- package/dist/{abletime-D6773P33.js → abletime-BGVOCEOU.js} +4 -4
- package/dist/{abletime-BF253OZT.js → abletime-WZNDTRVL.js} +4 -4
- package/dist/{abletime-oauth-KQPVVBKA.js → abletime-oauth-6M5GWEPX.js} +3 -3
- package/dist/{abletime-oauth-H4672PRH.js → abletime-oauth-ZLU2EYRK.js} +3 -3
- package/dist/{abletime-rest-DAFPXZ7H.js → abletime-rest-F7XG5NGY.js} +3 -3
- package/dist/{abletime-rest-OPEVV3XC.js → abletime-rest-WNHIATB3.js} +3 -3
- package/dist/{agents-DV5UROWB.js → agents-B7G4BQTS.js} +4 -4
- package/dist/{agents-QQ77D7VT.js → agents-ZKP7QNXA.js} +4 -4
- package/dist/{app-settings-5RQMQKSB.js → app-settings-KBL2G7M4.js} +7 -1
- package/dist/{app-settings-V2BBCX2H.js → app-settings-UXWCPDEA.js} +7 -1
- package/dist/{chunk-FUDJ6NFM.js → chunk-6HKGCUDN.js} +117 -62
- package/dist/{chunk-N2VST3NL.js → chunk-7YKXBFQE.js} +2 -2
- package/dist/{chunk-KTZESHYH.js → chunk-AMMRFFB7.js} +1 -1
- package/dist/{chunk-HSYE5ID6.js → chunk-AS4UN7QL.js} +5 -5
- package/dist/{chunk-3NWUHXU3.js → chunk-C774RJJA.js} +3 -3
- package/dist/{chunk-NFWPDEN4.js → chunk-F3GT6DQW.js} +1 -1
- package/dist/{chunk-CLI5DVU4.js → chunk-GHRZNPBK.js} +2 -2
- package/dist/{chunk-EWHJNJHV.js → chunk-I5NC7DWO.js} +38 -0
- package/dist/{chunk-VUW3VKLW.js → chunk-LULHFLPU.js} +17 -4
- package/dist/{chunk-646I442S.js → chunk-MVLXDYN5.js} +5 -5
- package/dist/{chunk-P2EAAM3H.js → chunk-N7UXGM3Y.js} +2 -2
- package/dist/{chunk-RRW2XWAY.js → chunk-P6ZM5QJW.js} +2 -2
- package/dist/{chunk-THLVCXLF.js → chunk-RGNPPRZZ.js} +3 -3
- package/dist/{chunk-Y5JES2VV.js → chunk-RZTRWN2V.js} +38 -0
- package/dist/{chunk-SOGGKYFV.js → chunk-SWNEA5OZ.js} +3 -3
- package/dist/{chunk-SQHRPJ7P.js → chunk-T7Y5ULHM.js} +14 -4
- package/dist/{chunk-I2HOATRJ.js → chunk-UHT6OS7V.js} +129 -62
- package/dist/{coordinator-prompt-JLMQVORO.js → coordinator-prompt-DZMMCDRW.js} +3 -3
- package/dist/{coordinator-prompt-VZ7OSRLD.js → coordinator-prompt-RL3GKIAQ.js} +3 -3
- package/dist/{global-workspace-QPSJEXGR.js → global-workspace-G3QEVRGZ.js} +3 -3
- package/dist/{global-workspace-3FDAUNN2.js → global-workspace-QW4OXCLJ.js} +3 -3
- package/dist/index.cjs +927 -658
- package/dist/index.d.cts +89 -3
- package/dist/index.d.ts +89 -3
- package/dist/index.js +206 -67
- package/dist/mcp/run-stdio.cjs +224 -84
- package/dist/mcp/run-stdio.js +86 -50
- package/dist/{orchestrator-CWOSAYAE.js → orchestrator-GKAHLGXT.js} +5 -5
- package/dist/{orchestrator-VKPHI64Q.js → orchestrator-X4VFA5WW.js} +5 -5
- package/dist/{workspaces-76W7IEKR.js → workspaces-77C5XQEY.js} +3 -3
- package/dist/{workspaces-TDBA64II.js → workspaces-WXRPLT2N.js} +3 -3
- package/dist/{worktree-I573UOPD.js → worktree-L6FJXFUC.js} +2 -2
- package/dist/{worktree-7V67XTEO.js → worktree-P67WAJKH.js} +2 -2
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getAbleTimeHost,
|
|
8
8
|
isAbleTimeConnected
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
283
|
+
const { getAbleTimeOrientation } = await import("./abletime-BGVOCEOU.js");
|
|
284
284
|
const orientation = await getAbleTimeOrientation({ token, host });
|
|
285
285
|
return saveAbleTimeConnection({
|
|
286
286
|
accessToken: token,
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
normalizeAbleTimeCredential,
|
|
7
7
|
normalizeAbleTimeHost,
|
|
8
8
|
rewriteAbleTimeError
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
16
|
+
} from "./chunk-RZTRWN2V.js";
|
|
17
17
|
|
|
18
18
|
// src/integrations/abletime-rest.ts
|
|
19
19
|
var ABLETIME_REST_PREFIX = "/api/public/v2";
|
|
@@ -568,6 +568,21 @@ var DEFAULT_AGENTS = /* @__PURE__ */ new Set([
|
|
|
568
568
|
]);
|
|
569
569
|
var GITHUB_GIT_AUTH_MODES = ["auto", "gh", "ssh", "token"];
|
|
570
570
|
var FOLLOW_UP_BEHAVIORS = ["steer", "queue"];
|
|
571
|
+
var AGENT_DONE_SOUNDS = [
|
|
572
|
+
"none",
|
|
573
|
+
"goal",
|
|
574
|
+
"bell",
|
|
575
|
+
"level",
|
|
576
|
+
"coin",
|
|
577
|
+
"fanfare",
|
|
578
|
+
"magic",
|
|
579
|
+
"rooster",
|
|
580
|
+
"whistle",
|
|
581
|
+
"custom"
|
|
582
|
+
];
|
|
583
|
+
function isAgentDoneSound(value) {
|
|
584
|
+
return AGENT_DONE_SOUNDS.includes(value);
|
|
585
|
+
}
|
|
571
586
|
function emptyPublicIntegrations() {
|
|
572
587
|
return {
|
|
573
588
|
hasLinearApiKey: false,
|
|
@@ -1006,6 +1021,13 @@ function normalizeAdvanced(raw) {
|
|
|
1006
1021
|
if (source.followUpBehavior === "queue" || source.followUpBehavior === "steer") {
|
|
1007
1022
|
out.followUpBehavior = source.followUpBehavior;
|
|
1008
1023
|
}
|
|
1024
|
+
if (isAgentDoneSound(source.agentDoneSound)) {
|
|
1025
|
+
out.agentDoneSound = source.agentDoneSound;
|
|
1026
|
+
}
|
|
1027
|
+
if (typeof source.agentDoneCustomSoundName === "string") {
|
|
1028
|
+
const name = source.agentDoneCustomSoundName.trim();
|
|
1029
|
+
if (name) out.agentDoneCustomSoundName = name.slice(0, 200);
|
|
1030
|
+
}
|
|
1009
1031
|
return out;
|
|
1010
1032
|
}
|
|
1011
1033
|
function normalizeSettings(raw) {
|
|
@@ -1929,6 +1951,16 @@ function updateAdvancedSettings(patch) {
|
|
|
1929
1951
|
if (patch.followUpBehavior === "queue" || patch.followUpBehavior === "steer") {
|
|
1930
1952
|
advanced.followUpBehavior = patch.followUpBehavior;
|
|
1931
1953
|
}
|
|
1954
|
+
if (isAgentDoneSound(patch.agentDoneSound)) {
|
|
1955
|
+
advanced.agentDoneSound = patch.agentDoneSound;
|
|
1956
|
+
}
|
|
1957
|
+
if (patch.agentDoneCustomSoundName === null || patch.agentDoneCustomSoundName === "") {
|
|
1958
|
+
delete advanced.agentDoneCustomSoundName;
|
|
1959
|
+
} else if (typeof patch.agentDoneCustomSoundName === "string") {
|
|
1960
|
+
const name = patch.agentDoneCustomSoundName.trim();
|
|
1961
|
+
if (name) advanced.agentDoneCustomSoundName = name.slice(0, 200);
|
|
1962
|
+
else delete advanced.agentDoneCustomSoundName;
|
|
1963
|
+
}
|
|
1932
1964
|
return saveAppSettings({ ...current, advanced });
|
|
1933
1965
|
}
|
|
1934
1966
|
function autoRenameBranchEnabled(settings = loadAppSettings()) {
|
|
@@ -1996,6 +2028,9 @@ function orchestrationQuotaFallbackAgent(settings = loadAppSettings()) {
|
|
|
1996
2028
|
function followUpBehavior(settings = loadAppSettings()) {
|
|
1997
2029
|
return settings.advanced.followUpBehavior === "queue" ? "queue" : "steer";
|
|
1998
2030
|
}
|
|
2031
|
+
function agentDoneSound(settings = loadAppSettings()) {
|
|
2032
|
+
return isAgentDoneSound(settings.advanced.agentDoneSound) ? settings.advanced.agentDoneSound : "none";
|
|
2033
|
+
}
|
|
1999
2034
|
function maxConcurrentAgents(settings = loadAppSettings()) {
|
|
2000
2035
|
const n = settings.advanced.maxConcurrent;
|
|
2001
2036
|
if (typeof n === "number" && Number.isFinite(n)) {
|
|
@@ -2140,6 +2175,8 @@ export {
|
|
|
2140
2175
|
HARNESS_ENV_KEYS,
|
|
2141
2176
|
GITHUB_GIT_AUTH_MODES,
|
|
2142
2177
|
FOLLOW_UP_BEHAVIORS,
|
|
2178
|
+
AGENT_DONE_SOUNDS,
|
|
2179
|
+
isAgentDoneSound,
|
|
2143
2180
|
emptyPublicIntegrations,
|
|
2144
2181
|
toPublicAppSettings,
|
|
2145
2182
|
appSettingsPath,
|
|
@@ -2208,6 +2245,7 @@ export {
|
|
|
2208
2245
|
orchestrationQuotaOnLimit,
|
|
2209
2246
|
orchestrationQuotaFallbackAgent,
|
|
2210
2247
|
followUpBehavior,
|
|
2248
|
+
agentDoneSound,
|
|
2211
2249
|
maxConcurrentAgents,
|
|
2212
2250
|
resolveClaudeExecutable,
|
|
2213
2251
|
resolveAgentExecutable,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isOrchestratorThread
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7YKXBFQE.js";
|
|
4
4
|
import {
|
|
5
5
|
codexUnattendedGitConfigArgs,
|
|
6
6
|
mergeAgentGitAuthEnv,
|
|
7
7
|
resolveAgentGitAuthEnv,
|
|
8
8
|
resolveCodexGitWritableRoots
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AMMRFFB7.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-
|
|
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-
|
|
2120
|
+
const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-QW4OXCLJ.js");
|
|
2108
2121
|
const isOrchestrator = isOrchestratorThread2(thread);
|
|
2109
2122
|
const injectedServers = await buildInjectedMcpServers({
|
|
2110
2123
|
includeSideboard: true,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
getAbleTimeHost,
|
|
6
6
|
isAbleTimeConnected
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-I5NC7DWO.js";
|
|
8
8
|
|
|
9
9
|
// src/integrations/abletime-mcp.ts
|
|
10
10
|
var DEFAULT_ABLETIME_HOST = "https://track.abletime.com";
|
|
@@ -153,7 +153,7 @@ function textsFromUnknown(value) {
|
|
|
153
153
|
return "";
|
|
154
154
|
}
|
|
155
155
|
async function abletimeMcpRequest(method, params, opts) {
|
|
156
|
-
const rawToken = opts?.token ?? await import("./abletime-oauth-
|
|
156
|
+
const rawToken = opts?.token ?? await import("./abletime-oauth-6M5GWEPX.js").then((m) => m.ensureAbleTimeAccessToken());
|
|
157
157
|
if (!rawToken?.trim()) {
|
|
158
158
|
throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
|
|
159
159
|
}
|
|
@@ -224,9 +224,9 @@ async function callAbleTimeTool(name, args = {}, opts) {
|
|
|
224
224
|
if (!opts?.token && !isAbleTimeConnected()) {
|
|
225
225
|
throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
|
|
226
226
|
}
|
|
227
|
-
const rawToken = opts?.token ?? await import("./abletime-oauth-
|
|
227
|
+
const rawToken = opts?.token ?? await import("./abletime-oauth-6M5GWEPX.js").then((m) => m.ensureAbleTimeAccessToken());
|
|
228
228
|
if (rawToken && ableTimeUsesRest(rawToken)) {
|
|
229
|
-
const { callAbleTimeRestTool } = await import("./abletime-rest-
|
|
229
|
+
const { callAbleTimeRestTool } = await import("./abletime-rest-F7XG5NGY.js");
|
|
230
230
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
231
231
|
}
|
|
232
232
|
const requestOpts = { ...opts, pm: opts?.pm ?? abletimeToolUsesPm(name) };
|
|
@@ -242,7 +242,7 @@ async function callAbleTimeTool(name, args = {}, opts) {
|
|
|
242
242
|
return await call();
|
|
243
243
|
}
|
|
244
244
|
if (rawToken && ableTimeUsesRest(rawToken) && isAbleTimeRejectedCredential(message)) {
|
|
245
|
-
const { callAbleTimeRestTool } = await import("./abletime-rest-
|
|
245
|
+
const { callAbleTimeRestTool } = await import("./abletime-rest-F7XG5NGY.js");
|
|
246
246
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
247
247
|
}
|
|
248
248
|
throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
resolveRepoRoot,
|
|
9
9
|
takenSlugsFromThread,
|
|
10
10
|
teamSlugFromName
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-F3GT6DQW.js";
|
|
12
12
|
import {
|
|
13
13
|
ATTACHMENTS_DIR,
|
|
14
14
|
attachmentsGitignoreBody
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
resolveThreadDefaults,
|
|
32
32
|
resolveViewerProfile,
|
|
33
33
|
resolveViewerProfileForRepo
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-RZTRWN2V.js";
|
|
35
35
|
import {
|
|
36
36
|
appDataDir,
|
|
37
37
|
globalAgentCwd,
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
normalizeAbleTimeCredential,
|
|
5
5
|
normalizeAbleTimeHost,
|
|
6
6
|
rewriteAbleTimeError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MVLXDYN5.js";
|
|
8
8
|
import {
|
|
9
9
|
httpFetch
|
|
10
10
|
} from "./chunk-N7WZ6NIN.js";
|
|
11
11
|
import {
|
|
12
12
|
getAbleTimeAccessToken,
|
|
13
13
|
getAbleTimeHost
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-I5NC7DWO.js";
|
|
15
15
|
|
|
16
16
|
// src/integrations/abletime-rest.ts
|
|
17
17
|
var ABLETIME_REST_PREFIX = "/api/public/v2";
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
textFromAbleTimeDoc
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GHRZNPBK.js";
|
|
6
6
|
import {
|
|
7
7
|
assertAbleTimeCredential,
|
|
8
8
|
callAbleTimeTool,
|
|
9
9
|
normalizeAbleTimeHost,
|
|
10
10
|
rewriteAbleTimeError
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-AS4UN7QL.js";
|
|
12
12
|
import {
|
|
13
13
|
isAbleTimeConnected,
|
|
14
14
|
saveAbleTimeConnection
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-RZTRWN2V.js";
|
|
16
16
|
|
|
17
17
|
// src/integrations/abletime.ts
|
|
18
18
|
var CLOSED_STATES = /* @__PURE__ */ new Set([
|
|
@@ -550,6 +550,21 @@ var DEFAULT_AGENTS = /* @__PURE__ */ new Set([
|
|
|
550
550
|
]);
|
|
551
551
|
var GITHUB_GIT_AUTH_MODES = ["auto", "gh", "ssh", "token"];
|
|
552
552
|
var FOLLOW_UP_BEHAVIORS = ["steer", "queue"];
|
|
553
|
+
var AGENT_DONE_SOUNDS = [
|
|
554
|
+
"none",
|
|
555
|
+
"goal",
|
|
556
|
+
"bell",
|
|
557
|
+
"level",
|
|
558
|
+
"coin",
|
|
559
|
+
"fanfare",
|
|
560
|
+
"magic",
|
|
561
|
+
"rooster",
|
|
562
|
+
"whistle",
|
|
563
|
+
"custom"
|
|
564
|
+
];
|
|
565
|
+
function isAgentDoneSound(value) {
|
|
566
|
+
return AGENT_DONE_SOUNDS.includes(value);
|
|
567
|
+
}
|
|
553
568
|
function emptyPublicIntegrations() {
|
|
554
569
|
return {
|
|
555
570
|
hasLinearApiKey: false,
|
|
@@ -988,6 +1003,13 @@ function normalizeAdvanced(raw) {
|
|
|
988
1003
|
if (source.followUpBehavior === "queue" || source.followUpBehavior === "steer") {
|
|
989
1004
|
out.followUpBehavior = source.followUpBehavior;
|
|
990
1005
|
}
|
|
1006
|
+
if (isAgentDoneSound(source.agentDoneSound)) {
|
|
1007
|
+
out.agentDoneSound = source.agentDoneSound;
|
|
1008
|
+
}
|
|
1009
|
+
if (typeof source.agentDoneCustomSoundName === "string") {
|
|
1010
|
+
const name = source.agentDoneCustomSoundName.trim();
|
|
1011
|
+
if (name) out.agentDoneCustomSoundName = name.slice(0, 200);
|
|
1012
|
+
}
|
|
991
1013
|
return out;
|
|
992
1014
|
}
|
|
993
1015
|
function normalizeSettings(raw) {
|
|
@@ -1911,6 +1933,16 @@ function updateAdvancedSettings(patch) {
|
|
|
1911
1933
|
if (patch.followUpBehavior === "queue" || patch.followUpBehavior === "steer") {
|
|
1912
1934
|
advanced.followUpBehavior = patch.followUpBehavior;
|
|
1913
1935
|
}
|
|
1936
|
+
if (isAgentDoneSound(patch.agentDoneSound)) {
|
|
1937
|
+
advanced.agentDoneSound = patch.agentDoneSound;
|
|
1938
|
+
}
|
|
1939
|
+
if (patch.agentDoneCustomSoundName === null || patch.agentDoneCustomSoundName === "") {
|
|
1940
|
+
delete advanced.agentDoneCustomSoundName;
|
|
1941
|
+
} else if (typeof patch.agentDoneCustomSoundName === "string") {
|
|
1942
|
+
const name = patch.agentDoneCustomSoundName.trim();
|
|
1943
|
+
if (name) advanced.agentDoneCustomSoundName = name.slice(0, 200);
|
|
1944
|
+
else delete advanced.agentDoneCustomSoundName;
|
|
1945
|
+
}
|
|
1914
1946
|
return saveAppSettings({ ...current, advanced });
|
|
1915
1947
|
}
|
|
1916
1948
|
function autoRenameBranchEnabled(settings = loadAppSettings()) {
|
|
@@ -1978,6 +2010,9 @@ function orchestrationQuotaFallbackAgent(settings = loadAppSettings()) {
|
|
|
1978
2010
|
function followUpBehavior(settings = loadAppSettings()) {
|
|
1979
2011
|
return settings.advanced.followUpBehavior === "queue" ? "queue" : "steer";
|
|
1980
2012
|
}
|
|
2013
|
+
function agentDoneSound(settings = loadAppSettings()) {
|
|
2014
|
+
return isAgentDoneSound(settings.advanced.agentDoneSound) ? settings.advanced.agentDoneSound : "none";
|
|
2015
|
+
}
|
|
1981
2016
|
function maxConcurrentAgents(settings = loadAppSettings()) {
|
|
1982
2017
|
const n = settings.advanced.maxConcurrent;
|
|
1983
2018
|
if (typeof n === "number" && Number.isFinite(n)) {
|
|
@@ -2106,6 +2141,8 @@ export {
|
|
|
2106
2141
|
HARNESS_ENV_KEYS,
|
|
2107
2142
|
GITHUB_GIT_AUTH_MODES,
|
|
2108
2143
|
FOLLOW_UP_BEHAVIORS,
|
|
2144
|
+
AGENT_DONE_SOUNDS,
|
|
2145
|
+
isAgentDoneSound,
|
|
2109
2146
|
emptyPublicIntegrations,
|
|
2110
2147
|
toPublicAppSettings,
|
|
2111
2148
|
appSettingsPath,
|
|
@@ -2174,6 +2211,7 @@ export {
|
|
|
2174
2211
|
orchestrationQuotaOnLimit,
|
|
2175
2212
|
orchestrationQuotaFallbackAgent,
|
|
2176
2213
|
followUpBehavior,
|
|
2214
|
+
agentDoneSound,
|
|
2177
2215
|
maxConcurrentAgents,
|
|
2178
2216
|
resolveClaudeExecutable,
|
|
2179
2217
|
resolveAgentExecutable,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
textFromAbleTimeDoc
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-P6ZM5QJW.js";
|
|
4
4
|
import {
|
|
5
5
|
assertAbleTimeCredential,
|
|
6
6
|
callAbleTimeTool,
|
|
7
7
|
normalizeAbleTimeHost,
|
|
8
8
|
rewriteAbleTimeError
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MVLXDYN5.js";
|
|
10
10
|
import {
|
|
11
11
|
isAbleTimeConnected,
|
|
12
12
|
saveAbleTimeConnection
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-I5NC7DWO.js";
|
|
14
14
|
|
|
15
15
|
// src/integrations/abletime.ts
|
|
16
16
|
var CLOSED_STATES = /* @__PURE__ */ new Set([
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
isOrchestratorThread
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-N7UXGM3Y.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-
|
|
23
|
+
} from "./chunk-F3GT6DQW.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-
|
|
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-
|
|
2551
|
+
const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-G3QEVRGZ.js");
|
|
2542
2552
|
const isOrchestrator = isOrchestratorThread2(thread);
|
|
2543
2553
|
const injectedServers = await buildInjectedMcpServers({
|
|
2544
2554
|
includeSideboard: true,
|