@sideboard-ai/core 0.1.299 → 0.1.301
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/claude-runner.cjs +36 -0
- package/dist/agents/claude-runner.js +17 -0
- package/dist/{agents-JCCJJMA7.js → agents-ETD2LWP4.js} +4 -4
- package/dist/{agents-IVKPCK56.js → agents-V2SRC2LH.js} +5 -4
- package/dist/{chunk-EB7B4D2Z.js → chunk-2KJE53ZJ.js} +15 -88
- package/dist/{chunk-3IXGI2FP.js → chunk-3XDU7RIE.js} +1 -1
- package/dist/{chunk-QB4UQA5L.js → chunk-7SEWZXPT.js} +2 -2
- package/dist/{chunk-F3JYJ4UB.js → chunk-EP4IIKP4.js} +4 -4
- package/dist/{chunk-HTL4FBTP.js → chunk-FBZODCO4.js} +65 -0
- package/dist/chunk-FO3NKZVJ.js +104 -0
- package/dist/{chunk-YAILSKW3.js → chunk-FPJFK4LB.js} +11 -11
- package/dist/{chunk-EB3F5AWV.js → chunk-FUXOZHHF.js} +15 -54
- package/dist/{chunk-NF3WDI7F.js → chunk-JTW4CZEQ.js} +41 -48
- package/dist/{chunk-G52HLBQR.js → chunk-KIWICTLW.js} +1 -1
- package/dist/{chunk-UMALFEDS.js → chunk-LZ744H2I.js} +2 -2
- package/dist/{chunk-MMIDAD6J.js → chunk-OJKSDRZU.js} +4 -4
- package/dist/{chunk-K5EACGG2.js → chunk-WV33I2GC.js} +13 -0
- package/dist/{conductor-UQDDDW35.js → conductor-57KZLWTB.js} +5 -4
- package/dist/{conductor-JLHXMMKR.js → conductor-57UKACQA.js} +4 -4
- package/dist/{coordinator-prompt-SSUYZSJO.js → coordinator-prompt-2TBRFJZ5.js} +3 -3
- package/dist/{coordinator-prompt-HKLVS26O.js → coordinator-prompt-VOWUJRVJ.js} +4 -3
- package/dist/{global-workspace-MHE6FCUZ.js → global-workspace-T5C7EMVV.js} +3 -3
- package/dist/{global-workspace-I32EWKX3.js → global-workspace-V6SOEETA.js} +4 -3
- package/dist/index.cjs +164 -120
- package/dist/index.d.cts +29 -18
- package/dist/index.d.ts +29 -18
- package/dist/index.js +43 -19
- package/dist/mcp/run-stdio.cjs +72 -57
- package/dist/mcp/run-stdio.js +6 -6
- package/dist/{orchestrator-SX4SGZHF.js → orchestrator-C43M3JDK.js} +6 -6
- package/dist/{orchestrator-ESLNXVOX.js → orchestrator-JEF7JC3S.js} +7 -6
- package/dist/{thread-store-5XXHSWMN.js → thread-store-BMNJEJUH.js} +1 -1
- package/dist/{thread-store-WXLXKDVN.js → thread-store-POAYB2ID.js} +2 -1
- package/dist/{workspaces-O3L32CDO.js → workspaces-7ZYTTB4A.js} +3 -3
- package/dist/{workspaces-ATMIKXLK.js → workspaces-EWVIEJ4O.js} +4 -3
- package/dist/{worktree-RMYXBTJG.js → worktree-2Q6J2VWZ.js} +3 -2
- package/dist/{worktree-6G5X4ABY.js → worktree-ZAJGYKCB.js} +2 -2
- package/package.json +1 -1
|
@@ -24,13 +24,13 @@ import {
|
|
|
24
24
|
} from "./chunk-5XQ43YZU.js";
|
|
25
25
|
import {
|
|
26
26
|
isOrchestratorThread
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-LZ744H2I.js";
|
|
28
28
|
import {
|
|
29
29
|
codexUnattendedGitConfigArgs,
|
|
30
30
|
mergeAgentGitAuthEnv,
|
|
31
31
|
resolveAgentGitAuthEnv,
|
|
32
32
|
resolveCodexGitWritableRoots
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-3XDU7RIE.js";
|
|
34
34
|
import {
|
|
35
35
|
npmGlobalNodeModules,
|
|
36
36
|
run
|
|
@@ -50,6 +50,13 @@ import {
|
|
|
50
50
|
unwrapStrippedElectronLaunch,
|
|
51
51
|
wrapElectronAsNodeLaunch
|
|
52
52
|
} from "./chunk-WWUABK6B.js";
|
|
53
|
+
import {
|
|
54
|
+
BASE_ALLOWED_TOOLS,
|
|
55
|
+
CLAUDE_CHROME_ALLOWED_TOOLS,
|
|
56
|
+
CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS,
|
|
57
|
+
CLAUDE_PRINT_BG_WAIT_CEILING_MS,
|
|
58
|
+
mcpAllowToolsFromNames
|
|
59
|
+
} from "./chunk-FBZODCO4.js";
|
|
53
60
|
import {
|
|
54
61
|
appDataDir
|
|
55
62
|
} from "./chunk-H5XL4KUS.js";
|
|
@@ -441,54 +448,6 @@ var brightsyAdapter = {
|
|
|
441
448
|
// src/agents/claude.ts
|
|
442
449
|
import { existsSync as existsSync10 } from "fs";
|
|
443
450
|
|
|
444
|
-
// src/agents/claude-mcp.ts
|
|
445
|
-
function sanitizeMcpServerName(name) {
|
|
446
|
-
return name.replace(/[^A-Za-z0-9_-]/g, "_");
|
|
447
|
-
}
|
|
448
|
-
function mcpAllowTools(servers) {
|
|
449
|
-
const out = [];
|
|
450
|
-
for (const s of servers) {
|
|
451
|
-
if (!s.connected) continue;
|
|
452
|
-
const id = sanitizeMcpServerName(s.name);
|
|
453
|
-
if (!id) continue;
|
|
454
|
-
out.push(`mcp__${id}`);
|
|
455
|
-
out.push(`mcp__${id}__*`);
|
|
456
|
-
}
|
|
457
|
-
return out;
|
|
458
|
-
}
|
|
459
|
-
function mcpAllowToolsFromNames(names) {
|
|
460
|
-
return mcpAllowTools(
|
|
461
|
-
[...names].map((name) => name.trim()).filter(Boolean).map((name) => ({ name, connected: true, needsAuth: false }))
|
|
462
|
-
);
|
|
463
|
-
}
|
|
464
|
-
var BASE_ALLOWED_TOOLS = [
|
|
465
|
-
"Edit",
|
|
466
|
-
"Write",
|
|
467
|
-
"Bash",
|
|
468
|
-
"Read",
|
|
469
|
-
"Glob",
|
|
470
|
-
"Grep",
|
|
471
|
-
"WebFetch",
|
|
472
|
-
"WebSearch",
|
|
473
|
-
"Task",
|
|
474
|
-
"Agent",
|
|
475
|
-
"TaskOutput",
|
|
476
|
-
"TaskStop",
|
|
477
|
-
"EnterWorktree",
|
|
478
|
-
"ExitWorktree",
|
|
479
|
-
"Skill"
|
|
480
|
-
];
|
|
481
|
-
var CLAUDE_PRINT_BG_WAIT_CEILING_MS = 72e5;
|
|
482
|
-
var CLAUDE_CHROME_ALLOWED_TOOLS = [
|
|
483
|
-
"mcp__claude-in-chrome",
|
|
484
|
-
"mcp__claude-in-chrome__*",
|
|
485
|
-
"Skill(claude-in-chrome)"
|
|
486
|
-
];
|
|
487
|
-
var CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS = [
|
|
488
|
-
"mcp__claude_ai_PostHog",
|
|
489
|
-
"mcp__claude_ai_PostHog__*"
|
|
490
|
-
];
|
|
491
|
-
|
|
492
451
|
// src/agents/orch-mcp-isolation.ts
|
|
493
452
|
import { existsSync as existsSync7, readFileSync as readFileSync3 } from "fs";
|
|
494
453
|
import { homedir as homedir3 } from "os";
|
|
@@ -2020,7 +1979,7 @@ var claudeAdapter = {
|
|
|
2020
1979
|
);
|
|
2021
1980
|
}
|
|
2022
1981
|
const mode = permissionMode(thread);
|
|
2023
|
-
const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-
|
|
1982
|
+
const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-T5C7EMVV.js");
|
|
2024
1983
|
const isOrchestrator = isOrchestratorThread2(thread);
|
|
2025
1984
|
const rpc = worktreeAgentRpc(isOrchestrator);
|
|
2026
1985
|
const injectedServers = await buildInjectedMcpServers({
|
|
@@ -2040,12 +1999,13 @@ var claudeAdapter = {
|
|
|
2040
1999
|
allowedTools = [
|
|
2041
2000
|
...BASE_ALLOWED_TOOLS,
|
|
2042
2001
|
...SIDEBOARD_MCP_ALLOWED_TOOLS,
|
|
2043
|
-
...brightsyMcpAllowedTools(injectedBrightsyNames)
|
|
2002
|
+
...brightsyMcpAllowedTools(injectedBrightsyNames),
|
|
2003
|
+
...mcpAllowToolsFromNames(thread.approvedMcpServers ?? [])
|
|
2044
2004
|
];
|
|
2045
2005
|
} else {
|
|
2046
2006
|
allowedTools = [
|
|
2047
2007
|
...BASE_ALLOWED_TOOLS,
|
|
2048
|
-
...mcpAllowToolsFromNames(Object.keys(userMcpEntries)),
|
|
2008
|
+
...mcpAllowToolsFromNames([...Object.keys(userMcpEntries), ...thread.approvedMcpServers ?? []]),
|
|
2049
2009
|
...sideboardWorktreeAllowedTools({
|
|
2050
2010
|
github: true,
|
|
2051
2011
|
linear: isLinearConnected(),
|
|
@@ -2085,7 +2045,8 @@ var claudeAdapter = {
|
|
|
2085
2045
|
"--verbose",
|
|
2086
2046
|
"--include-partial-messages",
|
|
2087
2047
|
"--permission-mode",
|
|
2088
|
-
mode.claude
|
|
2048
|
+
mode.claude,
|
|
2049
|
+
...mode.claude === "bypassPermissions" ? ["--dangerously-skip-permissions"] : []
|
|
2089
2050
|
];
|
|
2090
2051
|
if (systemPrompt) {
|
|
2091
2052
|
args.push("--append-system-prompt", systemPrompt);
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
parseSessionQuotaResetAt,
|
|
15
15
|
planModeTurnInstruction,
|
|
16
16
|
resolveQuotaFallbackAgent
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-2KJE53ZJ.js";
|
|
18
18
|
import {
|
|
19
19
|
REVIEW_TAB_TITLE,
|
|
20
20
|
applyWorktreePkgCacheEnv,
|
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
worktreeDevProcessKey,
|
|
54
54
|
worktreeRunProcessKey,
|
|
55
55
|
worktreeSetupProcessKey
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-OJKSDRZU.js";
|
|
57
57
|
import {
|
|
58
58
|
applyAgentEvent,
|
|
59
59
|
clipAgentEventForPaint,
|
|
@@ -100,7 +100,7 @@ import {
|
|
|
100
100
|
stageAbsolutePathsAsAttachments,
|
|
101
101
|
stageBuffersAsAttachments,
|
|
102
102
|
syncWorkspacesFromThreads
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-7SEWZXPT.js";
|
|
104
104
|
import {
|
|
105
105
|
addPrStackLayer,
|
|
106
106
|
allocateTeamSlug,
|
|
@@ -144,7 +144,7 @@ import {
|
|
|
144
144
|
resolveRepoRoot,
|
|
145
145
|
switchWorktreeBranch,
|
|
146
146
|
withRepoGitLock
|
|
147
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-KIWICTLW.js";
|
|
148
148
|
import {
|
|
149
149
|
agentNicknameFromWorktreePath,
|
|
150
150
|
appendMessage,
|
|
@@ -168,7 +168,11 @@ import {
|
|
|
168
168
|
worktreeNameFromPath,
|
|
169
169
|
worktreeSlugForTicket,
|
|
170
170
|
writeThread
|
|
171
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-WV33I2GC.js";
|
|
172
|
+
import {
|
|
173
|
+
mcpServerIdForPermission,
|
|
174
|
+
mcpServerPermissionUpdate
|
|
175
|
+
} from "./chunk-FO3NKZVJ.js";
|
|
172
176
|
import {
|
|
173
177
|
createAgentStreamCoalescer
|
|
174
178
|
} from "./chunk-AXQ4ZWHK.js";
|
|
@@ -453,9 +457,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
453
457
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
454
458
|
);
|
|
455
459
|
}
|
|
456
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
460
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-V6SOEETA.js");
|
|
457
461
|
if (isGlobalThread2(thread)) {
|
|
458
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
462
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-VOWUJRVJ.js");
|
|
459
463
|
ensureGlobalCoordinatorCwd2(
|
|
460
464
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
461
465
|
);
|
|
@@ -1507,6 +1511,7 @@ function denied(message) {
|
|
|
1507
1511
|
return { behavior: "deny", message, decisionClassification: "user_reject" };
|
|
1508
1512
|
}
|
|
1509
1513
|
function sessionGrants(item) {
|
|
1514
|
+
if (item.mcpServerId) return [mcpServerPermissionUpdate(item.mcpServerId)];
|
|
1510
1515
|
if (Array.isArray(item.suggestions) && item.suggestions.length > 0) {
|
|
1511
1516
|
return item.suggestions;
|
|
1512
1517
|
}
|
|
@@ -1565,12 +1570,16 @@ function askToolPermission(ask) {
|
|
|
1565
1570
|
const toolName = clean(ask.toolName);
|
|
1566
1571
|
if (!threadId || !toolName) return Promise.resolve(denied("Missing chat or tool."));
|
|
1567
1572
|
const described = describeToolPermission({ ...ask, threadId, toolName });
|
|
1573
|
+
const mcpServerId = mcpServerIdForPermission(toolName, ask.mcpServer) ?? void 0;
|
|
1568
1574
|
const prompt = {
|
|
1569
1575
|
id: randomUUID(),
|
|
1570
1576
|
title: described.title,
|
|
1571
1577
|
detail: described.detail,
|
|
1572
1578
|
path: described.path || void 0,
|
|
1573
|
-
|
|
1579
|
+
// Claude hides "always allow" when the saved rule would be broader than
|
|
1580
|
+
// this call. For MCP that broader rule is what we want: the whole server.
|
|
1581
|
+
allowSession: mcpServerId ? true : !ask.suppressAlwaysAllow,
|
|
1582
|
+
...mcpServerId ? { sessionLabel: "Allow this MCP" } : {},
|
|
1574
1583
|
defaultToNo: Boolean(ask.defaultToNo)
|
|
1575
1584
|
};
|
|
1576
1585
|
return new Promise((resolve) => {
|
|
@@ -1579,6 +1588,7 @@ function askToolPermission(ask) {
|
|
|
1579
1588
|
threadId,
|
|
1580
1589
|
prompt,
|
|
1581
1590
|
suggestions: ask.suggestions,
|
|
1591
|
+
mcpServerId,
|
|
1582
1592
|
resolve
|
|
1583
1593
|
};
|
|
1584
1594
|
const q = queues.get(threadId) ?? [];
|
|
@@ -2093,13 +2103,13 @@ function isClosedPrState(prUrl, prState) {
|
|
|
2093
2103
|
if (!prUrl?.trim()) return false;
|
|
2094
2104
|
return (prState ?? "").trim().toUpperCase() === "CLOSED";
|
|
2095
2105
|
}
|
|
2096
|
-
function listBadge(id, title,
|
|
2106
|
+
function listBadge(id, title, note) {
|
|
2097
2107
|
return {
|
|
2098
2108
|
id,
|
|
2099
2109
|
label: id,
|
|
2100
|
-
title:
|
|
2110
|
+
title: note ? `${title} \xB7 ${note}` : title,
|
|
2101
2111
|
mod: `is-${id}`,
|
|
2102
|
-
...
|
|
2112
|
+
...note ? { conflict: true } : {}
|
|
2103
2113
|
};
|
|
2104
2114
|
}
|
|
2105
2115
|
function hasMergeConflict(thread) {
|
|
@@ -2110,69 +2120,52 @@ function hasMergeConflict(thread) {
|
|
|
2110
2120
|
isInMergeQueue: thread.prIsInMergeQueue
|
|
2111
2121
|
}) === "conflicts";
|
|
2112
2122
|
}
|
|
2113
|
-
function
|
|
2123
|
+
function blockerNote(group) {
|
|
2114
2124
|
const open = group.filter(
|
|
2115
2125
|
(thread) => isOpenPrState(thread.prUrl, thread.prState) && !thread.prIsInMergeQueue
|
|
2116
2126
|
);
|
|
2127
|
+
const parts = [];
|
|
2117
2128
|
if (open.some(
|
|
2118
2129
|
(thread) => thread.prChecksFailed || mergeStateSuggestsCheckFailure({
|
|
2119
2130
|
mergeStateStatus: thread.prMergeStateStatus ?? null,
|
|
2120
2131
|
reviewDecision: thread.prReviewDecision ?? null
|
|
2121
2132
|
})
|
|
2122
2133
|
)) {
|
|
2123
|
-
|
|
2124
|
-
}
|
|
2125
|
-
if (open.some(
|
|
2134
|
+
parts.push("checks failing");
|
|
2135
|
+
} else if (open.some(
|
|
2126
2136
|
(thread) => !thread.prIsDraft && (thread.prReviewDecision ?? "").trim().toUpperCase() === "CHANGES_REQUESTED"
|
|
2127
2137
|
)) {
|
|
2128
|
-
|
|
2129
|
-
}
|
|
2130
|
-
return void 0;
|
|
2131
|
-
}
|
|
2132
|
-
function withPrError(badges, error, conflict) {
|
|
2133
|
-
if (!error) return badges;
|
|
2134
|
-
const [first] = badges;
|
|
2135
|
-
if (!first) {
|
|
2136
|
-
return [
|
|
2137
|
-
{
|
|
2138
|
-
id: "error",
|
|
2139
|
-
label: error.label,
|
|
2140
|
-
title: conflict ? `${error.title} \xB7 merge conflicts` : error.title,
|
|
2141
|
-
mod: "is-error",
|
|
2142
|
-
...conflict ? { conflict: true } : {}
|
|
2143
|
-
}
|
|
2144
|
-
];
|
|
2138
|
+
parts.push("changes requested");
|
|
2145
2139
|
}
|
|
2146
|
-
|
|
2140
|
+
if (open.some(hasMergeConflict)) parts.push("merge conflicts");
|
|
2141
|
+
return parts.length > 0 ? parts.join(" \xB7 ") : void 0;
|
|
2147
2142
|
}
|
|
2148
2143
|
function classifyWorktreeListBadges(group, viewerLogin = "", reviewLabel = "") {
|
|
2149
2144
|
if (group.length === 0 || group.some((t) => t.cowboy)) return [];
|
|
2150
2145
|
if (group.some((t) => isMergedPrState(t.prUrl, t.prState))) {
|
|
2151
2146
|
return [listBadge("merged", "Merged")];
|
|
2152
2147
|
}
|
|
2153
|
-
const
|
|
2154
|
-
const error = groupPrError(group);
|
|
2155
|
-
const finish2 = (badges) => withPrError(badges, error, conflict);
|
|
2148
|
+
const note = blockerNote(group);
|
|
2156
2149
|
if (group.some((t) => isApprovedOpenPr(t))) {
|
|
2157
|
-
return
|
|
2150
|
+
return [listBadge("approved", "Approved, not merged", note)];
|
|
2158
2151
|
}
|
|
2159
2152
|
const open = group.filter((t) => isOpenPrState(t.prUrl, t.prState));
|
|
2160
2153
|
if (open.length === 0) {
|
|
2161
2154
|
if (group.some((t) => isClosedPrState(t.prUrl, t.prState))) return [];
|
|
2162
|
-
return
|
|
2155
|
+
return [listBadge("new", "No pull request")];
|
|
2163
2156
|
}
|
|
2164
2157
|
const ownership = classifyWorktreeOwnership(group, viewerLogin);
|
|
2165
2158
|
if (ownership === "reviewing") {
|
|
2166
|
-
return
|
|
2159
|
+
return [listBadge("review", "Someone else's PR", note)];
|
|
2167
2160
|
}
|
|
2168
|
-
if (!normalizeViewerLogin(viewerLogin)) return
|
|
2161
|
+
if (!normalizeViewerLogin(viewerLogin)) return [];
|
|
2169
2162
|
if (!open.some((t) => !t.prIsDraft)) {
|
|
2170
|
-
return
|
|
2163
|
+
return [listBadge("draft", "Draft pull request", note)];
|
|
2171
2164
|
}
|
|
2172
2165
|
const readyLabel = reviewLabel.trim();
|
|
2173
2166
|
const inReview = readyLabel ? labelsInclude(groupPrLabels(group), readyLabel) : true;
|
|
2174
|
-
if (!inReview) return
|
|
2175
|
-
return
|
|
2167
|
+
if (!inReview) return [];
|
|
2168
|
+
return [listBadge("pending", "Waiting for review", note)];
|
|
2176
2169
|
}
|
|
2177
2170
|
|
|
2178
2171
|
// src/board/home-board.ts
|
|
@@ -2966,7 +2959,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2966
2959
|
return readThread(thread.id) ?? thread;
|
|
2967
2960
|
}
|
|
2968
2961
|
async function listLinearIssues(agent, repoPath) {
|
|
2969
|
-
const { getAdapter: getAdapter2 } = await import("./agents-
|
|
2962
|
+
const { getAdapter: getAdapter2 } = await import("./agents-V2SRC2LH.js");
|
|
2970
2963
|
await requireAgent(agent, { requireLinear: true });
|
|
2971
2964
|
const adapter = getAdapter2(agent);
|
|
2972
2965
|
if (!adapter.listLinearIssues) {
|
|
@@ -3742,7 +3735,7 @@ async function adoptThread(input) {
|
|
|
3742
3735
|
messages: input.messages ?? []
|
|
3743
3736
|
});
|
|
3744
3737
|
writeThread(thread);
|
|
3745
|
-
const { addWorkspace: addWorkspace2 } = await import("./workspaces-
|
|
3738
|
+
const { addWorkspace: addWorkspace2 } = await import("./workspaces-EWVIEJ4O.js");
|
|
3746
3739
|
await addWorkspace2(repoPath);
|
|
3747
3740
|
const { ensureWorktreeSideboardIgnored } = await import("./worktree-exclude-RXZPTCNH.js");
|
|
3748
3741
|
await ensureWorktreeSideboardIgnored(input.worktreePath);
|
|
@@ -6671,7 +6664,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
6671
6664
|
${prompt}`;
|
|
6672
6665
|
}
|
|
6673
6666
|
async function defaultDeps() {
|
|
6674
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
6667
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-JEF7JC3S.js");
|
|
6675
6668
|
const orch = getOrchestrator2();
|
|
6676
6669
|
return {
|
|
6677
6670
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -9546,7 +9539,7 @@ async function startOrchestration(opts) {
|
|
|
9546
9539
|
sourceRef: "default",
|
|
9547
9540
|
...createOpts
|
|
9548
9541
|
}).catch(async () => {
|
|
9549
|
-
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-
|
|
9542
|
+
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-2Q6J2VWZ.js");
|
|
9550
9543
|
const repo = await resolveRepoRoot2(repoPath);
|
|
9551
9544
|
const def = await resolveDefaultBranch2(repo);
|
|
9552
9545
|
return orch.createThread({
|
|
@@ -9556,7 +9549,7 @@ async function startOrchestration(opts) {
|
|
|
9556
9549
|
repoPath: repo
|
|
9557
9550
|
});
|
|
9558
9551
|
});
|
|
9559
|
-
const { updateThread: upd } = await import("./thread-store-
|
|
9552
|
+
const { updateThread: upd } = await import("./thread-store-POAYB2ID.js");
|
|
9560
9553
|
const updated = upd(thread.id, {
|
|
9561
9554
|
sourceType: "orchestration",
|
|
9562
9555
|
sourceRef: goal
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
ensureGhPreferOrigin,
|
|
6
6
|
resolveGithubRepoSlug,
|
|
7
7
|
resolveRepoRoot
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3XDU7RIE.js";
|
|
9
9
|
import {
|
|
10
10
|
ATTACHMENTS_DIR,
|
|
11
11
|
attachmentsGitignoreBody
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
teamSlugFromName,
|
|
32
32
|
updateThread,
|
|
33
33
|
writeThread
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-FBZODCO4.js";
|
|
35
35
|
import {
|
|
36
36
|
appDataDir,
|
|
37
37
|
globalAgentCwd,
|
|
@@ -8,11 +8,11 @@ import {
|
|
|
8
8
|
isGlobalThread,
|
|
9
9
|
isOrchestratorThread,
|
|
10
10
|
isSlackCoordinatorThread
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7SEWZXPT.js";
|
|
12
12
|
import {
|
|
13
13
|
mergeAgentGitAuthEnv,
|
|
14
14
|
resolveAgentGitAuthEnv
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KIWICTLW.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-WV33I2GC.js";
|
|
27
27
|
import {
|
|
28
28
|
ensureWorktreeSideboardIgnored
|
|
29
29
|
} from "./chunk-2P4XKWV2.js";
|
|
@@ -1776,7 +1776,7 @@ var PORT_RANGE_SIZE = 10;
|
|
|
1776
1776
|
var RECLAIM_RETRY_DELAY_MS = 40;
|
|
1777
1777
|
var RECLAIM_TRIES = 8;
|
|
1778
1778
|
async function killReclaimable(ports, worktreePath, signal) {
|
|
1779
|
-
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-
|
|
1779
|
+
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-57KZLWTB.js");
|
|
1780
1780
|
if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
|
|
1781
1781
|
else killListenersOnPorts2(ports);
|
|
1782
1782
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
sanitizeMcpServerName
|
|
3
|
+
} from "./chunk-FO3NKZVJ.js";
|
|
1
4
|
import {
|
|
2
5
|
cursorSdkStoreDir
|
|
3
6
|
} from "./chunk-UWQ6UCIB.js";
|
|
@@ -962,6 +965,15 @@ function resolveThreadEffort(raw) {
|
|
|
962
965
|
if (raw.fast) return "low";
|
|
963
966
|
return "high";
|
|
964
967
|
}
|
|
968
|
+
function normalizeApprovedMcpServers(raw) {
|
|
969
|
+
if (!Array.isArray(raw)) return void 0;
|
|
970
|
+
const ids = [
|
|
971
|
+
...new Set(
|
|
972
|
+
raw.map((value) => typeof value === "string" ? sanitizeMcpServerName(value.trim()) : "").filter(Boolean)
|
|
973
|
+
)
|
|
974
|
+
];
|
|
975
|
+
return ids.length > 0 ? ids : void 0;
|
|
976
|
+
}
|
|
965
977
|
function normalizeRunScriptRequest(raw) {
|
|
966
978
|
if (!raw || typeof raw !== "object") return void 0;
|
|
967
979
|
const req = raw;
|
|
@@ -987,6 +999,7 @@ function normalizeThread(raw) {
|
|
|
987
999
|
planMode: Boolean(raw.planMode),
|
|
988
1000
|
isolateCodexPlugins: raw.isolateCodexPlugins === true ? true : void 0,
|
|
989
1001
|
autonomy: raw.autonomy ?? "default",
|
|
1002
|
+
approvedMcpServers: normalizeApprovedMcpServers(raw.approvedMcpServers),
|
|
990
1003
|
lastError: raw.lastError ?? null,
|
|
991
1004
|
agentPid: raw.agentPid ?? null,
|
|
992
1005
|
attachments: Array.isArray(raw.attachments) ? raw.attachments : [],
|
|
@@ -31,12 +31,13 @@ import {
|
|
|
31
31
|
tryReservePort,
|
|
32
32
|
tryReservePorts,
|
|
33
33
|
worktreeRunPortsPath
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-OJKSDRZU.js";
|
|
35
35
|
import "./chunk-F36QRDM4.js";
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-7SEWZXPT.js";
|
|
37
|
+
import "./chunk-KIWICTLW.js";
|
|
38
|
+
import "./chunk-WV33I2GC.js";
|
|
39
39
|
import "./chunk-2P4XKWV2.js";
|
|
40
|
+
import "./chunk-FO3NKZVJ.js";
|
|
40
41
|
import "./chunk-HO5R3ZRH.js";
|
|
41
42
|
import "./chunk-6K64FJDD.js";
|
|
42
43
|
import "./chunk-UWQ6UCIB.js";
|
|
@@ -33,10 +33,10 @@ import {
|
|
|
33
33
|
tryReservePort,
|
|
34
34
|
tryReservePorts,
|
|
35
35
|
worktreeRunPortsPath
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-EP4IIKP4.js";
|
|
37
37
|
import "./chunk-5XQ43YZU.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-LZ744H2I.js";
|
|
39
|
+
import "./chunk-3XDU7RIE.js";
|
|
40
40
|
import "./chunk-N2WW62LF.js";
|
|
41
41
|
import "./chunk-DD67JWTN.js";
|
|
42
42
|
import "./chunk-2UG25RMK.js";
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
} from "./chunk-WWUABK6B.js";
|
|
48
48
|
import "./chunk-FJZWM2ON.js";
|
|
49
49
|
import "./chunk-UN5Q7POQ.js";
|
|
50
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-FBZODCO4.js";
|
|
51
51
|
import "./chunk-4RZRHTSZ.js";
|
|
52
52
|
import "./chunk-KGZBYWZ3.js";
|
|
53
53
|
import {
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
enrichWorkspacesWithGithub,
|
|
10
10
|
ensureGlobalCoordinatorCwd,
|
|
11
11
|
formatWorkspaceInventory
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-LZ744H2I.js";
|
|
13
|
+
import "./chunk-3XDU7RIE.js";
|
|
14
14
|
import "./chunk-N2WW62LF.js";
|
|
15
15
|
import "./chunk-DD67JWTN.js";
|
|
16
16
|
import "./chunk-2UG25RMK.js";
|
|
@@ -19,7 +19,7 @@ import "./chunk-NSTQ6QKD.js";
|
|
|
19
19
|
import "./chunk-WWUABK6B.js";
|
|
20
20
|
import "./chunk-FJZWM2ON.js";
|
|
21
21
|
import "./chunk-UN5Q7POQ.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-FBZODCO4.js";
|
|
23
23
|
import "./chunk-4RZRHTSZ.js";
|
|
24
24
|
import "./chunk-KGZBYWZ3.js";
|
|
25
25
|
import "./chunk-H5XL4KUS.js";
|
|
@@ -7,10 +7,11 @@ import {
|
|
|
7
7
|
enrichWorkspacesWithGithub,
|
|
8
8
|
ensureGlobalCoordinatorCwd,
|
|
9
9
|
formatWorkspaceInventory
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-7SEWZXPT.js";
|
|
11
|
+
import "./chunk-KIWICTLW.js";
|
|
12
|
+
import "./chunk-WV33I2GC.js";
|
|
13
13
|
import "./chunk-2P4XKWV2.js";
|
|
14
|
+
import "./chunk-FO3NKZVJ.js";
|
|
14
15
|
import "./chunk-6K64FJDD.js";
|
|
15
16
|
import "./chunk-UWQ6UCIB.js";
|
|
16
17
|
import "./chunk-QVN2WOKJ.js";
|
|
@@ -20,8 +20,8 @@ import {
|
|
|
20
20
|
remoteCoordinatorSourceRef,
|
|
21
21
|
slackCoordinatorSourceRef,
|
|
22
22
|
takenTeamSlugsForOrchestration
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-LZ744H2I.js";
|
|
24
|
+
import "./chunk-3XDU7RIE.js";
|
|
25
25
|
import "./chunk-N2WW62LF.js";
|
|
26
26
|
import "./chunk-DD67JWTN.js";
|
|
27
27
|
import "./chunk-2UG25RMK.js";
|
|
@@ -30,7 +30,7 @@ import "./chunk-NSTQ6QKD.js";
|
|
|
30
30
|
import "./chunk-WWUABK6B.js";
|
|
31
31
|
import "./chunk-FJZWM2ON.js";
|
|
32
32
|
import "./chunk-UN5Q7POQ.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-FBZODCO4.js";
|
|
34
34
|
import "./chunk-4RZRHTSZ.js";
|
|
35
35
|
import "./chunk-KGZBYWZ3.js";
|
|
36
36
|
import {
|
|
@@ -18,10 +18,11 @@ import {
|
|
|
18
18
|
remoteCoordinatorSourceRef,
|
|
19
19
|
slackCoordinatorSourceRef,
|
|
20
20
|
takenTeamSlugsForOrchestration
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-7SEWZXPT.js";
|
|
22
|
+
import "./chunk-KIWICTLW.js";
|
|
23
|
+
import "./chunk-WV33I2GC.js";
|
|
24
24
|
import "./chunk-2P4XKWV2.js";
|
|
25
|
+
import "./chunk-FO3NKZVJ.js";
|
|
25
26
|
import "./chunk-6K64FJDD.js";
|
|
26
27
|
import "./chunk-UWQ6UCIB.js";
|
|
27
28
|
import "./chunk-QVN2WOKJ.js";
|