@sideboard-ai/core 0.1.284 → 0.1.286
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-WLDBJJUI.js → abletime-4CH2IOX5.js} +4 -4
- package/dist/{abletime-X64E3GUJ.js → abletime-I4RODUKT.js} +4 -4
- package/dist/{abletime-oauth-AXR676W5.js → abletime-oauth-7OZZ3ABX.js} +3 -3
- package/dist/{abletime-oauth-UWOCEICP.js → abletime-oauth-C2HN2Q6F.js} +3 -3
- package/dist/{abletime-rest-S4XWEXV2.js → abletime-rest-E4LBRFLM.js} +3 -3
- package/dist/{abletime-rest-LPUDJUEP.js → abletime-rest-WFI2HWBU.js} +3 -3
- package/dist/agents/cursor-runner.cjs +48 -11
- package/dist/agents/cursor-runner.js +48 -11
- package/dist/{agents-6U2RQK7P.js → agents-BHUXZ7XO.js} +5 -5
- package/dist/{agents-PM5ICSO3.js → agents-QNIFTZPN.js} +5 -5
- package/dist/chunk-2GPQZZLY.js +59 -0
- package/dist/{chunk-ROPGQRPU.js → chunk-33KDPEK4.js} +1 -1
- package/dist/{chunk-BSN6DJ4L.js → chunk-3H5U4QLD.js} +5 -5
- package/dist/{chunk-I6HSGKMZ.js → chunk-5T4YWFLD.js} +2 -2
- package/dist/{chunk-U7HAVAGJ.js → chunk-6CVVNAIU.js} +2 -2
- package/dist/{chunk-TQRSVE7D.js → chunk-7IAMHN2N.js} +1 -1
- package/dist/{chunk-BMUVNTT4.js → chunk-ABOH7GBG.js} +2 -2
- package/dist/{chunk-OEJQK7CY.js → chunk-CBIUGGPI.js} +14 -13
- package/dist/{chunk-VA55JG2I.js → chunk-DEJALWKM.js} +5 -5
- package/dist/{chunk-LMWPVC5L.js → chunk-ETZPTOK7.js} +2 -2
- package/dist/{chunk-WQ4M2L44.js → chunk-HJNFK5SP.js} +16 -15
- package/dist/{chunk-XTPQEZZA.js → chunk-IJMUYHPT.js} +3 -3
- package/dist/chunk-JAT3JFOS.js +61 -0
- package/dist/{chunk-DGPROCE5.js → chunk-LS4FFCPL.js} +3 -3
- package/dist/{chunk-WY2IAB7J.js → chunk-MGJ7R7UX.js} +45 -1
- package/dist/{chunk-COQLZNKQ.js → chunk-PCNH74SF.js} +5 -5
- package/dist/{chunk-P2BSMNHB.js → chunk-PXMLMBMI.js} +1 -1
- package/dist/{chunk-BS3QLVPL.js → chunk-TMM4FEZ5.js} +3 -3
- package/dist/{chunk-2SJXQ4UX.js → chunk-ULSY2BJF.js} +45 -1
- package/dist/{chunk-GWFVCCJZ.js → chunk-VGNLMGBK.js} +6 -6
- package/dist/{chunk-PY4UCMRI.js → chunk-VQEARG5H.js} +5 -5
- package/dist/{conductor-MU3TYVCD.js → conductor-RBJYEF7L.js} +2 -2
- package/dist/{conductor-GBX6LSP2.js → conductor-WYOWFB7I.js} +2 -2
- package/dist/{connected-teams-JIUOSZ6C.js → connected-teams-AB7ZHJVO.js} +3 -3
- package/dist/{connected-teams-RU6VATCM.js → connected-teams-BJ6PMIST.js} +3 -3
- package/dist/{coordinator-prompt-SVVGU6AZ.js → coordinator-prompt-5DE3XBNT.js} +1 -1
- package/dist/{coordinator-prompt-4DJIHSE6.js → coordinator-prompt-R42WEL3T.js} +1 -1
- package/dist/{global-workspace-XON4YZXE.js → global-workspace-IPIEC6FM.js} +1 -1
- package/dist/{global-workspace-UPUDWIS6.js → global-workspace-NXMYLS34.js} +1 -1
- package/dist/index.cjs +300 -155
- package/dist/index.d.cts +16 -3
- package/dist/index.d.ts +16 -3
- package/dist/index.js +177 -98
- package/dist/mcp/run-stdio.cjs +121 -58
- package/dist/mcp/run-stdio.js +10 -10
- package/dist/{oauth-S3M7B475.js → oauth-DP4ZV2M2.js} +2 -2
- package/dist/{oauth-K6CWZEQO.js → oauth-WCUZ6Z5G.js} +2 -2
- package/dist/{orchestrator-6YVY6T5I.js → orchestrator-65QGA6BB.js} +7 -7
- package/dist/{orchestrator-CRBIW2RG.js → orchestrator-YEZV35G7.js} +7 -7
- package/dist/{workspaces-F76BWCSI.js → workspaces-5C5ESWPU.js} +5 -1
- package/dist/{workspaces-7AJ5RZ3P.js → workspaces-LIFFWK23.js} +5 -1
- package/package.json +1 -1
- package/dist/chunk-N7WZ6NIN.js +0 -41
- package/dist/chunk-VKQGAWHY.js +0 -40
package/dist/mcp/run-stdio.cjs
CHANGED
|
@@ -9420,6 +9420,8 @@ var init_stage_files = __esm({
|
|
|
9420
9420
|
var workspaces_exports = {};
|
|
9421
9421
|
__export(workspaces_exports, {
|
|
9422
9422
|
addWorkspace: () => addWorkspace,
|
|
9423
|
+
archiveRemovedWorkspaceChats: () => archiveRemovedWorkspaceChats,
|
|
9424
|
+
archivesWithRemovedWorkspace: () => archivesWithRemovedWorkspace,
|
|
9423
9425
|
ensureWorkspace: () => ensureWorkspace,
|
|
9424
9426
|
isRemovedWorkspace: () => isRemovedWorkspace,
|
|
9425
9427
|
listWorkspaces: () => listWorkspaces,
|
|
@@ -9476,10 +9478,33 @@ function sameWorkspacePath(a, b) {
|
|
|
9476
9478
|
if (primaryB && primaryB === left) return true;
|
|
9477
9479
|
return false;
|
|
9478
9480
|
}
|
|
9481
|
+
function pathIsInside(parent, child) {
|
|
9482
|
+
const root = parent.replace(/\/+$/, "");
|
|
9483
|
+
const path = child.replace(/\/+$/, "");
|
|
9484
|
+
if (!root || !path) return false;
|
|
9485
|
+
return path === root || path.startsWith(`${root}/`);
|
|
9486
|
+
}
|
|
9487
|
+
function defaultWorktreesRoot(repoPath) {
|
|
9488
|
+
const slug = (0, import_node_path23.basename)(repoPath.replace(/\/+$/, "")) || "repo";
|
|
9489
|
+
return (0, import_node_path23.join)((0, import_node_os8.homedir)(), "sideboard", "workspaces", slug);
|
|
9490
|
+
}
|
|
9491
|
+
function removedWorktreeCoversRepo(saved, repoPath) {
|
|
9492
|
+
if (!saved || !repoPath) return false;
|
|
9493
|
+
if (pathIsInside(defaultWorktreesRoot(repoPath), saved)) return true;
|
|
9494
|
+
try {
|
|
9495
|
+
const custom = loadRepoSettings(repoPath)?.worktreesRoot;
|
|
9496
|
+
if (custom && pathIsInside(custom, saved)) return true;
|
|
9497
|
+
} catch {
|
|
9498
|
+
}
|
|
9499
|
+
return false;
|
|
9500
|
+
}
|
|
9479
9501
|
function removedMatches(saved, repoPath) {
|
|
9480
9502
|
if (saved === repoPath || sameWorkspacePath(saved, repoPath)) return true;
|
|
9481
9503
|
const primary = primaryCheckoutFromLinkedWorktree(repoPath);
|
|
9482
|
-
|
|
9504
|
+
if (primary && (sameWorkspacePath(saved, primary) || removedWorktreeCoversRepo(saved, primary))) {
|
|
9505
|
+
return true;
|
|
9506
|
+
}
|
|
9507
|
+
return removedWorktreeCoversRepo(saved, repoPath);
|
|
9483
9508
|
}
|
|
9484
9509
|
function isRemovedWorkspace(repoPath) {
|
|
9485
9510
|
if (!repoPath) return false;
|
|
@@ -9488,6 +9513,10 @@ function isRemovedWorkspace(repoPath) {
|
|
|
9488
9513
|
}
|
|
9489
9514
|
return false;
|
|
9490
9515
|
}
|
|
9516
|
+
function archivesWithRemovedWorkspace(threadRepoPath, removedPath) {
|
|
9517
|
+
if (!threadRepoPath || isGlobalRepoPath(threadRepoPath)) return false;
|
|
9518
|
+
return isRemovedWorkspace(threadRepoPath) || sameWorkspacePath(threadRepoPath, removedPath);
|
|
9519
|
+
}
|
|
9491
9520
|
function rememberRemoved(repoPath) {
|
|
9492
9521
|
const next = readRemoved();
|
|
9493
9522
|
const before = next.size;
|
|
@@ -9495,6 +9524,8 @@ function rememberRemoved(repoPath) {
|
|
|
9495
9524
|
next.add(canon);
|
|
9496
9525
|
const raw = repoPath.replace(/\/+$/, "");
|
|
9497
9526
|
if (raw && raw !== canon) next.add(raw);
|
|
9527
|
+
const primary = primaryCheckoutFromLinkedWorktree(repoPath) ?? (canon !== repoPath ? primaryCheckoutFromLinkedWorktree(canon) : null);
|
|
9528
|
+
if (primary) next.add(primary);
|
|
9498
9529
|
if (next.size !== before) writeRemoved(next);
|
|
9499
9530
|
}
|
|
9500
9531
|
function forgetRemoved(repoPath) {
|
|
@@ -9627,12 +9658,25 @@ function syncWorkspacesFromThreads(repoPaths) {
|
|
|
9627
9658
|
if (dirty) writeAll(next);
|
|
9628
9659
|
return next.sort((a, b) => a.name.localeCompare(b.name));
|
|
9629
9660
|
}
|
|
9630
|
-
|
|
9661
|
+
async function archiveRemovedWorkspaceChats(threads, archive) {
|
|
9662
|
+
const failures = [];
|
|
9663
|
+
for (const thread of threads) {
|
|
9664
|
+
try {
|
|
9665
|
+
await archive(thread.id);
|
|
9666
|
+
} catch (err) {
|
|
9667
|
+
failures.push(err instanceof Error ? err.message : String(err));
|
|
9668
|
+
}
|
|
9669
|
+
}
|
|
9670
|
+
if (failures.length > 0) throw new Error(failures.join("\n"));
|
|
9671
|
+
}
|
|
9672
|
+
var import_node_fs20, import_node_os8, import_node_path23;
|
|
9631
9673
|
var init_workspaces = __esm({
|
|
9632
9674
|
"src/store/workspaces.ts"() {
|
|
9633
9675
|
"use strict";
|
|
9634
9676
|
import_node_fs20 = require("fs");
|
|
9677
|
+
import_node_os8 = require("os");
|
|
9635
9678
|
import_node_path23 = require("path");
|
|
9679
|
+
init_settings();
|
|
9636
9680
|
init_paths();
|
|
9637
9681
|
init_global_workspace();
|
|
9638
9682
|
init_worktree();
|
|
@@ -10215,7 +10259,7 @@ var init_turn_trace = __esm({
|
|
|
10215
10259
|
function brightsyConfigPath() {
|
|
10216
10260
|
const override = process.env.BRIGHTSY_CONFIG?.trim();
|
|
10217
10261
|
if (override) return override;
|
|
10218
|
-
return (0, import_node_path26.join)((0,
|
|
10262
|
+
return (0, import_node_path26.join)((0, import_node_os9.homedir)(), ".brightsy", "config.json");
|
|
10219
10263
|
}
|
|
10220
10264
|
function loadBrightsyConfig() {
|
|
10221
10265
|
const path = brightsyConfigPath();
|
|
@@ -10234,12 +10278,12 @@ function saveBrightsyConfig(cfg) {
|
|
|
10234
10278
|
mode: 384
|
|
10235
10279
|
});
|
|
10236
10280
|
}
|
|
10237
|
-
var import_node_fs23,
|
|
10281
|
+
var import_node_fs23, import_node_os9, import_node_path26;
|
|
10238
10282
|
var init_config = __esm({
|
|
10239
10283
|
"src/brightsy/config.ts"() {
|
|
10240
10284
|
"use strict";
|
|
10241
10285
|
import_node_fs23 = require("fs");
|
|
10242
|
-
|
|
10286
|
+
import_node_os9 = require("os");
|
|
10243
10287
|
import_node_path26 = require("path");
|
|
10244
10288
|
}
|
|
10245
10289
|
});
|
|
@@ -10254,30 +10298,49 @@ var init_accounts = __esm({
|
|
|
10254
10298
|
});
|
|
10255
10299
|
|
|
10256
10300
|
// src/http/fetch.ts
|
|
10257
|
-
function
|
|
10258
|
-
|
|
10259
|
-
return TLS_ISSUER_RE.test(text7) ? TLS_ISSUER_HINT : "";
|
|
10301
|
+
function isTlsIssuerFailure(code, message) {
|
|
10302
|
+
return TLS_ISSUER_RE.test(`${code ?? ""} ${message}`);
|
|
10260
10303
|
}
|
|
10261
|
-
function
|
|
10262
|
-
if (
|
|
10263
|
-
|
|
10264
|
-
|
|
10265
|
-
|
|
10304
|
+
function describeCause(cause, depth = 0) {
|
|
10305
|
+
if (depth > 5 || cause == null) return null;
|
|
10306
|
+
if (cause instanceof AggregateError) {
|
|
10307
|
+
for (const item of cause.errors) {
|
|
10308
|
+
const found = describeCause(item, depth + 1);
|
|
10309
|
+
if (found && (found.code || found.message)) return found;
|
|
10310
|
+
}
|
|
10311
|
+
return cause.message ? { message: cause.message } : null;
|
|
10312
|
+
}
|
|
10266
10313
|
if (cause instanceof Error) {
|
|
10267
10314
|
const code = typeof cause.code === "string" ? cause.code : void 0;
|
|
10268
|
-
|
|
10269
|
-
|
|
10270
|
-
|
|
10271
|
-
|
|
10272
|
-
|
|
10273
|
-
}
|
|
10274
|
-
|
|
10315
|
+
const nested = describeCause(cause.cause, depth + 1);
|
|
10316
|
+
if ((!cause.message || cause.message === "fetch failed") && nested) return nested;
|
|
10317
|
+
if (cause.message || code) return { code, message: cause.message };
|
|
10318
|
+
return nested;
|
|
10319
|
+
}
|
|
10320
|
+
return { message: String(cause) };
|
|
10321
|
+
}
|
|
10322
|
+
function causeSuffix(detail) {
|
|
10323
|
+
if (!detail) return "";
|
|
10324
|
+
if (detail.code && detail.message) return ` [${detail.code}: ${detail.message}]`;
|
|
10325
|
+
if (detail.code) return ` [${detail.code}]`;
|
|
10326
|
+
if (detail.message) return ` [${detail.message}]`;
|
|
10327
|
+
return "";
|
|
10328
|
+
}
|
|
10329
|
+
function formatFetchError(err, url, opts) {
|
|
10330
|
+
if (!(err instanceof Error)) return `${String(err)} (${url})`;
|
|
10331
|
+
const detail = describeCause(err.cause);
|
|
10332
|
+
const hintSource = `${err.message} ${detail?.code ?? ""} ${detail?.message ?? ""}`;
|
|
10333
|
+
const tls2 = isTlsIssuerFailure(detail?.code, hintSource);
|
|
10334
|
+
const hint = tls2 ? opts?.tlsHint ?? TLS_ISSUER_HINT : "";
|
|
10335
|
+
return `${err.message}${causeSuffix(detail)} (${url})${hint}`;
|
|
10336
|
+
}
|
|
10337
|
+
function currentHttpFetch() {
|
|
10338
|
+
return injected ?? globalThis.fetch.bind(globalThis);
|
|
10275
10339
|
}
|
|
10276
10340
|
async function httpFetch(input, init) {
|
|
10277
10341
|
const url = typeof input === "string" ? input : input.href;
|
|
10278
|
-
const fn = injected ?? globalThis.fetch.bind(globalThis);
|
|
10279
10342
|
try {
|
|
10280
|
-
return await
|
|
10343
|
+
return await currentHttpFetch()(url, init);
|
|
10281
10344
|
} catch (err) {
|
|
10282
10345
|
throw new Error(formatFetchError(err, url));
|
|
10283
10346
|
}
|
|
@@ -11268,7 +11331,7 @@ function versionDirNodeBins(root, toBin) {
|
|
|
11268
11331
|
return [];
|
|
11269
11332
|
}
|
|
11270
11333
|
}
|
|
11271
|
-
function defaultNodeBinCandidates(home = (0,
|
|
11334
|
+
function defaultNodeBinCandidates(home = (0, import_node_os10.homedir)()) {
|
|
11272
11335
|
const kegs = ["/opt/homebrew", "/usr/local"].flatMap(
|
|
11273
11336
|
(prefix) => PREFERRED_LTS_MAJORS.map((major) => (0, import_node_path29.join)(prefix, "opt", `node@${major}`, "bin", "node"))
|
|
11274
11337
|
);
|
|
@@ -11383,12 +11446,12 @@ async function resolveNodeLaunch(scriptPath) {
|
|
|
11383
11446
|
env: { ELECTRON_RUN_AS_NODE: "1" }
|
|
11384
11447
|
};
|
|
11385
11448
|
}
|
|
11386
|
-
var import_node_fs27,
|
|
11449
|
+
var import_node_fs27, import_node_os10, import_node_path29, AGENT_RUNNER_MAX_OLD_SPACE_MB, MAX_OLD_SPACE_FLAG, PREFERRED_LTS_MAJORS;
|
|
11387
11450
|
var init_node_launch = __esm({
|
|
11388
11451
|
"src/agents/node-launch.ts"() {
|
|
11389
11452
|
"use strict";
|
|
11390
11453
|
import_node_fs27 = require("fs");
|
|
11391
|
-
|
|
11454
|
+
import_node_os10 = require("os");
|
|
11392
11455
|
import_node_path29 = require("path");
|
|
11393
11456
|
init_nested_electron_env();
|
|
11394
11457
|
init_system_ca();
|
|
@@ -11687,18 +11750,18 @@ function mcpServersRecord(servers, extraServers) {
|
|
|
11687
11750
|
function writeMcpServersConfig(servers, extraServers) {
|
|
11688
11751
|
const mcpServers = mcpServersRecord(servers, extraServers);
|
|
11689
11752
|
if (Object.keys(mcpServers).length === 0) return null;
|
|
11690
|
-
const dir = (0, import_node_fs28.mkdtempSync)((0, import_node_path30.join)((0,
|
|
11753
|
+
const dir = (0, import_node_fs28.mkdtempSync)((0, import_node_path30.join)((0, import_node_os11.tmpdir)(), "sideboard-mcp-"));
|
|
11691
11754
|
const cfgPath = (0, import_node_path30.join)(dir, "mcp.json");
|
|
11692
11755
|
(0, import_node_fs28.writeFileSync)(cfgPath, JSON.stringify({ mcpServers }, null, 2));
|
|
11693
11756
|
return cfgPath;
|
|
11694
11757
|
}
|
|
11695
|
-
var import_node_fs28, import_node_module,
|
|
11758
|
+
var import_node_fs28, import_node_module, import_node_os11, import_node_path30, import_node_url, import_meta, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS, SIDEBOARD_GITHUB_MCP_ALLOWED_TOOLS, SIDEBOARD_LINEAR_MCP_ALLOWED_TOOLS, SIDEBOARD_ABLETIME_MCP_ALLOWED_TOOLS, brightsyMcpCommandCache, BRIGHTSY_WORD;
|
|
11696
11759
|
var init_injected_mcp = __esm({
|
|
11697
11760
|
"src/agents/injected-mcp.ts"() {
|
|
11698
11761
|
"use strict";
|
|
11699
11762
|
import_node_fs28 = require("fs");
|
|
11700
11763
|
import_node_module = require("module");
|
|
11701
|
-
|
|
11764
|
+
import_node_os11 = require("os");
|
|
11702
11765
|
import_node_path30 = require("path");
|
|
11703
11766
|
import_node_url = require("url");
|
|
11704
11767
|
init_run();
|
|
@@ -11751,14 +11814,14 @@ var init_injected_mcp = __esm({
|
|
|
11751
11814
|
|
|
11752
11815
|
// src/agents/user-mcp-config.ts
|
|
11753
11816
|
function userClaudeMcpConfigPath() {
|
|
11754
|
-
return (0, import_node_path31.join)((0,
|
|
11817
|
+
return (0, import_node_path31.join)((0, import_node_os12.homedir)(), ".claude.json");
|
|
11755
11818
|
}
|
|
11756
|
-
var import_node_fs29,
|
|
11819
|
+
var import_node_fs29, import_node_os12, import_node_path31;
|
|
11757
11820
|
var init_user_mcp_config = __esm({
|
|
11758
11821
|
"src/agents/user-mcp-config.ts"() {
|
|
11759
11822
|
"use strict";
|
|
11760
11823
|
import_node_fs29 = require("fs");
|
|
11761
|
-
|
|
11824
|
+
import_node_os12 = require("os");
|
|
11762
11825
|
import_node_path31 = require("path");
|
|
11763
11826
|
init_paths();
|
|
11764
11827
|
init_injected_mcp();
|
|
@@ -11799,10 +11862,10 @@ function readText(path) {
|
|
|
11799
11862
|
return "";
|
|
11800
11863
|
}
|
|
11801
11864
|
}
|
|
11802
|
-
function userCodexConfigPaths(home = (0,
|
|
11865
|
+
function userCodexConfigPaths(home = (0, import_node_os13.homedir)()) {
|
|
11803
11866
|
return [(0, import_node_path32.join)(home, ".codex", "config.toml"), (0, import_node_path32.join)(home, ".config", "codex", "config.toml")];
|
|
11804
11867
|
}
|
|
11805
|
-
function userOpencodeConfigPaths(home = (0,
|
|
11868
|
+
function userOpencodeConfigPaths(home = (0, import_node_os13.homedir)()) {
|
|
11806
11869
|
return [
|
|
11807
11870
|
(0, import_node_path32.join)(home, ".config", "opencode", "opencode.json"),
|
|
11808
11871
|
(0, import_node_path32.join)(home, ".config", "opencode", "opencode.jsonc")
|
|
@@ -11824,7 +11887,7 @@ function userMcpNamesToDisable(opts) {
|
|
|
11824
11887
|
}
|
|
11825
11888
|
return out;
|
|
11826
11889
|
}
|
|
11827
|
-
function listUserCodexMcpNames(home = (0,
|
|
11890
|
+
function listUserCodexMcpNames(home = (0, import_node_os13.homedir)()) {
|
|
11828
11891
|
const names = [];
|
|
11829
11892
|
for (const path of userCodexConfigPaths(home)) {
|
|
11830
11893
|
if (!(0, import_node_fs30.existsSync)(path)) continue;
|
|
@@ -11832,7 +11895,7 @@ function listUserCodexMcpNames(home = (0, import_node_os12.homedir)()) {
|
|
|
11832
11895
|
}
|
|
11833
11896
|
return names;
|
|
11834
11897
|
}
|
|
11835
|
-
function listUserOpencodeMcpNames(home = (0,
|
|
11898
|
+
function listUserOpencodeMcpNames(home = (0, import_node_os13.homedir)()) {
|
|
11836
11899
|
const names = [];
|
|
11837
11900
|
for (const path of userOpencodeConfigPaths(home)) {
|
|
11838
11901
|
if (!(0, import_node_fs30.existsSync)(path)) continue;
|
|
@@ -11840,12 +11903,12 @@ function listUserOpencodeMcpNames(home = (0, import_node_os12.homedir)()) {
|
|
|
11840
11903
|
}
|
|
11841
11904
|
return names;
|
|
11842
11905
|
}
|
|
11843
|
-
function userClaudeMcpConfigObject(home = (0,
|
|
11844
|
-
const claudePath = home === (0,
|
|
11906
|
+
function userClaudeMcpConfigObject(home = (0, import_node_os13.homedir)()) {
|
|
11907
|
+
const claudePath = home === (0, import_node_os13.homedir)() ? userClaudeMcpConfigPath() : (0, import_node_path32.join)(home, ".claude.json");
|
|
11845
11908
|
if (!(0, import_node_fs30.existsSync)(claudePath)) return {};
|
|
11846
11909
|
return asObject(asObject(readJsonObject2(claudePath)).mcpServers);
|
|
11847
11910
|
}
|
|
11848
|
-
function listUserClaudeMcpServerEntries(home = (0,
|
|
11911
|
+
function listUserClaudeMcpServerEntries(home = (0, import_node_os13.homedir)()) {
|
|
11849
11912
|
const out = {};
|
|
11850
11913
|
for (const [rawName, value] of Object.entries(userClaudeMcpConfigObject(home))) {
|
|
11851
11914
|
const name = rawName.trim();
|
|
@@ -11875,12 +11938,12 @@ function toCodexUnattendedAppsArgs() {
|
|
|
11875
11938
|
"features.plugins=false"
|
|
11876
11939
|
];
|
|
11877
11940
|
}
|
|
11878
|
-
var import_node_fs30,
|
|
11941
|
+
var import_node_fs30, import_node_os13, import_node_path32, import_smol_toml2;
|
|
11879
11942
|
var init_orch_mcp_isolation = __esm({
|
|
11880
11943
|
"src/agents/orch-mcp-isolation.ts"() {
|
|
11881
11944
|
"use strict";
|
|
11882
11945
|
import_node_fs30 = require("fs");
|
|
11883
|
-
|
|
11946
|
+
import_node_os13 = require("os");
|
|
11884
11947
|
import_node_path32 = require("path");
|
|
11885
11948
|
import_smol_toml2 = require("smol-toml");
|
|
11886
11949
|
init_user_mcp_config();
|
|
@@ -12885,8 +12948,8 @@ function usageFromCodex(usage) {
|
|
|
12885
12948
|
}
|
|
12886
12949
|
function codexConfigHasNetworkAccess() {
|
|
12887
12950
|
const candidates = [
|
|
12888
|
-
(0, import_node_path35.join)((0,
|
|
12889
|
-
(0, import_node_path35.join)((0,
|
|
12951
|
+
(0, import_node_path35.join)((0, import_node_os14.homedir)(), ".codex", "config.toml"),
|
|
12952
|
+
(0, import_node_path35.join)((0, import_node_os14.homedir)(), ".config", "codex", "config.toml")
|
|
12890
12953
|
];
|
|
12891
12954
|
for (const path of candidates) {
|
|
12892
12955
|
if (!(0, import_node_fs34.existsSync)(path)) continue;
|
|
@@ -12922,7 +12985,7 @@ function asRecord3(value) {
|
|
|
12922
12985
|
return void 0;
|
|
12923
12986
|
}
|
|
12924
12987
|
function codexLooksAuthenticated() {
|
|
12925
|
-
const authPath = (0, import_node_path35.join)((0,
|
|
12988
|
+
const authPath = (0, import_node_path35.join)((0, import_node_os14.homedir)(), ".codex", "auth.json");
|
|
12926
12989
|
if (!(0, import_node_fs34.existsSync)(authPath)) return false;
|
|
12927
12990
|
try {
|
|
12928
12991
|
return (0, import_node_fs34.statSync)(authPath).size > 2;
|
|
@@ -12930,12 +12993,12 @@ function codexLooksAuthenticated() {
|
|
|
12930
12993
|
return false;
|
|
12931
12994
|
}
|
|
12932
12995
|
}
|
|
12933
|
-
var import_node_fs34,
|
|
12996
|
+
var import_node_fs34, import_node_os14, import_node_path35, CODEX_PROMPT_ARG_MAX, FALLBACK_CODEX_MODELS, cachedCodexModels, CODEX_MODEL_CACHE_MS, codexAdapter;
|
|
12934
12997
|
var init_codex = __esm({
|
|
12935
12998
|
"src/agents/codex.ts"() {
|
|
12936
12999
|
"use strict";
|
|
12937
13000
|
import_node_fs34 = require("fs");
|
|
12938
|
-
|
|
13001
|
+
import_node_os14 = require("os");
|
|
12939
13002
|
import_node_path35 = require("path");
|
|
12940
13003
|
init_run();
|
|
12941
13004
|
init_app_settings();
|
|
@@ -14388,12 +14451,12 @@ var init_claude_usage = __esm({
|
|
|
14388
14451
|
});
|
|
14389
14452
|
|
|
14390
14453
|
// src/agents/claude-usage-client.ts
|
|
14391
|
-
var import_node_fs40,
|
|
14454
|
+
var import_node_fs40, import_node_os15, import_node_path40, CLAUDE_USAGE_ERROR_TTL_MS, CLAUDE_USAGE_STALE_OK_MS;
|
|
14392
14455
|
var init_claude_usage_client = __esm({
|
|
14393
14456
|
"src/agents/claude-usage-client.ts"() {
|
|
14394
14457
|
"use strict";
|
|
14395
14458
|
import_node_fs40 = require("fs");
|
|
14396
|
-
|
|
14459
|
+
import_node_os15 = require("os");
|
|
14397
14460
|
import_node_path40 = require("path");
|
|
14398
14461
|
init_run();
|
|
14399
14462
|
init_fetch();
|
|
@@ -21677,7 +21740,7 @@ function listConductorWorkspaces() {
|
|
|
21677
21740
|
if (!(0, import_node_fs55.existsSync)(CONDUCTOR_DB)) {
|
|
21678
21741
|
throw new Error(`Conductor DB not found at ${CONDUCTOR_DB}`);
|
|
21679
21742
|
}
|
|
21680
|
-
const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0,
|
|
21743
|
+
const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0, import_node_os16.tmpdir)(), "sideboard-conductor-"));
|
|
21681
21744
|
const snapshot = (0, import_node_path53.join)(tmp, "conductor.db");
|
|
21682
21745
|
try {
|
|
21683
21746
|
(0, import_node_fs55.copyFileSync)(CONDUCTOR_DB, snapshot);
|
|
@@ -21768,7 +21831,7 @@ function importConductorWorkspace(workspaceId) {
|
|
|
21768
21831
|
if (!(0, import_node_fs55.existsSync)(CONDUCTOR_DB)) {
|
|
21769
21832
|
throw new Error(`Conductor DB not found at ${CONDUCTOR_DB}`);
|
|
21770
21833
|
}
|
|
21771
|
-
const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0,
|
|
21834
|
+
const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0, import_node_os16.tmpdir)(), "sideboard-conductor-"));
|
|
21772
21835
|
const snapshot = (0, import_node_path53.join)(tmp, "conductor.db");
|
|
21773
21836
|
try {
|
|
21774
21837
|
(0, import_node_fs55.copyFileSync)(CONDUCTOR_DB, snapshot);
|
|
@@ -21863,13 +21926,13 @@ function importConductorWorkspace(workspaceId) {
|
|
|
21863
21926
|
async function importConductorWorkspaceAsync(workspaceId) {
|
|
21864
21927
|
return importConductorWorkspace(workspaceId);
|
|
21865
21928
|
}
|
|
21866
|
-
var import_node_child_process5, import_node_fs55,
|
|
21929
|
+
var import_node_child_process5, import_node_fs55, import_node_os16, import_node_path53, import_node_module6, CONDUCTOR_APP_SUPPORT, CONDUCTOR_DB, CURSOR_SDK_STORE;
|
|
21867
21930
|
var init_adopt = __esm({
|
|
21868
21931
|
"src/threads/adopt.ts"() {
|
|
21869
21932
|
"use strict";
|
|
21870
21933
|
import_node_child_process5 = require("child_process");
|
|
21871
21934
|
import_node_fs55 = require("fs");
|
|
21872
|
-
|
|
21935
|
+
import_node_os16 = require("os");
|
|
21873
21936
|
import_node_path53 = require("path");
|
|
21874
21937
|
import_node_module6 = require("module");
|
|
21875
21938
|
init_worktree();
|
|
@@ -23421,7 +23484,7 @@ function scanClaudePluginSkills(pluginsRoot, out) {
|
|
|
23421
23484
|
walk(pluginsRoot, 0, false);
|
|
23422
23485
|
}
|
|
23423
23486
|
function discoverSkills(worktreePath) {
|
|
23424
|
-
const home = (0,
|
|
23487
|
+
const home = (0, import_node_os17.homedir)();
|
|
23425
23488
|
const collected = [];
|
|
23426
23489
|
for (const rel of [".claude/skills", ".cursor/skills", ".sideboard/skills", ".brightsy/skills", "skills"]) {
|
|
23427
23490
|
scanSkillsDir((0, import_node_path56.join)(worktreePath, rel), "workspace", collected);
|
|
@@ -23474,12 +23537,12 @@ function readSkillBody(skillPath, maxChars = 12e3) {
|
|
|
23474
23537
|
|
|
23475
23538
|
\u2026(truncated)` : raw;
|
|
23476
23539
|
}
|
|
23477
|
-
var import_node_fs59,
|
|
23540
|
+
var import_node_fs59, import_node_os17, import_node_path56, BUNDLED_SKILL_PREFIX;
|
|
23478
23541
|
var init_discover = __esm({
|
|
23479
23542
|
"src/skills/discover.ts"() {
|
|
23480
23543
|
"use strict";
|
|
23481
23544
|
import_node_fs59 = require("fs");
|
|
23482
|
-
|
|
23545
|
+
import_node_os17 = require("os");
|
|
23483
23546
|
import_node_path56 = require("path");
|
|
23484
23547
|
init_long_running();
|
|
23485
23548
|
BUNDLED_SKILL_PREFIX = "bundled:";
|
|
@@ -26002,10 +26065,10 @@ var init_orchestrator = __esm({
|
|
|
26002
26065
|
}
|
|
26003
26066
|
async removeWorkspace(repoPath) {
|
|
26004
26067
|
removeWorkspace(repoPath);
|
|
26005
|
-
|
|
26006
|
-
|
|
26007
|
-
|
|
26008
|
-
|
|
26068
|
+
await archiveRemovedWorkspaceChats(
|
|
26069
|
+
listThreads().filter((thread) => archivesWithRemovedWorkspace(thread.repoPath, repoPath)),
|
|
26070
|
+
(id) => this.archive(id)
|
|
26071
|
+
);
|
|
26009
26072
|
}
|
|
26010
26073
|
async adopt(input) {
|
|
26011
26074
|
const thread = await adoptThread(input);
|
package/dist/mcp/run-stdio.js
CHANGED
|
@@ -18,9 +18,9 @@ import {
|
|
|
18
18
|
searchAbleTimeTasks,
|
|
19
19
|
toAbleTimeIssueInfo,
|
|
20
20
|
updateAbleTimeTask
|
|
21
|
-
} from "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
21
|
+
} from "../chunk-TMM4FEZ5.js";
|
|
22
|
+
import "../chunk-5T4YWFLD.js";
|
|
23
|
+
import "../chunk-VQEARG5H.js";
|
|
24
24
|
import {
|
|
25
25
|
AGENT_GIT_ACTIONS,
|
|
26
26
|
BOARD_COLUMN_DEFS,
|
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
syncBoardPins,
|
|
72
72
|
updateSchedule,
|
|
73
73
|
workspaceTagTargetRef
|
|
74
|
-
} from "../chunk-
|
|
74
|
+
} from "../chunk-CBIUGGPI.js";
|
|
75
75
|
import "../chunk-LX5R5JOR.js";
|
|
76
76
|
import {
|
|
77
77
|
PRESENT_PLAN_REQUIRES_PLAN_MODE,
|
|
@@ -90,12 +90,12 @@ import {
|
|
|
90
90
|
sideboardMcpProfile,
|
|
91
91
|
trustSystemCertificates,
|
|
92
92
|
worktreeMcpToolNames
|
|
93
|
-
} from "../chunk-
|
|
94
|
-
import "../chunk-
|
|
95
|
-
import "../chunk-
|
|
93
|
+
} from "../chunk-3H5U4QLD.js";
|
|
94
|
+
import "../chunk-7IAMHN2N.js";
|
|
95
|
+
import "../chunk-PXMLMBMI.js";
|
|
96
96
|
import {
|
|
97
97
|
httpFetch
|
|
98
|
-
} from "../chunk-
|
|
98
|
+
} from "../chunk-2GPQZZLY.js";
|
|
99
99
|
import {
|
|
100
100
|
mcpWaitForJobTimeoutMs,
|
|
101
101
|
mcpWaitForTurnTimeoutMs,
|
|
@@ -106,7 +106,7 @@ import {
|
|
|
106
106
|
waitForDetachedJob,
|
|
107
107
|
waitForTurnToolResult,
|
|
108
108
|
workspaceAgentChatSummaries
|
|
109
|
-
} from "../chunk-
|
|
109
|
+
} from "../chunk-ETZPTOK7.js";
|
|
110
110
|
import {
|
|
111
111
|
clipToolResultForStore,
|
|
112
112
|
isInternalAgentStatusText,
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
import {
|
|
116
116
|
GLOBAL_WORKSPACE_ID,
|
|
117
117
|
isCloudCoordinatorThread
|
|
118
|
-
} from "../chunk-
|
|
118
|
+
} from "../chunk-ULSY2BJF.js";
|
|
119
119
|
import {
|
|
120
120
|
canonicalizeRepoPath,
|
|
121
121
|
formatGhLandError,
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
normalizeBrightsyEndpoint,
|
|
8
8
|
refreshBrightsyAccessToken,
|
|
9
9
|
registerBrightsyOAuthClient
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-33KDPEK4.js";
|
|
11
|
+
import "./chunk-JAT3JFOS.js";
|
|
12
12
|
export {
|
|
13
13
|
BRIGHTSY_OAUTH_CLIENT_ID,
|
|
14
14
|
BRIGHTSY_OAUTH_REDIRECT,
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
normalizeBrightsyEndpoint,
|
|
10
10
|
refreshBrightsyAccessToken,
|
|
11
11
|
registerBrightsyOAuthClient
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-PXMLMBMI.js";
|
|
13
|
+
import "./chunk-2GPQZZLY.js";
|
|
14
14
|
export {
|
|
15
15
|
BRIGHTSY_OAUTH_CLIENT_ID,
|
|
16
16
|
BRIGHTSY_OAUTH_REDIRECT,
|
|
@@ -9,19 +9,19 @@ import {
|
|
|
9
9
|
resolveSendFollowUp,
|
|
10
10
|
startOrchestration,
|
|
11
11
|
waitForPidExit
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-HJNFK5SP.js";
|
|
13
|
+
import "./chunk-PCNH74SF.js";
|
|
14
|
+
import "./chunk-VGNLMGBK.js";
|
|
15
|
+
import "./chunk-ABOH7GBG.js";
|
|
16
16
|
import "./chunk-XSDCLM3F.js";
|
|
17
17
|
import "./chunk-7H655NEW.js";
|
|
18
18
|
import "./chunk-PGPSIEMW.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-MGJ7R7UX.js";
|
|
20
20
|
import "./chunk-K5XSTHHP.js";
|
|
21
21
|
import "./chunk-N5UGX3JL.js";
|
|
22
22
|
import "./chunk-2P4XKWV2.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-33KDPEK4.js";
|
|
24
|
+
import "./chunk-JAT3JFOS.js";
|
|
25
25
|
import "./chunk-AXQ4ZWHK.js";
|
|
26
26
|
import "./chunk-VOIWX5HA.js";
|
|
27
27
|
import "./chunk-U6QDXT4K.js";
|
|
@@ -11,17 +11,17 @@ import {
|
|
|
11
11
|
resolveSendFollowUp,
|
|
12
12
|
startOrchestration,
|
|
13
13
|
waitForPidExit
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CBIUGGPI.js";
|
|
15
15
|
import "./chunk-LX5R5JOR.js";
|
|
16
16
|
import "./chunk-4GK32AYX.js";
|
|
17
17
|
import "./chunk-5DZUWGKV.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-3H5U4QLD.js";
|
|
19
|
+
import "./chunk-7IAMHN2N.js";
|
|
20
|
+
import "./chunk-PXMLMBMI.js";
|
|
21
|
+
import "./chunk-2GPQZZLY.js";
|
|
22
|
+
import "./chunk-ETZPTOK7.js";
|
|
23
23
|
import "./chunk-5QOLFOAX.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-ULSY2BJF.js";
|
|
25
25
|
import "./chunk-5MGLNVNK.js";
|
|
26
26
|
import "./chunk-N2WW62LF.js";
|
|
27
27
|
import "./chunk-DD67JWTN.js";
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
addWorkspace,
|
|
5
|
+
archiveRemovedWorkspaceChats,
|
|
6
|
+
archivesWithRemovedWorkspace,
|
|
5
7
|
ensureWorkspace,
|
|
6
8
|
isRemovedWorkspace,
|
|
7
9
|
listWorkspaces,
|
|
@@ -9,7 +11,7 @@ import {
|
|
|
9
11
|
removeWorkspace,
|
|
10
12
|
sameWorkspacePath,
|
|
11
13
|
syncWorkspacesFromThreads
|
|
12
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ULSY2BJF.js";
|
|
13
15
|
import "./chunk-5MGLNVNK.js";
|
|
14
16
|
import "./chunk-N2WW62LF.js";
|
|
15
17
|
import "./chunk-DD67JWTN.js";
|
|
@@ -25,6 +27,8 @@ import "./chunk-KGZBYWZ3.js";
|
|
|
25
27
|
import "./chunk-H5XL4KUS.js";
|
|
26
28
|
export {
|
|
27
29
|
addWorkspace,
|
|
30
|
+
archiveRemovedWorkspaceChats,
|
|
31
|
+
archivesWithRemovedWorkspace,
|
|
28
32
|
ensureWorkspace,
|
|
29
33
|
isRemovedWorkspace,
|
|
30
34
|
listWorkspaces,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
addWorkspace,
|
|
3
|
+
archiveRemovedWorkspaceChats,
|
|
4
|
+
archivesWithRemovedWorkspace,
|
|
3
5
|
ensureWorkspace,
|
|
4
6
|
isRemovedWorkspace,
|
|
5
7
|
listWorkspaces,
|
|
@@ -7,7 +9,7 @@ import {
|
|
|
7
9
|
removeWorkspace,
|
|
8
10
|
sameWorkspacePath,
|
|
9
11
|
syncWorkspacesFromThreads
|
|
10
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-MGJ7R7UX.js";
|
|
11
13
|
import "./chunk-K5XSTHHP.js";
|
|
12
14
|
import "./chunk-N5UGX3JL.js";
|
|
13
15
|
import "./chunk-2P4XKWV2.js";
|
|
@@ -23,6 +25,8 @@ import "./chunk-JT7R45JB.js";
|
|
|
23
25
|
import "./chunk-EHT2DRT4.js";
|
|
24
26
|
export {
|
|
25
27
|
addWorkspace,
|
|
28
|
+
archiveRemovedWorkspaceChats,
|
|
29
|
+
archivesWithRemovedWorkspace,
|
|
26
30
|
ensureWorkspace,
|
|
27
31
|
isRemovedWorkspace,
|
|
28
32
|
listWorkspaces,
|
package/package.json
CHANGED
package/dist/chunk-N7WZ6NIN.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
// src/http/fetch.ts
|
|
2
|
-
var injected = null;
|
|
3
|
-
function setHttpFetchImpl(fetchImpl) {
|
|
4
|
-
injected = fetchImpl;
|
|
5
|
-
}
|
|
6
|
-
var TLS_ISSUER_RE = /UNABLE_TO_GET_ISSUER_CERT|UNABLE_TO_VERIFY_LEAF_SIGNATURE|SELF_SIGNED_CERT_IN_CHAIN/i;
|
|
7
|
-
var TLS_ISSUER_HINT = " \u2014 Node rejected the TLS certificate (corporate VPN/proxy CA). Desktop Linear can still work; reconnecting the API key will not fix this.";
|
|
8
|
-
function tlsIssuerHint(code, message) {
|
|
9
|
-
const text = `${code ?? ""} ${message}`;
|
|
10
|
-
return TLS_ISSUER_RE.test(text) ? TLS_ISSUER_HINT : "";
|
|
11
|
-
}
|
|
12
|
-
function formatFetchError(err, url) {
|
|
13
|
-
if (!(err instanceof Error)) return `${String(err)} (${url})`;
|
|
14
|
-
const cause = err.cause;
|
|
15
|
-
let detail = "";
|
|
16
|
-
let hint = tlsIssuerHint(void 0, err.message);
|
|
17
|
-
if (cause instanceof Error) {
|
|
18
|
-
const code = typeof cause.code === "string" ? cause.code : void 0;
|
|
19
|
-
detail = code ? ` [${code}: ${cause.message}]` : ` [${cause.message}]`;
|
|
20
|
-
hint = tlsIssuerHint(code, `${err.message} ${cause.message}`) || hint;
|
|
21
|
-
} else if (cause != null) {
|
|
22
|
-
detail = ` [${String(cause)}]`;
|
|
23
|
-
hint = tlsIssuerHint(void 0, String(cause)) || hint;
|
|
24
|
-
}
|
|
25
|
-
return `${err.message}${detail} (${url})${hint}`;
|
|
26
|
-
}
|
|
27
|
-
async function httpFetch(input, init) {
|
|
28
|
-
const url = typeof input === "string" ? input : input.href;
|
|
29
|
-
const fn = injected ?? globalThis.fetch.bind(globalThis);
|
|
30
|
-
try {
|
|
31
|
-
return await fn(url, init);
|
|
32
|
-
} catch (err) {
|
|
33
|
-
throw new Error(formatFetchError(err, url));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export {
|
|
38
|
-
setHttpFetchImpl,
|
|
39
|
-
formatFetchError,
|
|
40
|
-
httpFetch
|
|
41
|
-
};
|