@oss-autopilot/mcp 1.0.2 → 1.0.3
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/README.md +159 -0
- package/dist/mcp-server.bundle.cjs +85 -10
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +7 -1
- package/dist/prompts.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +11 -1
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# @oss-autopilot/mcp
|
|
2
|
+
|
|
3
|
+
MCP server for [OSS Autopilot](https://github.com/costajohnt/oss-autopilot) — exposes PR tracking, issue discovery, and contribution management as MCP tools for any MCP-compatible client.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@oss-autopilot/mcp)
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## What It Provides
|
|
10
|
+
|
|
11
|
+
| Feature | Count | Description |
|
|
12
|
+
|---------|-------|-------------|
|
|
13
|
+
| **Tools** | 21 | `daily`, `status`, `search`, `vet`, `track`, `untrack`, `read`, `comments`, `post`, `claim`, `config`, `init`, `setup`, `check-setup`, `startup`, `shelve`, `unshelve`, `dismiss`, `undismiss`, `snooze`, `unsnooze` |
|
|
14
|
+
| **Resources** | 5 | `oss://status`, `oss://config`, `oss://prs`, `oss://prs/shelved`, `oss://pr/{owner}/{repo}/{number}` |
|
|
15
|
+
| **Prompts** | 3 | `triage` (PR prioritization), `respond-to-pr` (draft response), `find-issues` (discover issues) |
|
|
16
|
+
|
|
17
|
+
Supports **stdio** (default) and **Streamable HTTP** transports.
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- Node.js 20+
|
|
22
|
+
- [GitHub CLI](https://cli.github.com/) authenticated (`gh auth login`)
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# 1. Initialize with your GitHub username
|
|
28
|
+
npx @oss-autopilot/mcp@latest --init <your-github-username>
|
|
29
|
+
|
|
30
|
+
# 2. Add the server to your MCP client (see config examples below)
|
|
31
|
+
|
|
32
|
+
# 3. Use the tools — e.g. "daily" to check your PRs, "search" to find issues
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Client Configuration
|
|
36
|
+
|
|
37
|
+
### Claude Desktop
|
|
38
|
+
|
|
39
|
+
Add to your `claude_desktop_config.json`:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"oss-autopilot": {
|
|
45
|
+
"command": "npx",
|
|
46
|
+
"args": ["@oss-autopilot/mcp@latest"]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Cursor
|
|
53
|
+
|
|
54
|
+
Add to `.cursor/mcp.json` in your project or global config:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"oss-autopilot": {
|
|
60
|
+
"command": "npx",
|
|
61
|
+
"args": ["@oss-autopilot/mcp@latest"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Codex CLI
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
codex mcp add oss -- npx @oss-autopilot/mcp@latest
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Windsurf
|
|
74
|
+
|
|
75
|
+
Add to your Windsurf MCP config:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"mcpServers": {
|
|
80
|
+
"oss-autopilot": {
|
|
81
|
+
"command": "npx",
|
|
82
|
+
"args": ["@oss-autopilot/mcp@latest"]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Streamable HTTP (any client)
|
|
89
|
+
|
|
90
|
+
Run the server in HTTP mode instead of stdio:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npx @oss-autopilot/mcp@latest --http --port 3001
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The server listens at `http://127.0.0.1:3001/mcp` and accepts POST requests.
|
|
97
|
+
|
|
98
|
+
## Tools Reference
|
|
99
|
+
|
|
100
|
+
| Tool | Description | Read-only |
|
|
101
|
+
|------|-------------|-----------|
|
|
102
|
+
| `daily` | Run daily PR monitoring check with prioritized summary | No |
|
|
103
|
+
| `status` | Show current PR tracking status | Yes |
|
|
104
|
+
| `search` | Search GitHub for contributable issues | Yes |
|
|
105
|
+
| `vet` | Analyze an issue for contribution suitability | Yes |
|
|
106
|
+
| `track` | Start tracking a pull request | No |
|
|
107
|
+
| `untrack` | Stop tracking a pull request | No |
|
|
108
|
+
| `read` | Mark PR notifications as read | No |
|
|
109
|
+
| `comments` | Fetch and display PR comments | Yes |
|
|
110
|
+
| `post` | Post a comment on an issue or PR | No |
|
|
111
|
+
| `claim` | Claim an issue by posting a comment | No |
|
|
112
|
+
| `config` | Get or set configuration values | No |
|
|
113
|
+
| `init` | Initialize with a GitHub username | No |
|
|
114
|
+
| `setup` | Configure preferences (languages, interests) | No |
|
|
115
|
+
| `check-setup` | Check if setup is complete | Yes |
|
|
116
|
+
| `startup` | Run startup checks (auth, state, config) | No |
|
|
117
|
+
| `shelve` | Temporarily hide a PR from daily checks | No |
|
|
118
|
+
| `unshelve` | Return a shelved PR to active monitoring | No |
|
|
119
|
+
| `dismiss` | Dismiss an issue or PR from notifications | No |
|
|
120
|
+
| `undismiss` | Re-enable notifications for a dismissed item | No |
|
|
121
|
+
| `snooze` | Snooze a PR for a number of days | No |
|
|
122
|
+
| `unsnooze` | Unsnooze a PR immediately | No |
|
|
123
|
+
|
|
124
|
+
## Resources Reference
|
|
125
|
+
|
|
126
|
+
| Resource URI | Description |
|
|
127
|
+
|-------------|-------------|
|
|
128
|
+
| `oss://status` | PR tracking status (cached local state) |
|
|
129
|
+
| `oss://config` | Current configuration |
|
|
130
|
+
| `oss://prs` | Active open PRs from last daily digest |
|
|
131
|
+
| `oss://prs/shelved` | Shelved PRs |
|
|
132
|
+
| `oss://pr/{owner}/{repo}/{number}` | Detail for a specific PR |
|
|
133
|
+
|
|
134
|
+
## Prompts Reference
|
|
135
|
+
|
|
136
|
+
| Prompt | Args | Description |
|
|
137
|
+
|--------|------|-------------|
|
|
138
|
+
| `triage` | none | Fetches daily digest and builds a prioritized triage list |
|
|
139
|
+
| `respond-to-pr` | `prUrl` | Fetches PR comments and context for drafting a response |
|
|
140
|
+
| `find-issues` | `maxResults?` | Searches for issues ranked by viability score |
|
|
141
|
+
|
|
142
|
+
## Programmatic Usage
|
|
143
|
+
|
|
144
|
+
The server can also be imported and used as a library:
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
import { createServer } from '@oss-autopilot/mcp';
|
|
148
|
+
|
|
149
|
+
const server = createServer();
|
|
150
|
+
// Connect to your own transport
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## More Information
|
|
154
|
+
|
|
155
|
+
See the [main repository README](https://github.com/costajohnt/oss-autopilot) for the full documentation, including the Claude Code plugin, CLI usage, dashboard, and contributing guide.
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
MIT
|
|
@@ -30303,7 +30303,7 @@ var init_pr_monitor = __esm({
|
|
|
30303
30303
|
init_checklist_analysis();
|
|
30304
30304
|
MODULE7 = "pr-monitor";
|
|
30305
30305
|
MAX_CONCURRENT_REQUESTS = DEFAULT_CONCURRENCY;
|
|
30306
|
-
PRMonitor = class {
|
|
30306
|
+
PRMonitor = class _PRMonitor {
|
|
30307
30307
|
octokit;
|
|
30308
30308
|
stateManager;
|
|
30309
30309
|
constructor(githubToken) {
|
|
@@ -30446,7 +30446,11 @@ var init_pr_monitor = __esm({
|
|
|
30446
30446
|
const { hasUnrespondedComment, lastMaintainerComment } = checkUnrespondedComments(comments, reviews, reviewComments, config2.githubUsername);
|
|
30447
30447
|
const ciPromise = this.getCIStatus(owner, repo, ghPR.head.sha);
|
|
30448
30448
|
const needCommitDate = hasUnrespondedComment || reviewDecision === "changes_requested";
|
|
30449
|
-
const
|
|
30449
|
+
const commitInfoPromise = needCommitDate ? this.octokit.repos.getCommit({ owner, repo, ref: ghPR.head.sha }).then((res) => ({
|
|
30450
|
+
date: res.data.commit.author?.date,
|
|
30451
|
+
// GitHub user login of the commit author (may differ from git author)
|
|
30452
|
+
author: res.data.author?.login
|
|
30453
|
+
})).catch((err2) => {
|
|
30450
30454
|
const status2 = getHttpStatusCode(err2);
|
|
30451
30455
|
if (status2 === 429)
|
|
30452
30456
|
throw err2;
|
|
@@ -30460,10 +30464,12 @@ var init_pr_monitor = __esm({
|
|
|
30460
30464
|
warn("pr-monitor", `Failed to fetch commit date for ${owner}/${repo}@${ghPR.head.sha.slice(0, 7)}: ${errorMessage(err2)}`);
|
|
30461
30465
|
return void 0;
|
|
30462
30466
|
}) : Promise.resolve(void 0);
|
|
30463
|
-
const [{ status: ciStatus, failingCheckNames, failingCheckConclusions },
|
|
30467
|
+
const [{ status: ciStatus, failingCheckNames, failingCheckConclusions }, commitInfo] = await Promise.all([
|
|
30464
30468
|
ciPromise,
|
|
30465
|
-
|
|
30469
|
+
commitInfoPromise
|
|
30466
30470
|
]);
|
|
30471
|
+
const latestCommitDate = commitInfo?.date;
|
|
30472
|
+
const latestCommitAuthor = commitInfo?.author;
|
|
30467
30473
|
const { hasIncompleteChecklist, checklistStats } = analyzeChecklist(ghPR.body || "");
|
|
30468
30474
|
const maintainerActionHints = extractMaintainerActionHints(lastMaintainerComment?.body, reviewDecision);
|
|
30469
30475
|
const daysSinceActivity = daysBetween(new Date(ghPR.updated_at), /* @__PURE__ */ new Date());
|
|
@@ -30480,6 +30486,8 @@ var init_pr_monitor = __esm({
|
|
|
30480
30486
|
dormantThreshold: config2.dormantThresholdDays,
|
|
30481
30487
|
approachingThreshold: config2.approachingDormantDays,
|
|
30482
30488
|
latestCommitDate,
|
|
30489
|
+
latestCommitAuthor,
|
|
30490
|
+
contributorUsername: config2.githubUsername,
|
|
30483
30491
|
lastMaintainerCommentDate: lastMaintainerComment?.createdAt,
|
|
30484
30492
|
latestChangesRequestedDate,
|
|
30485
30493
|
hasActionableCIFailure
|
|
@@ -30528,9 +30536,10 @@ var init_pr_monitor = __esm({
|
|
|
30528
30536
|
* Determine the overall status of a PR
|
|
30529
30537
|
*/
|
|
30530
30538
|
determineStatus(input) {
|
|
30531
|
-
const { ciStatus, hasMergeConflict, hasUnrespondedComment, hasIncompleteChecklist, reviewDecision, daysSinceActivity, dormantThreshold, approachingThreshold, latestCommitDate, lastMaintainerCommentDate, latestChangesRequestedDate, hasActionableCIFailure = true } = input;
|
|
30539
|
+
const { ciStatus, hasMergeConflict, hasUnrespondedComment, hasIncompleteChecklist, reviewDecision, daysSinceActivity, dormantThreshold, approachingThreshold, latestCommitDate: rawCommitDate, latestCommitAuthor, contributorUsername, lastMaintainerCommentDate, latestChangesRequestedDate, hasActionableCIFailure = true } = input;
|
|
30540
|
+
const latestCommitDate = rawCommitDate && this.isContributorCommit(latestCommitAuthor, contributorUsername) ? rawCommitDate : void 0;
|
|
30532
30541
|
if (hasUnrespondedComment) {
|
|
30533
|
-
if (latestCommitDate && lastMaintainerCommentDate && latestCommitDate
|
|
30542
|
+
if (latestCommitDate && lastMaintainerCommentDate && this.isCommitAfterComment(latestCommitDate, lastMaintainerCommentDate)) {
|
|
30534
30543
|
if (latestChangesRequestedDate && latestCommitDate < latestChangesRequestedDate) {
|
|
30535
30544
|
return "needs_response";
|
|
30536
30545
|
}
|
|
@@ -30571,6 +30580,33 @@ var init_pr_monitor = __esm({
|
|
|
30571
30580
|
}
|
|
30572
30581
|
return "healthy";
|
|
30573
30582
|
}
|
|
30583
|
+
/**
|
|
30584
|
+
* Check whether the HEAD commit was authored by the contributor (#547).
|
|
30585
|
+
* Returns true when the author matches or when author info is unavailable
|
|
30586
|
+
* (graceful degradation — don't break existing behavior if the API omits it).
|
|
30587
|
+
*/
|
|
30588
|
+
isContributorCommit(commitAuthor, contributorUsername) {
|
|
30589
|
+
if (!commitAuthor || !contributorUsername)
|
|
30590
|
+
return true;
|
|
30591
|
+
return commitAuthor.toLowerCase() === contributorUsername.toLowerCase();
|
|
30592
|
+
}
|
|
30593
|
+
/** Minimum gap (ms) between maintainer comment and contributor commit for
|
|
30594
|
+
* the commit to count as "addressing" the feedback (#547). Prevents false
|
|
30595
|
+
* positives from race conditions, clock skew, and in-flight pushes. */
|
|
30596
|
+
static MIN_RESPONSE_GAP_MS = 2 * 60 * 1e3;
|
|
30597
|
+
// 2 minutes
|
|
30598
|
+
/**
|
|
30599
|
+
* Check whether the contributor's commit is meaningfully after the maintainer's
|
|
30600
|
+
* comment — i.e. the commit timestamp is at least MIN_RESPONSE_GAP_MS later (#547).
|
|
30601
|
+
*/
|
|
30602
|
+
isCommitAfterComment(commitDate, commentDate) {
|
|
30603
|
+
const commitMs = new Date(commitDate).getTime();
|
|
30604
|
+
const commentMs = new Date(commentDate).getTime();
|
|
30605
|
+
if (Number.isNaN(commitMs) || Number.isNaN(commentMs)) {
|
|
30606
|
+
return commitDate > commentDate;
|
|
30607
|
+
}
|
|
30608
|
+
return commitMs - commentMs >= _PRMonitor.MIN_RESPONSE_GAP_MS;
|
|
30609
|
+
}
|
|
30574
30610
|
/**
|
|
30575
30611
|
* Check if PR has merge conflict
|
|
30576
30612
|
*/
|
|
@@ -32924,7 +32960,7 @@ function readDashboardServerInfo() {
|
|
|
32924
32960
|
try {
|
|
32925
32961
|
const content = fs5.readFileSync(getDashboardPidPath(), "utf-8");
|
|
32926
32962
|
const parsed = JSON.parse(content);
|
|
32927
|
-
if (typeof parsed !== "object" || parsed === null || typeof parsed.pid !== "number" || typeof parsed.port !== "number" || typeof parsed.startedAt !== "string") {
|
|
32963
|
+
if (typeof parsed !== "object" || parsed === null || typeof parsed.pid !== "number" || !Number.isInteger(parsed.pid) || parsed.pid <= 0 || typeof parsed.port !== "number" || typeof parsed.startedAt !== "string") {
|
|
32928
32964
|
warn(MODULE13, "PID file has invalid structure, ignoring");
|
|
32929
32965
|
return null;
|
|
32930
32966
|
}
|
|
@@ -34633,7 +34669,31 @@ async function launchDashboardServer(options) {
|
|
|
34633
34669
|
}
|
|
34634
34670
|
const existing = await findRunningDashboardServer();
|
|
34635
34671
|
if (existing) {
|
|
34636
|
-
|
|
34672
|
+
const info2 = readDashboardServerInfo();
|
|
34673
|
+
const currentVersion = getCLIVersion();
|
|
34674
|
+
if (!info2) {
|
|
34675
|
+
} else if (info2.version && currentVersion !== "0.0.0" && info2.version !== currentVersion) {
|
|
34676
|
+
console.error(`[STARTUP] Dashboard server version mismatch (running: ${info2.version}, current: ${currentVersion}). Restarting...`);
|
|
34677
|
+
let killed = false;
|
|
34678
|
+
try {
|
|
34679
|
+
process.kill(info2.pid, "SIGTERM");
|
|
34680
|
+
killed = true;
|
|
34681
|
+
} catch (err2) {
|
|
34682
|
+
const code = err2.code;
|
|
34683
|
+
if (code === "ESRCH") {
|
|
34684
|
+
killed = true;
|
|
34685
|
+
} else {
|
|
34686
|
+
console.error(`[STARTUP] Could not kill outdated dashboard (PID ${info2.pid}): ${err2.message}`);
|
|
34687
|
+
}
|
|
34688
|
+
}
|
|
34689
|
+
if (killed) {
|
|
34690
|
+
removeDashboardServerInfo();
|
|
34691
|
+
} else {
|
|
34692
|
+
return { url: existing.url, port: existing.port, alreadyRunning: true };
|
|
34693
|
+
}
|
|
34694
|
+
} else {
|
|
34695
|
+
return { url: existing.url, port: existing.port, alreadyRunning: true };
|
|
34696
|
+
}
|
|
34637
34697
|
}
|
|
34638
34698
|
const port = options?.port ?? DEFAULT_PORT;
|
|
34639
34699
|
const cliPath = process.argv[1];
|
|
@@ -34686,6 +34746,7 @@ var init_dashboard_lifecycle = __esm({
|
|
|
34686
34746
|
import_child_process2 = require("child_process");
|
|
34687
34747
|
init_dashboard_server();
|
|
34688
34748
|
init_dashboard();
|
|
34749
|
+
init_core3();
|
|
34689
34750
|
DEFAULT_PORT = 3e3;
|
|
34690
34751
|
POLL_INTERVAL_MS = 200;
|
|
34691
34752
|
MAX_POLL_ATTEMPTS = 25;
|
|
@@ -45137,7 +45198,17 @@ function registerTools(server) {
|
|
|
45137
45198
|
},
|
|
45138
45199
|
annotations: { readOnlyHint: true }
|
|
45139
45200
|
},
|
|
45140
|
-
wrapTool((args) =>
|
|
45201
|
+
wrapTool((args) => {
|
|
45202
|
+
const MAX_SEARCH_RESULTS = 100;
|
|
45203
|
+
let maxResults = args.maxResults ?? 5;
|
|
45204
|
+
if (!Number.isInteger(maxResults) || maxResults < 1) {
|
|
45205
|
+
throw new Error(`Invalid maxResults: ${maxResults}. Must be a positive integer.`);
|
|
45206
|
+
}
|
|
45207
|
+
if (maxResults > MAX_SEARCH_RESULTS) {
|
|
45208
|
+
maxResults = MAX_SEARCH_RESULTS;
|
|
45209
|
+
}
|
|
45210
|
+
return runSearch({ maxResults });
|
|
45211
|
+
})
|
|
45141
45212
|
);
|
|
45142
45213
|
server.registerTool(
|
|
45143
45214
|
"vet",
|
|
@@ -45535,7 +45606,11 @@ Please help me draft a thoughtful response addressing the feedback.`
|
|
|
45535
45606
|
},
|
|
45536
45607
|
async ({ maxResults }) => {
|
|
45537
45608
|
try {
|
|
45538
|
-
const
|
|
45609
|
+
const MAX_SEARCH_RESULTS = 100;
|
|
45610
|
+
let capped = maxResults ?? 5;
|
|
45611
|
+
if (!Number.isInteger(capped) || capped < 1) capped = 5;
|
|
45612
|
+
if (capped > MAX_SEARCH_RESULTS) capped = MAX_SEARCH_RESULTS;
|
|
45613
|
+
const data = await runSearch({ maxResults: capped });
|
|
45539
45614
|
const candidateList = data.candidates.map(
|
|
45540
45615
|
(c, i) => `${i + 1}. [${c.recommendation.toUpperCase()}] ${c.issue.repo}#${c.issue.number}: ${c.issue.title}
|
|
45541
45616
|
URL: ${c.issue.url}
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6EvD"}
|
package/dist/prompts.js
CHANGED
|
@@ -56,7 +56,13 @@ export function registerPrompts(server) {
|
|
|
56
56
|
},
|
|
57
57
|
}, async ({ maxResults }) => {
|
|
58
58
|
try {
|
|
59
|
-
const
|
|
59
|
+
const MAX_SEARCH_RESULTS = 100;
|
|
60
|
+
let capped = maxResults ?? 5;
|
|
61
|
+
if (!Number.isInteger(capped) || capped < 1)
|
|
62
|
+
capped = 5;
|
|
63
|
+
if (capped > MAX_SEARCH_RESULTS)
|
|
64
|
+
capped = MAX_SEARCH_RESULTS;
|
|
65
|
+
const data = await runSearch({ maxResults: capped });
|
|
60
66
|
const candidateList = data.candidates
|
|
61
67
|
.map((c, i) => `${i + 1}. [${c.recommendation.toUpperCase()}] ${c.issue.repo}#${c.issue.number}: ${c.issue.title}\n URL: ${c.issue.url}\n Score: ${c.viabilityScore}/100\n Approve: ${c.reasonsToApprove.join(', ') || 'None'}\n Skip: ${c.reasonsToSkip.join(', ') || 'None'}`)
|
|
62
68
|
.join('\n\n');
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqDzE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqDzE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6SrD"}
|
package/dist/tools.js
CHANGED
|
@@ -62,7 +62,17 @@ export function registerTools(server) {
|
|
|
62
62
|
maxResults: z.number().optional().describe('Maximum number of issues to return (default: 5)'),
|
|
63
63
|
},
|
|
64
64
|
annotations: { readOnlyHint: true },
|
|
65
|
-
}, wrapTool((args) =>
|
|
65
|
+
}, wrapTool((args) => {
|
|
66
|
+
const MAX_SEARCH_RESULTS = 100;
|
|
67
|
+
let maxResults = args.maxResults ?? 5;
|
|
68
|
+
if (!Number.isInteger(maxResults) || maxResults < 1) {
|
|
69
|
+
throw new Error(`Invalid maxResults: ${maxResults}. Must be a positive integer.`);
|
|
70
|
+
}
|
|
71
|
+
if (maxResults > MAX_SEARCH_RESULTS) {
|
|
72
|
+
maxResults = MAX_SEARCH_RESULTS;
|
|
73
|
+
}
|
|
74
|
+
return runSearch({ maxResults });
|
|
75
|
+
}));
|
|
66
76
|
// 4. vet — Vet an issue for contribution suitability
|
|
67
77
|
server.registerTool('vet', {
|
|
68
78
|
description: 'Analyze a GitHub issue to determine if it is a good candidate for contribution. Checks for clarity, scope, existing assignees, and staleness.',
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wCAAwC;AACxC,SAAS,EAAE,CAAC,IAAa;IACvB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,iCAAiC;AACjC,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,IAAa;KACvB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,QAAQ,CAAI,EAAiC;IACpD,OAAO,KAAK,EAAE,IAAO,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,gCAAgC;IAChC,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,WAAW,EACT,2IAA2I;QAC7I,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;SACpF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,SAAS,CAAC,CACpB,CAAC;IAEF,8CAA8C;IAC9C,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC9F;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,CAAC,IAA6B,EAAE,EAAE,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wCAAwC;AACxC,SAAS,EAAE,CAAC,IAAa;IACvB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,iCAAiC;AACjC,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,IAAa;KACvB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,QAAQ,CAAI,EAAiC;IACpD,OAAO,KAAK,EAAE,IAAO,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,gCAAgC;IAChC,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,WAAW,EACT,2IAA2I;QAC7I,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;SACpF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,SAAS,CAAC,CACpB,CAAC;IAEF,8CAA8C;IAC9C,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC9F;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,CAAC,IAA6B,EAAE,EAAE;QACzC,MAAM,kBAAkB,GAAG,GAAG,CAAC;QAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,+BAA+B,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,UAAU,GAAG,kBAAkB,EAAE,CAAC;YACpC,UAAU,GAAG,kBAAkB,CAAC;QAClC,CAAC;QACD,OAAO,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;IAEF,qDAAqD;IACrD,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,WAAW,EACT,+IAA+I;QACjJ,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;SAC9G;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,MAAM,CAAC,CACjB,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,WAAW,EACT,qHAAqH;QACvH,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;SACxG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;SAC1G;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;KAC5D,EACD,QAAQ,CAAC,UAAU,CAAC,CACrB,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YACvG,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACtE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,iCAAiC;IACjC,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,6FAA6F;QAC1G,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACtE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,WAAW,CAAC,CACtB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACzD;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;SACxG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EACT,oHAAoH;QACtH,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YACrG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;SACzG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE;KAC3D,EACD,QAAQ,CAAC,SAAS,CAAC,CACpB,CAAC;IAEF,6CAA6C;IAC7C,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,WAAW,EACT,4GAA4G;QAC9G,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SACtD;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;YACzG,GAAG,EAAE,CAAC;iBACH,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,2FAA2F,CAAC;SACzG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CAAC;IAEF,+CAA+C;IAC/C,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,oHAAoH;QACtH,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,QAAQ,CAAC,aAAa,CAAC,CACxB,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,WAAW,EACT,yGAAyG;QAC3G,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,UAAU,CAAC,CACrB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EAAE,gGAAgG;QAC7G,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC3D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,SAAS,CAAC,CACpB,CAAC;IAEF,+BAA+B;IAC/B,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC7D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,WAAW,CAAC,CACtB,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACnE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,UAAU,CAAC,CACrB,CAAC;IAEF,2CAA2C;IAC3C,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACrE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,YAAY,CAAC,CACvB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,WAAW,EAAE,sFAAsF;QACnG,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;YACtG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;SAC5F;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,SAAS,CAAC,CACpB,CAAC;IAEF,+BAA+B;IAC/B,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,kFAAkF;QAC/F,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC7D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,QAAQ,CAAC,WAAW,CAAC,CACtB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oss-autopilot/mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "MCP server for OSS Autopilot — exposes PR tracking, issue discovery, and contribution management as MCP tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
20
20
|
"zod": "^4.3.6",
|
|
21
|
-
"@oss-autopilot/core": "0.44.
|
|
21
|
+
"@oss-autopilot/core": "0.44.7"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^25.3.3",
|