@sideboard-ai/core 0.1.228 → 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-WHYJL7CP.js → chunk-6HKGCUDN.js} +24 -22
- 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-72XUASTH.js → chunk-UHT6OS7V.js} +24 -23
- 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 +820 -619
- package/dist/index.d.cts +68 -2
- package/dist/index.d.ts +68 -2
- package/dist/index.js +202 -67
- package/dist/mcp/run-stdio.cjs +131 -44
- package/dist/mcp/run-stdio.js +86 -50
- package/dist/{orchestrator-6XEWQWSM.js → orchestrator-GKAHLGXT.js} +5 -5
- package/dist/{orchestrator-QUJORSTA.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
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
toAbleTimeIssueInfo,
|
|
16
16
|
updateAbleTimeTask,
|
|
17
17
|
verifyAbleTimeConnection
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-SWNEA5OZ.js";
|
|
19
|
+
import "./chunk-P6ZM5QJW.js";
|
|
20
|
+
import "./chunk-MVLXDYN5.js";
|
|
21
21
|
import "./chunk-N7WZ6NIN.js";
|
|
22
|
-
import "./chunk-
|
|
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-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-RGNPPRZZ.js";
|
|
21
|
+
import "./chunk-GHRZNPBK.js";
|
|
22
|
+
import "./chunk-AS4UN7QL.js";
|
|
23
23
|
import "./chunk-VKQGAWHY.js";
|
|
24
|
-
import "./chunk-
|
|
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-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-C774RJJA.js";
|
|
24
|
+
import "./chunk-MVLXDYN5.js";
|
|
25
25
|
import "./chunk-N7WZ6NIN.js";
|
|
26
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-P6ZM5QJW.js";
|
|
9
|
+
import "./chunk-MVLXDYN5.js";
|
|
10
10
|
import "./chunk-N7WZ6NIN.js";
|
|
11
|
-
import "./chunk-
|
|
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-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-GHRZNPBK.js";
|
|
11
|
+
import "./chunk-AS4UN7QL.js";
|
|
12
12
|
import "./chunk-VKQGAWHY.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-RZTRWN2V.js";
|
|
14
14
|
import "./chunk-NSTQ6QKD.js";
|
|
15
15
|
import "./chunk-KGZBYWZ3.js";
|
|
16
16
|
import "./chunk-EQNRWDLN.js";
|
|
@@ -50,12 +50,12 @@ import {
|
|
|
50
50
|
resolveQuotaFallbackAgent,
|
|
51
51
|
turnCostUsdFromCursorUsage,
|
|
52
52
|
whichOnPath
|
|
53
|
-
} from "./chunk-
|
|
54
|
-
import "./chunk-
|
|
53
|
+
} from "./chunk-T7Y5ULHM.js";
|
|
54
|
+
import "./chunk-N7UXGM3Y.js";
|
|
55
55
|
import "./chunk-SXFRXNBM.js";
|
|
56
56
|
import "./chunk-P2BSMNHB.js";
|
|
57
57
|
import "./chunk-VKQGAWHY.js";
|
|
58
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-F3GT6DQW.js";
|
|
59
59
|
import "./chunk-D6JWYJ4P.js";
|
|
60
60
|
import "./chunk-HY2GFZ5S.js";
|
|
61
61
|
import "./chunk-X5B3OS5I.js";
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
assertOrchestratorCapableAgent,
|
|
75
75
|
coerceOrchestratorAgent,
|
|
76
76
|
isOrchestratorCapableAgent
|
|
77
|
-
} from "./chunk-
|
|
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-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
47
|
+
} from "./chunk-LULHFLPU.js";
|
|
48
|
+
import "./chunk-7YKXBFQE.js";
|
|
49
|
+
import "./chunk-AMMRFFB7.js";
|
|
50
50
|
import "./chunk-6K64FJDD.js";
|
|
51
51
|
import "./chunk-PO4M4JAJ.js";
|
|
52
52
|
import "./chunk-ZXJMAKEP.js";
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
assertOrchestratorCapableAgent,
|
|
64
64
|
coerceOrchestratorAgent,
|
|
65
65
|
isOrchestratorCapableAgent
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-I5NC7DWO.js";
|
|
67
67
|
import "./chunk-WDRMZKVB.js";
|
|
68
68
|
import "./chunk-JT7R45JB.js";
|
|
69
69
|
import "./chunk-3IMSQNTS.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-
|
|
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-
|
|
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,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
summarizeTurnStderr,
|
|
43
43
|
toolDescription,
|
|
44
44
|
turnFailChatText
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-T7Y5ULHM.js";
|
|
46
46
|
import {
|
|
47
47
|
SLACK_REPLY_FORMATTING,
|
|
48
48
|
addWorkspace,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
stageAbsolutePathsAsAttachments,
|
|
66
66
|
stageBuffersAsAttachments,
|
|
67
67
|
syncWorkspacesFromThreads
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-N7UXGM3Y.js";
|
|
69
69
|
import {
|
|
70
70
|
addPrStackLayer,
|
|
71
71
|
allocateTeamName,
|
|
@@ -114,7 +114,7 @@ import {
|
|
|
114
114
|
worktreeDisplayLabelForGroup,
|
|
115
115
|
worktreeNameFromPath,
|
|
116
116
|
worktreeSlugForTicket
|
|
117
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-F3GT6DQW.js";
|
|
118
118
|
import {
|
|
119
119
|
ATTACHMENTS_DIR,
|
|
120
120
|
DETACHED_JOBS_DIR,
|
|
@@ -177,7 +177,7 @@ import {
|
|
|
177
177
|
updateAdvancedSettings,
|
|
178
178
|
usageOnLimit,
|
|
179
179
|
writeSecureJson
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-RZTRWN2V.js";
|
|
181
181
|
import {
|
|
182
182
|
writePrivateFile
|
|
183
183
|
} from "./chunk-NSTQ6QKD.js";
|
|
@@ -418,7 +418,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
418
418
|
await continueOnReply(threadId, prompt);
|
|
419
419
|
return;
|
|
420
420
|
}
|
|
421
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
421
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-GKAHLGXT.js");
|
|
422
422
|
await getOrchestrator2().send(threadId, prompt);
|
|
423
423
|
} catch {
|
|
424
424
|
}
|
|
@@ -895,9 +895,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
895
895
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
896
896
|
);
|
|
897
897
|
}
|
|
898
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
898
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-G3QEVRGZ.js");
|
|
899
899
|
if (isGlobalThread2(thread)) {
|
|
900
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
900
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-RL3GKIAQ.js");
|
|
901
901
|
ensureGlobalCoordinatorCwd2(
|
|
902
902
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
903
903
|
);
|
|
@@ -3918,7 +3918,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
3918
3918
|
});
|
|
3919
3919
|
await requireAgent(resolved.agent);
|
|
3920
3920
|
if (input.cowboy) {
|
|
3921
|
-
const { cowboyModeEnabled } = await import("./app-settings-
|
|
3921
|
+
const { cowboyModeEnabled } = await import("./app-settings-KBL2G7M4.js");
|
|
3922
3922
|
if (!cowboyModeEnabled()) {
|
|
3923
3923
|
throw new Error(
|
|
3924
3924
|
"Cowboy mode is off. Enable it in Settings \u2192 Advanced."
|
|
@@ -3976,7 +3976,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
3976
3976
|
let sourceIsFork = false;
|
|
3977
3977
|
if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
|
|
3978
3978
|
if (isAbleTimeConnected() && getIssueSource() === "abletime") {
|
|
3979
|
-
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-
|
|
3979
|
+
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-WZNDTRVL.js");
|
|
3980
3980
|
const task = await ensureAbleTimeTask({
|
|
3981
3981
|
title: title?.trim() || "Untitled work",
|
|
3982
3982
|
description: input.prompt?.trim() || void 0
|
|
@@ -4539,7 +4539,7 @@ async function adoptThread(input) {
|
|
|
4539
4539
|
messages: input.messages ?? []
|
|
4540
4540
|
});
|
|
4541
4541
|
writeThread(thread);
|
|
4542
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
4542
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-WXRPLT2N.js");
|
|
4543
4543
|
await ensureWorkspace2(repoPath);
|
|
4544
4544
|
const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-K7QK4RI5.js");
|
|
4545
4545
|
await ensureWorktreeSideboardIgnored2(input.worktreePath);
|
|
@@ -6597,12 +6597,13 @@ function formatLongRunningDirective(opts) {
|
|
|
6597
6597
|
"- Loop Sideboard MCP `wait_for_job` (returns in ~45s). The desktop opens a `type=log` pane from wait/stop (and shell detached-job JSON) automatically \u2014 you may still `present_artifact` with `artifact_id=<id>` for a custom title. stillRunning \u2192 wait again. Shell fallback: the same helper with `wait <id>`.",
|
|
6598
6598
|
"- Hanging, no useful output, or the wrong thing \u2192 `stop_job` (or the helper with `stop <id>`). Do not stop a pack/test/deploy that is clearly making progress.",
|
|
6599
6599
|
"- Stay in the loop until stillRunning is false (or you stopped it). ok \u2192 finish the task. failed / stopped \u2192 read the log, fix or narrow the command, start once.",
|
|
6600
|
-
"State: `.context/.sideboard/detached-jobs/<id>/` (local scratch). Full guide: `/long-running` (always available)."
|
|
6600
|
+
"State: `.context/.sideboard/detached-jobs/<id>/` (local scratch). Full guide: `/long-running` (always available).",
|
|
6601
|
+
"Project Dev / run scripts (`.sideboard` `[scripts.run.*]`, same as the desktop Dev button): use MCP `list_run_scripts` / `run_dev_script` / `stop_dev_script` \u2014 logs and Stop live in the thread UI. Do not detached-job or shell-spawn that same command."
|
|
6601
6602
|
].join("\n");
|
|
6602
6603
|
}
|
|
6603
6604
|
function formatLongRunningReminder(opts) {
|
|
6604
6605
|
const invoke = formatDetachedJobInvoke(opts?.scriptPath);
|
|
6605
|
-
return `Long jobs: \`${invoke} start <id> -- <cmd>\`, loop wait_for_job (or detached-job wait). The log pane updates from wait JSON; present_artifact type=log is optional. stop_job if hanging or wrong. Do not say you will let the user know later \u2014 stay in the turn.`;
|
|
6606
|
+
return `Long jobs: \`${invoke} start <id> -- <cmd>\`, loop wait_for_job (or detached-job wait). The log pane updates from wait JSON; present_artifact type=log is optional. stop_job if hanging or wrong. Do not say you will let the user know later \u2014 stay in the turn. Project Dev button: list_run_scripts / run_dev_script / stop_dev_script (UI-connected \u2014 not detached-job).`;
|
|
6606
6607
|
}
|
|
6607
6608
|
function formatArtifactDirective() {
|
|
6608
6609
|
return [
|
|
@@ -6614,7 +6615,7 @@ function formatArtifactDirective() {
|
|
|
6614
6615
|
].join("\n");
|
|
6615
6616
|
}
|
|
6616
6617
|
function formatUiReminder() {
|
|
6617
|
-
return "Sideboard UI: markdown table is enough to read data; present_schema if they ask to edit/filter (even after markdown); present_files for the file manager. html fence or present_artifact, not both for the same document. type=log appends (same artifact_id, new lines only). ask_user only for a real multiple-choice (not hellos, \u201Cwhat next?\u201D, or after a review) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable.";
|
|
6618
|
+
return "Sideboard UI: markdown table is enough to read data; present_schema if they ask to edit/filter (even after markdown); present_files for the file manager. html fence or present_artifact, not both for the same document. type=log appends (same artifact_id, new lines only). ask_user only for a real multiple-choice (not hellos, \u201Cwhat next?\u201D, or after a review) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable. Dev / preview: run_dev_script (same as the Dev button); stop_dev_script to stop.";
|
|
6618
6619
|
}
|
|
6619
6620
|
|
|
6620
6621
|
// src/review/review-write-gate.ts
|
|
@@ -7014,7 +7015,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
7014
7015
|
${prompt}`;
|
|
7015
7016
|
}
|
|
7016
7017
|
async function defaultDeps() {
|
|
7017
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
7018
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-GKAHLGXT.js");
|
|
7018
7019
|
const orch = getOrchestrator2();
|
|
7019
7020
|
return {
|
|
7020
7021
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -7331,7 +7332,7 @@ var Orchestrator = class {
|
|
|
7331
7332
|
orphans: orphans.map((o) => ({ path: o.path, repoPath: o.repoPath }))
|
|
7332
7333
|
});
|
|
7333
7334
|
}
|
|
7334
|
-
const { autoCleanupOrphansEnabled } = await import("./app-settings-
|
|
7335
|
+
const { autoCleanupOrphansEnabled } = await import("./app-settings-KBL2G7M4.js");
|
|
7335
7336
|
if (autoCleanupOrphansEnabled() && shouldRunWorktreeCleanup() && orphans.length > 0) {
|
|
7336
7337
|
await cleanupOrphanWorktrees({ repoPaths });
|
|
7337
7338
|
}
|
|
@@ -7618,7 +7619,7 @@ var Orchestrator = class {
|
|
|
7618
7619
|
}
|
|
7619
7620
|
await setup;
|
|
7620
7621
|
if (skipSetup) return;
|
|
7621
|
-
const { autoRunAfterSetupEnabled } = await import("./app-settings-
|
|
7622
|
+
const { autoRunAfterSetupEnabled } = await import("./app-settings-KBL2G7M4.js");
|
|
7622
7623
|
if (autoRunAfterSetupEnabled()) {
|
|
7623
7624
|
try {
|
|
7624
7625
|
await this.startDev(threadId);
|
|
@@ -7974,7 +7975,7 @@ var Orchestrator = class {
|
|
|
7974
7975
|
}
|
|
7975
7976
|
const isBrightsy = fresh.agent === "brightsy";
|
|
7976
7977
|
const isOrchestration = isOrchestratorThread(fresh);
|
|
7977
|
-
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-
|
|
7978
|
+
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-KBL2G7M4.js");
|
|
7978
7979
|
const gitAuthMode = getGithubGitAuthMode();
|
|
7979
7980
|
const worktreeDirective = isBrightsy || isOrchestration ? null : formatWorktreeDirective(fresh, {
|
|
7980
7981
|
githubSlug: await withTimeout(
|
|
@@ -9118,7 +9119,7 @@ var Orchestrator = class {
|
|
|
9118
9119
|
if (!titled.userSetTitle && meta.title && titled.title !== meta.title) {
|
|
9119
9120
|
updateThread(thread.id, { title: meta.title });
|
|
9120
9121
|
}
|
|
9121
|
-
const { autoArchiveOnMergeEnabled } = await import("./app-settings-
|
|
9122
|
+
const { autoArchiveOnMergeEnabled } = await import("./app-settings-KBL2G7M4.js");
|
|
9122
9123
|
const latest = this.requireThread(thread.id);
|
|
9123
9124
|
if (!shouldAutoArchiveOnPrMerge({
|
|
9124
9125
|
previousPrState: prevState || null,
|
|
@@ -9400,7 +9401,7 @@ var Orchestrator = class {
|
|
|
9400
9401
|
this.enforceHistoryRetention();
|
|
9401
9402
|
if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
|
|
9402
9403
|
try {
|
|
9403
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
9404
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-WXRPLT2N.js");
|
|
9404
9405
|
await ensureWorkspace2(thread.repoPath);
|
|
9405
9406
|
} catch {
|
|
9406
9407
|
}
|
|
@@ -9427,7 +9428,7 @@ var Orchestrator = class {
|
|
|
9427
9428
|
await runArchiveScript(thread.repoPath, thread.worktreePath);
|
|
9428
9429
|
} catch {
|
|
9429
9430
|
}
|
|
9430
|
-
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-
|
|
9431
|
+
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-KBL2G7M4.js");
|
|
9431
9432
|
const deleteBranch = opts?.deleteBranch ?? deleteBranchOnPurgeEnabled();
|
|
9432
9433
|
await removeWorktree(thread.repoPath, thread.worktreePath, {
|
|
9433
9434
|
deleteBranch: deleteBranch ? thread.branchName : void 0
|
|
@@ -9454,7 +9455,7 @@ var Orchestrator = class {
|
|
|
9454
9455
|
`Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
|
|
9455
9456
|
);
|
|
9456
9457
|
}
|
|
9457
|
-
const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-
|
|
9458
|
+
const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-L6FJXFUC.js");
|
|
9458
9459
|
const slug = thread.worktreePath.split("/").pop();
|
|
9459
9460
|
const dest = thread.worktreePath;
|
|
9460
9461
|
await withRepoGitLock(thread.repoPath, async () => {
|
|
@@ -9564,7 +9565,7 @@ async function startOrchestration(opts) {
|
|
|
9564
9565
|
sourceRef: "default",
|
|
9565
9566
|
...createOpts
|
|
9566
9567
|
}).catch(async () => {
|
|
9567
|
-
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-
|
|
9568
|
+
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-L6FJXFUC.js");
|
|
9568
9569
|
const repo = await resolveRepoRoot2(repoPath);
|
|
9569
9570
|
const def = await resolveDefaultBranch2(repo);
|
|
9570
9571
|
return orch.createThread({
|
|
@@ -9594,6 +9595,7 @@ export {
|
|
|
9594
9595
|
recordSlackOutboundWatch,
|
|
9595
9596
|
pollSlackOutboundWatches,
|
|
9596
9597
|
AGENT_GIT_ACTIONS,
|
|
9598
|
+
threadsSharingWorktree,
|
|
9597
9599
|
mcpWaitForTurnTimeoutMs,
|
|
9598
9600
|
mcpWaitStillRunningHint,
|
|
9599
9601
|
mcpWaitFinishedHint,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
resolveRepoRoot,
|
|
7
7
|
takenSlugsFromThread,
|
|
8
8
|
teamSlugFromName
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AMMRFFB7.js";
|
|
10
10
|
import {
|
|
11
11
|
ATTACHMENTS_DIR,
|
|
12
12
|
attachmentsGitignoreBody
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
resolveThreadDefaults,
|
|
24
24
|
resolveViewerProfile,
|
|
25
25
|
resolveViewerProfileForRepo
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-I5NC7DWO.js";
|
|
27
27
|
import {
|
|
28
28
|
createEmptyThread,
|
|
29
29
|
listThreads,
|
|
@@ -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,
|