nomoreide 0.1.44 → 0.1.45

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.
@@ -0,0 +1,191 @@
1
+ import { z } from "zod";
2
+ import { GitManager } from "../../core/git-manager.js";
3
+ import { GitHubManager, } from "../../core/github-manager.js";
4
+ import { stringify } from "./context.js";
5
+ export const GITHUB_TOOL_NAMES = [
6
+ "nomoreide_github_set_token",
7
+ "nomoreide_github_list_prs",
8
+ "nomoreide_github_get_pr",
9
+ "nomoreide_github_get_pr_diff",
10
+ "nomoreide_github_create_pr",
11
+ "nomoreide_github_list_issues",
12
+ "nomoreide_github_get_issue",
13
+ "nomoreide_github_list_issue_comments",
14
+ "nomoreide_github_add_issue_comment",
15
+ "nomoreide_github_create_issue",
16
+ "nomoreide_github_get_commit_ci",
17
+ "nomoreide_github_list_workflow_runs",
18
+ ];
19
+ const cwdSchema = z.object({
20
+ cwd: z.string().min(1).optional().describe("Git repository directory. Defaults to selected repository."),
21
+ });
22
+ async function buildManager(ctx, cwd) {
23
+ const config = await ctx.configStore.load();
24
+ const token = ctx.configStore.getGithubToken(config);
25
+ if (!token) {
26
+ throw new Error("No GitHub token configured. Use nomoreide_github_set_token first.");
27
+ }
28
+ const gitCwd = cwd ?? process.cwd();
29
+ const remoteUrl = await new GitManager(gitCwd).remoteUrl("origin");
30
+ if (!remoteUrl) {
31
+ throw new Error("No git remote 'origin' found in the repository.");
32
+ }
33
+ const parsed = GitHubManager.parseRemoteUrl(remoteUrl);
34
+ if (!parsed) {
35
+ throw new Error(`Could not parse GitHub remote URL: ${remoteUrl}`);
36
+ }
37
+ return {
38
+ manager: new GitHubManager(token, parsed.owner, parsed.repo),
39
+ owner: parsed.owner,
40
+ repo: parsed.repo,
41
+ };
42
+ }
43
+ export function registerGithubTools(server, ctx) {
44
+ const { configStore } = ctx;
45
+ server.addTool({
46
+ name: "nomoreide_github_set_token",
47
+ description: "Store a GitHub Personal Access Token (PAT) for API access.",
48
+ parameters: z.object({
49
+ token: z.string().min(1).describe("GitHub PAT (ghp_...)."),
50
+ host: z.string().min(1).default("github.com").describe("GitHub host (default: github.com)."),
51
+ }),
52
+ execute: async ({ token, host }) => {
53
+ await configStore.setGithubToken(host, token);
54
+ return `GitHub token stored for ${host}.`;
55
+ },
56
+ });
57
+ server.addTool({
58
+ name: "nomoreide_github_list_prs",
59
+ description: "List pull requests for the active GitHub repository.",
60
+ parameters: cwdSchema.extend({
61
+ state: z.enum(["open", "closed", "all"]).default("open").describe("PR state filter."),
62
+ page: z.number().int().positive().default(1),
63
+ }),
64
+ execute: async ({ cwd, state, page }) => {
65
+ const { manager } = await buildManager(ctx, cwd);
66
+ return stringify(await manager.listPRs(state, page));
67
+ },
68
+ });
69
+ server.addTool({
70
+ name: "nomoreide_github_get_pr",
71
+ description: "Get details for a pull request including review status.",
72
+ parameters: cwdSchema.extend({
73
+ number: z.number().int().positive().describe("Pull request number."),
74
+ }),
75
+ execute: async ({ cwd, number }) => {
76
+ const { manager } = await buildManager(ctx, cwd);
77
+ return stringify(await manager.getPR(number));
78
+ },
79
+ });
80
+ server.addTool({
81
+ name: "nomoreide_github_get_pr_diff",
82
+ description: "Get the unified diff for a pull request.",
83
+ parameters: cwdSchema.extend({
84
+ number: z.number().int().positive().describe("Pull request number."),
85
+ }),
86
+ execute: async ({ cwd, number }) => {
87
+ const { manager } = await buildManager(ctx, cwd);
88
+ return manager.getPRDiff(number);
89
+ },
90
+ });
91
+ server.addTool({
92
+ name: "nomoreide_github_create_pr",
93
+ description: "Create a pull request on GitHub.",
94
+ parameters: cwdSchema.extend({
95
+ title: z.string().min(1).describe("PR title."),
96
+ body: z.string().optional().describe("PR description (markdown)."),
97
+ head: z.string().min(1).describe("Source branch name."),
98
+ base: z.string().min(1).describe("Target branch (e.g. main)."),
99
+ draft: z.boolean().default(false).describe("Create as draft PR."),
100
+ }),
101
+ execute: async ({ cwd, title, body, head, base, draft }) => {
102
+ const { manager } = await buildManager(ctx, cwd);
103
+ const pr = await manager.createPR({ title, body, head, base, draft });
104
+ return `Created PR #${pr.number}: ${pr.html_url}`;
105
+ },
106
+ });
107
+ server.addTool({
108
+ name: "nomoreide_github_list_issues",
109
+ description: "List issues for the active GitHub repository.",
110
+ parameters: cwdSchema.extend({
111
+ state: z.enum(["open", "closed", "all"]).default("open").describe("Issue state filter."),
112
+ page: z.number().int().positive().default(1),
113
+ }),
114
+ execute: async ({ cwd, state, page }) => {
115
+ const { manager } = await buildManager(ctx, cwd);
116
+ return stringify(await manager.listIssues(state, page));
117
+ },
118
+ });
119
+ server.addTool({
120
+ name: "nomoreide_github_get_issue",
121
+ description: "Get details for a GitHub issue.",
122
+ parameters: cwdSchema.extend({
123
+ number: z.number().int().positive().describe("Issue number."),
124
+ }),
125
+ execute: async ({ cwd, number }) => {
126
+ const { manager } = await buildManager(ctx, cwd);
127
+ return stringify(await manager.getIssue(number));
128
+ },
129
+ });
130
+ server.addTool({
131
+ name: "nomoreide_github_list_issue_comments",
132
+ description: "List comments on a GitHub issue.",
133
+ parameters: cwdSchema.extend({
134
+ number: z.number().int().positive().describe("Issue number."),
135
+ }),
136
+ execute: async ({ cwd, number }) => {
137
+ const { manager } = await buildManager(ctx, cwd);
138
+ return stringify(await manager.listIssueComments(number));
139
+ },
140
+ });
141
+ server.addTool({
142
+ name: "nomoreide_github_add_issue_comment",
143
+ description: "Add a comment to a GitHub issue or pull request.",
144
+ parameters: cwdSchema.extend({
145
+ number: z.number().int().positive().describe("Issue or PR number."),
146
+ body: z.string().min(1).describe("Comment text (markdown)."),
147
+ }),
148
+ execute: async ({ cwd, number, body }) => {
149
+ const { manager } = await buildManager(ctx, cwd);
150
+ const comment = await manager.addIssueComment(number, body);
151
+ return `Comment added: ${comment.html_url}`;
152
+ },
153
+ });
154
+ server.addTool({
155
+ name: "nomoreide_github_create_issue",
156
+ description: "Create a new GitHub issue.",
157
+ parameters: cwdSchema.extend({
158
+ title: z.string().min(1).describe("Issue title."),
159
+ body: z.string().optional().describe("Issue description (markdown)."),
160
+ }),
161
+ execute: async ({ cwd, title, body }) => {
162
+ const { manager } = await buildManager(ctx, cwd);
163
+ const issue = await manager.createIssue({ title, body });
164
+ return `Created issue #${issue.number}: ${issue.html_url}`;
165
+ },
166
+ });
167
+ server.addTool({
168
+ name: "nomoreide_github_get_commit_ci",
169
+ description: "Get CI check status for a commit SHA.",
170
+ parameters: cwdSchema.extend({
171
+ sha: z.string().min(7).describe("Commit SHA (full or abbreviated to ≥7 chars)."),
172
+ }),
173
+ execute: async ({ cwd, sha }) => {
174
+ const { manager } = await buildManager(ctx, cwd);
175
+ return stringify(await manager.getCommitChecks(sha));
176
+ },
177
+ });
178
+ server.addTool({
179
+ name: "nomoreide_github_list_workflow_runs",
180
+ description: "List recent GitHub Actions workflow runs.",
181
+ parameters: cwdSchema.extend({
182
+ branch: z.string().optional().describe("Filter by branch name."),
183
+ page: z.number().int().positive().default(1),
184
+ }),
185
+ execute: async ({ cwd, branch, page }) => {
186
+ const { manager } = await buildManager(ctx, cwd);
187
+ return stringify(await manager.listWorkflowRuns(branch, page));
188
+ },
189
+ });
190
+ }
191
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/mcp/tools/github.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { type ToolContext } from "./context.js";
9
9
  * a new domain module and register it below. This aggregator never grows a
