@ourroadmaps/mcp 0.31.0 → 0.32.0

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.
Files changed (2) hide show
  1. package/dist/index.js +130 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1378,6 +1378,33 @@ var uploadSlideImageInput = {
1378
1378
  slideId: idField("slide to add the image to"),
1379
1379
  filePath: z15.string().describe("Absolute path to the image file on disk")
1380
1380
  };
1381
+ var listVerificationRunsInput = {
1382
+ roadmapId: idField("roadmap item")
1383
+ };
1384
+ var getVerificationRunInput = {
1385
+ roadmapId: idField("roadmap item"),
1386
+ runId: idField("verification run")
1387
+ };
1388
+ var createVerificationRunInput = {
1389
+ roadmapId: idField("roadmap item"),
1390
+ appUrl: z15.string().describe("URL where the running app is accessible"),
1391
+ verificationTypes: z15.array(z15.enum(["outcomes", "visual", "edge-cases"])).optional().describe("Types of verification to include (defaults to all)"),
1392
+ totalOutcomes: z15.number().int().describe("Total number of PRD outcomes being checked")
1393
+ };
1394
+ var updateVerificationRunInput = {
1395
+ roadmapId: idField("roadmap item"),
1396
+ runId: idField("verification run"),
1397
+ status: z15.enum(["running", "completed", "partial", "failed"]).optional(),
1398
+ passedOutcomes: z15.number().int().optional(),
1399
+ failedOutcomes: z15.number().int().optional(),
1400
+ skippedOutcomes: z15.number().int().optional(),
1401
+ outcomeResults: z15.string().optional().describe("JSON string of outcome check results"),
1402
+ visualResults: z15.string().optional().describe("JSON string of visual comparison results"),
1403
+ edgeCaseResults: z15.string().optional().describe("JSON string of edge case results"),
1404
+ fixPrompt: z15.string().optional().describe("Generated fix prompt text"),
1405
+ durationMs: z15.number().int().optional(),
1406
+ completedAt: z15.string().datetime().optional().describe("ISO timestamp when the run completed")
1407
+ };
1381
1408
  // ../../packages/shared/src/schemas/variant.ts
1382
1409
  import { z as z16 } from "zod";
1383
1410
  var variantSchema = z16.object({
@@ -2112,6 +2139,24 @@ class ApiClient {
2112
2139
  });
2113
2140
  return response.data;
2114
2141
  }
2142
+ async listVerificationRuns(roadmapId) {
2143
+ return this.request(`/v1/roadmaps/${roadmapId}/verification-runs`);
2144
+ }
2145
+ async getVerificationRun(roadmapId, runId) {
2146
+ return this.request(`/v1/roadmaps/${roadmapId}/verification-runs/${runId}`);
2147
+ }
2148
+ async createVerificationRun(roadmapId, body) {
2149
+ return this.request(`/v1/roadmaps/${roadmapId}/verification-runs`, {
2150
+ method: "POST",
2151
+ body: JSON.stringify(body)
2152
+ });
2153
+ }
2154
+ async updateVerificationRun(roadmapId, runId, body) {
2155
+ return this.request(`/v1/roadmaps/${roadmapId}/verification-runs/${runId}`, {
2156
+ method: "PATCH",
2157
+ body: JSON.stringify(body)
2158
+ });
2159
+ }
2115
2160
  async getVariantPresentationId(variantId) {
2116
2161
  const presentations = await this.listPresentations();
2117
2162
  for (const presentation2 of presentations.items) {
@@ -2245,6 +2290,10 @@ function registerAllTools(server) {
2245
2290
  registerGetPresentationFeedbackDetail(server);
2246
2291
  registerResolvePresentationFeedback(server);
2247
2292
  registerAddPresentationReviewer(server);
2293
+ registerListVerificationRuns(server);
2294
+ registerGetVerificationRun(server);
2295
+ registerCreateVerificationRun(server);
2296
+ registerUpdateVerificationRun(server);
2248
2297
  }
2249
2298
  function registerGetWorkflows(server) {
2250
2299
  server.registerTool("get_workflows", {
@@ -5518,6 +5567,87 @@ function registerAddPresentationReviewer(server) {
5518
5567
  };
5519
5568
  });
5520
5569
  }
5570
+ function registerListVerificationRuns(server) {
5571
+ server.registerTool("list_verification_runs", {
5572
+ description: "List all verification runs for a roadmap item. Returns summary data without full results JSON.",
5573
+ inputSchema: listVerificationRunsInput
5574
+ }, async ({ roadmapId }) => {
5575
+ const client2 = getApiClient();
5576
+ const response = await client2.listVerificationRuns(roadmapId);
5577
+ return {
5578
+ content: [
5579
+ {
5580
+ type: "text",
5581
+ text: JSON.stringify(response, null, 2)
5582
+ }
5583
+ ]
5584
+ };
5585
+ });
5586
+ }
5587
+ function registerGetVerificationRun(server) {
5588
+ server.registerTool("get_verification_run", {
5589
+ description: "Get full details of a verification run including outcome results, visual comparisons, edge case results, and fix prompt.",
5590
+ inputSchema: getVerificationRunInput
5591
+ }, async ({ roadmapId, runId }) => {
5592
+ const client2 = getApiClient();
5593
+ const response = await client2.getVerificationRun(roadmapId, runId);
5594
+ return {
5595
+ content: [
5596
+ {
5597
+ type: "text",
5598
+ text: JSON.stringify(response, null, 2)
5599
+ }
5600
+ ]
5601
+ };
5602
+ });
5603
+ }
5604
+ function registerCreateVerificationRun(server) {
5605
+ server.registerTool("create_verification_run", {
5606
+ description: "Create a new verification run record. Call this at the start of a QA verification to track the run.",
5607
+ inputSchema: createVerificationRunInput
5608
+ }, async ({
5609
+ roadmapId,
5610
+ appUrl,
5611
+ verificationTypes,
5612
+ totalOutcomes
5613
+ }) => {
5614
+ const client2 = getApiClient();
5615
+ const response = await client2.createVerificationRun(roadmapId, {
5616
+ appUrl,
5617
+ verificationTypes,
5618
+ totalOutcomes
5619
+ });
5620
+ return {
5621
+ content: [
5622
+ {
5623
+ type: "text",
5624
+ text: JSON.stringify(response, null, 2)
5625
+ }
5626
+ ]
5627
+ };
5628
+ });
5629
+ }
5630
+ function registerUpdateVerificationRun(server) {
5631
+ server.registerTool("update_verification_run", {
5632
+ description: "Update a verification run with results, status, and fix prompt. Call this as verification completes to save results.",
5633
+ inputSchema: updateVerificationRunInput
5634
+ }, async ({
5635
+ roadmapId,
5636
+ runId,
5637
+ ...rest
5638
+ }) => {
5639
+ const client2 = getApiClient();
5640
+ const response = await client2.updateVerificationRun(roadmapId, runId, rest);
5641
+ return {
5642
+ content: [
5643
+ {
5644
+ type: "text",
5645
+ text: JSON.stringify(response, null, 2)
5646
+ }
5647
+ ]
5648
+ };
5649
+ });
5650
+ }
5521
5651
 
5522
5652
  // src/index.ts
5523
5653
  async function main() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ourroadmaps/mcp",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "description": "MCP server for OurRoadmaps - manage roadmaps, features, and ideas from Claude Code",
5
5
  "type": "module",
6
6
  "bin": {