@sideboard-ai/core 0.1.303 → 0.1.305
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-APP3DZ4P.js → abletime-SJUVZVRU.js} +6 -6
- package/dist/{abletime-RYDAQ3FE.js → abletime-T5YSJLNZ.js} +6 -6
- package/dist/{abletime-oauth-ZURGXSY6.js → abletime-oauth-2TOOZ2FN.js} +5 -5
- package/dist/{abletime-oauth-KTERKARA.js → abletime-oauth-73TFJME4.js} +5 -5
- package/dist/{abletime-rest-4TVIWLZK.js → abletime-rest-5TDRIFEV.js} +5 -5
- package/dist/{abletime-rest-EUB6RW7K.js → abletime-rest-PNUGH2FS.js} +5 -5
- package/dist/agents/claude-runner.js +2 -2
- package/dist/agents/cursor-runner.js +5 -5
- package/dist/{agents-3GN4E2X3.js → agents-IWNQOQOU.js} +12 -12
- package/dist/{agents-XLHFVC64.js → agents-PGU5WVSO.js} +10 -10
- package/dist/{app-settings-2IH42VA5.js → app-settings-CC65VPBL.js} +3 -3
- package/dist/{app-settings-3OQWRKOK.js → app-settings-DZ5AY7N5.js} +3 -3
- package/dist/{caffeinate-hold-7JM5H5P3.js → caffeinate-hold-H7TTUDGM.js} +2 -2
- package/dist/{caffeinate-hold-DYJGWK6Y.js → caffeinate-hold-ZNUEZGHB.js} +2 -2
- package/dist/{chunk-545DY7CQ.js → chunk-33HIBNSF.js} +106 -64
- package/dist/{chunk-FA3V56KF.js → chunk-3UDRWMIM.js} +2 -2
- package/dist/{chunk-7IAMHN2N.js → chunk-42JGPPVS.js} +1 -1
- package/dist/{chunk-BRFDPV7Z.js → chunk-5QX2NYXL.js} +4 -4
- package/dist/{chunk-DW6NNYUJ.js → chunk-5SFA27CF.js} +61 -8
- package/dist/{chunk-XCXUVX7I.js → chunk-62ESCTJ4.js} +1 -1
- package/dist/{chunk-SSETL5EX.js → chunk-6424BACS.js} +2 -2
- package/dist/{chunk-RSATPXU4.js → chunk-A2YXQC65.js} +264 -2
- package/dist/{chunk-GEFH4QFX.js → chunk-BIPXOHZI.js} +3 -3
- package/dist/{chunk-HSF2RQSQ.js → chunk-CFTOKVQN.js} +5 -5
- package/dist/{chunk-3D3GGL6X.js → chunk-CW4FIIDE.js} +3 -3
- package/dist/{chunk-5DZUWGKV.js → chunk-DC3VZXMA.js} +1 -1
- package/dist/{chunk-5MVOZLN7.js → chunk-DLGGLV2M.js} +3 -3
- package/dist/{chunk-WZCPZVUC.js → chunk-EGTCXNQM.js} +3 -3
- package/dist/{chunk-3TZRSKFJ.js → chunk-EZYZGDWU.js} +422 -175
- package/dist/{chunk-7AYOOG77.js → chunk-G2L3CR3A.js} +471 -107
- package/dist/{chunk-EHT2DRT4.js → chunk-H4UEFJRI.js} +4 -0
- package/dist/{chunk-P2GHFJOB.js → chunk-HG25AYBV.js} +2 -2
- package/dist/{chunk-GS6O65Q2.js → chunk-I34DCC4L.js} +104 -62
- package/dist/{chunk-UN5Q7POQ.js → chunk-J2LNLI4S.js} +1 -1
- package/dist/{chunk-MOP5L5QZ.js → chunk-JARCAPKL.js} +3 -3
- package/dist/{chunk-FAXOEKQR.js → chunk-JWW66PO3.js} +5 -5
- package/dist/{chunk-3HO2OY5T.js → chunk-KI45T4DI.js} +1 -1
- package/dist/{chunk-NOT4SEAM.js → chunk-LAWLUOWQ.js} +1 -1
- package/dist/{chunk-UWQ6UCIB.js → chunk-LG6RJBIY.js} +1 -1
- package/dist/{chunk-IOY2LF3Y.js → chunk-MMVMQ34G.js} +1 -1
- package/dist/{chunk-LZVWKJXY.js → chunk-OLSLE3LO.js} +3 -3
- package/dist/{chunk-RAGDMEIB.js → chunk-OVNIP265.js} +59 -8
- package/dist/{chunk-BU6HH5VA.js → chunk-PHMFAU35.js} +66 -2
- package/dist/{chunk-ISEYRGMP.js → chunk-RU6DTCCV.js} +2 -2
- package/dist/{chunk-R3R3ZDFC.js → chunk-SZ3XS2WM.js} +2 -2
- package/dist/{chunk-B42H6GJR.js → chunk-U4WACWBC.js} +3 -3
- package/dist/{chunk-VGNLMGBK.js → chunk-VEVFHO6K.js} +5 -5
- package/dist/{chunk-4RZRHTSZ.js → chunk-WMZIANPV.js} +1 -1
- package/dist/{chunk-H5XL4KUS.js → chunk-WOU343SI.js} +4 -0
- package/dist/{chunk-QDDTVIWE.js → chunk-WRZRX4Q7.js} +2 -2
- package/dist/{chunk-YCDHLK2Z.js → chunk-X3FSWWW2.js} +4 -4
- package/dist/{chunk-QDA6NXRA.js → chunk-YDUHLWI5.js} +1 -1
- package/dist/{chunk-J54UPHXZ.js → chunk-YJBUYGPN.js} +1 -1
- package/dist/{conductor-ATST6OMC.js → conductor-YBXURAUL.js} +10 -8
- package/dist/{conductor-2AVFGSQJ.js → conductor-ZFRXTVGP.js} +10 -8
- package/dist/{connected-teams-BJ6PMIST.js → connected-teams-BBNYTR3I.js} +2 -2
- package/dist/{connected-teams-AB7ZHJVO.js → connected-teams-WLWIVYGD.js} +2 -2
- package/dist/{coordinator-prompt-TIAI6A47.js → coordinator-prompt-GZCWQAAV.js} +7 -7
- package/dist/{coordinator-prompt-CQPUNMRX.js → coordinator-prompt-YAZRQ4BI.js} +7 -7
- package/dist/{cursor-recover-A6V5UVFT.js → cursor-recover-OWPQUHFH.js} +2 -2
- package/dist/{cursor-recover-MB3T2K5T.js → cursor-recover-TEBFKAZ4.js} +2 -2
- package/dist/{global-workspace-7YABMLQG.js → global-workspace-BZAVBOH3.js} +7 -7
- package/dist/{global-workspace-UZJUHGQP.js → global-workspace-H6X32IJZ.js} +7 -7
- package/dist/index.cjs +13486 -12609
- package/dist/index.d.cts +94 -14
- package/dist/index.d.ts +94 -14
- package/dist/index.js +11807 -11663
- package/dist/{managed-accounts-2AK5RIAF.js → managed-accounts-JJTAKHMG.js} +2 -2
- package/dist/{managed-accounts-46A4KRUE.js → managed-accounts-PITLFLKU.js} +2 -2
- package/dist/mcp/run-stdio.cjs +1037 -616
- package/dist/mcp/run-stdio.js +20 -20
- package/dist/{optional-cli-JQVNSMSU.js → optional-cli-QDIT57VD.js} +5 -5
- package/dist/{optional-cli-PZXDOVJJ.js → optional-cli-QY6V5S5N.js} +6 -6
- package/dist/{orchestrator-CZPRDLHV.js → orchestrator-IKKSYIQ3.js} +16 -16
- package/dist/{orchestrator-COX6QO2B.js → orchestrator-JGHYZDDB.js} +14 -14
- package/dist/{paths-HYT5WOOX.js → paths-HAAJNTTE.js} +1 -1
- package/dist/{paths-5JYXTAPC.js → paths-PHWEVXD5.js} +1 -1
- package/dist/{thread-store-PNX4HVLO.js → thread-store-HY22M5A7.js} +3 -3
- package/dist/{thread-store-VC4AIKN3.js → thread-store-XMUQDO5O.js} +3 -3
- package/dist/{workspaces-GZ7F5EJR.js → workspaces-AGOLRBYZ.js} +7 -7
- package/dist/{workspaces-6DJL4IST.js → workspaces-BQUDYTBX.js} +7 -7
- package/dist/{worktree-2BYVRYPJ.js → worktree-C5VI46RZ.js} +6 -6
- package/dist/{worktree-VXPOY2LE.js → worktree-FMK57ULT.js} +6 -6
- package/package.json +4 -1
|
@@ -8,11 +8,11 @@ import {
|
|
|
8
8
|
isGlobalThread,
|
|
9
9
|
isOrchestratorThread,
|
|
10
10
|
isSlackCoordinatorThread
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5QX2NYXL.js";
|
|
12
12
|
import {
|
|
13
13
|
mergeAgentGitAuthEnv,
|
|
14
14
|
resolveAgentGitAuthEnv
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BIPXOHZI.js";
|
|
16
16
|
import {
|
|
17
17
|
allocateTeamName,
|
|
18
18
|
createEmptyThread,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
updateThread,
|
|
24
24
|
worktreeNameFromPath,
|
|
25
25
|
writeThread
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-HG25AYBV.js";
|
|
27
27
|
import {
|
|
28
28
|
ensureWorktreeSideboardIgnored
|
|
29
29
|
} from "./chunk-2P4XKWV2.js";
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
import {
|
|
44
44
|
assertOrchestratorCapableAgent,
|
|
45
45
|
contextTokens
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-A2YXQC65.js";
|
|
47
47
|
import {
|
|
48
48
|
stripNestedElectronEnv
|
|
49
49
|
} from "./chunk-4TR3HZFT.js";
|
|
@@ -53,19 +53,21 @@ import {
|
|
|
53
53
|
loadWorkspaceSettings,
|
|
54
54
|
runCursorWorktreeSetup,
|
|
55
55
|
workspaceSettingsSourceLabel
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-H4UEFJRI.js";
|
|
57
57
|
|
|
58
58
|
// src/hook/conductor.ts
|
|
59
59
|
import {
|
|
60
60
|
copyFileSync,
|
|
61
61
|
existsSync as existsSync4,
|
|
62
|
+
lstatSync,
|
|
62
63
|
mkdirSync as mkdirSync5,
|
|
63
64
|
readdirSync as readdirSync2,
|
|
64
65
|
readFileSync as readFileSync4,
|
|
65
|
-
realpathSync
|
|
66
|
+
realpathSync,
|
|
67
|
+
symlinkSync
|
|
66
68
|
} from "fs";
|
|
67
69
|
import { execFileSync } from "child_process";
|
|
68
|
-
import { basename, dirname as dirname4, join as join5, resolve, sep } from "path";
|
|
70
|
+
import { basename, dirname as dirname4, isAbsolute, join as join5, resolve, sep } from "path";
|
|
69
71
|
import { execa } from "execa";
|
|
70
72
|
import { createInterface } from "readline";
|
|
71
73
|
|
|
@@ -1776,7 +1778,7 @@ var PORT_RANGE_SIZE = 10;
|
|
|
1776
1778
|
var RECLAIM_RETRY_DELAY_MS = 40;
|
|
1777
1779
|
var RECLAIM_TRIES = 8;
|
|
1778
1780
|
async function killReclaimable(ports, worktreePath, signal) {
|
|
1779
|
-
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-
|
|
1781
|
+
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-YBXURAUL.js");
|
|
1780
1782
|
if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
|
|
1781
1783
|
else killListenersOnPorts2(ports);
|
|
1782
1784
|
}
|
|
@@ -2028,8 +2030,56 @@ function copyConfiguredFiles(repoPath, worktreePath) {
|
|
|
2028
2030
|
copyFileSync(src, dest);
|
|
2029
2031
|
copied.push(rel);
|
|
2030
2032
|
}
|
|
2033
|
+
linkSharedDirectories(repoPath, worktreePath);
|
|
2031
2034
|
return copied;
|
|
2032
2035
|
}
|
|
2036
|
+
function linkSharedDirectories(repoPath, worktreePath) {
|
|
2037
|
+
const dirs = loadRepoSettings(repoPath)?.sharedDirectories ?? [];
|
|
2038
|
+
if (!dirs.length || samePath(repoPath, worktreePath)) return [];
|
|
2039
|
+
const linked = [];
|
|
2040
|
+
for (const rel of dirs) {
|
|
2041
|
+
if (!isSafeRelativeDir(rel)) continue;
|
|
2042
|
+
if (!isGitignored(repoPath, rel)) continue;
|
|
2043
|
+
const src = join5(repoPath, rel);
|
|
2044
|
+
let srcStat;
|
|
2045
|
+
try {
|
|
2046
|
+
srcStat = lstatSync(src);
|
|
2047
|
+
} catch {
|
|
2048
|
+
continue;
|
|
2049
|
+
}
|
|
2050
|
+
if (!srcStat.isDirectory()) continue;
|
|
2051
|
+
const dest = join5(worktreePath, rel);
|
|
2052
|
+
if (existsSync4(dest)) continue;
|
|
2053
|
+
mkdirSync5(dirname4(dest), { recursive: true });
|
|
2054
|
+
try {
|
|
2055
|
+
symlinkSync(src, dest);
|
|
2056
|
+
} catch {
|
|
2057
|
+
continue;
|
|
2058
|
+
}
|
|
2059
|
+
linked.push(rel);
|
|
2060
|
+
}
|
|
2061
|
+
return linked;
|
|
2062
|
+
}
|
|
2063
|
+
function samePath(a, b) {
|
|
2064
|
+
try {
|
|
2065
|
+
return realpathSync(a) === realpathSync(b);
|
|
2066
|
+
} catch {
|
|
2067
|
+
return resolve(a) === resolve(b);
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
function isSafeRelativeDir(rel) {
|
|
2071
|
+
if (!rel || isAbsolute(rel)) return false;
|
|
2072
|
+
const parts = rel.split(/[\\/]/).filter(Boolean);
|
|
2073
|
+
return parts.length > 0 && parts.every((part) => part !== "." && part !== "..");
|
|
2074
|
+
}
|
|
2075
|
+
function isGitignored(repoPath, rel) {
|
|
2076
|
+
try {
|
|
2077
|
+
execFileSync("git", ["-C", repoPath, "check-ignore", "-q", "--", rel], { stdio: "ignore" });
|
|
2078
|
+
return true;
|
|
2079
|
+
} catch {
|
|
2080
|
+
return false;
|
|
2081
|
+
}
|
|
2082
|
+
}
|
|
2033
2083
|
var cachedLoginEnv = null;
|
|
2034
2084
|
async function captureLoginEnv() {
|
|
2035
2085
|
if (cachedLoginEnv) return { ...cachedLoginEnv };
|
|
@@ -2522,6 +2572,7 @@ export {
|
|
|
2522
2572
|
readWorktreeInclude,
|
|
2523
2573
|
resolveFilesToCopy,
|
|
2524
2574
|
copyConfiguredFiles,
|
|
2575
|
+
linkSharedDirectories,
|
|
2525
2576
|
captureLoginEnv,
|
|
2526
2577
|
buildWorkspaceScriptEnv,
|
|
2527
2578
|
killableListenerPids,
|
|
@@ -17,13 +17,13 @@ import {
|
|
|
17
17
|
withAddedAccount,
|
|
18
18
|
withRemovedAccount,
|
|
19
19
|
withSelectedAccount
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-J2LNLI4S.js";
|
|
21
21
|
import {
|
|
22
22
|
normalizeThinkingEffort
|
|
23
23
|
} from "./chunk-KGZBYWZ3.js";
|
|
24
24
|
import {
|
|
25
25
|
appDataDir
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-WOU343SI.js";
|
|
27
27
|
|
|
28
28
|
// src/store/app-settings.ts
|
|
29
29
|
import { randomUUID } from "crypto";
|
|
@@ -160,6 +160,38 @@ function formatViewerContextReminder() {
|
|
|
160
160
|
return "Viewer context: get_viewer_context to read; update_viewer_context only after ask_user confirms (Save this context / Do not save).";
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
// src/remote/protocol.ts
|
|
164
|
+
var REMOTE_RELAY_PATH = "/remote";
|
|
165
|
+
var BAKED_REMOTE_RELAY_URL = `wss://relay.sideboard.cloud${REMOTE_RELAY_PATH}`;
|
|
166
|
+
function normalizeRemoteRelayUrl(raw) {
|
|
167
|
+
let text = raw.trim();
|
|
168
|
+
if (!text) return null;
|
|
169
|
+
if (!/^[a-z][a-z0-9+.-]*:\/\//i.test(text)) text = `wss://${text}`;
|
|
170
|
+
let url;
|
|
171
|
+
try {
|
|
172
|
+
url = new URL(text);
|
|
173
|
+
} catch {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
if (url.protocol === "https:") url.protocol = "wss:";
|
|
177
|
+
else if (url.protocol === "http:") url.protocol = "ws:";
|
|
178
|
+
if (url.protocol !== "ws:" && url.protocol !== "wss:") return null;
|
|
179
|
+
if (url.username || url.password) return null;
|
|
180
|
+
const path = url.pathname.replace(/\/+$/, "") || "/";
|
|
181
|
+
if (path !== "/" && path !== REMOTE_RELAY_PATH) return null;
|
|
182
|
+
url.pathname = REMOTE_RELAY_PATH;
|
|
183
|
+
url.search = "";
|
|
184
|
+
url.hash = "";
|
|
185
|
+
return url.toString();
|
|
186
|
+
}
|
|
187
|
+
function remoteRelayUrl(configured) {
|
|
188
|
+
const fromSettings = configured?.trim() ? normalizeRemoteRelayUrl(configured) : null;
|
|
189
|
+
if (fromSettings) return fromSettings;
|
|
190
|
+
const fromEnv = process.env.SIDEBOARD_REMOTE_RELAY_URL?.trim();
|
|
191
|
+
if (fromEnv) return normalizeRemoteRelayUrl(fromEnv) || BAKED_REMOTE_RELAY_URL;
|
|
192
|
+
return BAKED_REMOTE_RELAY_URL;
|
|
193
|
+
}
|
|
194
|
+
|
|
163
195
|
// src/store/secret-vault.ts
|
|
164
196
|
import { join } from "path";
|
|
165
197
|
|
|
@@ -310,6 +342,12 @@ function normalizeVault(raw) {
|
|
|
310
342
|
if (typeof raw.remoteHostSecret === "string" && raw.remoteHostSecret.trim()) {
|
|
311
343
|
out.remoteHostSecret = raw.remoteHostSecret.trim();
|
|
312
344
|
}
|
|
345
|
+
if (typeof raw.remoteHostPrivateKey === "string" && raw.remoteHostPrivateKey.trim()) {
|
|
346
|
+
out.remoteHostPrivateKey = raw.remoteHostPrivateKey.trim();
|
|
347
|
+
}
|
|
348
|
+
if (typeof raw.remotePhoneToken === "string" && raw.remotePhoneToken.trim()) {
|
|
349
|
+
out.remotePhoneToken = raw.remotePhoneToken.trim();
|
|
350
|
+
}
|
|
313
351
|
if (typeof raw.remoteAccountToken === "string" && raw.remoteAccountToken.trim()) {
|
|
314
352
|
out.remoteAccountToken = raw.remoteAccountToken.trim();
|
|
315
353
|
}
|
|
@@ -895,6 +933,10 @@ function normalizeIntegrations(raw) {
|
|
|
895
933
|
const email = source.remoteAccountEmail.trim().toLowerCase();
|
|
896
934
|
if (email) out.remoteAccountEmail = email;
|
|
897
935
|
}
|
|
936
|
+
if (typeof source.remoteRelayUrl === "string") {
|
|
937
|
+
const url = normalizeRemoteRelayUrl(source.remoteRelayUrl);
|
|
938
|
+
if (url) out.remoteRelayUrl = url;
|
|
939
|
+
}
|
|
898
940
|
if (typeof source.githubGitAuthMode === "string" && GIT_AUTH_MODES.has(source.githubGitAuthMode)) {
|
|
899
941
|
out.githubGitAuthMode = source.githubGitAuthMode;
|
|
900
942
|
}
|
|
@@ -1270,6 +1312,9 @@ function persistSplit(settings) {
|
|
|
1270
1312
|
vault[key] = integrations[key];
|
|
1271
1313
|
delete integrations[key];
|
|
1272
1314
|
}
|
|
1315
|
+
const previous = loadSecretVault();
|
|
1316
|
+
if (previous.remoteHostPrivateKey) vault.remoteHostPrivateKey = previous.remoteHostPrivateKey;
|
|
1317
|
+
if (previous.remotePhoneToken) vault.remotePhoneToken = previous.remotePhoneToken;
|
|
1273
1318
|
writePrivateFile(
|
|
1274
1319
|
appSettingsPath(),
|
|
1275
1320
|
`${JSON.stringify({ ...settings, environment: {}, integrations }, null, 2)}
|
|
@@ -1500,6 +1545,25 @@ function updateIntegrationsSettings(patch) {
|
|
|
1500
1545
|
integrations.remoteAccountEmail = patch.remoteAccountEmail.trim().toLowerCase();
|
|
1501
1546
|
}
|
|
1502
1547
|
}
|
|
1548
|
+
if ("remoteRelayUrl" in patch) {
|
|
1549
|
+
const previous = remoteRelayUrl(integrations.remoteRelayUrl);
|
|
1550
|
+
if (patch.remoteRelayUrl == null || patch.remoteRelayUrl.trim() === "") {
|
|
1551
|
+
delete integrations.remoteRelayUrl;
|
|
1552
|
+
} else {
|
|
1553
|
+
const url = normalizeRemoteRelayUrl(patch.remoteRelayUrl);
|
|
1554
|
+
if (!url) {
|
|
1555
|
+
throw new Error(
|
|
1556
|
+
"Relay URL must be a WebSocket address, for example wss://relay.example.com/remote."
|
|
1557
|
+
);
|
|
1558
|
+
}
|
|
1559
|
+
integrations.remoteRelayUrl = url;
|
|
1560
|
+
}
|
|
1561
|
+
const next = remoteRelayUrl(integrations.remoteRelayUrl);
|
|
1562
|
+
if (new URL(previous).origin !== new URL(next).origin) {
|
|
1563
|
+
delete integrations.remoteAccountToken;
|
|
1564
|
+
delete integrations.remoteAccountEmail;
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1503
1567
|
if ("githubGitAuthMode" in patch) {
|
|
1504
1568
|
if (patch.githubGitAuthMode == null) {
|
|
1505
1569
|
delete integrations.githubGitAuthMode;
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
OPTIONAL_SERVICES,
|
|
3
3
|
isOptionalServiceId,
|
|
4
4
|
optionalServiceSpec
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-WRZRX4Q7.js";
|
|
6
6
|
import {
|
|
7
7
|
installNpmGlobalPackage,
|
|
8
8
|
whichOnPath
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-U4WACWBC.js";
|
|
10
10
|
import {
|
|
11
11
|
enrichPathWithNpmGlobalBin
|
|
12
12
|
} from "./chunk-QVN2WOKJ.js";
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
normalizeAbleTimeCredential,
|
|
5
5
|
normalizeAbleTimeHost,
|
|
6
6
|
rewriteAbleTimeError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JWW66PO3.js";
|
|
8
8
|
import {
|
|
9
9
|
httpFetch
|
|
10
10
|
} from "./chunk-JAT3JFOS.js";
|
|
11
11
|
import {
|
|
12
12
|
getAbleTimeAccessToken,
|
|
13
13
|
getAbleTimeHost
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A2YXQC65.js";
|
|
15
15
|
|
|
16
16
|
// src/integrations/abletime-rest.ts
|
|
17
17
|
var ABLETIME_REST_PREFIX = "/api/public/v2";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-QVN2WOKJ.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveAgentExecutable
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-A2YXQC65.js";
|
|
11
11
|
|
|
12
12
|
// src/agents/install.ts
|
|
13
13
|
import { existsSync } from "fs";
|
|
@@ -265,8 +265,8 @@ async function loginAgent(agent) {
|
|
|
265
265
|
};
|
|
266
266
|
}
|
|
267
267
|
async function loginManagedAccount(accountId) {
|
|
268
|
-
const { loadAppSettings } = await import("./app-settings-
|
|
269
|
-
const { loginEnvPrefix } = await import("./managed-accounts-
|
|
268
|
+
const { loadAppSettings } = await import("./app-settings-DZ5AY7N5.js");
|
|
269
|
+
const { loginEnvPrefix } = await import("./managed-accounts-JJTAKHMG.js");
|
|
270
270
|
const account = loadAppSettings().accounts.accounts.find((a) => a.id === accountId);
|
|
271
271
|
if (!account) {
|
|
272
272
|
return { ok: false, message: `Account not found: ${accountId}` };
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-QVN2WOKJ.js";
|
|
12
12
|
import {
|
|
13
13
|
appDataDir
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-H4UEFJRI.js";
|
|
15
15
|
|
|
16
16
|
// src/brightsy/connected-teams.ts
|
|
17
17
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -19,7 +19,7 @@ import { join } from "path";
|
|
|
19
19
|
|
|
20
20
|
// src/brightsy/accounts.ts
|
|
21
21
|
async function loadConnectedTeams() {
|
|
22
|
-
const { listConnectedBrightsyTeams: listConnectedBrightsyTeams2 } = await import("./connected-teams-
|
|
22
|
+
const { listConnectedBrightsyTeams: listConnectedBrightsyTeams2 } = await import("./connected-teams-BBNYTR3I.js");
|
|
23
23
|
return listConnectedBrightsyTeams2();
|
|
24
24
|
}
|
|
25
25
|
async function runBrightsyTeamsJson(args) {
|
|
@@ -48,14 +48,14 @@ async function listBrightsyAccounts() {
|
|
|
48
48
|
async function getBrightsySession() {
|
|
49
49
|
try {
|
|
50
50
|
const { ensureBrightsyLocalConfigFresh: ensureBrightsyLocalConfigFresh2 } = await import("./oauth-DP4ZV2M2.js");
|
|
51
|
-
const { ensureConnectedBrightsyTeamTokens: ensureConnectedBrightsyTeamTokens2 } = await import("./connected-teams-
|
|
51
|
+
const { ensureConnectedBrightsyTeamTokens: ensureConnectedBrightsyTeamTokens2 } = await import("./connected-teams-BBNYTR3I.js");
|
|
52
52
|
await ensureBrightsyLocalConfigFresh2();
|
|
53
53
|
await ensureConnectedBrightsyTeamTokens2();
|
|
54
54
|
loadBrightsyConfig();
|
|
55
55
|
const data = await runBrightsyTeamsJson([]);
|
|
56
56
|
const accounts = Array.isArray(data.teams) ? data.teams : [];
|
|
57
57
|
const active = data.active ?? accounts.find((a) => a.active) ?? null;
|
|
58
|
-
const { ensureCliTeamTracked: ensureCliTeamTracked2 } = await import("./connected-teams-
|
|
58
|
+
const { ensureCliTeamTracked: ensureCliTeamTracked2 } = await import("./connected-teams-BBNYTR3I.js");
|
|
59
59
|
const connectedTeams = ensureCliTeamTracked2(
|
|
60
60
|
active ? { id: active.id, slug: active.slug, name: active.name } : void 0
|
|
61
61
|
);
|
|
@@ -95,7 +95,7 @@ async function performBrightsyAccountSwitch(accountIdOrSlug) {
|
|
|
95
95
|
return { cfg, target: data.active };
|
|
96
96
|
}
|
|
97
97
|
async function switchBrightsyAccount(accountIdOrSlug) {
|
|
98
|
-
const { connectBrightsyTeam: connectBrightsyTeam2 } = await import("./connected-teams-
|
|
98
|
+
const { connectBrightsyTeam: connectBrightsyTeam2 } = await import("./connected-teams-BBNYTR3I.js");
|
|
99
99
|
await connectBrightsyTeam2(accountIdOrSlug);
|
|
100
100
|
return getBrightsySession();
|
|
101
101
|
}
|
|
@@ -275,6 +275,8 @@ function parseSettingsFile(path, source) {
|
|
|
275
275
|
if (Array.isArray(copySection?.paths)) {
|
|
276
276
|
filesToCopy.push(...copySection.paths.map(String));
|
|
277
277
|
}
|
|
278
|
+
const worktree = data.worktree;
|
|
279
|
+
const sharedDirectories = Array.isArray(worktree?.shared_directories) ? worktree.shared_directories.map(String).map((item) => item.trim()).filter(Boolean) : [];
|
|
278
280
|
const fileIncludeGlobs = [];
|
|
279
281
|
if (Array.isArray(data.file_include_globs)) {
|
|
280
282
|
fileIncludeGlobs.push(...data.file_include_globs.map(String));
|
|
@@ -326,6 +328,7 @@ function parseSettingsFile(path, source) {
|
|
|
326
328
|
fileIncludeGlobs: fileIncludeGlobs.length ? fileIncludeGlobs : void 0,
|
|
327
329
|
runScripts,
|
|
328
330
|
worktreesRoot: worktreesRoot2,
|
|
331
|
+
sharedDirectories: sharedDirectories.length ? sharedDirectories : void 0,
|
|
329
332
|
editor,
|
|
330
333
|
prompts: hasPrompts ? prompts : void 0
|
|
331
334
|
};
|
|
@@ -357,6 +360,7 @@ function mergeSettings(base, overlay) {
|
|
|
357
360
|
fileIncludeGlobs: overlay.fileIncludeGlobs ?? base.fileIncludeGlobs,
|
|
358
361
|
runScripts: mergeRunScripts(base.runScripts, overlay.runScripts),
|
|
359
362
|
worktreesRoot: overlay.worktreesRoot ?? base.worktreesRoot,
|
|
363
|
+
sharedDirectories: overlay.sharedDirectories ?? base.sharedDirectories,
|
|
360
364
|
editor: overlay.editor ?? base.editor,
|
|
361
365
|
prompts: hasPrompts ? prompts : void 0
|
|
362
366
|
};
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
loadAppSettings,
|
|
6
6
|
saveAppSettings
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-A2YXQC65.js";
|
|
8
8
|
|
|
9
9
|
// src/integrations/optional-services.ts
|
|
10
10
|
var OPTIONAL_SERVICE_IDS = ["vercel", "supabase", "posthog", "sentry"];
|
|
@@ -273,7 +273,7 @@ async function connectedCliPresence(integrations) {
|
|
|
273
273
|
const ids = connectedOptionalServices(integrations).filter((spec) => spec.cli).map((spec) => spec.id);
|
|
274
274
|
if (ids.length === 0) return void 0;
|
|
275
275
|
try {
|
|
276
|
-
const { optionalCliPresence } = await import("./optional-cli-
|
|
276
|
+
const { optionalCliPresence } = await import("./optional-cli-QY6V5S5N.js");
|
|
277
277
|
return await optionalCliPresence(ids);
|
|
278
278
|
} catch {
|
|
279
279
|
return void 0;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
ensureGhPreferOrigin,
|
|
6
6
|
resolveGithubRepoSlug,
|
|
7
7
|
resolveRepoRoot
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DLGGLV2M.js";
|
|
9
9
|
import {
|
|
10
10
|
ATTACHMENTS_DIR,
|
|
11
11
|
attachmentsGitignoreBody
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
resolveThreadDefaults,
|
|
23
23
|
resolveViewerProfile,
|
|
24
24
|
resolveViewerProfileForRepo
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-PHMFAU35.js";
|
|
26
26
|
import {
|
|
27
27
|
allocateTeamName,
|
|
28
28
|
createEmptyThread,
|
|
@@ -31,13 +31,13 @@ import {
|
|
|
31
31
|
teamSlugFromName,
|
|
32
32
|
updateThread,
|
|
33
33
|
writeThread
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-3UDRWMIM.js";
|
|
35
35
|
import {
|
|
36
36
|
appDataDir,
|
|
37
37
|
globalAgentCwd,
|
|
38
38
|
loadRepoSettings,
|
|
39
39
|
sideboardReposDir
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-WOU343SI.js";
|
|
41
41
|
|
|
42
42
|
// src/store/workspaces.ts
|
|
43
43
|
import { existsSync as existsSync2, mkdirSync as mkdirSync3, readFileSync as readFileSync3, statSync as statSync2, writeFileSync as writeFileSync3 } from "fs";
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
killListenersOnPorts,
|
|
16
16
|
killStaleWorktreeListeners,
|
|
17
17
|
killableListenerPids,
|
|
18
|
+
linkSharedDirectories,
|
|
18
19
|
listRunScripts,
|
|
19
20
|
listenerCwd,
|
|
20
21
|
loadWorktreeRunPorts,
|
|
@@ -31,24 +32,24 @@ import {
|
|
|
31
32
|
tryReservePort,
|
|
32
33
|
tryReservePorts,
|
|
33
34
|
worktreeRunPortsPath
|
|
34
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-OVNIP265.js";
|
|
35
36
|
import "./chunk-F36QRDM4.js";
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-5QX2NYXL.js";
|
|
38
|
+
import "./chunk-BIPXOHZI.js";
|
|
39
|
+
import "./chunk-HG25AYBV.js";
|
|
39
40
|
import "./chunk-2P4XKWV2.js";
|
|
40
41
|
import "./chunk-F2PVRF3B.js";
|
|
41
42
|
import "./chunk-HO5R3ZRH.js";
|
|
42
43
|
import "./chunk-6K64FJDD.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-LG6RJBIY.js";
|
|
44
45
|
import "./chunk-QVN2WOKJ.js";
|
|
45
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-A2YXQC65.js";
|
|
46
47
|
import "./chunk-77WWLBCI.js";
|
|
47
48
|
import {
|
|
48
49
|
stripNestedElectronEnv
|
|
49
50
|
} from "./chunk-4TR3HZFT.js";
|
|
50
51
|
import "./chunk-WDRMZKVB.js";
|
|
51
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-KI45T4DI.js";
|
|
52
53
|
import "./chunk-JT7R45JB.js";
|
|
53
54
|
import {
|
|
54
55
|
hasConductorHook,
|
|
@@ -59,7 +60,7 @@ import {
|
|
|
59
60
|
loadWorkspaceSettings,
|
|
60
61
|
settingsSourceLabel,
|
|
61
62
|
workspaceSettingsSourceLabel
|
|
62
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-H4UEFJRI.js";
|
|
63
64
|
export {
|
|
64
65
|
PORT_RANGE_SIZE,
|
|
65
66
|
RUN_PORTS_REL,
|
|
@@ -80,6 +81,7 @@ export {
|
|
|
80
81
|
killListenersOnPorts,
|
|
81
82
|
killStaleWorktreeListeners,
|
|
82
83
|
killableListenerPids,
|
|
84
|
+
linkSharedDirectories,
|
|
83
85
|
listRunScripts,
|
|
84
86
|
listenerCwd,
|
|
85
87
|
loadConductorSettings,
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
killListenersOnPorts,
|
|
18
18
|
killStaleWorktreeListeners,
|
|
19
19
|
killableListenerPids,
|
|
20
|
+
linkSharedDirectories,
|
|
20
21
|
listRunScripts,
|
|
21
22
|
listenerCwd,
|
|
22
23
|
loadWorktreeRunPorts,
|
|
@@ -33,22 +34,22 @@ import {
|
|
|
33
34
|
tryReservePort,
|
|
34
35
|
tryReservePorts,
|
|
35
36
|
worktreeRunPortsPath
|
|
36
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-5SFA27CF.js";
|
|
37
38
|
import "./chunk-5XQ43YZU.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-X3FSWWW2.js";
|
|
40
|
+
import "./chunk-DLGGLV2M.js";
|
|
40
41
|
import "./chunk-N2WW62LF.js";
|
|
41
42
|
import "./chunk-DD67JWTN.js";
|
|
42
43
|
import "./chunk-2UG25RMK.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-PHMFAU35.js";
|
|
44
45
|
import "./chunk-NSTQ6QKD.js";
|
|
45
46
|
import {
|
|
46
47
|
stripNestedElectronEnv
|
|
47
48
|
} from "./chunk-WWUABK6B.js";
|
|
48
49
|
import "./chunk-FJZWM2ON.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-J2LNLI4S.js";
|
|
51
|
+
import "./chunk-3UDRWMIM.js";
|
|
52
|
+
import "./chunk-WMZIANPV.js";
|
|
52
53
|
import "./chunk-KGZBYWZ3.js";
|
|
53
54
|
import {
|
|
54
55
|
hasConductorHook,
|
|
@@ -59,7 +60,7 @@ import {
|
|
|
59
60
|
loadWorkspaceSettings,
|
|
60
61
|
settingsSourceLabel,
|
|
61
62
|
workspaceSettingsSourceLabel
|
|
62
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-WOU343SI.js";
|
|
63
64
|
export {
|
|
64
65
|
PORT_RANGE_SIZE,
|
|
65
66
|
RUN_PORTS_REL,
|
|
@@ -80,6 +81,7 @@ export {
|
|
|
80
81
|
killListenersOnPorts,
|
|
81
82
|
killStaleWorktreeListeners,
|
|
82
83
|
killableListenerPids,
|
|
84
|
+
linkSharedDirectories,
|
|
83
85
|
listRunScripts,
|
|
84
86
|
listenerCwd,
|
|
85
87
|
loadConductorSettings,
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
ensureConnectedBrightsyTeamTokens,
|
|
8
8
|
getConnectedBrightsyTeamsRaw,
|
|
9
9
|
listConnectedBrightsyTeams
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VEVFHO6K.js";
|
|
11
11
|
import "./chunk-33KDPEK4.js";
|
|
12
12
|
import "./chunk-JAT3JFOS.js";
|
|
13
13
|
import "./chunk-QVN2WOKJ.js";
|
|
14
14
|
import "./chunk-4TR3HZFT.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-H4UEFJRI.js";
|
|
16
16
|
export {
|
|
17
17
|
applyConnectedTeamToCli,
|
|
18
18
|
brightsyMcpServerName,
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
ensureConnectedBrightsyTeamTokens,
|
|
10
10
|
getConnectedBrightsyTeamsRaw,
|
|
11
11
|
listConnectedBrightsyTeams
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-42JGPPVS.js";
|
|
13
13
|
import "./chunk-PXMLMBMI.js";
|
|
14
14
|
import "./chunk-2GPQZZLY.js";
|
|
15
15
|
import "./chunk-2UG25RMK.js";
|
|
16
16
|
import "./chunk-WWUABK6B.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-WOU343SI.js";
|
|
18
18
|
export {
|
|
19
19
|
applyConnectedTeamToCli,
|
|
20
20
|
brightsyMcpServerName,
|
|
@@ -9,20 +9,20 @@ import {
|
|
|
9
9
|
enrichWorkspacesWithGithub,
|
|
10
10
|
ensureGlobalCoordinatorCwd,
|
|
11
11
|
formatWorkspaceInventory
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-X3FSWWW2.js";
|
|
13
|
+
import "./chunk-DLGGLV2M.js";
|
|
14
14
|
import "./chunk-N2WW62LF.js";
|
|
15
15
|
import "./chunk-DD67JWTN.js";
|
|
16
16
|
import "./chunk-2UG25RMK.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-PHMFAU35.js";
|
|
18
18
|
import "./chunk-NSTQ6QKD.js";
|
|
19
19
|
import "./chunk-WWUABK6B.js";
|
|
20
20
|
import "./chunk-FJZWM2ON.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-J2LNLI4S.js";
|
|
22
|
+
import "./chunk-3UDRWMIM.js";
|
|
23
|
+
import "./chunk-WMZIANPV.js";
|
|
24
24
|
import "./chunk-KGZBYWZ3.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-WOU343SI.js";
|
|
26
26
|
export {
|
|
27
27
|
COORDINATOR_TOOL_PLAYBOOK,
|
|
28
28
|
SLACK_REPLY_FORMATTING,
|
|
@@ -7,21 +7,21 @@ import {
|
|
|
7
7
|
enrichWorkspacesWithGithub,
|
|
8
8
|
ensureGlobalCoordinatorCwd,
|
|
9
9
|
formatWorkspaceInventory
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-5QX2NYXL.js";
|
|
11
|
+
import "./chunk-BIPXOHZI.js";
|
|
12
|
+
import "./chunk-HG25AYBV.js";
|
|
13
13
|
import "./chunk-2P4XKWV2.js";
|
|
14
14
|
import "./chunk-F2PVRF3B.js";
|
|
15
15
|
import "./chunk-6K64FJDD.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-LG6RJBIY.js";
|
|
17
17
|
import "./chunk-QVN2WOKJ.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-A2YXQC65.js";
|
|
19
19
|
import "./chunk-77WWLBCI.js";
|
|
20
20
|
import "./chunk-4TR3HZFT.js";
|
|
21
21
|
import "./chunk-WDRMZKVB.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-KI45T4DI.js";
|
|
23
23
|
import "./chunk-JT7R45JB.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-H4UEFJRI.js";
|
|
25
25
|
export {
|
|
26
26
|
COORDINATOR_TOOL_PLAYBOOK,
|
|
27
27
|
SLACK_REPLY_FORMATTING,
|