10
10
  * per-tool branch.
11
11
  */
12
- export declare const NOMOREIDE_TOOL_NAMES: readonly ["nomoreide_list_services", "nomoreide_register_service", "nomoreide_start_service", "nomoreide_stop_service", "nomoreide_restart_service", "nomoreide_read_logs", "nomoreide_register_bundle", "nomoreide_start_bundle", "nomoreide_stop_bundle", "nomoreide_status", "nomoreide_service_context", "nomoreide_service_health", "nomoreide_timeline", "nomoreide_onboard_repo", "nomoreide_git_status", "nomoreide_git_branches", "nomoreide_git_switch_branch", "nomoreide_git_create_branch", "nomoreide_git_fetch", "nomoreide_git_diff", "nomoreide_git_staged_diff", "nomoreide_git_log", "nomoreide_git_stage", "nomoreide_git_unstage", "nomoreide_git_commit", "nomoreide_git_register_repository", "nomoreide_git_select_repository", "nomoreide_list_errors", "nomoreide_error_prompt", "nomoreide_list_databases", "nomoreide_db_tables", "nomoreide_db_sample", "nomoreide_docs", "nomoreide_open_ui", "nomoreide_close_ui"];
12
+ export declare const NOMOREIDE_TOOL_NAMES: readonly ["nomoreide_list_services", "nomoreide_register_service", "nomoreide_start_service", "nomoreide_stop_service", "nomoreide_restart_service", "nomoreide_read_logs", "nomoreide_register_bundle", "nomoreide_start_bundle", "nomoreide_stop_bundle", "nomoreide_status", "nomoreide_service_context", "nomoreide_service_health", "nomoreide_timeline", "nomoreide_onboard_repo", "nomoreide_git_status", "nomoreide_git_branches", "nomoreide_git_switch_branch", "nomoreide_git_create_branch", "nomoreide_git_fetch", "nomoreide_git_diff", "nomoreide_git_staged_diff", "nomoreide_git_log", "nomoreide_git_stage", "nomoreide_git_unstage", "nomoreide_git_commit", "nomoreide_git_register_repository", "nomoreide_git_select_repository", "nomoreide_github_set_token", "nomoreide_github_list_prs", "nomoreide_github_get_pr", "nomoreide_github_get_pr_diff", "nomoreide_github_create_pr", "nomoreide_github_list_issues", "nomoreide_github_get_issue", "nomoreide_github_list_issue_comments", "nomoreide_github_add_issue_comment", "nomoreide_github_create_issue", "nomoreide_github_get_commit_ci", "nomoreide_github_list_workflow_runs", "nomoreide_list_errors", "nomoreide_error_prompt", "nomoreide_list_databases", "nomoreide_db_tables", "nomoreide_db_sample", "nomoreide_docs", "nomoreide_open_ui", "nomoreide_close_ui"];
13
13
  interface RegisterNoMoreIdeToolsOptions extends ToolContext {
14
14
  server: FastMCP;
15
15
  toolCallStore?: ToolCallStore;
@@ -4,6 +4,7 @@ import { DATABASE_TOOL_NAMES, registerDatabaseTools } from "./database.js";
4
4
  import { DOC_TOOL_NAMES, registerDocTools } from "./docs.js";
5
5
  import { ERROR_TOOL_NAMES, registerErrorTools } from "./errors.js";
6
6
  import { GIT_TOOL_NAMES, registerGitTools } from "./git.js";
7
+ import { GITHUB_TOOL_NAMES, registerGithubTools } from "./github.js";
7
8
  import { ONBOARD_TOOL_NAMES, registerOnboardTools } from "./onboard.js";
8
9
  import { registerServiceTools, SERVICE_TOOL_NAMES } from "./services.js";
9
10
  /**
@@ -18,6 +19,7 @@ export const NOMOREIDE_TOOL_NAMES = [
18
19
  ...SERVICE_TOOL_NAMES,
19
20
  ...ONBOARD_TOOL_NAMES,
20
21
  ...GIT_TOOL_NAMES,
22
+ ...GITHUB_TOOL_NAMES,
21
23
  ...ERROR_TOOL_NAMES,
22
24
  ...DATABASE_TOOL_NAMES,
23
25
  ...DOC_TOOL_NAMES,
@@ -31,6 +33,7 @@ export function registerNoMoreIdeTools(options) {
31
33
  registerServiceTools(server, ctx);
32
34
  registerOnboardTools(server, ctx);
33
35
  registerGitTools(server, ctx);
36
+ registerGithubTools(server, ctx);
34
37
  registerErrorTools(server, ctx);
35
38
  registerDatabaseTools(server, ctx);
36
39
  registerDocTools(server, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,kBAAkB;IACrB,GAAG,kBAAkB;IACrB,GAAG,cAAc;IACjB,GAAG,gBAAgB;IACnB,GAAG,mBAAmB;IACtB,GAAG,cAAc;IACjB,GAAG,gBAAgB;CACX,CAAC;AAOX,MAAM,UAAU,sBAAsB,CACpC,OAAsC;IAEtC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IAEd,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,kBAAkB;IACrB,GAAG,kBAAkB;IACrB,GAAG,cAAc;IACjB,GAAG,iBAAiB;IACpB,GAAG,gBAAgB;IACnB,GAAG,mBAAmB;IACtB,GAAG,cAAc;IACjB,GAAG,gBAAgB;CACX,CAAC;AAOX,MAAM,UAAU,sBAAsB,CACpC,OAAsC;IAEtC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IAEd,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC"}