@sideboard-ai/core 0.1.286 → 0.1.288
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-I4RODUKT.js → abletime-4WJUVE64.js} +4 -4
- package/dist/{abletime-4CH2IOX5.js → abletime-VFKYNSJT.js} +4 -4
- package/dist/{abletime-oauth-7OZZ3ABX.js → abletime-oauth-FW24YHYX.js} +3 -3
- package/dist/{abletime-oauth-C2HN2Q6F.js → abletime-oauth-ICMB2XV2.js} +3 -3
- package/dist/{abletime-rest-E4LBRFLM.js → abletime-rest-HFMRTUDT.js} +3 -3
- package/dist/{abletime-rest-WFI2HWBU.js → abletime-rest-OGWC7BC6.js} +3 -3
- package/dist/agents/cursor-runner.js +3 -3
- package/dist/{agents-BHUXZ7XO.js → agents-GZLTMGSH.js} +19 -17
- package/dist/{agents-QNIFTZPN.js → agents-UQMHFZSM.js} +17 -15
- package/dist/{app-settings-EQQZQNYD.js → app-settings-EHMXHNG5.js} +1 -1
- package/dist/{app-settings-NI4X5HW3.js → app-settings-MR2U6AXN.js} +1 -1
- package/dist/{chunk-3H5U4QLD.js → chunk-2N77CLRQ.js} +8 -298
- package/dist/{chunk-YNTXWFXT.js → chunk-36J3IZBS.js} +12 -12
- package/dist/{chunk-IJMUYHPT.js → chunk-3E4NOIXN.js} +3 -3
- package/dist/{chunk-5MGLNVNK.js → chunk-3W5SL5EW.js} +1 -1
- package/dist/{chunk-CBIUGGPI.js → chunk-442O6OXM.js} +25 -127
- package/dist/chunk-4BXRRHDC.js +139 -0
- package/dist/{chunk-ETZPTOK7.js → chunk-4NM72HJZ.js} +5 -5
- package/dist/{chunk-PCNH74SF.js → chunk-6NVQNTJO.js} +10 -300
- package/dist/{chunk-VOIWX5HA.js → chunk-7UUILVMV.js} +1 -1
- package/dist/chunk-AF2DMY3K.js +295 -0
- package/dist/{chunk-5QOLFOAX.js → chunk-AFLNFGGB.js} +1 -1
- package/dist/{chunk-5T4YWFLD.js → chunk-AHH5USEA.js} +2 -2
- package/dist/{chunk-6CVVNAIU.js → chunk-B3BPLPKQ.js} +2 -2
- package/dist/{chunk-MGJ7R7UX.js → chunk-DBOFDEQ7.js} +4 -4
- package/dist/{chunk-VQEARG5H.js → chunk-GU6DT6NO.js} +5 -5
- package/dist/{chunk-K5XSTHHP.js → chunk-HNB2HTCV.js} +1 -1
- package/dist/{chunk-ULSY2BJF.js → chunk-IA4MPG7F.js} +4 -4
- package/dist/{chunk-S2OOM7AU.js → chunk-K6IOJI3L.js} +1 -1
- package/dist/{chunk-U6QDXT4K.js → chunk-MIVX7QKI.js} +1 -1
- package/dist/{chunk-WRIMAEF2.js → chunk-MVZO7QZ2.js} +12 -12
- package/dist/{chunk-LS4FFCPL.js → chunk-MYJYINTS.js} +3 -3
- package/dist/{chunk-DEJALWKM.js → chunk-NFPWLDCH.js} +5 -5
- package/dist/chunk-NXXQFLNQ.js +300 -0
- package/dist/chunk-OH4EN323.js +89 -0
- package/dist/chunk-W2KZTDET.js +302 -0
- package/dist/{chunk-ABOH7GBG.js → chunk-WQSIUZEB.js} +6 -6
- package/dist/{chunk-HJNFK5SP.js → chunk-WW5XGEMY.js} +33 -313
- package/dist/{chunk-TMM4FEZ5.js → chunk-Y67TBJD5.js} +3 -3
- package/dist/{chunk-XSDCLM3F.js → chunk-YSLCWCMJ.js} +1 -1
- package/dist/{conductor-RBJYEF7L.js → conductor-MCU63Z5U.js} +5 -5
- package/dist/{conductor-WYOWFB7I.js → conductor-ZLYZVIAV.js} +6 -6
- package/dist/{coordinator-prompt-R42WEL3T.js → coordinator-prompt-KHCXXDRO.js} +3 -3
- package/dist/{coordinator-prompt-5DE3XBNT.js → coordinator-prompt-UV6THLMD.js} +3 -3
- package/dist/{global-workspace-IPIEC6FM.js → global-workspace-AXTSYVAE.js} +3 -3
- package/dist/{global-workspace-NXMYLS34.js → global-workspace-GDHZSFP6.js} +3 -3
- package/dist/index.cjs +470 -275
- package/dist/index.d.cts +29 -9
- package/dist/index.d.ts +29 -9
- package/dist/index.js +369 -256
- package/dist/mcp/run-stdio.cjs +603 -226
- package/dist/mcp/run-stdio.js +333 -187
- package/dist/optional-cli-6SW4OOX3.js +23 -0
- package/dist/optional-cli-FRUZSZ3U.js +98 -0
- package/dist/{orchestrator-YEZV35G7.js → orchestrator-5ZBHR6BJ.js} +9 -7
- package/dist/{orchestrator-65QGA6BB.js → orchestrator-SDH6W6ZL.js} +12 -10
- package/dist/{workspaces-LIFFWK23.js → workspaces-L2UR4KC2.js} +3 -3
- package/dist/{workspaces-5C5ESWPU.js → workspaces-Q2R2XGO3.js} +3 -3
- package/dist/{worktree-NKLNVNXX.js → worktree-2GOK4VYT.js} +2 -2
- package/dist/{worktree-YTZC3UQN.js → worktree-YEUTJ7MZ.js} +2 -2
- package/package.json +1 -1
|
@@ -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-MYJYINTS.js";
|
|
20
|
+
import "./chunk-B3BPLPKQ.js";
|
|
21
|
+
import "./chunk-NFPWLDCH.js";
|
|
22
22
|
import "./chunk-JAT3JFOS.js";
|
|
23
23
|
import "./chunk-6K64FJDD.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-36J3IZBS.js";
|
|
25
25
|
import "./chunk-77WWLBCI.js";
|
|
26
26
|
import "./chunk-4TR3HZFT.js";
|
|
27
27
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -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-Y67TBJD5.js";
|
|
22
|
+
import "./chunk-AHH5USEA.js";
|
|
23
|
+
import "./chunk-GU6DT6NO.js";
|
|
24
24
|
import "./chunk-2GPQZZLY.js";
|
|
25
25
|
import "./chunk-N2WW62LF.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-MVZO7QZ2.js";
|
|
27
27
|
import "./chunk-NSTQ6QKD.js";
|
|
28
28
|
import "./chunk-WWUABK6B.js";
|
|
29
29
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
DEFAULT_ABLETIME_HOST,
|
|
5
5
|
normalizeAbleTimeHost
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GU6DT6NO.js";
|
|
7
7
|
import {
|
|
8
8
|
httpFetch
|
|
9
9
|
} from "./chunk-2GPQZZLY.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
getAbleTimeHost,
|
|
13
13
|
loadAppSettings,
|
|
14
14
|
saveAbleTimeConnection
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MVZO7QZ2.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-VFKYNSJT.js");
|
|
292
292
|
const orientation = await getAbleTimeOrientation({ token, host });
|
|
293
293
|
return saveAbleTimeConnection({
|
|
294
294
|
accessToken: token,
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
parseAbleTimeOAuthCallbackUrl,
|
|
21
21
|
resolveAbleTimeOAuthHost,
|
|
22
22
|
startAbleTimeOAuth
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-3E4NOIXN.js";
|
|
24
|
+
import "./chunk-NFPWLDCH.js";
|
|
25
25
|
import "./chunk-JAT3JFOS.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-36J3IZBS.js";
|
|
27
27
|
import "./chunk-77WWLBCI.js";
|
|
28
28
|
import "./chunk-4TR3HZFT.js";
|
|
29
29
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
callAbleTimeRestTool,
|
|
6
6
|
looksLikeAbleTimeUlid,
|
|
7
7
|
textFromAbleTimeDoc
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-B3BPLPKQ.js";
|
|
9
|
+
import "./chunk-NFPWLDCH.js";
|
|
10
10
|
import "./chunk-JAT3JFOS.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-36J3IZBS.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-AHH5USEA.js";
|
|
11
|
+
import "./chunk-GU6DT6NO.js";
|
|
12
12
|
import "./chunk-2GPQZZLY.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-MVZO7QZ2.js";
|
|
14
14
|
import "./chunk-NSTQ6QKD.js";
|
|
15
15
|
import "./chunk-WWUABK6B.js";
|
|
16
16
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
clipAgentEventForEmit,
|
|
4
4
|
sideboardCursorRpcTools
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-K6IOJI3L.js";
|
|
6
6
|
import {
|
|
7
7
|
createAgentStreamCoalescer
|
|
8
8
|
} from "../chunk-AXQ4ZWHK.js";
|
|
@@ -17,12 +17,12 @@ import {
|
|
|
17
17
|
fetchCursorTurnCostUsd,
|
|
18
18
|
importCursorSdk,
|
|
19
19
|
resolveCursorSdkRoot
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-7UUILVMV.js";
|
|
21
21
|
import {
|
|
22
22
|
TOOL_RESULT_STORE_MAX_CHARS,
|
|
23
23
|
formatUnknownDetail,
|
|
24
24
|
looksLikeCursorStreamCutOff
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-MIVX7QKI.js";
|
|
26
26
|
import "../chunk-6K64FJDD.js";
|
|
27
27
|
import {
|
|
28
28
|
cursorSdkStoreDir
|
|
@@ -19,39 +19,41 @@ import {
|
|
|
19
19
|
formatClaudeUsageResetClock,
|
|
20
20
|
formatClaudeUsageTooltip,
|
|
21
21
|
getAdapter,
|
|
22
|
-
getAgentSetupInfo,
|
|
23
22
|
getClaudePlanUsage,
|
|
24
23
|
hottestClaudeWindow,
|
|
25
|
-
installAgent,
|
|
26
|
-
installNpmGlobalPackage,
|
|
27
24
|
isCursorApiKeyConfigured,
|
|
28
25
|
isCursorAutoModel,
|
|
29
26
|
isSessionQuotaLimit,
|
|
30
|
-
listAgentSetupInfo,
|
|
31
27
|
listBrightsyChatTargets,
|
|
32
28
|
listCodexModels,
|
|
33
29
|
listCursorModels,
|
|
34
30
|
listModelsForAgent,
|
|
35
31
|
listOpencodeModels,
|
|
36
|
-
loginAgent,
|
|
37
|
-
loginManagedAccount,
|
|
38
32
|
mcpStatusThinkingFromClaudeInit,
|
|
39
|
-
openInSystemTerminal,
|
|
40
33
|
opencodeAdapter,
|
|
41
34
|
parseClaudeUsagePayload,
|
|
42
35
|
parseSessionQuotaResetAt,
|
|
43
36
|
permissionMode,
|
|
44
37
|
planModeTurnInstruction,
|
|
45
|
-
prepareTerminalCommand,
|
|
46
38
|
resolveCursorModelId,
|
|
39
|
+
resolveQuotaFallbackAgent
|
|
40
|
+
} from "./chunk-6NVQNTJO.js";
|
|
41
|
+
import "./chunk-VGNLMGBK.js";
|
|
42
|
+
import "./chunk-YSLCWCMJ.js";
|
|
43
|
+
import {
|
|
44
|
+
getAgentSetupInfo,
|
|
45
|
+
installAgent,
|
|
46
|
+
installNpmGlobalPackage,
|
|
47
|
+
listAgentSetupInfo,
|
|
48
|
+
loginAgent,
|
|
49
|
+
loginManagedAccount,
|
|
50
|
+
openInSystemTerminal,
|
|
51
|
+
prepareTerminalCommand,
|
|
47
52
|
resolveLoginCommand,
|
|
48
|
-
resolveQuotaFallbackAgent,
|
|
49
53
|
whichOnPath
|
|
50
|
-
} from "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-MGJ7R7UX.js";
|
|
54
|
-
import "./chunk-K5XSTHHP.js";
|
|
54
|
+
} from "./chunk-NXXQFLNQ.js";
|
|
55
|
+
import "./chunk-DBOFDEQ7.js";
|
|
56
|
+
import "./chunk-HNB2HTCV.js";
|
|
55
57
|
import "./chunk-N5UGX3JL.js";
|
|
56
58
|
import "./chunk-2P4XKWV2.js";
|
|
57
59
|
import "./chunk-33KDPEK4.js";
|
|
@@ -64,8 +66,8 @@ import {
|
|
|
64
66
|
preferredCursorCostCents,
|
|
65
67
|
resolveCursorSdkRoot,
|
|
66
68
|
turnCostUsdFromCursorUsage
|
|
67
|
-
} from "./chunk-
|
|
68
|
-
import "./chunk-
|
|
69
|
+
} from "./chunk-7UUILVMV.js";
|
|
70
|
+
import "./chunk-MIVX7QKI.js";
|
|
69
71
|
import "./chunk-6K64FJDD.js";
|
|
70
72
|
import "./chunk-UWQ6UCIB.js";
|
|
71
73
|
import {
|
|
@@ -85,7 +87,7 @@ import {
|
|
|
85
87
|
assertOrchestratorCapableAgent,
|
|
86
88
|
coerceOrchestratorAgent,
|
|
87
89
|
isOrchestratorCapableAgent
|
|
88
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-36J3IZBS.js";
|
|
89
91
|
import "./chunk-77WWLBCI.js";
|
|
90
92
|
import "./chunk-4TR3HZFT.js";
|
|
91
93
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -23,25 +23,18 @@ import {
|
|
|
23
23
|
formatClaudeUsageResetClock,
|
|
24
24
|
formatClaudeUsageTooltip,
|
|
25
25
|
getAdapter,
|
|
26
|
-
getAgentSetupInfo,
|
|
27
26
|
getClaudePlanUsage,
|
|
28
27
|
hottestClaudeWindow,
|
|
29
|
-
installAgent,
|
|
30
|
-
installNpmGlobalPackage,
|
|
31
28
|
isCursorApiKeyConfigured,
|
|
32
29
|
isCursorAutoModel,
|
|
33
30
|
isCursorSdkInstalled,
|
|
34
31
|
isSessionQuotaLimit,
|
|
35
|
-
listAgentSetupInfo,
|
|
36
32
|
listBrightsyChatTargets,
|
|
37
33
|
listCodexModels,
|
|
38
34
|
listCursorModels,
|
|
39
35
|
listModelsForAgent,
|
|
40
36
|
listOpencodeModels,
|
|
41
|
-
loginAgent,
|
|
42
|
-
loginManagedAccount,
|
|
43
37
|
mcpStatusThinkingFromClaudeInit,
|
|
44
|
-
openInSystemTerminal,
|
|
45
38
|
opencodeAdapter,
|
|
46
39
|
parseClaudeUsagePayload,
|
|
47
40
|
parseCursorRunnerLine,
|
|
@@ -49,20 +42,29 @@ import {
|
|
|
49
42
|
permissionMode,
|
|
50
43
|
planModeTurnInstruction,
|
|
51
44
|
preferredCursorCostCents,
|
|
52
|
-
prepareTerminalCommand,
|
|
53
45
|
resolveCursorModelId,
|
|
54
46
|
resolveCursorSdkRoot,
|
|
55
|
-
resolveLoginCommand,
|
|
56
47
|
resolveQuotaFallbackAgent,
|
|
57
|
-
turnCostUsdFromCursorUsage
|
|
48
|
+
turnCostUsdFromCursorUsage
|
|
49
|
+
} from "./chunk-2N77CLRQ.js";
|
|
50
|
+
import {
|
|
51
|
+
getAgentSetupInfo,
|
|
52
|
+
installAgent,
|
|
53
|
+
installNpmGlobalPackage,
|
|
54
|
+
listAgentSetupInfo,
|
|
55
|
+
loginAgent,
|
|
56
|
+
loginManagedAccount,
|
|
57
|
+
openInSystemTerminal,
|
|
58
|
+
prepareTerminalCommand,
|
|
59
|
+
resolveLoginCommand,
|
|
58
60
|
whichOnPath
|
|
59
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-W2KZTDET.js";
|
|
60
62
|
import "./chunk-7IAMHN2N.js";
|
|
61
63
|
import "./chunk-PXMLMBMI.js";
|
|
62
64
|
import "./chunk-2GPQZZLY.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-AFLNFGGB.js";
|
|
66
|
+
import "./chunk-IA4MPG7F.js";
|
|
67
|
+
import "./chunk-3W5SL5EW.js";
|
|
66
68
|
import "./chunk-N2WW62LF.js";
|
|
67
69
|
import "./chunk-DD67JWTN.js";
|
|
68
70
|
import {
|
|
@@ -81,7 +83,7 @@ import {
|
|
|
81
83
|
assertOrchestratorCapableAgent,
|
|
82
84
|
coerceOrchestratorAgent,
|
|
83
85
|
isOrchestratorCapableAgent
|
|
84
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-MVZO7QZ2.js";
|
|
85
87
|
import "./chunk-NSTQ6QKD.js";
|
|
86
88
|
import "./chunk-WWUABK6B.js";
|
|
87
89
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
updateProjectProfileSettings,
|
|
108
108
|
usageOnLimit,
|
|
109
109
|
writeViewerContext
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-MVZO7QZ2.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-36J3IZBS.js";
|
|
109
109
|
import "./chunk-77WWLBCI.js";
|
|
110
110
|
import "./chunk-4TR3HZFT.js";
|
|
111
111
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -21,23 +21,19 @@ import {
|
|
|
21
21
|
looksLikeSkillBody,
|
|
22
22
|
skillCommandFromBody,
|
|
23
23
|
withEventParentId
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-AFLNFGGB.js";
|
|
25
25
|
import {
|
|
26
26
|
isOrchestratorThread
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-IA4MPG7F.js";
|
|
28
28
|
import {
|
|
29
29
|
codexUnattendedGitConfigArgs,
|
|
30
30
|
mergeAgentGitAuthEnv,
|
|
31
31
|
resolveAgentGitAuthEnv,
|
|
32
32
|
resolveCodexGitWritableRoots
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-3W5SL5EW.js";
|
|
34
34
|
import {
|
|
35
|
-
enrichPathWithNpmGlobalBin,
|
|
36
|
-
isConductorBundledCli,
|
|
37
35
|
npmGlobalNodeModules,
|
|
38
|
-
|
|
39
|
-
run,
|
|
40
|
-
withExportedPath
|
|
36
|
+
run
|
|
41
37
|
} from "./chunk-2UG25RMK.js";
|
|
42
38
|
import {
|
|
43
39
|
claudeChromeEnabled,
|
|
@@ -47,7 +43,7 @@ import {
|
|
|
47
43
|
loadAppSettings,
|
|
48
44
|
resolveAgentExecutable,
|
|
49
45
|
resolveClaudeExecutable
|
|
50
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-MVZO7QZ2.js";
|
|
51
47
|
import {
|
|
52
48
|
isElectronLikeCommand,
|
|
53
49
|
unwrapStrippedElectronLaunch,
|
|
@@ -973,7 +969,8 @@ var SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS = [
|
|
|
973
969
|
"mcp__sideboard__create_schedule",
|
|
974
970
|
"mcp__sideboard__update_schedule",
|
|
975
971
|
"mcp__sideboard__delete_schedule",
|
|
976
|
-
"mcp__sideboard__run_schedule"
|
|
972
|
+
"mcp__sideboard__run_schedule",
|
|
973
|
+
"mcp__sideboard__posthog_api"
|
|
977
974
|
];
|
|
978
975
|
var SIDEBOARD_GITHUB_MCP_ALLOWED_TOOLS = ["mcp__sideboard__github_*"];
|
|
979
976
|
var SIDEBOARD_LINEAR_MCP_ALLOWED_TOOLS = ["mcp__sideboard__linear_*"];
|
|
@@ -2018,7 +2015,7 @@ var claudeAdapter = {
|
|
|
2018
2015
|
);
|
|
2019
2016
|
}
|
|
2020
2017
|
const mode = permissionMode(thread);
|
|
2021
|
-
const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-
|
|
2018
|
+
const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-GDHZSFP6.js");
|
|
2022
2019
|
const isOrchestrator = isOrchestratorThread2(thread);
|
|
2023
2020
|
const rpc = worktreeAgentRpc(isOrchestrator);
|
|
2024
2021
|
const injectedServers = await buildInjectedMcpServers({
|
|
@@ -4293,283 +4290,6 @@ async function getClaudePlanUsage(opts = {}) {
|
|
|
4293
4290
|
return inflight;
|
|
4294
4291
|
}
|
|
4295
4292
|
|
|
4296
|
-
// src/agents/install.ts
|
|
4297
|
-
import { existsSync as existsSync17 } from "fs";
|
|
4298
|
-
var SETUP = {
|
|
4299
|
-
claude: {
|
|
4300
|
-
agent: "claude",
|
|
4301
|
-
kind: "cli",
|
|
4302
|
-
summary: "Install the Claude Code CLI, then complete login in a terminal.",
|
|
4303
|
-
docsUrl: "https://code.claude.com/docs/en/install",
|
|
4304
|
-
installCommand: "npm install -g @anthropic-ai/claude-code",
|
|
4305
|
-
loginCommand: "claude auth login",
|
|
4306
|
-
npmPackage: "@anthropic-ai/claude-code",
|
|
4307
|
-
updateArgs: ["update"]
|
|
4308
|
-
},
|
|
4309
|
-
codex: {
|
|
4310
|
-
agent: "codex",
|
|
4311
|
-
kind: "cli",
|
|
4312
|
-
summary: "Install the Codex CLI, then run login in a terminal.",
|
|
4313
|
-
docsUrl: "https://github.com/openai/codex",
|
|
4314
|
-
installCommand: "npm install -g @openai/codex",
|
|
4315
|
-
loginCommand: "codex login",
|
|
4316
|
-
npmPackage: "@openai/codex",
|
|
4317
|
-
updateArgs: ["update"]
|
|
4318
|
-
},
|
|
4319
|
-
opencode: {
|
|
4320
|
-
agent: "opencode",
|
|
4321
|
-
kind: "cli",
|
|
4322
|
-
summary: "Install OpenCode (curl installer or npm), then authenticate providers.",
|
|
4323
|
-
docsUrl: "https://opencode.ai/docs",
|
|
4324
|
-
// Prefer the official installer; npm package name is opencode-ai.
|
|
4325
|
-
installCommand: "curl -fsSL https://opencode.ai/install | bash",
|
|
4326
|
-
loginCommand: "opencode auth login",
|
|
4327
|
-
npmPackage: "opencode-ai@latest",
|
|
4328
|
-
updateArgs: ["upgrade"]
|
|
4329
|
-
},
|
|
4330
|
-
cursor: {
|
|
4331
|
-
agent: "cursor",
|
|
4332
|
-
kind: "cli",
|
|
4333
|
-
summary: "Install (or update) @cursor/sdk with npm \u2014 Sideboard does not pin it in the app. Then add a CURSOR_API_KEY.",
|
|
4334
|
-
docsUrl: "https://www.npmjs.com/package/@cursor/sdk",
|
|
4335
|
-
installCommand: "npm install -g @cursor/sdk",
|
|
4336
|
-
loginCommand: null,
|
|
4337
|
-
npmPackage: "@cursor/sdk"
|
|
4338
|
-
},
|
|
4339
|
-
brightsy: {
|
|
4340
|
-
agent: "brightsy",
|
|
4341
|
-
kind: "cli",
|
|
4342
|
-
summary: "Install (or update) the Brightsy CLI with npm, then run `brightsy login`.",
|
|
4343
|
-
docsUrl: "https://www.npmjs.com/package/@brightsy/cli",
|
|
4344
|
-
installCommand: "npm install -g @brightsy/cli",
|
|
4345
|
-
loginCommand: "brightsy login",
|
|
4346
|
-
npmPackage: "@brightsy/cli"
|
|
4347
|
-
}
|
|
4348
|
-
};
|
|
4349
|
-
var CLI_BIN = {
|
|
4350
|
-
claude: "claude",
|
|
4351
|
-
codex: "codex",
|
|
4352
|
-
opencode: "opencode",
|
|
4353
|
-
brightsy: "brightsy"
|
|
4354
|
-
};
|
|
4355
|
-
function getAgentSetupInfo(agent) {
|
|
4356
|
-
return SETUP[agent];
|
|
4357
|
-
}
|
|
4358
|
-
function listAgentSetupInfo() {
|
|
4359
|
-
return Object.values(SETUP);
|
|
4360
|
-
}
|
|
4361
|
-
var CLI_LOGIN_AGENTS = /* @__PURE__ */ new Set([
|
|
4362
|
-
"claude",
|
|
4363
|
-
"codex",
|
|
4364
|
-
"opencode",
|
|
4365
|
-
"brightsy"
|
|
4366
|
-
]);
|
|
4367
|
-
function resolveLoginCommand(agent) {
|
|
4368
|
-
const info = getAgentSetupInfo(agent);
|
|
4369
|
-
if (!info.loginCommand) return null;
|
|
4370
|
-
if (!CLI_LOGIN_AGENTS.has(agent)) return info.loginCommand;
|
|
4371
|
-
const exe = resolveAgentExecutable(agent);
|
|
4372
|
-
return info.loginCommand.replace(/^\S+/, exe);
|
|
4373
|
-
}
|
|
4374
|
-
async function prepareTerminalCommand(command) {
|
|
4375
|
-
enrichPathWithNpmGlobalBin();
|
|
4376
|
-
const trimmed = command.trim();
|
|
4377
|
-
if (!trimmed) return trimmed;
|
|
4378
|
-
if (/^(export\s+PATH=|PATH=)/.test(trimmed)) return trimmed;
|
|
4379
|
-
const match = /^(\S+)(\s[\s\S]*)?$/.exec(trimmed);
|
|
4380
|
-
const bin = match?.[1];
|
|
4381
|
-
let whichPath = null;
|
|
4382
|
-
if (bin && !bin.includes("/") && !bin.includes("\\")) {
|
|
4383
|
-
const which = await run("which", [bin], { reject: false, timeoutMs: 3e3 });
|
|
4384
|
-
whichPath = which.exitCode === 0 ? which.stdout.trim() : null;
|
|
4385
|
-
}
|
|
4386
|
-
const resolved = resolveCommandBinarySync(trimmed, whichPath);
|
|
4387
|
-
return withExportedPath(resolved, process.env.PATH ?? "");
|
|
4388
|
-
}
|
|
4389
|
-
async function openInSystemTerminal(command) {
|
|
4390
|
-
const trimmed = (await prepareTerminalCommand(command)).trim();
|
|
4391
|
-
if (!trimmed) throw new Error("Command is empty");
|
|
4392
|
-
if (process.platform === "darwin") {
|
|
4393
|
-
const escaped = trimmed.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
4394
|
-
const script = `tell application "Terminal" to do script "${escaped}"`;
|
|
4395
|
-
const result = await run("osascript", ["-e", script], { reject: false });
|
|
4396
|
-
if (result.exitCode !== 0) {
|
|
4397
|
-
throw new Error(result.stderr.trim() || result.stdout.trim() || "Failed to open Terminal");
|
|
4398
|
-
}
|
|
4399
|
-
await run("osascript", ["-e", 'tell application "Terminal" to activate'], {
|
|
4400
|
-
reject: false
|
|
4401
|
-
});
|
|
4402
|
-
return;
|
|
4403
|
-
}
|
|
4404
|
-
if (process.platform === "win32") {
|
|
4405
|
-
const result = await run(
|
|
4406
|
-
"cmd.exe",
|
|
4407
|
-
["/c", "start", "cmd.exe", "/k", trimmed],
|
|
4408
|
-
{ reject: false }
|
|
4409
|
-
);
|
|
4410
|
-
if (result.exitCode !== 0) {
|
|
4411
|
-
throw new Error(result.stderr.trim() || result.stdout.trim() || "Failed to open cmd");
|
|
4412
|
-
}
|
|
4413
|
-
return;
|
|
4414
|
-
}
|
|
4415
|
-
const candidates = [
|
|
4416
|
-
{ file: "gnome-terminal", args: ["--", "bash", "-lc", `${trimmed}; exec bash`] },
|
|
4417
|
-
{ file: "x-terminal-emulator", args: ["-e", "bash", "-lc", `${trimmed}; exec bash`] },
|
|
4418
|
-
{ file: "konsole", args: ["-e", "bash", "-lc", `${trimmed}; exec bash`] },
|
|
4419
|
-
{ file: "xterm", args: ["-e", "bash", "-lc", `${trimmed}; exec bash`] }
|
|
4420
|
-
];
|
|
4421
|
-
for (const c of candidates) {
|
|
4422
|
-
const which = await run("which", [c.file], { reject: false });
|
|
4423
|
-
if (which.exitCode !== 0 || !which.stdout.trim()) continue;
|
|
4424
|
-
const result = await run(c.file, c.args, { reject: false });
|
|
4425
|
-
if (result.exitCode === 0) return;
|
|
4426
|
-
}
|
|
4427
|
-
throw new Error(
|
|
4428
|
-
`No terminal found to run: ${trimmed}. Install gnome-terminal (or similar), or run the command manually.`
|
|
4429
|
-
);
|
|
4430
|
-
}
|
|
4431
|
-
async function whichOnPath(bin) {
|
|
4432
|
-
const which = await run("which", [bin], { reject: false, timeoutMs: 3e3 });
|
|
4433
|
-
if (which.exitCode !== 0) return null;
|
|
4434
|
-
return which.stdout.trim().split(/\r?\n/).find(Boolean) ?? null;
|
|
4435
|
-
}
|
|
4436
|
-
async function installNpmGlobalPackage(opts) {
|
|
4437
|
-
enrichPathWithNpmGlobalBin();
|
|
4438
|
-
const result = await run("npm", ["install", "-g", opts.npmPackage], { reject: false });
|
|
4439
|
-
const ok = result.exitCode === 0;
|
|
4440
|
-
if (!ok) {
|
|
4441
|
-
try {
|
|
4442
|
-
await openInSystemTerminal(opts.installCommand);
|
|
4443
|
-
return {
|
|
4444
|
-
ok: false,
|
|
4445
|
-
openedTerminal: true,
|
|
4446
|
-
command: opts.installCommand,
|
|
4447
|
-
exitCode: result.exitCode,
|
|
4448
|
-
stdout: result.stdout,
|
|
4449
|
-
stderr: result.stderr,
|
|
4450
|
-
message: `npm install failed (exit ${result.exitCode}). Opened Terminal with: ${opts.installCommand}`
|
|
4451
|
-
};
|
|
4452
|
-
} catch {
|
|
4453
|
-
return {
|
|
4454
|
-
ok: false,
|
|
4455
|
-
command: opts.installCommand,
|
|
4456
|
-
exitCode: result.exitCode,
|
|
4457
|
-
stdout: result.stdout,
|
|
4458
|
-
stderr: result.stderr,
|
|
4459
|
-
message: result.stderr.trim() || result.stdout.trim() || `npm install failed (exit ${result.exitCode})`
|
|
4460
|
-
};
|
|
4461
|
-
}
|
|
4462
|
-
}
|
|
4463
|
-
enrichPathWithNpmGlobalBin();
|
|
4464
|
-
const binPath = opts.cliBin ? await whichOnPath(opts.cliBin) : null;
|
|
4465
|
-
return {
|
|
4466
|
-
ok: true,
|
|
4467
|
-
command: opts.installCommand,
|
|
4468
|
-
exitCode: 0,
|
|
4469
|
-
stdout: result.stdout,
|
|
4470
|
-
stderr: result.stderr,
|
|
4471
|
-
// Library-only packages (`@cursor/sdk`) have no CLI to look for.
|
|
4472
|
-
message: !opts.cliBin ? `Installed ${opts.npmPackage}` : binPath ? `Installed ${opts.npmPackage} \u2192 ${binPath}` : `Installed ${opts.npmPackage} (CLI not yet on PATH)`
|
|
4473
|
-
};
|
|
4474
|
-
}
|
|
4475
|
-
async function resolveExistingCli(agent) {
|
|
4476
|
-
if (agent === "cursor") return null;
|
|
4477
|
-
const exe = resolveAgentExecutable(agent);
|
|
4478
|
-
if ((exe.includes("/") || exe.includes("\\")) && existsSync17(exe)) return exe;
|
|
4479
|
-
enrichPathWithNpmGlobalBin();
|
|
4480
|
-
return whichOnPath(CLI_BIN[agent]);
|
|
4481
|
-
}
|
|
4482
|
-
async function runVendorUpdate(existing, updateArgs) {
|
|
4483
|
-
const result = await run(existing, updateArgs, {
|
|
4484
|
-
reject: false,
|
|
4485
|
-
timeoutMs: 12e4
|
|
4486
|
-
});
|
|
4487
|
-
const command = `${existing} ${updateArgs.join(" ")}`;
|
|
4488
|
-
const ok = result.exitCode === 0;
|
|
4489
|
-
const detail = result.stdout.trim() || result.stderr.trim() || `exit ${result.exitCode}`;
|
|
4490
|
-
return {
|
|
4491
|
-
ok,
|
|
4492
|
-
command,
|
|
4493
|
-
exitCode: result.exitCode,
|
|
4494
|
-
stdout: result.stdout,
|
|
4495
|
-
stderr: result.stderr,
|
|
4496
|
-
message: ok ? isConductorBundledCli(existing) ? `Updated Conductor\u2019s CLI at ${existing}. ${detail}` : `Updated ${command}. ${detail}` : `Update failed (${command}): ${detail}`
|
|
4497
|
-
};
|
|
4498
|
-
}
|
|
4499
|
-
function isCurlInstaller(command) {
|
|
4500
|
-
return /curl\s| \|\s*bash/.test(command);
|
|
4501
|
-
}
|
|
4502
|
-
async function installAgent(agent) {
|
|
4503
|
-
const info = getAgentSetupInfo(agent);
|
|
4504
|
-
if (info.kind === "bundled-sdk" || info.kind === "api-key") {
|
|
4505
|
-
return {
|
|
4506
|
-
ok: true,
|
|
4507
|
-
message: info.summary
|
|
4508
|
-
};
|
|
4509
|
-
}
|
|
4510
|
-
if (!info.installCommand) {
|
|
4511
|
-
return { ok: false, message: `No install command for ${agent}` };
|
|
4512
|
-
}
|
|
4513
|
-
const existing = await resolveExistingCli(agent);
|
|
4514
|
-
if (existing && info.updateArgs?.length) {
|
|
4515
|
-
return runVendorUpdate(existing, info.updateArgs);
|
|
4516
|
-
}
|
|
4517
|
-
if (info.npmPackage && !isCurlInstaller(info.installCommand)) {
|
|
4518
|
-
const cliBin = agent === "cursor" ? null : CLI_BIN[agent];
|
|
4519
|
-
return installNpmGlobalPackage({
|
|
4520
|
-
npmPackage: info.npmPackage,
|
|
4521
|
-
installCommand: info.installCommand,
|
|
4522
|
-
cliBin
|
|
4523
|
-
});
|
|
4524
|
-
}
|
|
4525
|
-
await openInSystemTerminal(info.installCommand);
|
|
4526
|
-
return {
|
|
4527
|
-
ok: true,
|
|
4528
|
-
openedTerminal: true,
|
|
4529
|
-
command: info.installCommand,
|
|
4530
|
-
message: `Opened Terminal to run: ${info.installCommand}`
|
|
4531
|
-
};
|
|
4532
|
-
}
|
|
4533
|
-
async function loginAgent(agent) {
|
|
4534
|
-
const info = getAgentSetupInfo(agent);
|
|
4535
|
-
const loginCommand = resolveLoginCommand(agent);
|
|
4536
|
-
if (!loginCommand) {
|
|
4537
|
-
return {
|
|
4538
|
-
ok: true,
|
|
4539
|
-
message: info.kind === "bundled-sdk" || info.kind === "api-key" ? info.summary : `No login command for ${agent}`
|
|
4540
|
-
};
|
|
4541
|
-
}
|
|
4542
|
-
const prepared = await prepareTerminalCommand(loginCommand);
|
|
4543
|
-
await openInSystemTerminal(prepared);
|
|
4544
|
-
return {
|
|
4545
|
-
ok: true,
|
|
4546
|
-
openedTerminal: true,
|
|
4547
|
-
command: prepared,
|
|
4548
|
-
message: `Opened Terminal to run: ${prepared}`
|
|
4549
|
-
};
|
|
4550
|
-
}
|
|
4551
|
-
async function loginManagedAccount(accountId) {
|
|
4552
|
-
const { loadAppSettings: loadAppSettings2 } = await import("./app-settings-EQQZQNYD.js");
|
|
4553
|
-
const { loginEnvPrefix } = await import("./managed-accounts-46A4KRUE.js");
|
|
4554
|
-
const account = loadAppSettings2().accounts.accounts.find((a) => a.id === accountId);
|
|
4555
|
-
if (!account) {
|
|
4556
|
-
return { ok: false, message: `Account not found: ${accountId}` };
|
|
4557
|
-
}
|
|
4558
|
-
const loginCommand = resolveLoginCommand(account.kind);
|
|
4559
|
-
if (!loginCommand) {
|
|
4560
|
-
return { ok: false, message: `No login command for ${account.kind}` };
|
|
4561
|
-
}
|
|
4562
|
-
const prepared = await prepareTerminalCommand(loginCommand);
|
|
4563
|
-
const prefixed = `${loginEnvPrefix(account)} && ${prepared}`;
|
|
4564
|
-
await openInSystemTerminal(prefixed);
|
|
4565
|
-
return {
|
|
4566
|
-
ok: true,
|
|
4567
|
-
openedTerminal: true,
|
|
4568
|
-
command: prefixed,
|
|
4569
|
-
message: `Opened Terminal to run: ${prefixed}`
|
|
4570
|
-
};
|
|
4571
|
-
}
|
|
4572
|
-
|
|
4573
4293
|
// src/agents/index.ts
|
|
4574
4294
|
var adapters = {
|
|
4575
4295
|
claude: claudeAdapter,
|
|
@@ -4640,16 +4360,6 @@ export {
|
|
|
4640
4360
|
formatClaudeUsageOverLimitConfirm,
|
|
4641
4361
|
formatClaudeUsageOverLimitWait,
|
|
4642
4362
|
getClaudePlanUsage,
|
|
4643
|
-
getAgentSetupInfo,
|
|
4644
|
-
listAgentSetupInfo,
|
|
4645
|
-
resolveLoginCommand,
|
|
4646
|
-
prepareTerminalCommand,
|
|
4647
|
-
openInSystemTerminal,
|
|
4648
|
-
whichOnPath,
|
|
4649
|
-
installNpmGlobalPackage,
|
|
4650
|
-
installAgent,
|
|
4651
|
-
loginAgent,
|
|
4652
|
-
loginManagedAccount,
|
|
4653
4363
|
getAdapter,
|
|
4654
4364
|
allAdapters
|
|
4655
4365
|
};
|