@sideboard-ai/core 0.1.107 → 0.1.109
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/agents/cursor-runner.js +2 -2
- package/dist/{agents-T4RHL5UX.js → agents-XB332VUJ.js} +5 -5
- package/dist/{agents-4XQANGFO.js → agents-YIMHDI46.js} +7 -7
- package/dist/{app-settings-2WH6DVOW.js → app-settings-EBCVMFF6.js} +1 -1
- package/dist/{app-settings-6AXBWM3K.js → app-settings-IYSSVZHH.js} +2 -2
- package/dist/{chunk-7ZTQHC2Q.js → chunk-4LKD3PGO.js} +1 -1
- package/dist/{chunk-TLPJHLLM.js → chunk-4TR3HZFT.js} +1 -1
- package/dist/{chunk-SMWVSSE5.js → chunk-756EO4GK.js} +3 -3
- package/dist/{chunk-XOYH3OMI.js → chunk-AY2EQI2P.js} +16 -13
- package/dist/{chunk-PZVA2VDF.js → chunk-EW7COXYE.js} +1 -1
- package/dist/{chunk-VTTTV2LM.js → chunk-FBV6NK62.js} +2 -2
- package/dist/{chunk-GYFNFU62.js → chunk-I2OJ2YSP.js} +8 -16
- package/dist/{chunk-6JJTMI7G.js → chunk-JVIW55KT.js} +1 -1
- package/dist/{chunk-6HRR4T4P.js → chunk-KKHDPV45.js} +15 -14
- package/dist/{chunk-XEFHG6VG.js → chunk-LTPX5N6K.js} +1310 -1265
- package/dist/{chunk-EX4NZN3O.js → chunk-NE4TOOKS.js} +1 -1
- package/dist/{chunk-LRO7YVLJ.js → chunk-OQDIYVDD.js} +2 -2
- package/dist/{chunk-3SIFRHJ3.js → chunk-Q6B3NRCT.js} +1457 -1431
- package/dist/{chunk-THXSFETX.js → chunk-TROJ3PVH.js} +3 -3
- package/dist/{chunk-5XUKY2JY.js → chunk-VRTKGKUW.js} +8 -16
- package/dist/{chunk-HUKCGRAT.js → chunk-WD2TARQS.js} +7 -2
- package/dist/{coordinator-prompt-4TUQUEHY.js → coordinator-prompt-JKOU6BWV.js} +4 -4
- package/dist/{coordinator-prompt-YQWRXCPX.js → coordinator-prompt-V66BYTUV.js} +3 -3
- package/dist/{global-workspace-V6TMECDU.js → global-workspace-NCTBE7G7.js} +5 -5
- package/dist/{global-workspace-H37LFFXI.js → global-workspace-WBQWQQQY.js} +4 -4
- package/dist/index.cjs +1697 -1661
- package/dist/index.d.cts +65 -24
- package/dist/index.d.ts +65 -24
- package/dist/index.js +107 -85
- package/dist/mcp/run-stdio.cjs +1660 -1619
- package/dist/mcp/run-stdio.js +82 -79
- package/dist/{orchestrator-DEHSKERK.js → orchestrator-6W7EKSPO.js} +9 -9
- package/dist/{orchestrator-2P7DX44Q.js → orchestrator-JVGVPKLI.js} +7 -7
- package/dist/{workspaces-JU3P6FHB.js → workspaces-I3554R3F.js} +5 -5
- package/dist/{workspaces-UPEVANU4.js → workspaces-SUBEDSGB.js} +6 -6
- package/dist/{worktree-NR5YJG2E.js → worktree-2UWO7VEK.js} +3 -3
- package/dist/{worktree-6MFKE465.js → worktree-7H6HB6GW.js} +2 -2
- package/package.json +1 -1
package/dist/mcp/run-stdio.js
CHANGED
|
@@ -19,27 +19,27 @@ import {
|
|
|
19
19
|
slackApi,
|
|
20
20
|
slackTokenFor,
|
|
21
21
|
updateSchedule
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-LTPX5N6K.js";
|
|
23
23
|
import {
|
|
24
24
|
listModelsForAgent,
|
|
25
25
|
sideboardMcpProfile
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-AY2EQI2P.js";
|
|
27
27
|
import "../chunk-7YKXHBIW.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-OQDIYVDD.js";
|
|
29
29
|
import "../chunk-N5PM7HGQ.js";
|
|
30
30
|
import "../chunk-KLBOWJ74.js";
|
|
31
31
|
import {
|
|
32
32
|
GLOBAL_WORKSPACE_ID,
|
|
33
33
|
isCloudCoordinatorThread
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-
|
|
34
|
+
} from "../chunk-TROJ3PVH.js";
|
|
35
|
+
import "../chunk-VRTKGKUW.js";
|
|
36
36
|
import {
|
|
37
37
|
listBranches,
|
|
38
38
|
listPrs,
|
|
39
39
|
resolveGithubRepoSlug,
|
|
40
40
|
resolveRepoRoot,
|
|
41
41
|
warmGithubAgentAuth
|
|
42
|
-
} from "../chunk-
|
|
42
|
+
} from "../chunk-JVIW55KT.js";
|
|
43
43
|
import "../chunk-B3SJXYIJ.js";
|
|
44
44
|
import "../chunk-P3BQ5DOL.js";
|
|
45
45
|
import {
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
loadAppSettings,
|
|
50
50
|
resolveEffectiveIssueSource,
|
|
51
51
|
saveLinearOAuth
|
|
52
|
-
} from "../chunk-
|
|
52
|
+
} from "../chunk-NE4TOOKS.js";
|
|
53
53
|
import "../chunk-NSTQ6QKD.js";
|
|
54
54
|
import "../chunk-KGZBYWZ3.js";
|
|
55
55
|
import "../chunk-BD2ICC4D.js";
|
|
@@ -1342,7 +1342,7 @@ async function startMcpServer() {
|
|
|
1342
1342
|
);
|
|
1343
1343
|
}
|
|
1344
1344
|
try {
|
|
1345
|
-
const { maxConcurrentAgents } = await import("../app-settings-
|
|
1345
|
+
const { maxConcurrentAgents } = await import("../app-settings-EBCVMFF6.js");
|
|
1346
1346
|
orch.setMaxConcurrent(maxConcurrentAgents());
|
|
1347
1347
|
} catch {
|
|
1348
1348
|
}
|
|
@@ -1358,74 +1358,77 @@ async function startMcpServer() {
|
|
|
1358
1358
|
name: "sideboard",
|
|
1359
1359
|
version: "0.1.0"
|
|
1360
1360
|
});
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
workspaces.
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
const
|
|
1361
|
+
const worktreeProfile = sideboardMcpProfile() === "worktree";
|
|
1362
|
+
if (!worktreeProfile) {
|
|
1363
|
+
server.tool(
|
|
1364
|
+
"list_workspaces",
|
|
1365
|
+
"List registered Sideboard workspaces (repos). Each line is name, path, and github:owner/repo when resolvable \u2014 use path as repoPath for list_branches/list_prs/list_issues/create_thread.",
|
|
1366
|
+
{},
|
|
1367
|
+
async () => {
|
|
1368
|
+
const workspaces = orch.listWorkspaces();
|
|
1369
|
+
const lines = await Promise.all(
|
|
1370
|
+
workspaces.map(async (w) => {
|
|
1371
|
+
const slug = await resolveGithubRepoSlug(w.path).catch(() => null);
|
|
1372
|
+
return slug ? `${w.name} ${w.path} github:${slug}` : `${w.name} ${w.path}`;
|
|
1373
|
+
})
|
|
1374
|
+
);
|
|
1375
|
+
return {
|
|
1376
|
+
content: [
|
|
1377
|
+
{ type: "text", text: lines.join("\n") || "(no workspaces)" }
|
|
1378
|
+
]
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1381
|
+
);
|
|
1382
|
+
server.tool(
|
|
1383
|
+
"list_threads",
|
|
1384
|
+
"List Sideboard threads across all workspaces (one summary line each \u2014 token-frugal). Each line ends with sideboard://thread/<id> \u2014 use that URL in markdown links so the UI can open the chat.",
|
|
1385
|
+
{},
|
|
1386
|
+
async () => {
|
|
1387
|
+
const threads = orch.getThreads(true);
|
|
1388
|
+
const lines = threads.map((t) => {
|
|
1389
|
+
const repo = t.repoPath === GLOBAL_WORKSPACE_ID ? "Orchestration" : basename(t.repoPath) || t.repoPath;
|
|
1390
|
+
const live = t.status === "running" || t.status === "queued" ? readTurnLive(t.id) : null;
|
|
1391
|
+
const progress = live?.summary ? ` ${live.summary}` : "";
|
|
1392
|
+
return `${t.id.slice(0, 8)} ${t.status.padEnd(9)} ${t.agent.padEnd(8)} ${repo} ${t.sourceType}:${t.sourceRef} ${t.title} sideboard://thread/${t.id}${t.devPort ? ` http://localhost:${t.devPort}` : ""}${progress}`;
|
|
1393
|
+
});
|
|
1394
|
+
return {
|
|
1395
|
+
content: [{ type: "text", text: lines.join("\n") || "(no threads)" }]
|
|
1396
|
+
};
|
|
1397
|
+
}
|
|
1398
|
+
);
|
|
1399
|
+
server.tool(
|
|
1400
|
+
"get_thread",
|
|
1401
|
+
"Get a compact thread summary by id/ref. While running, includes progress (last tool/thinking) and lastActivityAt.",
|
|
1402
|
+
{ ref: z4.string() },
|
|
1403
|
+
async ({ ref }) => {
|
|
1404
|
+
const t = orch.getThread(ref);
|
|
1405
|
+
if (!t) {
|
|
1406
|
+
return { content: [{ type: "text", text: `Thread not found: ${ref}` }], isError: true };
|
|
1407
|
+
}
|
|
1388
1408
|
const live = t.status === "running" || t.status === "queued" ? readTurnLive(t.id) : null;
|
|
1389
|
-
const
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1409
|
+
const summary = {
|
|
1410
|
+
id: t.id,
|
|
1411
|
+
title: t.title,
|
|
1412
|
+
status: t.status,
|
|
1413
|
+
agent: t.agent,
|
|
1414
|
+
sourceType: t.sourceType,
|
|
1415
|
+
sourceRef: t.sourceRef,
|
|
1416
|
+
branchName: t.branchName,
|
|
1417
|
+
worktreePath: t.worktreePath,
|
|
1418
|
+
sessionId: t.sessionId,
|
|
1419
|
+
queueLength: t.queue.length,
|
|
1420
|
+
messageCount: t.messages.length,
|
|
1421
|
+
devPort: t.devPort,
|
|
1422
|
+
prUrl: t.prUrl,
|
|
1423
|
+
lastError: t.lastError ?? null,
|
|
1424
|
+
stillRunning: t.status === "running" || t.status === "queued",
|
|
1425
|
+
progress: live?.summary ?? null,
|
|
1426
|
+
lastActivityAt: live?.updatedAt ?? null
|
|
1427
|
+
};
|
|
1428
|
+
return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
|
|
1405
1429
|
}
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
id: t.id,
|
|
1409
|
-
title: t.title,
|
|
1410
|
-
status: t.status,
|
|
1411
|
-
agent: t.agent,
|
|
1412
|
-
sourceType: t.sourceType,
|
|
1413
|
-
sourceRef: t.sourceRef,
|
|
1414
|
-
branchName: t.branchName,
|
|
1415
|
-
worktreePath: t.worktreePath,
|
|
1416
|
-
sessionId: t.sessionId,
|
|
1417
|
-
queueLength: t.queue.length,
|
|
1418
|
-
messageCount: t.messages.length,
|
|
1419
|
-
devPort: t.devPort,
|
|
1420
|
-
prUrl: t.prUrl,
|
|
1421
|
-
lastError: t.lastError ?? null,
|
|
1422
|
-
stillRunning: t.status === "running" || t.status === "queued",
|
|
1423
|
-
progress: live?.summary ?? null,
|
|
1424
|
-
lastActivityAt: live?.updatedAt ?? null
|
|
1425
|
-
};
|
|
1426
|
-
return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
|
|
1427
|
-
}
|
|
1428
|
-
);
|
|
1430
|
+
);
|
|
1431
|
+
}
|
|
1429
1432
|
server.tool(
|
|
1430
1433
|
"present_artifact",
|
|
1431
1434
|
"Show an HTML, SVG, markdown, or React document in Sideboard\u2019s Claude-style side column (desktop). Use instead of claude.ai\u2019s artifact tool \u2014 pass the full document content. Prefer type=html for interactive pages. For type=react, pass a single component module that `export default`s a component (JSX/TSX ok) \u2014 Sideboard bootstraps React/ReactDOM/Babel and renders it; only `react`/`react-dom` imports are available, no other npm packages.",
|
|
@@ -1554,12 +1557,12 @@ async function startMcpServer() {
|
|
|
1554
1557
|
return { content: [{ type: "text", text: JSON.stringify(payload) }] };
|
|
1555
1558
|
}
|
|
1556
1559
|
);
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
+
if (!worktreeProfile) {
|
|
1561
|
+
registerSlackTools(server);
|
|
1562
|
+
registerLinearTools(server);
|
|
1560
1563
|
registerScheduleTools(server);
|
|
1561
1564
|
const { getCaffeinateHold, setCaffeinateHold } = await import("../caffeinate-hold-NBRUWYXO.js");
|
|
1562
|
-
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-
|
|
1565
|
+
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-EBCVMFF6.js");
|
|
1563
1566
|
const accountDefaults = resolveThreadDefaults();
|
|
1564
1567
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
1565
1568
|
server.tool(
|
|
@@ -1910,7 +1913,7 @@ async function startMcpServer() {
|
|
|
1910
1913
|
);
|
|
1911
1914
|
server.tool(
|
|
1912
1915
|
"request_review",
|
|
1913
|
-
'Start a merge-readiness Review on a worktree agent thread (same as the desktop Review button). Opens a new Review chat tab, attaches .
|
|
1916
|
+
'Start a merge-readiness Review on a worktree agent thread (same as the desktop Review button). Opens a new Review chat tab, attaches .claude/skills/review/SKILL.md when present (else seeds that skill from .sideboard/review.md or the stock template), and sends "Review changes in this workspace." Expect Approve / Approve with nits / Request changes / Needs more information. Pass a worktree thread ref \u2014 not the orchestrator. Then wait_for_turn (loop while stillRunning) / get_turn_result on the returned review tab id.',
|
|
1914
1917
|
{ ref: z4.string().describe("Worktree thread id/ref to review") },
|
|
1915
1918
|
async ({ ref }) => {
|
|
1916
1919
|
try {
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
isPidAlive,
|
|
5
5
|
startOrchestration,
|
|
6
6
|
waitForPidExit
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-Q6B3NRCT.js";
|
|
8
|
+
import "./chunk-KKHDPV45.js";
|
|
9
9
|
import "./chunk-2GO3YKBA.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-FBV6NK62.js";
|
|
11
|
+
import "./chunk-756EO4GK.js";
|
|
12
|
+
import "./chunk-I2OJ2YSP.js";
|
|
13
13
|
import "./chunk-QTUESPAW.js";
|
|
14
14
|
import "./chunk-MMI4RJ5I.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-WD2TARQS.js";
|
|
16
16
|
import "./chunk-DCOZABNT.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-EW7COXYE.js";
|
|
18
18
|
import "./chunk-FKOIHGKV.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-4LKD3PGO.js";
|
|
20
|
+
import "./chunk-4TR3HZFT.js";
|
|
21
21
|
import "./chunk-JT7R45JB.js";
|
|
22
22
|
import "./chunk-KGSVLZV6.js";
|
|
23
23
|
import "./chunk-77WWLBCI.js";
|
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
isPidAlive,
|
|
7
7
|
startOrchestration,
|
|
8
8
|
waitForPidExit
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-LTPX5N6K.js";
|
|
10
|
+
import "./chunk-AY2EQI2P.js";
|
|
11
11
|
import "./chunk-7YKXHBIW.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-OQDIYVDD.js";
|
|
13
13
|
import "./chunk-N5PM7HGQ.js";
|
|
14
14
|
import "./chunk-KLBOWJ74.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-TROJ3PVH.js";
|
|
16
|
+
import "./chunk-VRTKGKUW.js";
|
|
17
|
+
import "./chunk-JVIW55KT.js";
|
|
18
18
|
import "./chunk-B3SJXYIJ.js";
|
|
19
19
|
import "./chunk-P3BQ5DOL.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-NE4TOOKS.js";
|
|
21
21
|
import "./chunk-NSTQ6QKD.js";
|
|
22
22
|
import "./chunk-KGZBYWZ3.js";
|
|
23
23
|
import "./chunk-BD2ICC4D.js";
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
listWorkspaces,
|
|
7
7
|
removeWorkspace,
|
|
8
8
|
syncWorkspacesFromThreads
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-OQDIYVDD.js";
|
|
10
|
+
import "./chunk-TROJ3PVH.js";
|
|
11
|
+
import "./chunk-VRTKGKUW.js";
|
|
12
|
+
import "./chunk-JVIW55KT.js";
|
|
13
13
|
import "./chunk-B3SJXYIJ.js";
|
|
14
14
|
import "./chunk-P3BQ5DOL.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-NE4TOOKS.js";
|
|
16
16
|
import "./chunk-NSTQ6QKD.js";
|
|
17
17
|
import "./chunk-KGZBYWZ3.js";
|
|
18
18
|
import "./chunk-BD2ICC4D.js";
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
listWorkspaces,
|
|
5
5
|
removeWorkspace,
|
|
6
6
|
syncWorkspacesFromThreads
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-FBV6NK62.js";
|
|
8
|
+
import "./chunk-756EO4GK.js";
|
|
9
|
+
import "./chunk-I2OJ2YSP.js";
|
|
10
|
+
import "./chunk-EW7COXYE.js";
|
|
11
11
|
import "./chunk-FKOIHGKV.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-4LKD3PGO.js";
|
|
13
|
+
import "./chunk-4TR3HZFT.js";
|
|
14
14
|
import "./chunk-JT7R45JB.js";
|
|
15
15
|
import "./chunk-KGSVLZV6.js";
|
|
16
16
|
import "./chunk-77WWLBCI.js";
|
|
@@ -47,10 +47,10 @@ import {
|
|
|
47
47
|
worktreeDisplayLabel,
|
|
48
48
|
worktreeDisplayLabelForGroup,
|
|
49
49
|
worktreeNameFromPath
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-EW7COXYE.js";
|
|
51
51
|
import "./chunk-FKOIHGKV.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-4LKD3PGO.js";
|
|
53
|
+
import "./chunk-4TR3HZFT.js";
|
|
54
54
|
import "./chunk-JT7R45JB.js";
|
|
55
55
|
import "./chunk-KGSVLZV6.js";
|
|
56
56
|
import "./chunk-77WWLBCI.js";
|
|
@@ -49,10 +49,10 @@ import {
|
|
|
49
49
|
worktreeDisplayLabel,
|
|
50
50
|
worktreeDisplayLabelForGroup,
|
|
51
51
|
worktreeNameFromPath
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-JVIW55KT.js";
|
|
53
53
|
import "./chunk-B3SJXYIJ.js";
|
|
54
54
|
import "./chunk-P3BQ5DOL.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-NE4TOOKS.js";
|
|
56
56
|
import "./chunk-NSTQ6QKD.js";
|
|
57
57
|
import "./chunk-KGZBYWZ3.js";
|
|
58
58
|
import "./chunk-BD2ICC4D.js";
|