@sideboard-ai/core 0.1.273 → 0.1.275
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-4ZSDI4YP.js → abletime-VCVPSLSU.js} +4 -4
- package/dist/{abletime-JNQAHLHH.js → abletime-VRATUMDO.js} +4 -4
- package/dist/{abletime-oauth-4RXZH2KU.js → abletime-oauth-4C4G2J3R.js} +3 -3
- package/dist/{abletime-oauth-DCEIINYT.js → abletime-oauth-4K7MICAD.js} +3 -3
- package/dist/{abletime-rest-KVBJFVFD.js → abletime-rest-6N63ZVQ3.js} +3 -3
- package/dist/{abletime-rest-VN6PZ6P2.js → abletime-rest-PIBCNHF3.js} +3 -3
- package/dist/{agents-LAFFXBBZ.js → agents-2FOWVJCN.js} +4 -4
- package/dist/{agents-ZCO37SKG.js → agents-JBVJRDH3.js} +4 -4
- package/dist/{app-settings-RAC4PSSP.js → app-settings-EQQZQNYD.js} +1 -1
- package/dist/{app-settings-L5HGYXWJ.js → app-settings-NI4X5HW3.js} +1 -1
- package/dist/{chunk-UXI52MLJ.js → chunk-2J34G3WJ.js} +3 -3
- package/dist/{chunk-PTNGMA5C.js → chunk-A2G3ZBJS.js} +2 -2
- package/dist/{chunk-T47ARZ5Q.js → chunk-FELFTNH2.js} +25 -24
- package/dist/{chunk-OUBQH5GR.js → chunk-HOMZKYHF.js} +31 -29
- package/dist/{chunk-GONPMH36.js → chunk-IJDQKC5A.js} +5 -5
- package/dist/{chunk-USBZ7PH4.js → chunk-IPPY3FG5.js} +1 -1
- package/dist/{chunk-NWE3NOWQ.js → chunk-K7MWJLR7.js} +1 -1
- package/dist/{chunk-HO2T6BC3.js → chunk-MGS5T2A3.js} +31 -29
- package/dist/{chunk-ADWNK2JH.js → chunk-NIB2IZ6J.js} +5 -5
- package/dist/{chunk-AGXZAMOF.js → chunk-NQ7JMVSU.js} +2 -2
- package/dist/{chunk-JLDJGGCL.js → chunk-NT7RIWRR.js} +5 -5
- package/dist/{chunk-L6CYOON4.js → chunk-PZURG3XN.js} +5 -5
- package/dist/{chunk-LAIBYKZS.js → chunk-QINJKNLR.js} +3 -3
- package/dist/{chunk-2QUILREI.js → chunk-QTZO4LPU.js} +2 -2
- package/dist/{chunk-KZ2CDZBZ.js → chunk-R7HLXD4I.js} +3 -3
- package/dist/{chunk-N3LASDJM.js → chunk-SQOAFR2U.js} +26 -25
- package/dist/{chunk-OIENQEGG.js → chunk-WRIMAEF2.js} +67 -122
- package/dist/{chunk-DBFAFI5A.js → chunk-XKZAVGTT.js} +2 -2
- package/dist/{chunk-PAH7KDL2.js → chunk-YNTXWFXT.js} +67 -122
- package/dist/{conductor-3AQM67VK.js → conductor-GBCE37K4.js} +4 -4
- package/dist/{conductor-FLWACOVC.js → conductor-YYQKZAND.js} +4 -4
- package/dist/{coordinator-prompt-4KVA6XUX.js → coordinator-prompt-B3GLVXPP.js} +3 -3
- package/dist/{coordinator-prompt-MVUHFNSC.js → coordinator-prompt-SFZCZ3HR.js} +3 -3
- package/dist/{global-workspace-FR7QTLPK.js → global-workspace-7XEXTIHL.js} +3 -3
- package/dist/{global-workspace-34Z2IWYQ.js → global-workspace-N2YYJKA5.js} +3 -3
- package/dist/index.cjs +1700 -186
- package/dist/index.d.cts +99 -20
- package/dist/index.d.ts +99 -20
- package/dist/index.js +1583 -43
- package/dist/mcp/run-stdio.cjs +95 -141
- package/dist/mcp/run-stdio.js +11 -11
- package/dist/{orchestrator-YKSDWR6C.js → orchestrator-6QJLM6Y4.js} +6 -6
- package/dist/{orchestrator-K42IBMBE.js → orchestrator-QMKVXVUR.js} +6 -6
- package/dist/{workspaces-5GERYHDJ.js → workspaces-BJCHMGVG.js} +3 -3
- package/dist/{workspaces-2JBDUMM6.js → workspaces-PBB6HY2D.js} +3 -3
- package/dist/{worktree-ACW23KJ5.js → worktree-L57T3KH7.js} +2 -2
- package/dist/{worktree-C7RPVHZ7.js → worktree-Q6UJHG25.js} +2 -2
- package/package.json +1 -1
|
@@ -18,12 +18,12 @@ import {
|
|
|
18
18
|
toAbleTimeIssueInfo,
|
|
19
19
|
updateAbleTimeTask,
|
|
20
20
|
verifyAbleTimeConnection
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-R7HLXD4I.js";
|
|
22
|
+
import "./chunk-XKZAVGTT.js";
|
|
23
|
+
import "./chunk-IJDQKC5A.js";
|
|
24
24
|
import "./chunk-VKQGAWHY.js";
|
|
25
25
|
import "./chunk-N2WW62LF.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-WRIMAEF2.js";
|
|
27
27
|
import "./chunk-NSTQ6QKD.js";
|
|
28
28
|
import "./chunk-WWUABK6B.js";
|
|
29
29
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -16,12 +16,12 @@ import {
|
|
|
16
16
|
toAbleTimeIssueInfo,
|
|
17
17
|
updateAbleTimeTask,
|
|
18
18
|
verifyAbleTimeConnection
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-2J34G3WJ.js";
|
|
20
|
+
import "./chunk-NQ7JMVSU.js";
|
|
21
|
+
import "./chunk-PZURG3XN.js";
|
|
22
22
|
import "./chunk-N7WZ6NIN.js";
|
|
23
23
|
import "./chunk-6K64FJDD.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-YNTXWFXT.js";
|
|
25
25
|
import "./chunk-77WWLBCI.js";
|
|
26
26
|
import "./chunk-4TR3HZFT.js";
|
|
27
27
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
parseAbleTimeOAuthCallbackUrl,
|
|
21
21
|
resolveAbleTimeOAuthHost,
|
|
22
22
|
startAbleTimeOAuth
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-QINJKNLR.js";
|
|
24
|
+
import "./chunk-PZURG3XN.js";
|
|
25
25
|
import "./chunk-N7WZ6NIN.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-YNTXWFXT.js";
|
|
27
27
|
import "./chunk-77WWLBCI.js";
|
|
28
28
|
import "./chunk-4TR3HZFT.js";
|
|
29
29
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
DEFAULT_ABLETIME_HOST,
|
|
5
5
|
normalizeAbleTimeHost
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IJDQKC5A.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-WRIMAEF2.js";
|
|
16
16
|
import "./chunk-NSTQ6QKD.js";
|
|
17
17
|
import "./chunk-WWUABK6B.js";
|
|
18
18
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -288,7 +288,7 @@ async function startAbleTimeOAuth(opts) {
|
|
|
288
288
|
persistAbleTimeTokens(data, { host });
|
|
289
289
|
const token = data.access_token.trim();
|
|
290
290
|
try {
|
|
291
|
-
const { getAbleTimeOrientation } = await import("./abletime-
|
|
291
|
+
const { getAbleTimeOrientation } = await import("./abletime-VCVPSLSU.js");
|
|
292
292
|
const orientation = await getAbleTimeOrientation({ token, host });
|
|
293
293
|
return saveAbleTimeConnection({
|
|
294
294
|
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-NQ7JMVSU.js";
|
|
9
|
+
import "./chunk-PZURG3XN.js";
|
|
10
10
|
import "./chunk-N7WZ6NIN.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-YNTXWFXT.js";
|
|
12
12
|
import "./chunk-77WWLBCI.js";
|
|
13
13
|
import "./chunk-4TR3HZFT.js";
|
|
14
14
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
callAbleTimeRestTool,
|
|
8
8
|
looksLikeAbleTimeUlid,
|
|
9
9
|
textFromAbleTimeDoc
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-XKZAVGTT.js";
|
|
11
|
+
import "./chunk-IJDQKC5A.js";
|
|
12
12
|
import "./chunk-VKQGAWHY.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-WRIMAEF2.js";
|
|
14
14
|
import "./chunk-NSTQ6QKD.js";
|
|
15
15
|
import "./chunk-WWUABK6B.js";
|
|
16
16
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -47,11 +47,11 @@ import {
|
|
|
47
47
|
resolveLoginCommand,
|
|
48
48
|
resolveQuotaFallbackAgent,
|
|
49
49
|
whichOnPath
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-NIB2IZ6J.js";
|
|
51
51
|
import "./chunk-GWFVCCJZ.js";
|
|
52
52
|
import "./chunk-FAGK33E2.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-A2G3ZBJS.js";
|
|
54
|
+
import "./chunk-IPPY3FG5.js";
|
|
55
55
|
import "./chunk-FWNL62VA.js";
|
|
56
56
|
import "./chunk-2P4XKWV2.js";
|
|
57
57
|
import "./chunk-ROPGQRPU.js";
|
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
assertOrchestratorCapableAgent,
|
|
86
86
|
coerceOrchestratorAgent,
|
|
87
87
|
isOrchestratorCapableAgent
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-YNTXWFXT.js";
|
|
89
89
|
import "./chunk-77WWLBCI.js";
|
|
90
90
|
import "./chunk-4TR3HZFT.js";
|
|
91
91
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -56,13 +56,13 @@ import {
|
|
|
56
56
|
resolveQuotaFallbackAgent,
|
|
57
57
|
turnCostUsdFromCursorUsage,
|
|
58
58
|
whichOnPath
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-NT7RIWRR.js";
|
|
60
60
|
import "./chunk-TQRSVE7D.js";
|
|
61
61
|
import "./chunk-P2BSMNHB.js";
|
|
62
62
|
import "./chunk-VKQGAWHY.js";
|
|
63
63
|
import "./chunk-UKSJO36E.js";
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-QTZO4LPU.js";
|
|
65
|
+
import "./chunk-K7MWJLR7.js";
|
|
66
66
|
import "./chunk-N2WW62LF.js";
|
|
67
67
|
import "./chunk-DD67JWTN.js";
|
|
68
68
|
import {
|
|
@@ -81,7 +81,7 @@ import {
|
|
|
81
81
|
assertOrchestratorCapableAgent,
|
|
82
82
|
coerceOrchestratorAgent,
|
|
83
83
|
isOrchestratorCapableAgent
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-WRIMAEF2.js";
|
|
85
85
|
import "./chunk-NSTQ6QKD.js";
|
|
86
86
|
import "./chunk-WWUABK6B.js";
|
|
87
87
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
updateProjectProfileSettings,
|
|
108
108
|
usageOnLimit,
|
|
109
109
|
writeViewerContext
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-WRIMAEF2.js";
|
|
111
111
|
import "./chunk-NSTQ6QKD.js";
|
|
112
112
|
import "./chunk-WWUABK6B.js";
|
|
113
113
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -105,7 +105,7 @@ import {
|
|
|
105
105
|
updateProjectProfileSettings,
|
|
106
106
|
usageOnLimit,
|
|
107
107
|
writeViewerContext
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-YNTXWFXT.js";
|
|
109
109
|
import "./chunk-77WWLBCI.js";
|
|
110
110
|
import "./chunk-4TR3HZFT.js";
|
|
111
111
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
abletimeRestUrl,
|
|
3
3
|
textFromAbleTimeDoc
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NQ7JMVSU.js";
|
|
5
5
|
import {
|
|
6
6
|
assertAbleTimeCredential,
|
|
7
7
|
callAbleTimeTool,
|
|
8
8
|
normalizeAbleTimeHost,
|
|
9
9
|
rewriteAbleTimeError
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PZURG3XN.js";
|
|
11
11
|
import {
|
|
12
12
|
httpFetch
|
|
13
13
|
} from "./chunk-N7WZ6NIN.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
getAbleTimeHost,
|
|
21
21
|
isAbleTimeConnected,
|
|
22
22
|
saveAbleTimeConnection
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YNTXWFXT.js";
|
|
24
24
|
|
|
25
25
|
// src/integrations/issue-attachments.ts
|
|
26
26
|
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
resolveRepoRoot,
|
|
7
7
|
takenSlugsFromThread,
|
|
8
8
|
teamSlugFromName
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IPPY3FG5.js";
|
|
10
10
|
import {
|
|
11
11
|
createEmptyThread,
|
|
12
12
|
listThreads,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
resolveThreadDefaults,
|
|
30
30
|
resolveViewerProfile,
|
|
31
31
|
resolveViewerProfileForRepo
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-YNTXWFXT.js";
|
|
33
33
|
import {
|
|
34
34
|
appDataDir,
|
|
35
35
|
globalAgentCwd,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
parseSessionQuotaResetAt,
|
|
22
22
|
planModeTurnInstruction,
|
|
23
23
|
resolveQuotaFallbackAgent
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-NT7RIWRR.js";
|
|
25
25
|
import {
|
|
26
26
|
REVIEW_TAB_TITLE,
|
|
27
27
|
applyWorktreePkgCacheEnv,
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
worktreeDevProcessKey,
|
|
59
59
|
worktreeRunProcessKey,
|
|
60
60
|
worktreeSetupProcessKey
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-HOMZKYHF.js";
|
|
62
62
|
import {
|
|
63
63
|
applyAgentEvent,
|
|
64
64
|
clipAgentEventForPaint,
|
|
@@ -105,7 +105,7 @@ import {
|
|
|
105
105
|
stageAbsolutePathsAsAttachments,
|
|
106
106
|
stageBuffersAsAttachments,
|
|
107
107
|
syncWorkspacesFromThreads
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-QTZO4LPU.js";
|
|
109
109
|
import {
|
|
110
110
|
addPrStackLayer,
|
|
111
111
|
agentNicknameFromWorktreePath,
|
|
@@ -157,7 +157,7 @@ import {
|
|
|
157
157
|
worktreeIdentityTitles,
|
|
158
158
|
worktreeNameFromPath,
|
|
159
159
|
worktreeSlugForTicket
|
|
160
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-K7MWJLR7.js";
|
|
161
161
|
import {
|
|
162
162
|
clearStaleIndexLocks,
|
|
163
163
|
enrichPathWithNpmGlobalBin,
|
|
@@ -195,7 +195,7 @@ import {
|
|
|
195
195
|
updateAdvancedSettings,
|
|
196
196
|
usageOnLimit,
|
|
197
197
|
withTurnScopedCost
|
|
198
|
-
} from "./chunk-
|
|
198
|
+
} from "./chunk-WRIMAEF2.js";
|
|
199
199
|
import {
|
|
200
200
|
writePrivateFile
|
|
201
201
|
} from "./chunk-NSTQ6QKD.js";
|
|
@@ -485,9 +485,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
485
485
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
486
486
|
);
|
|
487
487
|
}
|
|
488
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
488
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-7XEXTIHL.js");
|
|
489
489
|
if (isGlobalThread2(thread)) {
|
|
490
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
490
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-SFZCZ3HR.js");
|
|
491
491
|
ensureGlobalCoordinatorCwd2(
|
|
492
492
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
493
493
|
);
|
|
@@ -2117,7 +2117,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2117
2117
|
});
|
|
2118
2118
|
await requireAgent(resolved.agent);
|
|
2119
2119
|
if (input.cowboy) {
|
|
2120
|
-
const { cowboyModeEnabled } = await import("./app-settings-
|
|
2120
|
+
const { cowboyModeEnabled } = await import("./app-settings-EQQZQNYD.js");
|
|
2121
2121
|
if (!cowboyModeEnabled()) {
|
|
2122
2122
|
throw new Error(
|
|
2123
2123
|
"Cowboy mode is off. Enable it in Settings \u2192 Advanced."
|
|
@@ -2175,7 +2175,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2175
2175
|
let sourceIsFork = false;
|
|
2176
2176
|
if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
|
|
2177
2177
|
if (isAbleTimeConnected() && getIssueSource() === "abletime") {
|
|
2178
|
-
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-
|
|
2178
|
+
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-VCVPSLSU.js");
|
|
2179
2179
|
const task = await ensureAbleTimeTask({
|
|
2180
2180
|
title: title?.trim() || "Untitled work",
|
|
2181
2181
|
description: input.prompt?.trim() || void 0
|
|
@@ -2780,7 +2780,7 @@ async function adoptThread(input) {
|
|
|
2780
2780
|
messages: input.messages ?? []
|
|
2781
2781
|
});
|
|
2782
2782
|
writeThread(thread);
|
|
2783
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
2783
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-BJCHMGVG.js");
|
|
2784
2784
|
await ensureWorkspace2(repoPath);
|
|
2785
2785
|
const { ensureWorktreeSideboardIgnored } = await import("./worktree-exclude-5N2KTYIT.js");
|
|
2786
2786
|
await ensureWorktreeSideboardIgnored(input.worktreePath);
|
|
@@ -4228,7 +4228,7 @@ var LONG_RUNNING_SKILL_BODY = `# Long-running jobs
|
|
|
4228
4228
|
|
|
4229
4229
|
A Sideboard or Cursor **worktree turn** SIGTERMs the agent shell (and its process group) when the user sends another message or the turn is interrupted. \`block_until_ms: 0\` is not enough \u2014 the child stays in that group.
|
|
4230
4230
|
|
|
4231
|
-
Do **not** ask the human to check back. Detach, then **wait** in 45s slices (MCP \`wait_for_job\`, same idea as \`wait_for_turn\`) until \`stillRunning\` is false. Do not end the turn
|
|
4231
|
+
Do **not** ask the human to check back. Detach, then **wait** in 45s slices (MCP \`wait_for_job\`, same idea as \`wait_for_turn\`) until \`stillRunning\` is false. Do not end the turn after starting a job \u2014 a native CLI Task or bash notify does **not** resume a Sideboard chat (Claude, Cursor, Codex, OpenCode).
|
|
4232
4232
|
|
|
4233
4233
|
## Tool
|
|
4234
4234
|
|
|
@@ -4849,7 +4849,7 @@ function formatPrGateDirective() {
|
|
|
4849
4849
|
return [
|
|
4850
4850
|
"If a goal is given (not after every push):",
|
|
4851
4851
|
"- Enter a watch-fix-push loop and stay in it until that goal is met or you are blocked (examples: \u201CGreptile 5/5\u201D, \u201CCI green\u201D, \u201Cuntil checks pass\u201D). Do not stop after one red run or one review cycle.",
|
|
4852
|
-
"- Wait with `/long-running`: detach `gh pr checks --watch` (add `-R <origin>` when needed), then loop `wait_for_job` until stillRunning is false. Do not end the turn \u2014 a
|
|
4852
|
+
"- Wait with `/long-running`: detach `gh pr checks --watch` (add `-R <origin>` when needed), then loop `wait_for_job` until stillRunning is false. Do not end the turn \u2014 a native CLI Task or bash notify does not resume this chat. Do not ask the human to poll.",
|
|
4853
4853
|
"- Greptile 5/5: wait for the greptile check; read the latest `N/5` from the PR body or Greptile\u2019s most recently *updated* issue comment; also fetch unresolved review comments / the \u201CPrompt to fix all with AI\u201D block. Done = **5/5 and zero unresolved Greptile comments**. If Greptile is idle, comment `@greptile review`. Cap about 5 iterations, then report leftovers. Do not merge unless asked."
|
|
4854
4854
|
].join("\n");
|
|
4855
4855
|
}
|
|
@@ -4882,7 +4882,7 @@ function formatLongRunningDirective(opts) {
|
|
|
4882
4882
|
}
|
|
4883
4883
|
function formatLongRunningReminder(opts) {
|
|
4884
4884
|
const invoke = formatDetachedJobInvoke(opts?.scriptPath);
|
|
4885
|
-
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. A
|
|
4885
|
+
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. A native CLI Task or bash notify does not resume this chat. Project Dev button: list_run_scripts / run_dev_script / stop_dev_script / get_run_log (UI-connected \u2014 not detached-job). ${formatDevAccessHint(opts?.activeRuns)}`;
|
|
4886
4886
|
}
|
|
4887
4887
|
function formatArtifactDirective() {
|
|
4888
4888
|
return [
|
|
@@ -5271,7 +5271,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
5271
5271
|
${prompt}`;
|
|
5272
5272
|
}
|
|
5273
5273
|
async function defaultDeps() {
|
|
5274
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
5274
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-6QJLM6Y4.js");
|
|
5275
5275
|
const orch = getOrchestrator2();
|
|
5276
5276
|
return {
|
|
5277
5277
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -5589,7 +5589,7 @@ var Orchestrator = class {
|
|
|
5589
5589
|
orphans: orphans.map((o) => ({ path: o.path, repoPath: o.repoPath }))
|
|
5590
5590
|
});
|
|
5591
5591
|
}
|
|
5592
|
-
const { autoCleanupOrphansEnabled } = await import("./app-settings-
|
|
5592
|
+
const { autoCleanupOrphansEnabled } = await import("./app-settings-EQQZQNYD.js");
|
|
5593
5593
|
if (autoCleanupOrphansEnabled() && shouldRunWorktreeCleanup() && orphans.length > 0) {
|
|
5594
5594
|
await cleanupOrphanWorktrees({ repoPaths });
|
|
5595
5595
|
}
|
|
@@ -5978,7 +5978,7 @@ var Orchestrator = class {
|
|
|
5978
5978
|
}
|
|
5979
5979
|
await setup;
|
|
5980
5980
|
if (skipSetup) return;
|
|
5981
|
-
const { autoRunAfterSetupEnabled } = await import("./app-settings-
|
|
5981
|
+
const { autoRunAfterSetupEnabled } = await import("./app-settings-EQQZQNYD.js");
|
|
5982
5982
|
if (autoRunAfterSetupEnabled()) {
|
|
5983
5983
|
try {
|
|
5984
5984
|
await this.startDev(threadId);
|
|
@@ -6031,7 +6031,8 @@ var Orchestrator = class {
|
|
|
6031
6031
|
throw new Error(`Thread is archived: ${thread.id}`);
|
|
6032
6032
|
}
|
|
6033
6033
|
const followUp = resolveSendFollowUp(current, opts?.followUp);
|
|
6034
|
-
const
|
|
6034
|
+
const explicit = opts?.attachments;
|
|
6035
|
+
const consumed = explicit !== void 0 ? { attachments: current.attachments, consumed: explicit } : consumeComposerAttachments(current);
|
|
6035
6036
|
const queued = appendQueuedItem(
|
|
6036
6037
|
current.queue,
|
|
6037
6038
|
current.queueAttachments,
|
|
@@ -6045,7 +6046,7 @@ var Orchestrator = class {
|
|
|
6045
6046
|
const inFlight = this.activeTurns.has(thread.id) || this.startingTurns.has(thread.id) || current.status === "running";
|
|
6046
6047
|
shouldSteer = followUp === "steer" && (inFlight || current.queue.length > 0);
|
|
6047
6048
|
const patch = queued;
|
|
6048
|
-
if (consumed.consumed.length > 0) {
|
|
6049
|
+
if (explicit === void 0 && consumed.consumed.length > 0) {
|
|
6049
6050
|
patch.attachments = consumed.attachments;
|
|
6050
6051
|
}
|
|
6051
6052
|
if (!inFlight) patch.status = "queued";
|
|
@@ -6357,7 +6358,7 @@ var Orchestrator = class {
|
|
|
6357
6358
|
}
|
|
6358
6359
|
const isBrightsy = fresh.agent === "brightsy";
|
|
6359
6360
|
const isOrchestration = isOrchestratorThread(fresh);
|
|
6360
|
-
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-
|
|
6361
|
+
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-EQQZQNYD.js");
|
|
6361
6362
|
const gitAuthMode = getGithubGitAuthMode();
|
|
6362
6363
|
const worktreeDirective = isBrightsy || isOrchestration ? null : formatWorktreeDirective(fresh, {
|
|
6363
6364
|
githubSlug: await withTimeout(
|
|
@@ -7667,7 +7668,7 @@ var Orchestrator = class {
|
|
|
7667
7668
|
if (Object.keys(patch).length === 0) continue;
|
|
7668
7669
|
updateThread(t.id, patch);
|
|
7669
7670
|
}
|
|
7670
|
-
const { autoArchiveOnMergeEnabled } = await import("./app-settings-
|
|
7671
|
+
const { autoArchiveOnMergeEnabled } = await import("./app-settings-EQQZQNYD.js");
|
|
7671
7672
|
const latest = this.requireThread(thread.id);
|
|
7672
7673
|
if (!shouldAutoArchiveOnPrMerge({
|
|
7673
7674
|
previousPrState: prevState || null,
|
|
@@ -7958,7 +7959,7 @@ var Orchestrator = class {
|
|
|
7958
7959
|
this.enforceHistoryRetention();
|
|
7959
7960
|
if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
|
|
7960
7961
|
try {
|
|
7961
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
7962
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-BJCHMGVG.js");
|
|
7962
7963
|
await ensureWorkspace2(thread.repoPath);
|
|
7963
7964
|
} catch {
|
|
7964
7965
|
}
|
|
@@ -7985,7 +7986,7 @@ var Orchestrator = class {
|
|
|
7985
7986
|
await runArchiveScript(thread.repoPath, thread.worktreePath);
|
|
7986
7987
|
} catch {
|
|
7987
7988
|
}
|
|
7988
|
-
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-
|
|
7989
|
+
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-EQQZQNYD.js");
|
|
7989
7990
|
const deleteBranch = opts?.deleteBranch ?? deleteBranchOnPurgeEnabled();
|
|
7990
7991
|
await removeWorktree(thread.repoPath, thread.worktreePath, {
|
|
7991
7992
|
deleteBranch: deleteBranch ? thread.branchName : void 0
|
|
@@ -8012,7 +8013,7 @@ var Orchestrator = class {
|
|
|
8012
8013
|
`Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
|
|
8013
8014
|
);
|
|
8014
8015
|
}
|
|
8015
|
-
const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-
|
|
8016
|
+
const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-L57T3KH7.js");
|
|
8016
8017
|
const slug = thread.worktreePath.split("/").pop();
|
|
8017
8018
|
const dest = thread.worktreePath;
|
|
8018
8019
|
await withRepoGitLock(thread.repoPath, async () => {
|
|
@@ -8122,7 +8123,7 @@ async function startOrchestration(opts) {
|
|
|
8122
8123
|
sourceRef: "default",
|
|
8123
8124
|
...createOpts
|
|
8124
8125
|
}).catch(async () => {
|
|
8125
|
-
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-
|
|
8126
|
+
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-L57T3KH7.js");
|
|
8126
8127
|
const repo = await resolveRepoRoot2(repoPath);
|
|
8127
8128
|
const def = await resolveDefaultBranch2(repo);
|
|
8128
8129
|
return orch.createThread({
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
isGlobalThread,
|
|
12
12
|
isOrchestratorThread,
|
|
13
13
|
isSlackCoordinatorThread
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QTZO4LPU.js";
|
|
15
15
|
import {
|
|
16
16
|
allocateTeamName,
|
|
17
17
|
mergeAgentGitAuthEnv,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
resolveAgentGitAuthEnv,
|
|
20
20
|
takenSlugsFromThread,
|
|
21
21
|
worktreeNameFromPath
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-K7MWJLR7.js";
|
|
23
23
|
import {
|
|
24
24
|
ATTACHMENTS_DIR,
|
|
25
25
|
DETACHED_JOBS_DIR,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
import {
|
|
37
37
|
assertOrchestratorCapableAgent,
|
|
38
38
|
contextTokens
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-WRIMAEF2.js";
|
|
40
40
|
import {
|
|
41
41
|
stripNestedElectronEnv
|
|
42
42
|
} from "./chunk-WWUABK6B.js";
|
|
@@ -1141,6 +1141,31 @@ import {
|
|
|
1141
1141
|
} from "fs";
|
|
1142
1142
|
import { dirname as dirname3, join as join4 } from "path";
|
|
1143
1143
|
|
|
1144
|
+
// src/mcp/job-process.ts
|
|
1145
|
+
function jobAlive(pid) {
|
|
1146
|
+
if (!Number.isInteger(pid) || pid <= 0) return false;
|
|
1147
|
+
try {
|
|
1148
|
+
process.kill(pid, 0);
|
|
1149
|
+
return true;
|
|
1150
|
+
} catch {
|
|
1151
|
+
return false;
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
function processGroupAlive(pgid) {
|
|
1155
|
+
if (process.platform === "win32") return false;
|
|
1156
|
+
if (!Number.isInteger(pgid) || pgid <= 1) return false;
|
|
1157
|
+
try {
|
|
1158
|
+
process.kill(-pgid, 0);
|
|
1159
|
+
return true;
|
|
1160
|
+
} catch (err) {
|
|
1161
|
+
return Boolean(err && typeof err === "object" && "code" in err && err.code === "EPERM");
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
function jobTreeAlive(pid) {
|
|
1165
|
+
if (pid == null) return false;
|
|
1166
|
+
return jobAlive(pid) || processGroupAlive(pid);
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1144
1169
|
// src/orchestrator/task-state.ts
|
|
1145
1170
|
function isIncompleteTaskState(state) {
|
|
1146
1171
|
return state === "failed" || state === "canceled";
|
|
@@ -1243,29 +1268,6 @@ function sanitizeDetachedJobId(id) {
|
|
|
1243
1268
|
}
|
|
1244
1269
|
return s;
|
|
1245
1270
|
}
|
|
1246
|
-
function jobAlive(pid) {
|
|
1247
|
-
if (!Number.isInteger(pid) || pid <= 0) return false;
|
|
1248
|
-
try {
|
|
1249
|
-
process.kill(pid, 0);
|
|
1250
|
-
return true;
|
|
1251
|
-
} catch {
|
|
1252
|
-
return false;
|
|
1253
|
-
}
|
|
1254
|
-
}
|
|
1255
|
-
function processGroupAlive(pgid) {
|
|
1256
|
-
if (process.platform === "win32") return false;
|
|
1257
|
-
if (!Number.isInteger(pgid) || pgid <= 1) return false;
|
|
1258
|
-
try {
|
|
1259
|
-
process.kill(-pgid, 0);
|
|
1260
|
-
return true;
|
|
1261
|
-
} catch (err) {
|
|
1262
|
-
return Boolean(err && typeof err === "object" && "code" in err && err.code === "EPERM");
|
|
1263
|
-
}
|
|
1264
|
-
}
|
|
1265
|
-
function jobTreeAlive(pid) {
|
|
1266
|
-
if (pid == null) return false;
|
|
1267
|
-
return jobAlive(pid) || processGroupAlive(pid);
|
|
1268
|
-
}
|
|
1269
1271
|
function readIntFile(file) {
|
|
1270
1272
|
if (!existsSync3(file)) return null;
|
|
1271
1273
|
const n = Number.parseInt(readFileSync3(file, "utf8").trim(), 10);
|
|
@@ -1306,7 +1308,7 @@ function looksLikeDeferredDonePromise(text) {
|
|
|
1306
1308
|
if (!t || t.length > DEFERRED_DONE_MAX_CHARS) return false;
|
|
1307
1309
|
const unquoted = t.replace(/`[^`]*`/g, " ").replace(/["“”][^"“”]*["“”]/g, " ").replace(/\s+/g, " ").trim();
|
|
1308
1310
|
if (!unquoted) return false;
|
|
1309
|
-
return /\b(i['’]?ll|i will)\s+let you know\b/i.test(unquoted) || /\blet you know when\b/i.test(unquoted) || /\b(check back|ping me)\s+when\b/i.test(unquoted) || /\bi(?:['’]ll| will)\s+(report|update you)\s+when\b/i.test(unquoted) || /\
|
|
1311
|
+
return /\b(i['’]?ll|i will)\s+let you know\b/i.test(unquoted) || /\blet you know when\b/i.test(unquoted) || /\b(check back|ping me)\s+when\b/i.test(unquoted) || /\bi(?:['’]ll| will)\s+(report|update you)\s+when\b/i.test(unquoted) || /\bwill notify (?:me|you) when\b/i.test(unquoted) || /\bi(?:['’]ll| will) be notified when\b/i.test(unquoted) || /\bi(?:['’]ll| will)\s+(?:keep|continue)\s+(?:watching|waiting|polling|checking)\b/i.test(
|
|
1310
1312
|
unquoted
|
|
1311
1313
|
) || /\bi(?:['’]ll| will)\s+come back when\b/i.test(unquoted);
|
|
1312
1314
|
}
|
|
@@ -1350,7 +1352,7 @@ function formatJobStillRunningContinuePrompt(jobIds) {
|
|
|
1350
1352
|
function formatDeferredDoneContinuePrompt() {
|
|
1351
1353
|
return [
|
|
1352
1354
|
"You ended the turn after promising to report later, but no detached job is running.",
|
|
1353
|
-
"A native
|
|
1355
|
+
"A native CLI Task or bash notify does not resume this chat (Claude, Cursor, Codex, OpenCode).",
|
|
1354
1356
|
"If tests/pack/deploy still need to run: start once with detached-job.cjs, then loop wait_for_job until stillRunning is false (the log pane updates from wait JSON).",
|
|
1355
1357
|
"Do not say you will let the user know later."
|
|
1356
1358
|
].join(" ");
|
|
@@ -1575,7 +1577,7 @@ var PORT_RANGE_SIZE = 10;
|
|
|
1575
1577
|
var RECLAIM_RETRY_DELAY_MS = 40;
|
|
1576
1578
|
var RECLAIM_TRIES = 8;
|
|
1577
1579
|
async function killReclaimable(ports, worktreePath, signal) {
|
|
1578
|
-
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-
|
|
1580
|
+
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-YYQKZAND.js");
|
|
1579
1581
|
if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
|
|
1580
1582
|
else killListenersOnPorts2(ports);
|
|
1581
1583
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getAbleTimeHost,
|
|
8
8
|
isAbleTimeConnected
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WRIMAEF2.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-4K7MICAD.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-4K7MICAD.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-PIBCNHF3.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-PIBCNHF3.js");
|
|
248
248
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
249
249
|
}
|
|
250
250
|
throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
|