@sideboard-ai/core 0.1.293 → 0.1.295
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/cursor-runner.cjs +128 -50
- package/dist/agents/cursor-runner.js +62 -43
- package/dist/{agents-SITR5V6F.js → agents-EFHYZUZT.js} +8 -8
- package/dist/{agents-WT72O5A3.js → agents-S55DBAVO.js} +6 -6
- 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-RPCKGO3J.js → chunk-ABLHTRRG.js} +17 -12
- package/dist/{chunk-NXXQFLNQ.js → chunk-B42H6GJR.js} +2 -2
- package/dist/{chunk-MVZO7QZ2.js → chunk-BU6HH5VA.js} +4 -0
- package/dist/{chunk-PO3PDNMV.js → chunk-E7G7RY6T.js} +3 -3
- package/dist/{chunk-AFLNFGGB.js → chunk-ED4ZXQVO.js} +1 -0
- package/dist/{chunk-K6IOJI3L.js → chunk-ER6BGGME.js} +70 -1
- package/dist/{chunk-NFPWLDCH.js → chunk-FAXOEKQR.js} +5 -5
- package/dist/{chunk-MIVX7QKI.js → chunk-HO5R3ZRH.js} +1 -0
- package/dist/{chunk-GU6DT6NO.js → chunk-HSF2RQSQ.js} +5 -5
- package/dist/{chunk-WRDKJRWF.js → chunk-HWIIRVYE.js} +5 -5
- package/dist/{chunk-7UUILVMV.js → chunk-IOY2LF3Y.js} +1 -1
- package/dist/{chunk-OH4EN323.js → chunk-ISEYRGMP.js} +2 -2
- package/dist/{chunk-4YXXLWDI.js → chunk-KCP6IVRI.js} +6 -6
- package/dist/{chunk-MYJYINTS.js → chunk-LZVWKJXY.js} +3 -3
- package/dist/{chunk-Y67TBJD5.js → chunk-MOP5L5QZ.js} +3 -3
- package/dist/{chunk-YSLCWCMJ.js → chunk-Q3DPZ4DE.js} +1 -1
- 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-XZW3BXZW.js → chunk-RWIYYFID.js} +20 -14
- package/dist/{chunk-AHH5USEA.js → chunk-SSETL5EX.js} +2 -2
- package/dist/{chunk-W2KZTDET.js → chunk-WZCPZVUC.js} +2 -2
- package/dist/{chunk-4BXRRHDC.js → chunk-XCXUVX7I.js} +12 -3
- package/dist/{chunk-LSHGJI4S.js → chunk-XXT3C2EF.js} +22 -22
- package/dist/{chunk-ZRQWV3MS.js → chunk-YEIPPZ5W.js} +3 -3
- package/dist/{chunk-IP5WSADC.js → chunk-YFKAC4LB.js} +19 -19
- package/dist/{chunk-2VGLZIU6.js → chunk-ZEP6JIRF.js} +1 -1
- package/dist/{conductor-P7XPGYF4.js → conductor-GURU5XD7.js} +5 -5
- package/dist/{conductor-MAYZSFL6.js → conductor-HT2UANDY.js} +6 -6
- 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 +58 -13
- package/dist/index.d.cts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +40 -24
- package/dist/mcp/run-stdio.cjs +78 -37
- package/dist/mcp/run-stdio.js +39 -16
- 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-BOGVTCWI.js → orchestrator-VDYZSZWY.js} +11 -11
- package/dist/{orchestrator-4QVF6CE2.js → orchestrator-VNSEXL62.js} +9 -9
- 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-XXT3C2EF.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-RWIYYFID.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-KCP6IVRI.js";
|
|
413
414
|
import {
|
|
414
415
|
STDERR_EVENT_MAX_CHARS,
|
|
415
416
|
STDOUT_EVENT_MAX_CHARS,
|
|
@@ -451,7 +452,7 @@ import {
|
|
|
451
452
|
visibleToolRowDetail,
|
|
452
453
|
withEventParentId,
|
|
453
454
|
withEventsParentId
|
|
454
|
-
} from "./chunk-
|
|
455
|
+
} from "./chunk-Q3DPZ4DE.js";
|
|
455
456
|
import "./chunk-7H655NEW.js";
|
|
456
457
|
import {
|
|
457
458
|
ABLETIME_OAUTH_CALLBACK_PATH,
|
|
@@ -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,
|
|
@@ -751,8 +752,9 @@ import {
|
|
|
751
752
|
setHttpFetchImpl
|
|
752
753
|
} from "./chunk-JAT3JFOS.js";
|
|
753
754
|
import {
|
|
754
|
-
clipMcpToolResult
|
|
755
|
-
|
|
755
|
+
clipMcpToolResult,
|
|
756
|
+
cursorToolErrorText
|
|
757
|
+
} from "./chunk-ER6BGGME.js";
|
|
756
758
|
import "./chunk-AXQ4ZWHK.js";
|
|
757
759
|
import {
|
|
758
760
|
AGENT_RUNNER_MAX_OLD_SPACE_MB,
|
|
@@ -768,8 +770,8 @@ import {
|
|
|
768
770
|
trustSystemCertificates,
|
|
769
771
|
turnCostUsdFromCursorUsage,
|
|
770
772
|
withMaxOldSpaceSize
|
|
771
|
-
} from "./chunk-
|
|
772
|
-
import "./chunk-
|
|
773
|
+
} from "./chunk-IOY2LF3Y.js";
|
|
774
|
+
import "./chunk-HO5R3ZRH.js";
|
|
773
775
|
import {
|
|
774
776
|
ATTACHMENTS_DIR,
|
|
775
777
|
CLI_DIR,
|
|
@@ -903,6 +905,7 @@ import {
|
|
|
903
905
|
isIssueSourceConnected,
|
|
904
906
|
isLinearConnected,
|
|
905
907
|
isOrchestratorCapableAgent,
|
|
908
|
+
isPosthogConnected,
|
|
906
909
|
isSecureFileEncrypted,
|
|
907
910
|
isUsageOnLimit,
|
|
908
911
|
issueSourceLabel,
|
|
@@ -965,7 +968,7 @@ import {
|
|
|
965
968
|
withTurnScopedCost,
|
|
966
969
|
writeSecureJson,
|
|
967
970
|
writeViewerContext
|
|
968
|
-
} from "./chunk-
|
|
971
|
+
} from "./chunk-RSATPXU4.js";
|
|
969
972
|
import {
|
|
970
973
|
THINKING_EFFORTS,
|
|
971
974
|
isThinkingEffort,
|
|
@@ -3594,8 +3597,18 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
3594
3597
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3595
3598
|
function wrapToolCallback(fn, cwd) {
|
|
3596
3599
|
return async (...args) => {
|
|
3597
|
-
|
|
3598
|
-
|
|
3600
|
+
try {
|
|
3601
|
+
const result = await fn(...args);
|
|
3602
|
+
return clipMcpToolResult(
|
|
3603
|
+
result,
|
|
3604
|
+
cwd()
|
|
3605
|
+
);
|
|
3606
|
+
} catch (err) {
|
|
3607
|
+
return {
|
|
3608
|
+
isError: true,
|
|
3609
|
+
content: [{ type: "text", text: cursorToolErrorText(err) }]
|
|
3610
|
+
};
|
|
3611
|
+
}
|
|
3599
3612
|
};
|
|
3600
3613
|
}
|
|
3601
3614
|
function wrapRegistrar(orig, cwd) {
|
|
@@ -4810,6 +4823,7 @@ async function runPosthogApi(input) {
|
|
|
4810
4823
|
}
|
|
4811
4824
|
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
4825
|
function registerPosthogTools(server) {
|
|
4826
|
+
if (!isPosthogConnected()) return;
|
|
4813
4827
|
server.tool(
|
|
4814
4828
|
"posthog_api",
|
|
4815
4829
|
POSTHOG_API_DESCRIPTION,
|
|
@@ -5127,7 +5141,7 @@ async function handleJobStop(params, _ctx) {
|
|
|
5127
5141
|
return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
|
|
5128
5142
|
}
|
|
5129
5143
|
async function defaultTurnWait(ref, timeoutMs) {
|
|
5130
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
5144
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-VDYZSZWY.js");
|
|
5131
5145
|
const orch = getOrchestrator2();
|
|
5132
5146
|
const thread = await orch.waitForTurn(ref, timeoutMs, {
|
|
5133
5147
|
resolveIfStillRunning: true
|
|
@@ -5479,7 +5493,7 @@ async function startMcpServer() {
|
|
|
5479
5493
|
);
|
|
5480
5494
|
}
|
|
5481
5495
|
try {
|
|
5482
|
-
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-
|
|
5496
|
+
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-3OQWRKOK.js");
|
|
5483
5497
|
orch.setMaxConcurrent(maxConcurrentAgents2());
|
|
5484
5498
|
} catch {
|
|
5485
5499
|
}
|
|
@@ -6002,7 +6016,7 @@ async function startMcpServer() {
|
|
|
6002
6016
|
if (!worktreeProfile) {
|
|
6003
6017
|
registerConnectedIssueVendorTools(server);
|
|
6004
6018
|
const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-DYJGWK6Y.js");
|
|
6005
|
-
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-
|
|
6019
|
+
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-3OQWRKOK.js");
|
|
6006
6020
|
const accountDefaults = resolveThreadDefaults2();
|
|
6007
6021
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
6008
6022
|
server.tool(
|
|
@@ -13240,7 +13254,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
13240
13254
|
await continueOnReply(threadId, prompt);
|
|
13241
13255
|
return;
|
|
13242
13256
|
}
|
|
13243
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
13257
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-VDYZSZWY.js");
|
|
13244
13258
|
await getOrchestrator2().send(threadId, prompt);
|
|
13245
13259
|
} catch {
|
|
13246
13260
|
}
|
|
@@ -13537,6 +13551,7 @@ export {
|
|
|
13537
13551
|
CHAT_TEXT_SCALE_DEFAULT,
|
|
13538
13552
|
CLAUDE_CHROME_ALLOWED_TOOLS,
|
|
13539
13553
|
CLAUDE_MODEL_CATALOG,
|
|
13554
|
+
CLAUDE_POSTHOG_CONNECTOR_ALLOWED_TOOLS,
|
|
13540
13555
|
CLAUDE_PRINT_BG_WAIT_CEILING_MS,
|
|
13541
13556
|
CLAUDE_SUMMARY_TIMEOUT_MS,
|
|
13542
13557
|
CLI_DIR,
|
|
@@ -14093,6 +14108,7 @@ export {
|
|
|
14093
14108
|
isPlaceholderBranch,
|
|
14094
14109
|
isPlanQuestionAnswersMessage,
|
|
14095
14110
|
isPollWrapperToolName,
|
|
14111
|
+
isPosthogConnected,
|
|
14096
14112
|
isPrNotMergeableError,
|
|
14097
14113
|
isPresentPlanToolName,
|
|
14098
14114
|
isPrimaryCheckoutThread,
|
package/dist/mcp/run-stdio.cjs
CHANGED
|
@@ -776,30 +776,6 @@ var init_system_ca = __esm({
|
|
|
776
776
|
}
|
|
777
777
|
});
|
|
778
778
|
|
|
779
|
-
// src/paths/workspace-scratch.ts
|
|
780
|
-
function attachmentsGitignoreBody() {
|
|
781
|
-
return ATTACHMENTS_GITIGNORE;
|
|
782
|
-
}
|
|
783
|
-
function isWorkspaceScratchPath(relativePath) {
|
|
784
|
-
const p = relativePath.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/$/, "");
|
|
785
|
-
return p === ATTACHMENTS_DIR || p.startsWith(`${ATTACHMENTS_DIR}/`) || p === CLI_DIR || p.startsWith(`${CLI_DIR}/`) || p === LEGACY_ATTACHMENTS_DIR || p.startsWith(`${LEGACY_ATTACHMENTS_DIR}/`) || p === ".sideboard" || p.startsWith(".sideboard/") || p === ".context" || p.startsWith(".context/");
|
|
786
|
-
}
|
|
787
|
-
var ATTACHMENTS_DIR, CLI_DIR, DETACHED_JOBS_DIR, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, ATTACHMENTS_GITIGNORE;
|
|
788
|
-
var init_workspace_scratch = __esm({
|
|
789
|
-
"src/paths/workspace-scratch.ts"() {
|
|
790
|
-
"use strict";
|
|
791
|
-
ATTACHMENTS_DIR = ".context/attachments";
|
|
792
|
-
CLI_DIR = ".context/cli";
|
|
793
|
-
DETACHED_JOBS_DIR = ".context/.sideboard/detached-jobs";
|
|
794
|
-
LEGACY_ATTACHMENTS_DIR = ".sideboard/attachments";
|
|
795
|
-
LEGACY_DETACHED_JOBS_DIR = ".sideboard/detached-jobs";
|
|
796
|
-
ATTACHMENTS_GITIGNORE = `# Sideboard / workspace attachments (local only)
|
|
797
|
-
*
|
|
798
|
-
!.gitignore
|
|
799
|
-
`;
|
|
800
|
-
}
|
|
801
|
-
});
|
|
802
|
-
|
|
803
779
|
// src/agents/cursor-stream-cutoff.ts
|
|
804
780
|
function looksLikeCursorStreamCutOff(text7) {
|
|
805
781
|
return CURSOR_STREAM_CUTOFF.test(text7.trim());
|
|
@@ -1200,6 +1176,30 @@ var init_error_detail = __esm({
|
|
|
1200
1176
|
}
|
|
1201
1177
|
});
|
|
1202
1178
|
|
|
1179
|
+
// src/paths/workspace-scratch.ts
|
|
1180
|
+
function attachmentsGitignoreBody() {
|
|
1181
|
+
return ATTACHMENTS_GITIGNORE;
|
|
1182
|
+
}
|
|
1183
|
+
function isWorkspaceScratchPath(relativePath) {
|
|
1184
|
+
const p = relativePath.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/$/, "");
|
|
1185
|
+
return p === ATTACHMENTS_DIR || p.startsWith(`${ATTACHMENTS_DIR}/`) || p === CLI_DIR || p.startsWith(`${CLI_DIR}/`) || p === LEGACY_ATTACHMENTS_DIR || p.startsWith(`${LEGACY_ATTACHMENTS_DIR}/`) || p === ".sideboard" || p.startsWith(".sideboard/") || p === ".context" || p.startsWith(".context/");
|
|
1186
|
+
}
|
|
1187
|
+
var ATTACHMENTS_DIR, CLI_DIR, DETACHED_JOBS_DIR, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, ATTACHMENTS_GITIGNORE;
|
|
1188
|
+
var init_workspace_scratch = __esm({
|
|
1189
|
+
"src/paths/workspace-scratch.ts"() {
|
|
1190
|
+
"use strict";
|
|
1191
|
+
ATTACHMENTS_DIR = ".context/attachments";
|
|
1192
|
+
CLI_DIR = ".context/cli";
|
|
1193
|
+
DETACHED_JOBS_DIR = ".context/.sideboard/detached-jobs";
|
|
1194
|
+
LEGACY_ATTACHMENTS_DIR = ".sideboard/attachments";
|
|
1195
|
+
LEGACY_DETACHED_JOBS_DIR = ".sideboard/detached-jobs";
|
|
1196
|
+
ATTACHMENTS_GITIGNORE = `# Sideboard / workspace attachments (local only)
|
|
1197
|
+
*
|
|
1198
|
+
!.gitignore
|
|
1199
|
+
`;
|
|
1200
|
+
}
|
|
1201
|
+
});
|
|
1202
|
+
|
|
1203
1203
|
// src/agents/message-parts.ts
|
|
1204
1204
|
function asRecord(input) {
|
|
1205
1205
|
if (input && typeof input === "object" && !Array.isArray(input)) {
|
|
@@ -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);
|
|
@@ -28423,6 +28440,10 @@ var import_stdio = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
|
28423
28440
|
// src/mcp/wrap-mcp-tools.ts
|
|
28424
28441
|
var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
28425
28442
|
|
|
28443
|
+
// src/agents/cursor-tool-guard.ts
|
|
28444
|
+
init_error_detail();
|
|
28445
|
+
init_cursor_stream_cutoff();
|
|
28446
|
+
|
|
28426
28447
|
// src/agents/tool-result-clip.ts
|
|
28427
28448
|
var import_node_fs7 = require("fs");
|
|
28428
28449
|
var import_node_path8 = require("path");
|
|
@@ -28471,11 +28492,30 @@ function clipMcpToolResult(result, cwd) {
|
|
|
28471
28492
|
};
|
|
28472
28493
|
}
|
|
28473
28494
|
|
|
28495
|
+
// src/agents/cursor-tool-guard.ts
|
|
28496
|
+
var CURSOR_TOOL_RECOVERY_HINT = "Continue with a smaller request. If you were reading a large file or API payload, pass offset and limit or write the output to .context/cli/ and read a slice. Do not retry the same call.";
|
|
28497
|
+
function cursorToolErrorText(err) {
|
|
28498
|
+
const raw = formatUnknownDetail(err).replace(/\s+/g, " ").trim();
|
|
28499
|
+
const message = looksLikeHugeToolResultDump(raw) ? HUGE_TOOL_RESULT_SUMMARY : (raw || "unknown tool error").slice(0, 500);
|
|
28500
|
+
return `Error: ${message}
|
|
28501
|
+
${CURSOR_TOOL_RECOVERY_HINT}`;
|
|
28502
|
+
}
|
|
28503
|
+
|
|
28474
28504
|
// src/mcp/wrap-mcp-tools.ts
|
|
28475
28505
|
function wrapToolCallback(fn, cwd) {
|
|
28476
28506
|
return async (...args) => {
|
|
28477
|
-
|
|
28478
|
-
|
|
28507
|
+
try {
|
|
28508
|
+
const result = await fn(...args);
|
|
28509
|
+
return clipMcpToolResult(
|
|
28510
|
+
result,
|
|
28511
|
+
cwd()
|
|
28512
|
+
);
|
|
28513
|
+
} catch (err) {
|
|
28514
|
+
return {
|
|
28515
|
+
isError: true,
|
|
28516
|
+
content: [{ type: "text", text: cursorToolErrorText(err) }]
|
|
28517
|
+
};
|
|
28518
|
+
}
|
|
28479
28519
|
};
|
|
28480
28520
|
}
|
|
28481
28521
|
function wrapRegistrar(orig, cwd) {
|
|
@@ -31645,6 +31685,7 @@ async function runPosthogApi(input) {
|
|
|
31645
31685
|
}
|
|
31646
31686
|
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
31687
|
function registerPosthogTools(server) {
|
|
31688
|
+
if (!isPosthogConnected()) return;
|
|
31648
31689
|
server.tool(
|
|
31649
31690
|
"posthog_api",
|
|
31650
31691
|
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-YFKAC4LB.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-ABLHTRRG.js";
|
|
97
|
+
import "../chunk-WZCPZVUC.js";
|
|
98
98
|
import "../chunk-7IAMHN2N.js";
|
|
99
99
|
import "../chunk-PXMLMBMI.js";
|
|
100
100
|
import {
|
|
@@ -110,16 +110,18 @@ import {
|
|
|
110
110
|
waitForDetachedJob,
|
|
111
111
|
waitForTurnToolResult,
|
|
112
112
|
workspaceAgentChatSummaries
|
|
113
|
-
} from "../chunk-
|
|
113
|
+
} from "../chunk-HWIIRVYE.js";
|
|
114
114
|
import {
|
|
115
|
+
HUGE_TOOL_RESULT_SUMMARY,
|
|
115
116
|
clipToolResultForStore,
|
|
117
|
+
formatUnknownDetail,
|
|
116
118
|
isInternalAgentStatusText,
|
|
117
119
|
looksLikeHugeToolResultDump
|
|
118
|
-
} from "../chunk-
|
|
120
|
+
} from "../chunk-ED4ZXQVO.js";
|
|
119
121
|
import {
|
|
120
122
|
GLOBAL_WORKSPACE_ID,
|
|
121
123
|
isCloudCoordinatorThread
|
|
122
|
-
} from "../chunk-
|
|
124
|
+
} from "../chunk-E7G7RY6T.js";
|
|
123
125
|
import {
|
|
124
126
|
canonicalizeRepoPath,
|
|
125
127
|
formatGhLandError,
|
|
@@ -130,7 +132,7 @@ import {
|
|
|
130
132
|
resolveListPrsOptions,
|
|
131
133
|
resolveRepoRoot,
|
|
132
134
|
warmGithubAgentAuth
|
|
133
|
-
} from "../chunk-
|
|
135
|
+
} from "../chunk-6SGYGYH7.js";
|
|
134
136
|
import {
|
|
135
137
|
CLI_DIR
|
|
136
138
|
} from "../chunk-N2WW62LF.js";
|
|
@@ -145,13 +147,14 @@ import {
|
|
|
145
147
|
formatWorkspaceProfileSuffix,
|
|
146
148
|
isAbleTimeConnected,
|
|
147
149
|
isLinearConnected,
|
|
150
|
+
isPosthogConnected,
|
|
148
151
|
loadAppSettings,
|
|
149
152
|
resolveEffectiveIssueSource,
|
|
150
153
|
resolveProjectReviewLabel,
|
|
151
154
|
resolveViewerProfile,
|
|
152
155
|
resolveViewerProfileForRepo,
|
|
153
156
|
saveLinearOAuth
|
|
154
|
-
} from "../chunk-
|
|
157
|
+
} from "../chunk-BU6HH5VA.js";
|
|
155
158
|
import "../chunk-NSTQ6QKD.js";
|
|
156
159
|
import {
|
|
157
160
|
dropNestedElectronEnvFromProcess
|
|
@@ -221,11 +224,30 @@ function clipMcpToolResult(result, cwd) {
|
|
|
221
224
|
};
|
|
222
225
|
}
|
|
223
226
|
|
|
227
|
+
// src/agents/cursor-tool-guard.ts
|
|
228
|
+
var CURSOR_TOOL_RECOVERY_HINT = "Continue with a smaller request. If you were reading a large file or API payload, pass offset and limit or write the output to .context/cli/ and read a slice. Do not retry the same call.";
|
|
229
|
+
function cursorToolErrorText(err) {
|
|
230
|
+
const raw = formatUnknownDetail(err).replace(/\s+/g, " ").trim();
|
|
231
|
+
const message = looksLikeHugeToolResultDump(raw) ? HUGE_TOOL_RESULT_SUMMARY : (raw || "unknown tool error").slice(0, 500);
|
|
232
|
+
return `Error: ${message}
|
|
233
|
+
${CURSOR_TOOL_RECOVERY_HINT}`;
|
|
234
|
+
}
|
|
235
|
+
|
|
224
236
|
// src/mcp/wrap-mcp-tools.ts
|
|
225
237
|
function wrapToolCallback(fn, cwd) {
|
|
226
238
|
return async (...args) => {
|
|
227
|
-
|
|
228
|
-
|
|
239
|
+
try {
|
|
240
|
+
const result = await fn(...args);
|
|
241
|
+
return clipMcpToolResult(
|
|
242
|
+
result,
|
|
243
|
+
cwd()
|
|
244
|
+
);
|
|
245
|
+
} catch (err) {
|
|
246
|
+
return {
|
|
247
|
+
isError: true,
|
|
248
|
+
content: [{ type: "text", text: cursorToolErrorText(err) }]
|
|
249
|
+
};
|
|
250
|
+
}
|
|
229
251
|
};
|
|
230
252
|
}
|
|
231
253
|
function wrapRegistrar(orig, cwd) {
|
|
@@ -3315,6 +3337,7 @@ async function runPosthogApi(input) {
|
|
|
3315
3337
|
}
|
|
3316
3338
|
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
3339
|
function registerPosthogTools(server) {
|
|
3340
|
+
if (!isPosthogConnected()) return;
|
|
3318
3341
|
server.tool(
|
|
3319
3342
|
"posthog_api",
|
|
3320
3343
|
POSTHOG_API_DESCRIPTION,
|
|
@@ -3828,7 +3851,7 @@ async function startMcpServer() {
|
|
|
3828
3851
|
);
|
|
3829
3852
|
}
|
|
3830
3853
|
try {
|
|
3831
|
-
const { maxConcurrentAgents } = await import("../app-settings-
|
|
3854
|
+
const { maxConcurrentAgents } = await import("../app-settings-2IH42VA5.js");
|
|
3832
3855
|
orch.setMaxConcurrent(maxConcurrentAgents());
|
|
3833
3856
|
} catch {
|
|
3834
3857
|
}
|
|
@@ -4351,7 +4374,7 @@ async function startMcpServer() {
|
|
|
4351
4374
|
if (!worktreeProfile) {
|
|
4352
4375
|
registerConnectedIssueVendorTools(server);
|
|
4353
4376
|
const { getCaffeinateHold, setCaffeinateHold } = await import("../caffeinate-hold-7JM5H5P3.js");
|
|
4354
|
-
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-
|
|
4377
|
+
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-2IH42VA5.js");
|
|
4355
4378
|
const accountDefaults = resolveThreadDefaults();
|
|
4356
4379
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
4357
4380
|
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";
|