@arii/boomtick-mcp 0.4.1 → 0.4.2
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/.mcp/schemas/agent.search_ddgs.json +28 -24
- package/.mcp/schemas/agent_search_ddgs.json +31 -0
- package/.mcp/schemas/boomtick.health.json +14 -10
- package/.mcp/schemas/boomtick_health.json +16 -0
- package/.mcp/schemas/github.checkout_branch.json +28 -24
- package/.mcp/schemas/github.comment_triage_summary.json +21 -17
- package/.mcp/schemas/github.create_issue.json +55 -50
- package/.mcp/schemas/github.create_pull_request.json +53 -48
- package/.mcp/schemas/github.get_merge_conflict_files.json +21 -17
- package/.mcp/schemas/github.get_pr.json +30 -12
- package/.mcp/schemas/github.get_pr_diff.json +30 -12
- package/.mcp/schemas/github.issue_comment.json +35 -17
- package/.mcp/schemas/github.issue_update.json +114 -96
- package/.mcp/schemas/github.issue_view.json +30 -12
- package/.mcp/schemas/github.open_replacement_pr.json +64 -60
- package/.mcp/schemas/github.search_open_prs.json +61 -43
- package/.mcp/schemas/github_checkout_branch.json +31 -0
- package/.mcp/schemas/github_comment_triage_summary.json +24 -0
- package/.mcp/schemas/github_create_issue.json +58 -0
- package/.mcp/schemas/github_create_pull_request.json +56 -0
- package/.mcp/schemas/github_get_merge_conflict_files.json +24 -0
- package/.mcp/schemas/github_get_pr.json +32 -0
- package/.mcp/schemas/github_get_pr_diff.json +32 -0
- package/.mcp/schemas/github_issue_comment.json +38 -0
- package/.mcp/schemas/github_issue_update.json +123 -0
- package/.mcp/schemas/github_issue_view.json +32 -0
- package/.mcp/schemas/github_open_replacement_pr.json +67 -0
- package/.mcp/schemas/github_search_open_prs.json +65 -0
- package/.mcp/schemas/jules.cancel_session.json +16 -12
- package/.mcp/schemas/jules.create_session.json +41 -37
- package/.mcp/schemas/jules.get_messages.json +16 -12
- package/.mcp/schemas/jules.get_pr.json +16 -12
- package/.mcp/schemas/jules.get_session.json +16 -12
- package/.mcp/schemas/jules.list_sessions.json +33 -29
- package/.mcp/schemas/jules.send_message.json +30 -26
- package/.mcp/schemas/jules.trigger_feedback.json +16 -12
- package/.mcp/schemas/jules_cancel_session.json +18 -0
- package/.mcp/schemas/jules_create_session.json +44 -0
- package/.mcp/schemas/jules_get_messages.json +18 -0
- package/.mcp/schemas/jules_get_pr.json +18 -0
- package/.mcp/schemas/jules_get_session.json +18 -0
- package/.mcp/schemas/jules_list_sessions.json +36 -0
- package/.mcp/schemas/jules_send_message.json +35 -0
- package/.mcp/schemas/jules_trigger_feedback.json +18 -0
- package/.mcp/schemas/repo.commit_patch.json +34 -30
- package/.mcp/schemas/repo.create_branch.json +21 -17
- package/.mcp/schemas/repo.create_repair_branch.json +34 -30
- package/.mcp/schemas/repo.get_changed_files.json +19 -15
- package/.mcp/schemas/repo.get_command_schema.json +16 -12
- package/.mcp/schemas/repo.get_package_scripts.json +21 -17
- package/.mcp/schemas/repo.get_route_map.json +21 -17
- package/.mcp/schemas/repo.logs.json +28 -24
- package/.mcp/schemas/repo.read_agent_context.json +7 -3
- package/.mcp/schemas/repo.read_ci_logs.json +21 -17
- package/.mcp/schemas/repo.run_lighthouse.json +26 -22
- package/.mcp/schemas/repo.run_playwright.json +33 -29
- package/.mcp/schemas/repo.run_tests.json +40 -36
- package/.mcp/schemas/repo_commit_patch.json +39 -0
- package/.mcp/schemas/repo_create_branch.json +24 -0
- package/.mcp/schemas/repo_create_repair_branch.json +37 -0
- package/.mcp/schemas/repo_get_changed_files.json +22 -0
- package/.mcp/schemas/repo_get_command_schema.json +18 -0
- package/.mcp/schemas/repo_get_package_scripts.json +23 -0
- package/.mcp/schemas/repo_get_route_map.json +23 -0
- package/.mcp/schemas/repo_logs.json +31 -0
- package/.mcp/schemas/repo_read_agent_context.json +9 -0
- package/.mcp/schemas/repo_read_ci_logs.json +24 -0
- package/.mcp/schemas/repo_run_lighthouse.json +29 -0
- package/.mcp/schemas/repo_run_playwright.json +36 -0
- package/.mcp/schemas/repo_run_tests.json +45 -0
- package/CHANGELOG.md +9 -0
- package/dist/lib/git.js +30 -0
- package/dist/lib/param_utils.js +35 -0
- package/dist/lib/param_utils.test.js +44 -0
- package/dist/mcp/definitions.js +11 -1
- package/dist/mcp/schemas.test.js +28 -0
- package/dist/mcp/server.js +72 -36
- package/dist/tools/contract.js +94 -8
- package/dist/tools/github.create_issue.js +3 -2
- package/dist/tools/github.create_issue.test.js +10 -0
- package/dist/tools/github.create_pull_request.js +4 -4
- package/dist/tools/github.get_pr.js +4 -1
- package/dist/tools/github.get_pr_diff.js +6 -2
- package/dist/tools/github.issue_comment.js +8 -1
- package/dist/tools/github.issue_update.js +3 -0
- package/dist/tools/github.issue_view.js +4 -1
- package/dist/tools/github.search_open_prs.js +4 -0
- package/dist/tools/repo.commit_patch.js +30 -10
- package/dist/tools/repo.run_playwright.js +10 -5
- package/dist/tools/repo.run_tests.js +26 -4
- package/package.json +2 -2
- package/scripts/sync-mcp-schemas.ts +6 -1
- package/src/lib/git.ts +34 -0
- package/src/lib/param_utils.test.ts +49 -0
- package/src/lib/param_utils.ts +42 -0
- package/src/mcp/definitions.ts +12 -1
- package/src/mcp/schemas.test.ts +34 -0
- package/src/mcp/server.ts +73 -38
- package/src/tools/contract.ts +94 -8
- package/src/tools/github.create_issue.test.ts +10 -0
- package/src/tools/github.create_issue.ts +3 -1
- package/src/tools/github.create_pull_request.ts +4 -5
- package/src/tools/github.get_pr.ts +4 -1
- package/src/tools/github.get_pr_diff.ts +7 -2
- package/src/tools/github.issue_comment.ts +8 -1
- package/src/tools/github.issue_update.ts +4 -1
- package/src/tools/github.issue_view.ts +4 -1
- package/src/tools/github.search_open_prs.ts +4 -0
- package/src/tools/repo.commit_patch.ts +35 -11
- package/src/tools/repo.run_playwright.ts +13 -6
- package/src/tools/repo.run_tests.ts +28 -5
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "repo_run_lighthouse",
|
|
3
|
+
"description": "Run Lighthouse CI audits.",
|
|
4
|
+
"parameters": {
|
|
5
|
+
"properties": {
|
|
6
|
+
"route": {
|
|
7
|
+
"default": "/",
|
|
8
|
+
"description": "The route to audit (default: '/').",
|
|
9
|
+
"title": "Route",
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"worktreePath": {
|
|
13
|
+
"anyOf": [
|
|
14
|
+
{
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "null"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"default": null,
|
|
22
|
+
"description": "Optional path to the worktree to run the audit in.",
|
|
23
|
+
"title": "Worktreepath"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"title": "RunLighthouseInput",
|
|
27
|
+
"type": "object"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "repo_run_playwright",
|
|
3
|
+
"description": "Run Playwright E2E tests.",
|
|
4
|
+
"parameters": {
|
|
5
|
+
"properties": {
|
|
6
|
+
"grep": {
|
|
7
|
+
"anyOf": [
|
|
8
|
+
{
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "null"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"default": null,
|
|
16
|
+
"description": "Optional pattern to filter tests by name.",
|
|
17
|
+
"title": "Grep"
|
|
18
|
+
},
|
|
19
|
+
"worktreePath": {
|
|
20
|
+
"anyOf": [
|
|
21
|
+
{
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "null"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"default": null,
|
|
29
|
+
"description": "Optional path to the worktree to run tests in.",
|
|
30
|
+
"title": "Worktreepath"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"title": "RunPlaywrightInput",
|
|
34
|
+
"type": "object"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "repo_run_tests",
|
|
3
|
+
"description": "Run repository tests and checks.",
|
|
4
|
+
"parameters": {
|
|
5
|
+
"properties": {
|
|
6
|
+
"commands": {
|
|
7
|
+
"anyOf": [
|
|
8
|
+
{
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"type": "array"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "null"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"default": null,
|
|
19
|
+
"description": "Optional list of commands to run (default includes install, lint, test, build).",
|
|
20
|
+
"title": "Commands"
|
|
21
|
+
},
|
|
22
|
+
"timeoutSeconds": {
|
|
23
|
+
"default": 300,
|
|
24
|
+
"description": "Maximum time in seconds to wait for tests (default: 300).",
|
|
25
|
+
"title": "Timeoutseconds",
|
|
26
|
+
"type": "integer"
|
|
27
|
+
},
|
|
28
|
+
"worktreePath": {
|
|
29
|
+
"anyOf": [
|
|
30
|
+
{
|
|
31
|
+
"type": "string"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "null"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"default": null,
|
|
38
|
+
"description": "Optional path to the worktree to run tests in.",
|
|
39
|
+
"title": "Worktreepath"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"title": "RunTestsInput",
|
|
43
|
+
"type": "object"
|
|
44
|
+
}
|
|
45
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.2](https://github.com/arii/boomtick/compare/mcp-v0.4.1...mcp-v0.4.2) (2026-10-12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **mcp:** map tool JSON Schema to parameters object in sync-mcp-schemas ([#802](https://github.com/arii/boomtick/issues/802)) ([a57a9ae](https://github.com/arii/boomtick/commit/a57a9aef32109242882d682fcbd1a9ff0a81cffe))
|
|
9
|
+
* **mcp:** resolve identifier regex, commit patch, timeout, and parameter casing bugs ([#815](https://github.com/arii/boomtick/issues/815)) ([1f3b232](https://github.com/arii/boomtick/commit/1f3b232d8550fa87eac2dd974bfd67252a8f4da1))
|
|
10
|
+
* **mcp:** support dynamic repo context resolution and --repo forwarding across workspaces ([#811](https://github.com/arii/boomtick/issues/811)) ([f7e1665](https://github.com/arii/boomtick/commit/f7e166594f170843b7f2e267fab119c631bf3c83))
|
|
11
|
+
|
|
3
12
|
## [0.4.1](https://github.com/arii/boomtick/compare/mcp-v0.4.0...mcp-v0.4.1) (2026-09-22)
|
|
4
13
|
|
|
5
14
|
|
package/dist/lib/git.js
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
import { runCommand } from "./shell.js";
|
|
2
|
+
import { config } from "../config.js";
|
|
2
3
|
import path from "path";
|
|
3
4
|
import fs from "fs/promises";
|
|
5
|
+
import { execSync } from "child_process";
|
|
6
|
+
const repoCache = new Map();
|
|
7
|
+
export function resolveRepo(explicitRepo, cwd) {
|
|
8
|
+
if (explicitRepo && explicitRepo.trim().length > 0) {
|
|
9
|
+
return explicitRepo.trim();
|
|
10
|
+
}
|
|
11
|
+
const targetCwd = cwd || process.cwd();
|
|
12
|
+
if (repoCache.has(targetCwd)) {
|
|
13
|
+
return repoCache.get(targetCwd);
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const url = execSync("git remote get-url origin", {
|
|
17
|
+
cwd: targetCwd,
|
|
18
|
+
encoding: "utf-8",
|
|
19
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
20
|
+
}).trim();
|
|
21
|
+
const match = url.match(/[:/]([^/]+\/[^/.]+)(\.git)?$/);
|
|
22
|
+
if (match) {
|
|
23
|
+
repoCache.set(targetCwd, match[1]);
|
|
24
|
+
return match[1];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
// Ignore error and fall back to static config
|
|
29
|
+
}
|
|
30
|
+
const fallback = `${config.githubOwner}/${config.githubRepo}`;
|
|
31
|
+
repoCache.set(targetCwd, fallback);
|
|
32
|
+
return fallback;
|
|
33
|
+
}
|
|
4
34
|
function validatePrNumber(value) {
|
|
5
35
|
const prNumber = Number(value);
|
|
6
36
|
if (!Number.isInteger(prNumber) || prNumber <= 0) {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function normalizeArguments(args) {
|
|
2
|
+
if (!args || typeof args !== "object") {
|
|
3
|
+
return {};
|
|
4
|
+
}
|
|
5
|
+
const result = {};
|
|
6
|
+
for (const [key, value] of Object.entries(args)) {
|
|
7
|
+
// Convert snake_case to camelCase
|
|
8
|
+
const camelKey = key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
9
|
+
// Normalize value recursively if it's an object/array
|
|
10
|
+
let normalizedValue = value;
|
|
11
|
+
if (Array.isArray(value)) {
|
|
12
|
+
normalizedValue = value.map((item) => item && typeof item === "object" ? normalizeArguments(item) : item);
|
|
13
|
+
}
|
|
14
|
+
else if (value && typeof value === "object" && !(value instanceof RegExp)) {
|
|
15
|
+
normalizedValue = normalizeArguments(value);
|
|
16
|
+
}
|
|
17
|
+
// Coerce numeric string to integer for prNumber / issueNumber if applicable
|
|
18
|
+
if ((camelKey === "prNumber" || camelKey === "issueNumber") && typeof normalizedValue === "string") {
|
|
19
|
+
const parsedNum = parseInt(normalizedValue, 10);
|
|
20
|
+
if (!isNaN(parsedNum)) {
|
|
21
|
+
normalizedValue = parsedNum;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
result[camelKey] = normalizedValue;
|
|
25
|
+
}
|
|
26
|
+
// Parameter aliases harmonization
|
|
27
|
+
// branch vs branchName harmonization
|
|
28
|
+
if (result.branch !== undefined && result.branchName === undefined) {
|
|
29
|
+
result.branchName = result.branch;
|
|
30
|
+
}
|
|
31
|
+
else if (result.branchName !== undefined && result.branch === undefined) {
|
|
32
|
+
result.branch = result.branchName;
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { normalizeArguments } from "./param_utils.js";
|
|
3
|
+
describe("param_utils.normalizeArguments", () => {
|
|
4
|
+
it("should convert snake_case keys to camelCase", () => {
|
|
5
|
+
const input = {
|
|
6
|
+
pr_number: 123,
|
|
7
|
+
issue_number: 456,
|
|
8
|
+
worktree_path: "/tmp/worktree",
|
|
9
|
+
base_branch: "main",
|
|
10
|
+
};
|
|
11
|
+
const output = normalizeArguments(input);
|
|
12
|
+
expect(output).toEqual({
|
|
13
|
+
prNumber: 123,
|
|
14
|
+
issueNumber: 456,
|
|
15
|
+
worktreePath: "/tmp/worktree",
|
|
16
|
+
baseBranch: "main",
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
it("should coerce numeric strings for prNumber and issueNumber", () => {
|
|
20
|
+
const input = {
|
|
21
|
+
pr_number: "789",
|
|
22
|
+
issue_number: "101",
|
|
23
|
+
};
|
|
24
|
+
const output = normalizeArguments(input);
|
|
25
|
+
expect(output).toEqual({
|
|
26
|
+
prNumber: 789,
|
|
27
|
+
issueNumber: 101,
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
it("should synchronize branch and branchName", () => {
|
|
31
|
+
expect(normalizeArguments({ branch: "feat-x" })).toEqual({
|
|
32
|
+
branch: "feat-x",
|
|
33
|
+
branchName: "feat-x",
|
|
34
|
+
});
|
|
35
|
+
expect(normalizeArguments({ branch_name: "feat-y" })).toEqual({
|
|
36
|
+
branchName: "feat-y",
|
|
37
|
+
branch: "feat-y",
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it("should handle null or empty arguments safely", () => {
|
|
41
|
+
expect(normalizeArguments(null)).toEqual({});
|
|
42
|
+
expect(normalizeArguments(undefined)).toEqual({});
|
|
43
|
+
});
|
|
44
|
+
});
|
package/dist/mcp/definitions.js
CHANGED
|
@@ -63,7 +63,7 @@ export const MCP_RESOURCES = [
|
|
|
63
63
|
description: "Playwright test report for a specific branch.",
|
|
64
64
|
},
|
|
65
65
|
];
|
|
66
|
-
|
|
66
|
+
const BASE_MCP_TOOLS = [
|
|
67
67
|
{
|
|
68
68
|
name: "boomtick.health",
|
|
69
69
|
description: "Check the health and configuration of the MCP server.",
|
|
@@ -240,3 +240,13 @@ export const MCP_TOOLS = [
|
|
|
240
240
|
inputSchema: SearchDdgsInputJsonSchema,
|
|
241
241
|
},
|
|
242
242
|
];
|
|
243
|
+
export const MCP_TOOLS = BASE_MCP_TOOLS.flatMap((tool) => {
|
|
244
|
+
const underscoreName = tool.name.replace(/\./g, "_");
|
|
245
|
+
if (underscoreName !== tool.name) {
|
|
246
|
+
return [
|
|
247
|
+
{ ...tool, name: underscoreName },
|
|
248
|
+
tool,
|
|
249
|
+
];
|
|
250
|
+
}
|
|
251
|
+
return [tool];
|
|
252
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { execSync } from "child_process";
|
|
5
|
+
describe("MCP tool schemas export", () => {
|
|
6
|
+
it("should generate valid schema files with non-null parameters object", () => {
|
|
7
|
+
const schemasDir = path.resolve(process.cwd(), ".mcp/schemas");
|
|
8
|
+
if (!fs.existsSync(schemasDir)) {
|
|
9
|
+
execSync("npx tsx scripts/sync-mcp-schemas.ts", { cwd: process.cwd() });
|
|
10
|
+
}
|
|
11
|
+
expect(fs.existsSync(schemasDir)).toBe(true);
|
|
12
|
+
const files = fs.readdirSync(schemasDir).filter((f) => f.endsWith(".json"));
|
|
13
|
+
expect(files.length).toBeGreaterThan(0);
|
|
14
|
+
for (const file of files) {
|
|
15
|
+
const filePath = path.join(schemasDir, file);
|
|
16
|
+
const content = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
17
|
+
expect(content).toHaveProperty("name");
|
|
18
|
+
expect(typeof content.name).toBe("string");
|
|
19
|
+
expect(content).toHaveProperty("description");
|
|
20
|
+
expect(typeof content.description).toBe("string");
|
|
21
|
+
expect(content).toHaveProperty("parameters");
|
|
22
|
+
expect(content.parameters).not.toBeNull();
|
|
23
|
+
expect(typeof content.parameters).toBe("object");
|
|
24
|
+
expect(content.parameters.type).toBe("object");
|
|
25
|
+
expect(content.parameters.properties).toBeDefined();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
package/dist/mcp/server.js
CHANGED
|
@@ -4,6 +4,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSche
|
|
|
4
4
|
import { config } from "../config.js";
|
|
5
5
|
import { createSuccessResult, createErrorResult } from "../lib/result.js";
|
|
6
6
|
import { MCP_TOOLS, MCP_PROMPTS, MCP_RESOURCES } from "./definitions.js";
|
|
7
|
+
import { normalizeArguments } from "../lib/param_utils.js";
|
|
7
8
|
import { healthHandler, HealthCheckInputSchema } from "./tools.js";
|
|
8
9
|
import { searchOpenPrsHandler, SearchOpenPrsInputSchema } from "../tools/github.search_open_prs.js";
|
|
9
10
|
import { getPrDiffHandler, GetPrDiffInputSchema } from "../tools/github.get_pr_diff.js";
|
|
@@ -157,77 +158,112 @@ export class BoomtickMCPServer {
|
|
|
157
158
|
});
|
|
158
159
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
159
160
|
try {
|
|
160
|
-
|
|
161
|
+
const normalizedToolName = request.params.name.replace(/_/g, ".");
|
|
162
|
+
const normArgs = normalizeArguments(request.params.arguments);
|
|
163
|
+
switch (normalizedToolName) {
|
|
161
164
|
case "boomtick.health":
|
|
162
|
-
return createSuccessResult(await healthHandler(HealthCheckInputSchema.parse(
|
|
165
|
+
return createSuccessResult(await healthHandler(HealthCheckInputSchema.parse(normArgs)));
|
|
166
|
+
case "github.search.open.prs":
|
|
163
167
|
case "github.search_open_prs":
|
|
164
|
-
return createSuccessResult(await searchOpenPrsHandler(SearchOpenPrsInputSchema.parse(
|
|
168
|
+
return createSuccessResult(await searchOpenPrsHandler(SearchOpenPrsInputSchema.parse(normArgs)));
|
|
169
|
+
case "repo.read.agent.context":
|
|
165
170
|
case "repo.read_agent_context":
|
|
166
|
-
return createSuccessResult(await readAgentContextHandler(ReadAgentContextInputSchema.parse(
|
|
171
|
+
return createSuccessResult(await readAgentContextHandler(ReadAgentContextInputSchema.parse(normArgs)));
|
|
172
|
+
case "github.get.pr.diff":
|
|
167
173
|
case "github.get_pr_diff":
|
|
168
|
-
return createSuccessResult(await getPrDiffHandler(GetPrDiffInputSchema.parse(
|
|
174
|
+
return createSuccessResult(await getPrDiffHandler(GetPrDiffInputSchema.parse(normArgs)));
|
|
175
|
+
case "github.get.merge.conflict.files":
|
|
169
176
|
case "github.get_merge_conflict_files":
|
|
170
|
-
return createSuccessResult(await getMergeConflictFilesHandler(GetMergeConflictFilesInputSchema.parse(
|
|
177
|
+
return createSuccessResult(await getMergeConflictFilesHandler(GetMergeConflictFilesInputSchema.parse(normArgs)));
|
|
178
|
+
case "github.checkout.branch":
|
|
171
179
|
case "github.checkout_branch":
|
|
172
|
-
return createSuccessResult(await checkoutBranchHandler(CheckoutBranchInputSchema.parse(
|
|
180
|
+
return createSuccessResult(await checkoutBranchHandler(CheckoutBranchInputSchema.parse(normArgs)));
|
|
181
|
+
case "repo.get.changed.files":
|
|
173
182
|
case "repo.get_changed_files":
|
|
174
|
-
return createSuccessResult(await getChangedFilesHandler(GetChangedFilesInputSchema.parse(
|
|
183
|
+
return createSuccessResult(await getChangedFilesHandler(GetChangedFilesInputSchema.parse(normArgs)));
|
|
184
|
+
case "repo.get.command.schema":
|
|
175
185
|
case "repo.get_command_schema":
|
|
176
|
-
return createSuccessResult(await getCommandSchemaHandler(GetCommandSchemaInputSchema.parse(
|
|
186
|
+
return createSuccessResult(await getCommandSchemaHandler(GetCommandSchemaInputSchema.parse(normArgs)));
|
|
187
|
+
case "repo.get.package.scripts":
|
|
177
188
|
case "repo.get_package_scripts":
|
|
178
|
-
return createSuccessResult(await getPackageScriptsHandler(GetPackageScriptsInputSchema.parse(
|
|
189
|
+
return createSuccessResult(await getPackageScriptsHandler(GetPackageScriptsInputSchema.parse(normArgs)));
|
|
190
|
+
case "repo.get.route.map":
|
|
179
191
|
case "repo.get_route_map":
|
|
180
|
-
return createSuccessResult(await getRouteMapHandler(GetRouteMapInputSchema.parse(
|
|
192
|
+
return createSuccessResult(await getRouteMapHandler(GetRouteMapInputSchema.parse(normArgs)));
|
|
193
|
+
case "repo.read.ci.logs":
|
|
181
194
|
case "repo.read_ci_logs":
|
|
182
|
-
return createSuccessResult(await readCiLogsHandler(ReadCiLogsInputSchema.parse(
|
|
195
|
+
return createSuccessResult(await readCiLogsHandler(ReadCiLogsInputSchema.parse(normArgs)));
|
|
183
196
|
case "repo.logs":
|
|
184
|
-
return createSuccessResult(await repoLogsHandler(RepoLogsInputSchema.parse(
|
|
197
|
+
return createSuccessResult(await repoLogsHandler(RepoLogsInputSchema.parse(normArgs)));
|
|
198
|
+
case "repo.create.branch":
|
|
185
199
|
case "repo.create_branch":
|
|
186
|
-
return createSuccessResult(await createBranchHandler(CreateBranchInputSchema.parse(
|
|
200
|
+
return createSuccessResult(await createBranchHandler(CreateBranchInputSchema.parse(normArgs)));
|
|
201
|
+
case "repo.create.repair.branch":
|
|
187
202
|
case "repo.create_repair_branch":
|
|
188
|
-
return createSuccessResult(await createRepairBranchHandler(CreateRepairBranchInputSchema.parse(
|
|
203
|
+
return createSuccessResult(await createRepairBranchHandler(CreateRepairBranchInputSchema.parse(normArgs)));
|
|
204
|
+
case "repo.run.tests":
|
|
189
205
|
case "repo.run_tests":
|
|
190
|
-
return createSuccessResult(await runTestsHandler(RunTestsInputSchema.parse(
|
|
206
|
+
return createSuccessResult(await runTestsHandler(RunTestsInputSchema.parse(normArgs)));
|
|
207
|
+
case "repo.run.lighthouse":
|
|
191
208
|
case "repo.run_lighthouse":
|
|
192
|
-
return createSuccessResult(await runLighthouseHandler(RunLighthouseInputSchema.parse(
|
|
209
|
+
return createSuccessResult(await runLighthouseHandler(RunLighthouseInputSchema.parse(normArgs)));
|
|
210
|
+
case "repo.run.playwright":
|
|
193
211
|
case "repo.run_playwright":
|
|
194
|
-
return createSuccessResult(await runPlaywrightHandler(RunPlaywrightInputSchema.parse(
|
|
212
|
+
return createSuccessResult(await runPlaywrightHandler(RunPlaywrightInputSchema.parse(normArgs)));
|
|
213
|
+
case "repo.commit.patch":
|
|
195
214
|
case "repo.commit_patch":
|
|
196
|
-
return createSuccessResult(await commitPatchHandler(CommitPatchInputSchema.parse(
|
|
215
|
+
return createSuccessResult(await commitPatchHandler(CommitPatchInputSchema.parse(normArgs)));
|
|
216
|
+
case "github.open.replacement.pr":
|
|
197
217
|
case "github.open_replacement_pr":
|
|
198
|
-
return createSuccessResult(await openReplacementPrHandler(OpenReplacementPrInputSchema.parse(
|
|
218
|
+
return createSuccessResult(await openReplacementPrHandler(OpenReplacementPrInputSchema.parse(normArgs)));
|
|
219
|
+
case "github.comment.triage.summary":
|
|
199
220
|
case "github.comment_triage_summary":
|
|
200
|
-
return createSuccessResult(await commentTriageSummaryHandler(CommentTriageSummaryInputSchema.parse(
|
|
221
|
+
return createSuccessResult(await commentTriageSummaryHandler(CommentTriageSummaryInputSchema.parse(normArgs)));
|
|
222
|
+
case "github.create.pull.request":
|
|
201
223
|
case "github.create_pull_request":
|
|
202
|
-
return createSuccessResult(await createPullRequestHandler(CreatePullRequestInputSchema.parse(
|
|
224
|
+
return createSuccessResult(await createPullRequestHandler(CreatePullRequestInputSchema.parse(normArgs)));
|
|
225
|
+
case "github.get.pr":
|
|
203
226
|
case "github.get_pr":
|
|
204
|
-
return createSuccessResult(await getPrHandler(GetPrInputSchema.parse(
|
|
227
|
+
return createSuccessResult(await getPrHandler(GetPrInputSchema.parse(normArgs)));
|
|
228
|
+
case "github.issue.view":
|
|
205
229
|
case "github.issue_view":
|
|
206
|
-
return createSuccessResult(await issueViewHandler(IssueViewInputSchema.parse(
|
|
230
|
+
return createSuccessResult(await issueViewHandler(IssueViewInputSchema.parse(normArgs)));
|
|
231
|
+
case "github.issue.update":
|
|
207
232
|
case "github.issue_update":
|
|
208
|
-
return createSuccessResult(await issueUpdateHandler(IssueUpdateInputSchema.parse(
|
|
233
|
+
return createSuccessResult(await issueUpdateHandler(IssueUpdateInputSchema.parse(normArgs)));
|
|
234
|
+
case "github.issue.comment":
|
|
209
235
|
case "github.issue_comment":
|
|
210
|
-
return createSuccessResult(await issueCommentHandler(IssueCommentInputSchema.parse(
|
|
236
|
+
return createSuccessResult(await issueCommentHandler(IssueCommentInputSchema.parse(normArgs)));
|
|
237
|
+
case "github.create.issue":
|
|
211
238
|
case "github.create_issue":
|
|
212
|
-
return createSuccessResult(await createIssueHandler(CreateIssueInputSchema.parse(
|
|
239
|
+
return createSuccessResult(await createIssueHandler(CreateIssueInputSchema.parse(normArgs)));
|
|
240
|
+
case "jules.create.session":
|
|
213
241
|
case "jules.create_session":
|
|
214
|
-
return createSuccessResult(await createJulesSessionHandler(CreateJulesSessionInputSchema.parse(
|
|
242
|
+
return createSuccessResult(await createJulesSessionHandler(CreateJulesSessionInputSchema.parse(normArgs)));
|
|
243
|
+
case "jules.get.session":
|
|
215
244
|
case "jules.get_session":
|
|
216
|
-
return createSuccessResult(await getJulesSessionHandler(GetJulesSessionInputSchema.parse(
|
|
245
|
+
return createSuccessResult(await getJulesSessionHandler(GetJulesSessionInputSchema.parse(normArgs)));
|
|
246
|
+
case "jules.send.message":
|
|
217
247
|
case "jules.send_message":
|
|
218
|
-
return createSuccessResult(await sendJulesMessageHandler(SendJulesMessageInputSchema.parse(
|
|
248
|
+
return createSuccessResult(await sendJulesMessageHandler(SendJulesMessageInputSchema.parse(normArgs)));
|
|
249
|
+
case "jules.get.messages":
|
|
219
250
|
case "jules.get_messages":
|
|
220
|
-
return createSuccessResult(await getJulesMessagesHandler(GetJulesMessagesInputSchema.parse(
|
|
251
|
+
return createSuccessResult(await getJulesMessagesHandler(GetJulesMessagesInputSchema.parse(normArgs)));
|
|
252
|
+
case "jules.list.sessions":
|
|
221
253
|
case "jules.list_sessions":
|
|
222
|
-
return createSuccessResult(await listJulesSessionsHandler(ListJulesSessionsInputSchema.parse(
|
|
254
|
+
return createSuccessResult(await listJulesSessionsHandler(ListJulesSessionsInputSchema.parse(normArgs)));
|
|
255
|
+
case "jules.cancel.session":
|
|
223
256
|
case "jules.cancel_session":
|
|
224
|
-
return createSuccessResult(await cancelJulesSessionHandler(CancelJulesSessionInputSchema.parse(
|
|
257
|
+
return createSuccessResult(await cancelJulesSessionHandler(CancelJulesSessionInputSchema.parse(normArgs)));
|
|
258
|
+
case "jules.get.pr":
|
|
225
259
|
case "jules.get_pr":
|
|
226
|
-
return createSuccessResult(await getJulesPullRequestHandler(GetJulesPullRequestInputSchema.parse(
|
|
260
|
+
return createSuccessResult(await getJulesPullRequestHandler(GetJulesPullRequestInputSchema.parse(normArgs)));
|
|
261
|
+
case "jules.trigger.feedback":
|
|
227
262
|
case "jules.trigger_feedback":
|
|
228
|
-
return createSuccessResult(await triggerJulesFeedbackHandler(TriggerJulesFeedbackInputSchema.parse(
|
|
263
|
+
return createSuccessResult(await triggerJulesFeedbackHandler(TriggerJulesFeedbackInputSchema.parse(normArgs)));
|
|
264
|
+
case "agent.search.ddgs":
|
|
229
265
|
case "agent.search_ddgs":
|
|
230
|
-
return createSuccessResult(await ddgsSearchHandler(DdgsSearchInputSchema.parse(
|
|
266
|
+
return createSuccessResult(await ddgsSearchHandler(DdgsSearchInputSchema.parse(normArgs)));
|
|
231
267
|
default:
|
|
232
268
|
return createErrorResult(`Tool not found: ${request.params.name}`);
|
|
233
269
|
}
|