@sideboard-ai/core 0.1.293 → 0.1.294
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-VFKYNSJT.js → abletime-APP3DZ4P.js} +4 -4
- package/dist/{abletime-4WJUVE64.js → abletime-RYDAQ3FE.js} +4 -4
- package/dist/{abletime-oauth-ICMB2XV2.js → abletime-oauth-KTERKARA.js} +3 -3
- package/dist/{abletime-oauth-FW24YHYX.js → abletime-oauth-ZURGXSY6.js} +3 -3
- package/dist/{abletime-rest-OGWC7BC6.js → abletime-rest-4TVIWLZK.js} +3 -3
- package/dist/{abletime-rest-HFMRTUDT.js → abletime-rest-EUB6RW7K.js} +3 -3
- package/dist/{agents-WT72O5A3.js → agents-2PDBDZPS.js} +5 -5
- package/dist/{agents-SITR5V6F.js → agents-73JXQXF2.js} +5 -5
- package/dist/{app-settings-EHMXHNG5.js → app-settings-2IH42VA5.js} +3 -1
- package/dist/{app-settings-MR2U6AXN.js → app-settings-3OQWRKOK.js} +3 -1
- package/dist/{chunk-3E4NOIXN.js → chunk-3D3GGL6X.js} +3 -3
- package/dist/{chunk-UO5C2L2G.js → chunk-6SGYGYH7.js} +1 -1
- package/dist/{chunk-NXXQFLNQ.js → chunk-B42H6GJR.js} +2 -2
- package/dist/{chunk-WRDKJRWF.js → chunk-BJUHZSZQ.js} +4 -4
- package/dist/{chunk-MVZO7QZ2.js → chunk-BU6HH5VA.js} +4 -0
- package/dist/{chunk-LSHGJI4S.js → chunk-BYAFYLLZ.js} +19 -19
- package/dist/{chunk-IP5WSADC.js → chunk-CECZUHA5.js} +18 -18
- package/dist/{chunk-PO3PDNMV.js → chunk-E7G7RY6T.js} +3 -3
- package/dist/{chunk-NFPWLDCH.js → chunk-FAXOEKQR.js} +5 -5
- package/dist/{chunk-GU6DT6NO.js → chunk-HSF2RQSQ.js} +5 -5
- package/dist/{chunk-OH4EN323.js → chunk-ISEYRGMP.js} +2 -2
- package/dist/{chunk-XZW3BXZW.js → chunk-JEYJGQ33.js} +17 -11
- package/dist/{chunk-MYJYINTS.js → chunk-LZVWKJXY.js} +3 -3
- package/dist/{chunk-Y67TBJD5.js → chunk-MOP5L5QZ.js} +3 -3
- package/dist/{chunk-AF2DMY3K.js → chunk-QDDTVIWE.js} +13 -4
- package/dist/{chunk-B3BPLPKQ.js → chunk-R3R3ZDFC.js} +2 -2
- package/dist/{chunk-36J3IZBS.js → chunk-RSATPXU4.js} +4 -0
- package/dist/{chunk-AHH5USEA.js → chunk-SSETL5EX.js} +2 -2
- package/dist/{chunk-RPCKGO3J.js → chunk-SVQTKVXH.js} +16 -11
- package/dist/{chunk-W2KZTDET.js → chunk-WZCPZVUC.js} +2 -2
- package/dist/{chunk-4BXRRHDC.js → chunk-XCXUVX7I.js} +12 -3
- package/dist/{chunk-ZRQWV3MS.js → chunk-YEIPPZ5W.js} +3 -3
- package/dist/{chunk-4YXXLWDI.js → chunk-YKO6HG74.js} +4 -4
- package/dist/{chunk-2VGLZIU6.js → chunk-ZEP6JIRF.js} +1 -1
- package/dist/{conductor-P7XPGYF4.js → conductor-7DEMFEIO.js} +4 -4
- package/dist/{conductor-MAYZSFL6.js → conductor-ZQZTYXSX.js} +4 -4
- package/dist/{coordinator-prompt-NAM5JHLT.js → coordinator-prompt-AROMFCP2.js} +3 -3
- package/dist/{coordinator-prompt-OZFKNCM3.js → coordinator-prompt-K6XHUG3N.js} +3 -3
- package/dist/{global-workspace-UGR6FQXI.js → global-workspace-4WAU4PAL.js} +3 -3
- package/dist/{global-workspace-CTFQDG7G.js → global-workspace-PX4GUVLW.js} +3 -3
- package/dist/index.cjs +33 -11
- package/dist/index.d.cts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +22 -17
- package/dist/mcp/run-stdio.cjs +29 -11
- package/dist/mcp/run-stdio.js +15 -13
- package/dist/{optional-cli-FRUZSZ3U.js → optional-cli-JQVNSMSU.js} +3 -3
- package/dist/{optional-cli-6SW4OOX3.js → optional-cli-PZXDOVJJ.js} +4 -4
- package/dist/{orchestrator-4QVF6CE2.js → orchestrator-LIEGSQ6M.js} +8 -8
- package/dist/{orchestrator-BOGVTCWI.js → orchestrator-YNEEEP6O.js} +8 -8
- package/dist/{workspaces-QNKFBA63.js → workspaces-MFU3IGAP.js} +3 -3
- package/dist/{workspaces-YNZXVBSF.js → workspaces-U7SSD27C.js} +3 -3
- package/dist/{worktree-EMCWDPZJ.js → worktree-2VSHRI72.js} +2 -2
- package/dist/{worktree-ERRH4TAG.js → worktree-TQKASYPZ.js} +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -186,7 +186,7 @@ import {
|
|
|
186
186
|
worktreeBoardStatus,
|
|
187
187
|
worktreeCleanupSettings,
|
|
188
188
|
writeWorktreeFile
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-BYAFYLLZ.js";
|
|
190
190
|
import {
|
|
191
191
|
LEGACY_PLAN_FILE_REL,
|
|
192
192
|
PLAN_FILE_NAME,
|
|
@@ -207,6 +207,7 @@ import {
|
|
|
207
207
|
BRIGHTSY_MCP_ALLOWED_TOOLS,
|
|
208
208
|
CLAUDE_CHROME_ALLOWED_TOOLS,
|
|
209
209
|
CLAUDE_MODEL_CATALOG,
|
|
210
|
+
CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS,
|
|
210
211
|
CLAUDE_PRINT_BG_WAIT_CEILING_MS,
|
|
211
212
|
MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS,
|
|
212
213
|
PLAN_MODE_INSTRUCTION,
|
|
@@ -281,7 +282,7 @@ import {
|
|
|
281
282
|
userMcpNamesToDisable,
|
|
282
283
|
worktreeMcpToolNames,
|
|
283
284
|
writeInjectedMcpConfig
|
|
284
|
-
} from "./chunk-
|
|
285
|
+
} from "./chunk-JEYJGQ33.js";
|
|
285
286
|
import {
|
|
286
287
|
brightsyMcpServerName,
|
|
287
288
|
connectBrightsyTeam,
|
|
@@ -409,7 +410,7 @@ import {
|
|
|
409
410
|
workspaceAgentChatSummaries,
|
|
410
411
|
worktreeRunPortsPath,
|
|
411
412
|
wrapReviewSkillMarkdown
|
|
412
|
-
} from "./chunk-
|
|
413
|
+
} from "./chunk-YKO6HG74.js";
|
|
413
414
|
import {
|
|
414
415
|
STDERR_EVENT_MAX_CHARS,
|
|
415
416
|
STDOUT_EVENT_MAX_CHARS,
|
|
@@ -475,7 +476,7 @@ import {
|
|
|
475
476
|
parseAbleTimeOAuthCallbackUrl,
|
|
476
477
|
resolveAbleTimeOAuthHost,
|
|
477
478
|
startAbleTimeOAuth
|
|
478
|
-
} from "./chunk-
|
|
479
|
+
} from "./chunk-3D3GGL6X.js";
|
|
479
480
|
import {
|
|
480
481
|
ableTimeDependencyTarget,
|
|
481
482
|
commentAbleTimeTask,
|
|
@@ -500,8 +501,8 @@ import {
|
|
|
500
501
|
toAbleTimeIssueInfo,
|
|
501
502
|
updateAbleTimeTask,
|
|
502
503
|
verifyAbleTimeConnection
|
|
503
|
-
} from "./chunk-
|
|
504
|
-
import "./chunk-
|
|
504
|
+
} from "./chunk-LZVWKJXY.js";
|
|
505
|
+
import "./chunk-R3R3ZDFC.js";
|
|
505
506
|
import {
|
|
506
507
|
ABLETIME_MCP_PATH,
|
|
507
508
|
ABLETIME_MCP_PM_PATH,
|
|
@@ -522,13 +523,13 @@ import {
|
|
|
522
523
|
normalizeAbleTimeCredential,
|
|
523
524
|
normalizeAbleTimeHost,
|
|
524
525
|
rewriteAbleTimeError
|
|
525
|
-
} from "./chunk-
|
|
526
|
+
} from "./chunk-FAXOEKQR.js";
|
|
526
527
|
import {
|
|
527
528
|
clearOptionalCliPresenceCache,
|
|
528
529
|
detectOptionalServiceClis,
|
|
529
530
|
installOptionalServiceCli,
|
|
530
531
|
optionalCliPresence
|
|
531
|
-
} from "./chunk-
|
|
532
|
+
} from "./chunk-ISEYRGMP.js";
|
|
532
533
|
import {
|
|
533
534
|
OPTIONAL_SERVICES,
|
|
534
535
|
OPTIONAL_SERVICE_IDS,
|
|
@@ -544,7 +545,7 @@ import {
|
|
|
544
545
|
optionalServiceConnected,
|
|
545
546
|
optionalServiceSpec,
|
|
546
547
|
verifyOptionalService
|
|
547
|
-
} from "./chunk-
|
|
548
|
+
} from "./chunk-QDDTVIWE.js";
|
|
548
549
|
import {
|
|
549
550
|
getAgentSetupInfo,
|
|
550
551
|
installAgent,
|
|
@@ -556,7 +557,7 @@ import {
|
|
|
556
557
|
prepareTerminalCommand,
|
|
557
558
|
resolveLoginCommand,
|
|
558
559
|
whichOnPath
|
|
559
|
-
} from "./chunk-
|
|
560
|
+
} from "./chunk-B42H6GJR.js";
|
|
560
561
|
import {
|
|
561
562
|
CLOUD_COORDINATOR_BUSY_REPLY,
|
|
562
563
|
CLOUD_COORDINATOR_CANCELED_REPLY,
|
|
@@ -609,7 +610,7 @@ import {
|
|
|
609
610
|
stageBuffersAsAttachments,
|
|
610
611
|
syncWorkspacesFromThreads,
|
|
611
612
|
takenTeamSlugsForOrchestration
|
|
612
|
-
} from "./chunk-
|
|
613
|
+
} from "./chunk-YEIPPZ5W.js";
|
|
613
614
|
import {
|
|
614
615
|
GITHUB_PR_BODY_MAX_CHARS,
|
|
615
616
|
GITHUB_PR_BODY_SAFE_CHARS,
|
|
@@ -697,7 +698,7 @@ import {
|
|
|
697
698
|
suggestSlug,
|
|
698
699
|
switchWorktreeBranch,
|
|
699
700
|
warmGithubAgentAuth
|
|
700
|
-
} from "./chunk-
|
|
701
|
+
} from "./chunk-ZEP6JIRF.js";
|
|
701
702
|
import {
|
|
702
703
|
FAMOUS_SOCCER_TEAMS,
|
|
703
704
|
allocateTeamName,
|
|
@@ -903,6 +904,7 @@ import {
|
|
|
903
904
|
isIssueSourceConnected,
|
|
904
905
|
isLinearConnected,
|
|
905
906
|
isOrchestratorCapableAgent,
|
|
907
|
+
isPosthogConnected,
|
|
906
908
|
isSecureFileEncrypted,
|
|
907
909
|
isUsageOnLimit,
|
|
908
910
|
issueSourceLabel,
|
|
@@ -965,7 +967,7 @@ import {
|
|
|
965
967
|
withTurnScopedCost,
|
|
966
968
|
writeSecureJson,
|
|
967
969
|
writeViewerContext
|
|
968
|
-
} from "./chunk-
|
|
970
|
+
} from "./chunk-RSATPXU4.js";
|
|
969
971
|
import {
|
|
970
972
|
THINKING_EFFORTS,
|
|
971
973
|
isThinkingEffort,
|
|
@@ -4810,6 +4812,7 @@ async function runPosthogApi(input) {
|
|
|
4810
4812
|
}
|
|
4811
4813
|
var POSTHOG_API_DESCRIPTION = "Call the connected PostHog project (Settings \u2192 Connectors). path must start with /api/ and is joined to the stored host. GET is the default. POST /api/projects/:id/query/ and POST /api/environments/:id/query/ are reads (HogQL and insights) and do not need write=true. Other POST and PATCH require write=true, and only when the user asked to change PostHog data. The API key is not in the environment. Do not sign in to a PostHog MCP.";
|
|
4812
4814
|
function registerPosthogTools(server) {
|
|
4815
|
+
if (!isPosthogConnected()) return;
|
|
4813
4816
|
server.tool(
|
|
4814
4817
|
"posthog_api",
|
|
4815
4818
|
POSTHOG_API_DESCRIPTION,
|
|
@@ -5127,7 +5130,7 @@ async function handleJobStop(params, _ctx) {
|
|
|
5127
5130
|
return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
|
|
5128
5131
|
}
|
|
5129
5132
|
async function defaultTurnWait(ref, timeoutMs) {
|
|
5130
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
5133
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-YNEEEP6O.js");
|
|
5131
5134
|
const orch = getOrchestrator2();
|
|
5132
5135
|
const thread = await orch.waitForTurn(ref, timeoutMs, {
|
|
5133
5136
|
resolveIfStillRunning: true
|
|
@@ -5479,7 +5482,7 @@ async function startMcpServer() {
|
|
|
5479
5482
|
);
|
|
5480
5483
|
}
|
|
5481
5484
|
try {
|
|
5482
|
-
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-
|
|
5485
|
+
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-3OQWRKOK.js");
|
|
5483
5486
|
orch.setMaxConcurrent(maxConcurrentAgents2());
|
|
5484
5487
|
} catch {
|
|
5485
5488
|
}
|
|
@@ -6002,7 +6005,7 @@ async function startMcpServer() {
|
|
|
6002
6005
|
if (!worktreeProfile) {
|
|
6003
6006
|
registerConnectedIssueVendorTools(server);
|
|
6004
6007
|
const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-DYJGWK6Y.js");
|
|
6005
|
-
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-
|
|
6008
|
+
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-3OQWRKOK.js");
|
|
6006
6009
|
const accountDefaults = resolveThreadDefaults2();
|
|
6007
6010
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
6008
6011
|
server.tool(
|
|
@@ -13240,7 +13243,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
13240
13243
|
await continueOnReply(threadId, prompt);
|
|
13241
13244
|
return;
|
|
13242
13245
|
}
|
|
13243
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
13246
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-YNEEEP6O.js");
|
|
13244
13247
|
await getOrchestrator2().send(threadId, prompt);
|
|
13245
13248
|
} catch {
|
|
13246
13249
|
}
|
|
@@ -13537,6 +13540,7 @@ export {
|
|
|
13537
13540
|
CHAT_TEXT_SCALE_DEFAULT,
|
|
13538
13541
|
CLAUDE_CHROME_ALLOWED_TOOLS,
|
|
13539
13542
|
CLAUDE_MODEL_CATALOG,
|
|
13543
|
+
CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS,
|
|
13540
13544
|
CLAUDE_PRINT_BG_WAIT_CEILING_MS,
|
|
13541
13545
|
CLAUDE_SUMMARY_TIMEOUT_MS,
|
|
13542
13546
|
CLI_DIR,
|
|
@@ -14093,6 +14097,7 @@ export {
|
|
|
14093
14097
|
isPlaceholderBranch,
|
|
14094
14098
|
isPlanQuestionAnswersMessage,
|
|
14095
14099
|
isPollWrapperToolName,
|
|
14100
|
+
isPosthogConnected,
|
|
14096
14101
|
isPrNotMergeableError,
|
|
14097
14102
|
isPresentPlanToolName,
|
|
14098
14103
|
isPrimaryCheckoutThread,
|
package/dist/mcp/run-stdio.cjs
CHANGED
|
@@ -4637,6 +4637,7 @@ __export(app_settings_exports, {
|
|
|
4637
4637
|
isChatTextScale: () => isChatTextScale,
|
|
4638
4638
|
isIssueSourceConnected: () => isIssueSourceConnected,
|
|
4639
4639
|
isLinearConnected: () => isLinearConnected,
|
|
4640
|
+
isPosthogConnected: () => isPosthogConnected,
|
|
4640
4641
|
isUsageOnLimit: () => isUsageOnLimit,
|
|
4641
4642
|
issueSourceLabel: () => issueSourceLabel,
|
|
4642
4643
|
loadAppSettings: () => loadAppSettings,
|
|
@@ -5841,6 +5842,9 @@ function disconnectLinearConnection() {
|
|
|
5841
5842
|
delete integrations.linearOrganizationName;
|
|
5842
5843
|
return saveAppSettings({ ...current, integrations });
|
|
5843
5844
|
}
|
|
5845
|
+
function isPosthogConnected(settings = loadAppSettings()) {
|
|
5846
|
+
return Boolean(settings.integrations.posthogPersonalApiKey?.trim());
|
|
5847
|
+
}
|
|
5844
5848
|
function isAbleTimeConnected(settings = loadAppSettings()) {
|
|
5845
5849
|
return Boolean(
|
|
5846
5850
|
settings.integrations.abletimeAccessToken?.trim() || settings.integrations.abletimeRefreshToken?.trim()
|
|
@@ -9941,7 +9945,7 @@ var init_coordinator_prompt = __esm({
|
|
|
9941
9945
|
"- linear_* (when Linear is connected) \u2014 list_teams for team key/states; linear_list_projects for project names; get/search include the project a ticket is on; get/create/update/comment with ENG-123. Worktree agents have the same Account tools \u2014 prefer they comment, update status, and create spin-offs (parent=) on their own ticket when they were asked to do the work. When reviewing a PR or ticket, do not comment or update until the user types a next step \u2014 they should work through the feedback in chat first. Do not tell the child to ask_user after the review. Scope errors: reconnect Linear in Account settings. Prefer these over any Linear MCP the CLI may still list.",
|
|
9942
9946
|
"- github_* \u2014 get/comment/update/create GitHub issues via Account `gh` (#123). github_list_projects and get/search include GitHub Projects. projectsError or a missing read:project scope \u2192 `gh auth refresh -s read:project`. Worktree agents have these too. Prefer over any vendor GitHub MCP. Pass parent= for spin-offs. When reviewing a PR or ticket, do not comment, submit `gh pr review`, or update the PR/ticket until the user types a next step.",
|
|
9943
9947
|
"- abletime_* (when AbleTime is connected) \u2014 orientation first; abletime_list_projects lists projects; get/list include the project a task is on; get/comment/update/create (parent= for spin-offs); ensure_task when work has no ticket (or create_workspace from the default branch auto-creates one). Worktree agents have the same Account tools. Same review-write gate as Linear/GitHub.",
|
|
9944
|
-
"- Optional connectors (Vercel, Supabase, Sentry) in Settings \u2192 Connectors inject tokens into worktree agent env when connected. Prefer official CLIs (`vercel`, `supabase`, `sentry-cli`). PostHog is the Sideboard tool `posthog_api` (GET by default; POST `/api/projects/:id/query/` or `/api/environments/:id/query/` is a read and does not need write=true; other POST and PATCH need write=true only when the user asked to change data). The PostHog key stays in the vault \u2014 do not read it from the environment. If a
|
|
9948
|
+
"- Optional connectors (Vercel, Supabase, Sentry) in Settings \u2192 Connectors inject tokens into worktree agent env when connected. Prefer official CLIs (`vercel`, `supabase`, `sentry-cli`). When Settings \u2192 Connectors has a PostHog personal API key, PostHog is the Sideboard tool `posthog_api` (GET by default; POST `/api/projects/:id/query/` or `/api/environments/:id/query/` is a read and does not need write=true; other POST and PATCH need write=true only when the user asked to change data). The PostHog key stays in the vault \u2014 do not read it from the environment, and do not sign in to a PostHog MCP. When no PostHog API key is set, leave the Claude PostHog connector alone. If a Vercel, Supabase, or Sentry MCP needsAuth or is unauthorized, do not sign in \u2014 use the native CLI. Tell any worktree agent (Claude / Cursor / Codex / OpenCode) to write CLI output to `.context/cli/` and read a slice. If a CLI is missing, the user presses Install CLI on that row. Do not add vendor MCPs. Git (`gh`) stays Settings \u2192 Git; issue tracking stays Settings \u2192 Issues. The phone remote is Settings \u2192 Remote \u2014 do not look up Slack users.",
|
|
9945
9949
|
"- get_pr_stack / open_pr_stack_layers / add_stack_layer / create_pr_stack \u2014 GitHub stacked PRs (`gh stack`); one worktree per layer",
|
|
9946
9950
|
"- list_models \u2014 only when you need a specific model (rare); otherwise omit model so Account defaults apply",
|
|
9947
9951
|
"- list_chats / get_chat \u2014 live thread list (parent id + last message preview). get_chat on this orchestration chat lists child worktree agents (status + lastText). blockedReason is why that agent is waiting on a person. Also includes usage / lastTurnUsage.",
|
|
@@ -11136,7 +11140,7 @@ function mcpAllowToolsFromNames(names) {
|
|
|
11136
11140
|
[...names].map((name) => name.trim()).filter(Boolean).map((name) => ({ name, connected: true, needsAuth: false }))
|
|
11137
11141
|
);
|
|
11138
11142
|
}
|
|
11139
|
-
var BASE_ALLOWED_TOOLS, CLAUDE_PRINT_BG_WAIT_CEILING_MS, CLAUDE_CHROME_ALLOWED_TOOLS;
|
|
11143
|
+
var BASE_ALLOWED_TOOLS, CLAUDE_PRINT_BG_WAIT_CEILING_MS, CLAUDE_CHROME_ALLOWED_TOOLS, CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS;
|
|
11140
11144
|
var init_claude_mcp = __esm({
|
|
11141
11145
|
"src/agents/claude-mcp.ts"() {
|
|
11142
11146
|
"use strict";
|
|
@@ -11163,6 +11167,10 @@ var init_claude_mcp = __esm({
|
|
|
11163
11167
|
"mcp__claude-in-chrome__*",
|
|
11164
11168
|
"Skill(claude-in-chrome)"
|
|
11165
11169
|
];
|
|
11170
|
+
CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS = [
|
|
11171
|
+
"mcp__claude_ai_PostHog",
|
|
11172
|
+
"mcp__claude_ai_PostHog__*"
|
|
11173
|
+
];
|
|
11166
11174
|
}
|
|
11167
11175
|
});
|
|
11168
11176
|
|
|
@@ -11510,11 +11518,9 @@ var init_node_launch = __esm({
|
|
|
11510
11518
|
|
|
11511
11519
|
// src/agents/injected-mcp.ts
|
|
11512
11520
|
function sideboardWorktreeAllowedTools(opts) {
|
|
11513
|
-
const out =
|
|
11514
|
-
|
|
11515
|
-
|
|
11516
|
-
if (idx >= 0) out.splice(idx, 1);
|
|
11517
|
-
}
|
|
11521
|
+
const out = SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS.filter(
|
|
11522
|
+
(tool) => (opts?.planMode || tool !== "mcp__sideboard__present_plan") && (opts?.posthog || tool !== "mcp__sideboard__posthog_api")
|
|
11523
|
+
);
|
|
11518
11524
|
if (opts?.github !== false) out.push(...SIDEBOARD_GITHUB_MCP_ALLOWED_TOOLS);
|
|
11519
11525
|
if (opts?.linear) out.push(...SIDEBOARD_LINEAR_MCP_ALLOWED_TOOLS);
|
|
11520
11526
|
if (opts?.abletime) out.push(...SIDEBOARD_ABLETIME_MCP_ALLOWED_TOOLS);
|
|
@@ -12742,9 +12748,11 @@ var init_claude = __esm({
|
|
|
12742
12748
|
github: true,
|
|
12743
12749
|
linear: isLinearConnected(),
|
|
12744
12750
|
abletime: isAbleTimeConnected(),
|
|
12745
|
-
planMode: thread.planMode
|
|
12751
|
+
planMode: thread.planMode,
|
|
12752
|
+
posthog: isPosthogConnected()
|
|
12746
12753
|
}),
|
|
12747
|
-
...brightsyMcpAllowedTools(injectedBrightsyNames)
|
|
12754
|
+
...brightsyMcpAllowedTools(injectedBrightsyNames),
|
|
12755
|
+
...isPosthogConnected() ? [] : CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS
|
|
12748
12756
|
];
|
|
12749
12757
|
}
|
|
12750
12758
|
if (chromeOn) {
|
|
@@ -24267,6 +24275,12 @@ function connectorDirectiveLine(spec, cli) {
|
|
|
24267
24275
|
}
|
|
24268
24276
|
return `- ${spec.label}: call \`posthog_api\`. Path must start with \`/api/\`. GET is the default. POST \`/api/projects/:id/query/\` or \`/api/environments/:id/query/\` is a read and does not need \`write=true\`. Other POST and PATCH require \`write=true\` only when the user asked to change data. Do not read the API key from the environment. Do not add a ${spec.label} MCP.`;
|
|
24269
24277
|
}
|
|
24278
|
+
function connectorAuthCaution(posthog, cliConnected) {
|
|
24279
|
+
const signIn = posthog ? "If a connector MCP is listed but needsAuth or returns unauthorized, do not sign in to that MCP." : "If a Vercel, Supabase, or Sentry MCP is listed but needsAuth or returns unauthorized, do not sign in to that MCP.";
|
|
24280
|
+
const token = cliConnected ? " CLI tokens are already in this process." : "";
|
|
24281
|
+
const key = posthog ? " Do not read a PostHog key from the environment." : "";
|
|
24282
|
+
return `${signIn}${token}${key}`;
|
|
24283
|
+
}
|
|
24270
24284
|
function connectorReminderBit(spec, cli) {
|
|
24271
24285
|
if (!spec.cli) return `${spec.label}: \`posthog_api\``;
|
|
24272
24286
|
const presence = cliPresencePhrase(spec, cli);
|
|
@@ -24276,10 +24290,11 @@ function formatOptionalServicesDirective(integrations, cli) {
|
|
|
24276
24290
|
const connected = connectedOptionalServices(integrations);
|
|
24277
24291
|
if (connected.length === 0) return null;
|
|
24278
24292
|
const cliConnected = connected.some((spec) => spec.cli);
|
|
24293
|
+
const posthog = connected.some((spec) => spec.id === "posthog");
|
|
24279
24294
|
const lines = [
|
|
24280
24295
|
cliConnected ? "Optional connectors (connected \u2014 CLI tokens are already in this process env):" : "Optional connectors (connected):",
|
|
24281
24296
|
...connected.map((spec) => connectorDirectiveLine(spec, cli)),
|
|
24282
|
-
|
|
24297
|
+
connectorAuthCaution(posthog, cliConnected),
|
|
24283
24298
|
"Do not add a vendor MCP. When a binary is missing, ask the user to press Install CLI in Settings \u2192 Connectors.",
|
|
24284
24299
|
"When you shell a connector CLI, write bulky output to `.context/cli/` and read a slice."
|
|
24285
24300
|
];
|
|
@@ -24290,7 +24305,9 @@ function formatOptionalServicesReminder(integrations, cli) {
|
|
|
24290
24305
|
if (connected.length === 0) return null;
|
|
24291
24306
|
const bits = connected.map((spec) => connectorReminderBit(spec, cli)).join(". ");
|
|
24292
24307
|
const tokenBit = connected.some((spec) => spec.cli) ? "CLI tokens are already in this process. " : "";
|
|
24293
|
-
|
|
24308
|
+
const posthog = connected.some((spec) => spec.id === "posthog");
|
|
24309
|
+
const auth = posthog ? "If a connector MCP needsAuth or is unauthorized, ignore it and use the CLI or `posthog_api`. Do not read a PostHog key from the environment." : "If a Vercel, Supabase, or Sentry MCP needsAuth or is unauthorized, ignore it and use the CLI.";
|
|
24310
|
+
return `Settings \u2192 Connectors: ${tokenBit}${bits}. ${auth} Do not add vendor MCPs. Shell dumps from those CLIs go in \`.context/cli/\` \u2014 read a slice.`;
|
|
24294
24311
|
}
|
|
24295
24312
|
async function connectedCliPresence(integrations) {
|
|
24296
24313
|
const ids = connectedOptionalServices(integrations).filter((spec) => spec.cli).map((spec) => spec.id);
|
|
@@ -31645,6 +31662,7 @@ async function runPosthogApi(input) {
|
|
|
31645
31662
|
}
|
|
31646
31663
|
var POSTHOG_API_DESCRIPTION = "Call the connected PostHog project (Settings \u2192 Connectors). path must start with /api/ and is joined to the stored host. GET is the default. POST /api/projects/:id/query/ and POST /api/environments/:id/query/ are reads (HogQL and insights) and do not need write=true. Other POST and PATCH require write=true, and only when the user asked to change PostHog data. The API key is not in the environment. Do not sign in to a PostHog MCP.";
|
|
31647
31664
|
function registerPosthogTools(server) {
|
|
31665
|
+
if (!isPosthogConnected()) return;
|
|
31648
31666
|
server.tool(
|
|
31649
31667
|
"posthog_api",
|
|
31650
31668
|
POSTHOG_API_DESCRIPTION,
|
package/dist/mcp/run-stdio.js
CHANGED
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
syncBoardPins,
|
|
51
51
|
updateSchedule,
|
|
52
52
|
workspaceTagTargetRef
|
|
53
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-CECZUHA5.js";
|
|
54
54
|
import "../chunk-LX5R5JOR.js";
|
|
55
55
|
import {
|
|
56
56
|
commentAbleTimeTask,
|
|
@@ -70,12 +70,12 @@ import {
|
|
|
70
70
|
searchAbleTimeTasks,
|
|
71
71
|
toAbleTimeIssueInfo,
|
|
72
72
|
updateAbleTimeTask
|
|
73
|
-
} from "../chunk-
|
|
74
|
-
import "../chunk-
|
|
75
|
-
import "../chunk-
|
|
73
|
+
} from "../chunk-MOP5L5QZ.js";
|
|
74
|
+
import "../chunk-SSETL5EX.js";
|
|
75
|
+
import "../chunk-HSF2RQSQ.js";
|
|
76
76
|
import {
|
|
77
77
|
normalizeServiceOrigin
|
|
78
|
-
} from "../chunk-
|
|
78
|
+
} from "../chunk-XCXUVX7I.js";
|
|
79
79
|
import {
|
|
80
80
|
PRESENT_PLAN_REQUIRES_PLAN_MODE,
|
|
81
81
|
PRESENT_PLAN_TOOL_DESCRIPTION,
|
|
@@ -93,8 +93,8 @@ import {
|
|
|
93
93
|
sideboardMcpProfile,
|
|
94
94
|
trustSystemCertificates,
|
|
95
95
|
worktreeMcpToolNames
|
|
96
|
-
} from "../chunk-
|
|
97
|
-
import "../chunk-
|
|
96
|
+
} from "../chunk-SVQTKVXH.js";
|
|
97
|
+
import "../chunk-WZCPZVUC.js";
|
|
98
98
|
import "../chunk-7IAMHN2N.js";
|
|
99
99
|
import "../chunk-PXMLMBMI.js";
|
|
100
100
|
import {
|
|
@@ -110,7 +110,7 @@ import {
|
|
|
110
110
|
waitForDetachedJob,
|
|
111
111
|
waitForTurnToolResult,
|
|
112
112
|
workspaceAgentChatSummaries
|
|
113
|
-
} from "../chunk-
|
|
113
|
+
} from "../chunk-BJUHZSZQ.js";
|
|
114
114
|
import {
|
|
115
115
|
clipToolResultForStore,
|
|
116
116
|
isInternalAgentStatusText,
|
|
@@ -119,7 +119,7 @@ import {
|
|
|
119
119
|
import {
|
|
120
120
|
GLOBAL_WORKSPACE_ID,
|
|
121
121
|
isCloudCoordinatorThread
|
|
122
|
-
} from "../chunk-
|
|
122
|
+
} from "../chunk-E7G7RY6T.js";
|
|
123
123
|
import {
|
|
124
124
|
canonicalizeRepoPath,
|
|
125
125
|
formatGhLandError,
|
|
@@ -130,7 +130,7 @@ import {
|
|
|
130
130
|
resolveListPrsOptions,
|
|
131
131
|
resolveRepoRoot,
|
|
132
132
|
warmGithubAgentAuth
|
|
133
|
-
} from "../chunk-
|
|
133
|
+
} from "../chunk-6SGYGYH7.js";
|
|
134
134
|
import {
|
|
135
135
|
CLI_DIR
|
|
136
136
|
} from "../chunk-N2WW62LF.js";
|
|
@@ -145,13 +145,14 @@ import {
|
|
|
145
145
|
formatWorkspaceProfileSuffix,
|
|
146
146
|
isAbleTimeConnected,
|
|
147
147
|
isLinearConnected,
|
|
148
|
+
isPosthogConnected,
|
|
148
149
|
loadAppSettings,
|
|
149
150
|
resolveEffectiveIssueSource,
|
|
150
151
|
resolveProjectReviewLabel,
|
|
151
152
|
resolveViewerProfile,
|
|
152
153
|
resolveViewerProfileForRepo,
|
|
153
154
|
saveLinearOAuth
|
|
154
|
-
} from "../chunk-
|
|
155
|
+
} from "../chunk-BU6HH5VA.js";
|
|
155
156
|
import "../chunk-NSTQ6QKD.js";
|
|
156
157
|
import {
|
|
157
158
|
dropNestedElectronEnvFromProcess
|
|
@@ -3315,6 +3316,7 @@ async function runPosthogApi(input) {
|
|
|
3315
3316
|
}
|
|
3316
3317
|
var POSTHOG_API_DESCRIPTION = "Call the connected PostHog project (Settings \u2192 Connectors). path must start with /api/ and is joined to the stored host. GET is the default. POST /api/projects/:id/query/ and POST /api/environments/:id/query/ are reads (HogQL and insights) and do not need write=true. Other POST and PATCH require write=true, and only when the user asked to change PostHog data. The API key is not in the environment. Do not sign in to a PostHog MCP.";
|
|
3317
3318
|
function registerPosthogTools(server) {
|
|
3319
|
+
if (!isPosthogConnected()) return;
|
|
3318
3320
|
server.tool(
|
|
3319
3321
|
"posthog_api",
|
|
3320
3322
|
POSTHOG_API_DESCRIPTION,
|
|
@@ -3828,7 +3830,7 @@ async function startMcpServer() {
|
|
|
3828
3830
|
);
|
|
3829
3831
|
}
|
|
3830
3832
|
try {
|
|
3831
|
-
const { maxConcurrentAgents } = await import("../app-settings-
|
|
3833
|
+
const { maxConcurrentAgents } = await import("../app-settings-2IH42VA5.js");
|
|
3832
3834
|
orch.setMaxConcurrent(maxConcurrentAgents());
|
|
3833
3835
|
} catch {
|
|
3834
3836
|
}
|
|
@@ -4351,7 +4353,7 @@ async function startMcpServer() {
|
|
|
4351
4353
|
if (!worktreeProfile) {
|
|
4352
4354
|
registerConnectedIssueVendorTools(server);
|
|
4353
4355
|
const { getCaffeinateHold, setCaffeinateHold } = await import("../caffeinate-hold-7JM5H5P3.js");
|
|
4354
|
-
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-
|
|
4356
|
+
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-2IH42VA5.js");
|
|
4355
4357
|
const accountDefaults = resolveThreadDefaults();
|
|
4356
4358
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
4357
4359
|
server.tool(
|
|
@@ -4,16 +4,16 @@ import {
|
|
|
4
4
|
OPTIONAL_SERVICES,
|
|
5
5
|
isOptionalServiceId,
|
|
6
6
|
optionalServiceSpec
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XCXUVX7I.js";
|
|
8
8
|
import {
|
|
9
9
|
installNpmGlobalPackage,
|
|
10
10
|
whichOnPath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WZCPZVUC.js";
|
|
12
12
|
import "./chunk-2GPQZZLY.js";
|
|
13
13
|
import {
|
|
14
14
|
enrichPathWithNpmGlobalBin
|
|
15
15
|
} from "./chunk-2UG25RMK.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-BU6HH5VA.js";
|
|
17
17
|
import "./chunk-NSTQ6QKD.js";
|
|
18
18
|
import "./chunk-WWUABK6B.js";
|
|
19
19
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
detectOptionalServiceClis,
|
|
4
4
|
installOptionalServiceCli,
|
|
5
5
|
optionalCliPresence
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-ISEYRGMP.js";
|
|
7
|
+
import "./chunk-QDDTVIWE.js";
|
|
8
|
+
import "./chunk-B42H6GJR.js";
|
|
9
9
|
import "./chunk-JAT3JFOS.js";
|
|
10
10
|
import "./chunk-QVN2WOKJ.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-RSATPXU4.js";
|
|
12
12
|
import "./chunk-77WWLBCI.js";
|
|
13
13
|
import "./chunk-4TR3HZFT.js";
|
|
14
14
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -11,24 +11,24 @@ import {
|
|
|
11
11
|
resolveSendFollowUp,
|
|
12
12
|
startOrchestration,
|
|
13
13
|
waitForPidExit
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CECZUHA5.js";
|
|
15
15
|
import "./chunk-LX5R5JOR.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-XCXUVX7I.js";
|
|
17
17
|
import "./chunk-4GK32AYX.js";
|
|
18
18
|
import "./chunk-5DZUWGKV.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-SVQTKVXH.js";
|
|
20
|
+
import "./chunk-WZCPZVUC.js";
|
|
21
21
|
import "./chunk-7IAMHN2N.js";
|
|
22
22
|
import "./chunk-PXMLMBMI.js";
|
|
23
23
|
import "./chunk-2GPQZZLY.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-BJUHZSZQ.js";
|
|
25
25
|
import "./chunk-AFLNFGGB.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-E7G7RY6T.js";
|
|
27
|
+
import "./chunk-6SGYGYH7.js";
|
|
28
28
|
import "./chunk-N2WW62LF.js";
|
|
29
29
|
import "./chunk-DD67JWTN.js";
|
|
30
30
|
import "./chunk-2UG25RMK.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-BU6HH5VA.js";
|
|
32
32
|
import "./chunk-NSTQ6QKD.js";
|
|
33
33
|
import "./chunk-WWUABK6B.js";
|
|
34
34
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -9,17 +9,17 @@ import {
|
|
|
9
9
|
resolveSendFollowUp,
|
|
10
10
|
startOrchestration,
|
|
11
11
|
waitForPidExit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BYAFYLLZ.js";
|
|
13
13
|
import "./chunk-PGPSIEMW.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JEYJGQ33.js";
|
|
15
15
|
import "./chunk-VGNLMGBK.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-YKO6HG74.js";
|
|
17
17
|
import "./chunk-YSLCWCMJ.js";
|
|
18
18
|
import "./chunk-7H655NEW.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-QDDTVIWE.js";
|
|
20
|
+
import "./chunk-B42H6GJR.js";
|
|
21
|
+
import "./chunk-YEIPPZ5W.js";
|
|
22
|
+
import "./chunk-ZEP6JIRF.js";
|
|
23
23
|
import "./chunk-QB5MDOHL.js";
|
|
24
24
|
import "./chunk-2P4XKWV2.js";
|
|
25
25
|
import "./chunk-33KDPEK4.js";
|
|
@@ -31,7 +31,7 @@ import "./chunk-6K64FJDD.js";
|
|
|
31
31
|
import "./chunk-UWQ6UCIB.js";
|
|
32
32
|
import "./chunk-QVN2WOKJ.js";
|
|
33
33
|
import "./chunk-NYBFYFK7.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-RSATPXU4.js";
|
|
35
35
|
import "./chunk-77WWLBCI.js";
|
|
36
36
|
import "./chunk-4TR3HZFT.js";
|
|
37
37
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -11,12 +11,12 @@ import {
|
|
|
11
11
|
removeWorkspace,
|
|
12
12
|
sameWorkspacePath,
|
|
13
13
|
syncWorkspacesFromThreads
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-E7G7RY6T.js";
|
|
15
|
+
import "./chunk-6SGYGYH7.js";
|
|
16
16
|
import "./chunk-N2WW62LF.js";
|
|
17
17
|
import "./chunk-DD67JWTN.js";
|
|
18
18
|
import "./chunk-2UG25RMK.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-BU6HH5VA.js";
|
|
20
20
|
import "./chunk-NSTQ6QKD.js";
|
|
21
21
|
import "./chunk-WWUABK6B.js";
|
|
22
22
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
removeWorkspace,
|
|
10
10
|
sameWorkspacePath,
|
|
11
11
|
syncWorkspacesFromThreads
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-YEIPPZ5W.js";
|
|
13
|
+
import "./chunk-ZEP6JIRF.js";
|
|
14
14
|
import "./chunk-QB5MDOHL.js";
|
|
15
15
|
import "./chunk-2P4XKWV2.js";
|
|
16
16
|
import "./chunk-6K64FJDD.js";
|
|
17
17
|
import "./chunk-UWQ6UCIB.js";
|
|
18
18
|
import "./chunk-QVN2WOKJ.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-RSATPXU4.js";
|
|
20
20
|
import "./chunk-77WWLBCI.js";
|
|
21
21
|
import "./chunk-4TR3HZFT.js";
|
|
22
22
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -50,11 +50,11 @@ import {
|
|
|
50
50
|
slugify,
|
|
51
51
|
suggestSlug,
|
|
52
52
|
switchWorktreeBranch
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-6SGYGYH7.js";
|
|
54
54
|
import "./chunk-N2WW62LF.js";
|
|
55
55
|
import "./chunk-DD67JWTN.js";
|
|
56
56
|
import "./chunk-2UG25RMK.js";
|
|
57
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-BU6HH5VA.js";
|
|
58
58
|
import "./chunk-NSTQ6QKD.js";
|
|
59
59
|
import "./chunk-WWUABK6B.js";
|
|
60
60
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
slugify,
|
|
49
49
|
suggestSlug,
|
|
50
50
|
switchWorktreeBranch
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-ZEP6JIRF.js";
|
|
52
52
|
import {
|
|
53
53
|
FAMOUS_SOCCER_TEAMS,
|
|
54
54
|
allocateTeamName,
|
|
@@ -69,7 +69,7 @@ import "./chunk-2P4XKWV2.js";
|
|
|
69
69
|
import "./chunk-6K64FJDD.js";
|
|
70
70
|
import "./chunk-UWQ6UCIB.js";
|
|
71
71
|
import "./chunk-QVN2WOKJ.js";
|
|
72
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-RSATPXU4.js";
|
|
73
73
|
import "./chunk-77WWLBCI.js";
|
|
74
74
|
import "./chunk-4TR3HZFT.js";
|
|
75
75
|
import "./chunk-WDRMZKVB.js";
|