ralph-hero-mcp-server 2.5.52 → 2.5.61
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/index.js +15 -2
- package/dist/lib/plan-graph.js +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -218,6 +218,13 @@ function registerCoreTools(server, client) {
|
|
|
218
218
|
detail: "RALPH_GH_PROJECT_NUMBER not set",
|
|
219
219
|
};
|
|
220
220
|
}
|
|
221
|
+
// Token source detection — re-derive which env vars resolved
|
|
222
|
+
const repoTokenSource = resolveEnv("RALPH_GH_REPO_TOKEN")
|
|
223
|
+
? "RALPH_GH_REPO_TOKEN"
|
|
224
|
+
: "RALPH_HERO_GITHUB_TOKEN";
|
|
225
|
+
const projectTokenSource = resolveEnv("RALPH_GH_PROJECT_TOKEN")
|
|
226
|
+
? "RALPH_GH_PROJECT_TOKEN"
|
|
227
|
+
: repoTokenSource;
|
|
221
228
|
// Summary
|
|
222
229
|
const allOk = Object.values(checks).every((c) => c.status === "ok" || c.status === "skip");
|
|
223
230
|
return toolSuccess({
|
|
@@ -228,11 +235,17 @@ function registerCoreTools(server, client) {
|
|
|
228
235
|
repo: client.config.repo || "(not set)",
|
|
229
236
|
projectOwner: resolveProjectOwner(client.config) || "(not set)",
|
|
230
237
|
projectNumber: client.config.projectNumber || "(not set)",
|
|
231
|
-
tokenMode:
|
|
232
|
-
client.config.projectToken !== client.config.token
|
|
238
|
+
tokenMode: projectTokenSource !== repoTokenSource
|
|
233
239
|
? "dual-token"
|
|
234
240
|
: "single-token",
|
|
235
241
|
},
|
|
242
|
+
tokenSources: {
|
|
243
|
+
repoToken: repoTokenSource,
|
|
244
|
+
projectToken: projectTokenSource,
|
|
245
|
+
note: projectTokenSource !== repoTokenSource
|
|
246
|
+
? `Repo operations use ${repoTokenSource}, project operations use ${projectTokenSource}`
|
|
247
|
+
: `Both repo and project operations use ${repoTokenSource}`,
|
|
248
|
+
},
|
|
236
249
|
});
|
|
237
250
|
});
|
|
238
251
|
}
|
package/dist/lib/plan-graph.js
CHANGED
|
@@ -57,8 +57,8 @@ export function parsePlanGraph(content) {
|
|
|
57
57
|
const edges = [];
|
|
58
58
|
const lines = content.split("\n");
|
|
59
59
|
if (type === "plan") {
|
|
60
|
-
// Scan for ## Phase N: ...
|
|
61
|
-
const phasePattern = /^## Phase (\d+)
|
|
60
|
+
// Scan for ## Phase N: ... GH-NNN headings (with or without parens)
|
|
61
|
+
const phasePattern = /^## Phase (\d+):.*GH-(\d+)/;
|
|
62
62
|
// First pass: build phaseToIssue map
|
|
63
63
|
for (const line of lines) {
|
|
64
64
|
const m = line.match(phasePattern);
|
|
@@ -109,8 +109,8 @@ export function parsePlanGraph(content) {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
else {
|
|
112
|
-
// plan-of-plans: scan for ### Feature ...: ...
|
|
113
|
-
const featurePattern = /^### Feature [^:]
|
|
112
|
+
// plan-of-plans: scan for ### Feature ...: ... GH-NNN headings (with or without parens)
|
|
113
|
+
const featurePattern = /^### Feature [^:]+:.*GH-(\d+)/;
|
|
114
114
|
let currentFeatureIssue = null;
|
|
115
115
|
for (const line of lines) {
|
|
116
116
|
const featureMatch = line.match(featurePattern);
|