@ourroadmaps/mcp 0.8.0 → 0.9.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.
- package/dist/index.js +114 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -380,6 +380,23 @@ var featureLinkSchema = z8.object({
|
|
|
380
380
|
}),
|
|
381
381
|
createdAt: z8.string()
|
|
382
382
|
});
|
|
383
|
+
var phaseDesignSchema = z8.object({
|
|
384
|
+
id: z8.string().uuid(),
|
|
385
|
+
description: z8.string().nullable()
|
|
386
|
+
});
|
|
387
|
+
var phasePlanSchema = z8.object({
|
|
388
|
+
id: z8.string().uuid(),
|
|
389
|
+
description: z8.string().nullable()
|
|
390
|
+
});
|
|
391
|
+
var phaseBuildSchema = z8.object({
|
|
392
|
+
id: z8.string().uuid(),
|
|
393
|
+
description: z8.string().nullable(),
|
|
394
|
+
prompt: z8.string().nullable()
|
|
395
|
+
});
|
|
396
|
+
var phaseReleaseSchema = z8.object({
|
|
397
|
+
id: z8.string().uuid(),
|
|
398
|
+
description: z8.string().nullable()
|
|
399
|
+
});
|
|
383
400
|
var roadmapDetailSchema = roadmapSchema.extend({
|
|
384
401
|
prd: prdSchema.nullable(),
|
|
385
402
|
wireframes: z8.array(wireframeSchema),
|
|
@@ -387,7 +404,11 @@ var roadmapDetailSchema = roadmapSchema.extend({
|
|
|
387
404
|
brainstormNotes: z8.string().nullable(),
|
|
388
405
|
featureLinks: z8.array(featureLinkSchema),
|
|
389
406
|
epics: z8.array(epicWithStoriesSchema),
|
|
390
|
-
stories: z8.array(storySchema)
|
|
407
|
+
stories: z8.array(storySchema),
|
|
408
|
+
design: phaseDesignSchema.nullable(),
|
|
409
|
+
plan: phasePlanSchema.nullable(),
|
|
410
|
+
build: phaseBuildSchema.nullable(),
|
|
411
|
+
release: phaseReleaseSchema.nullable()
|
|
391
412
|
});
|
|
392
413
|
var roadmapListSchema = z8.array(roadmapSchema);
|
|
393
414
|
// ../../packages/shared/src/schemas/scenario.ts
|
|
@@ -698,6 +719,14 @@ class ApiClient {
|
|
|
698
719
|
const response = await this.request(`/v1/history?${searchParams.toString()}`);
|
|
699
720
|
return response.data;
|
|
700
721
|
}
|
|
722
|
+
async getHistorySummary(params) {
|
|
723
|
+
const searchParams = new URLSearchParams({
|
|
724
|
+
startDate: params.startDate,
|
|
725
|
+
endDate: params.endDate
|
|
726
|
+
});
|
|
727
|
+
const response = await this.request(`/v1/history/summary?${searchParams}`);
|
|
728
|
+
return response.data;
|
|
729
|
+
}
|
|
701
730
|
async saveStories(roadmapId, data) {
|
|
702
731
|
const response = await this.request(`/v1/roadmaps/${roadmapId}/stories`, {
|
|
703
732
|
method: "POST",
|
|
@@ -705,6 +734,34 @@ class ApiClient {
|
|
|
705
734
|
});
|
|
706
735
|
return response.data;
|
|
707
736
|
}
|
|
737
|
+
async updateDesignDescription(roadmapId, description) {
|
|
738
|
+
const response = await this.request(`/v1/designs/roadmaps/${roadmapId}/design`, {
|
|
739
|
+
method: "PATCH",
|
|
740
|
+
body: JSON.stringify({ description })
|
|
741
|
+
});
|
|
742
|
+
return response.data;
|
|
743
|
+
}
|
|
744
|
+
async updatePlanDescription(roadmapId, description) {
|
|
745
|
+
const response = await this.request(`/v1/plans/roadmaps/${roadmapId}/plan`, {
|
|
746
|
+
method: "PATCH",
|
|
747
|
+
body: JSON.stringify({ description })
|
|
748
|
+
});
|
|
749
|
+
return response.data;
|
|
750
|
+
}
|
|
751
|
+
async updateBuildDescription(roadmapId, data) {
|
|
752
|
+
const response = await this.request(`/v1/builds/roadmaps/${roadmapId}/build`, {
|
|
753
|
+
method: "PATCH",
|
|
754
|
+
body: JSON.stringify(data)
|
|
755
|
+
});
|
|
756
|
+
return response.data;
|
|
757
|
+
}
|
|
758
|
+
async updateReleaseDescription(roadmapId, description) {
|
|
759
|
+
const response = await this.request(`/v1/releases/roadmaps/${roadmapId}/release`, {
|
|
760
|
+
method: "PATCH",
|
|
761
|
+
body: JSON.stringify({ description })
|
|
762
|
+
});
|
|
763
|
+
return response.data;
|
|
764
|
+
}
|
|
708
765
|
}
|
|
709
766
|
var client = null;
|
|
710
767
|
function getApiClient() {
|
|
@@ -753,6 +810,7 @@ function registerAllTools(server) {
|
|
|
753
810
|
registerDeleteAudience(server);
|
|
754
811
|
registerListStatusUpdates(server);
|
|
755
812
|
registerGetHistory(server);
|
|
813
|
+
registerGetHistorySummary(server);
|
|
756
814
|
registerCreateStatusUpdate(server);
|
|
757
815
|
registerSaveStories(server);
|
|
758
816
|
}
|
|
@@ -849,6 +907,11 @@ function registerGetRoadmap(server) {
|
|
|
849
907
|
})),
|
|
850
908
|
epics: roadmap2.epics,
|
|
851
909
|
stories: roadmap2.stories,
|
|
910
|
+
designDescription: roadmap2.design?.description ?? null,
|
|
911
|
+
planDescription: roadmap2.plan?.description ?? null,
|
|
912
|
+
buildDescription: roadmap2.build?.description ?? null,
|
|
913
|
+
releaseDescription: roadmap2.release?.description ?? null,
|
|
914
|
+
prompt: roadmap2.build?.prompt ?? roadmap2.prompt ?? null,
|
|
852
915
|
createdAt: roadmap2.createdAt
|
|
853
916
|
}, null, 2)
|
|
854
917
|
}
|
|
@@ -1114,7 +1177,11 @@ function registerUpdateRoadmapItem(server) {
|
|
|
1114
1177
|
horizon: horizonSchema.optional().describe("New planning horizon"),
|
|
1115
1178
|
value: z10.number().int().min(1).max(3).nullable().optional().describe("Value rating (1-3 stars, where 3 is highest value)"),
|
|
1116
1179
|
effort: effortSizeSchema.nullable().optional().describe("Effort estimate (xs=extra small, s=small, m=medium, l=large, xl=extra large)"),
|
|
1117
|
-
order: z10.number().int().min(0).optional().describe("Sort order for prioritization (lower numbers appear first)")
|
|
1180
|
+
order: z10.number().int().min(0).optional().describe("Sort order for prioritization (lower numbers appear first)"),
|
|
1181
|
+
designDescription: z10.string().nullable().optional().describe("Description for the Design phase"),
|
|
1182
|
+
planDescription: z10.string().nullable().optional().describe("Description for the Planning phase"),
|
|
1183
|
+
buildDescription: z10.string().nullable().optional().describe("Description for the Build phase"),
|
|
1184
|
+
releaseDescription: z10.string().nullable().optional().describe("Description for the Release phase")
|
|
1118
1185
|
}
|
|
1119
1186
|
}, async ({
|
|
1120
1187
|
id,
|
|
@@ -1123,7 +1190,11 @@ function registerUpdateRoadmapItem(server) {
|
|
|
1123
1190
|
horizon,
|
|
1124
1191
|
value,
|
|
1125
1192
|
effort,
|
|
1126
|
-
order
|
|
1193
|
+
order,
|
|
1194
|
+
designDescription,
|
|
1195
|
+
planDescription,
|
|
1196
|
+
buildDescription,
|
|
1197
|
+
releaseDescription
|
|
1127
1198
|
}) => {
|
|
1128
1199
|
const client2 = getApiClient();
|
|
1129
1200
|
const updates = {};
|
|
@@ -1140,6 +1211,23 @@ function registerUpdateRoadmapItem(server) {
|
|
|
1140
1211
|
if (order !== undefined)
|
|
1141
1212
|
updates.order = order;
|
|
1142
1213
|
const roadmap2 = await client2.updateRoadmap(id, updates);
|
|
1214
|
+
const phaseUpdates = {};
|
|
1215
|
+
if (designDescription !== undefined) {
|
|
1216
|
+
await client2.updateDesignDescription(id, designDescription);
|
|
1217
|
+
phaseUpdates.designDescription = designDescription;
|
|
1218
|
+
}
|
|
1219
|
+
if (planDescription !== undefined) {
|
|
1220
|
+
await client2.updatePlanDescription(id, planDescription);
|
|
1221
|
+
phaseUpdates.planDescription = planDescription;
|
|
1222
|
+
}
|
|
1223
|
+
if (buildDescription !== undefined) {
|
|
1224
|
+
await client2.updateBuildDescription(id, { description: buildDescription });
|
|
1225
|
+
phaseUpdates.buildDescription = buildDescription;
|
|
1226
|
+
}
|
|
1227
|
+
if (releaseDescription !== undefined) {
|
|
1228
|
+
await client2.updateReleaseDescription(id, releaseDescription);
|
|
1229
|
+
phaseUpdates.releaseDescription = releaseDescription;
|
|
1230
|
+
}
|
|
1143
1231
|
return {
|
|
1144
1232
|
content: [
|
|
1145
1233
|
{
|
|
@@ -1154,7 +1242,8 @@ function registerUpdateRoadmapItem(server) {
|
|
|
1154
1242
|
value: roadmap2.value,
|
|
1155
1243
|
effort: roadmap2.effort,
|
|
1156
1244
|
order: roadmap2.order
|
|
1157
|
-
}
|
|
1245
|
+
},
|
|
1246
|
+
phaseDescriptionsUpdated: phaseUpdates
|
|
1158
1247
|
}, null, 2)
|
|
1159
1248
|
}
|
|
1160
1249
|
]
|
|
@@ -2034,7 +2123,7 @@ function registerListStatusUpdates(server) {
|
|
|
2034
2123
|
}
|
|
2035
2124
|
function registerGetHistory(server) {
|
|
2036
2125
|
server.registerTool("get_history", {
|
|
2037
|
-
description: "Get history events for a date range. Returns
|
|
2126
|
+
description: "Get raw history events for a date range. Returns full event details including payloads. " + "Use entityType or entityId filters to narrow results. For status reports, prefer " + "get_history_summary to avoid context overflow.",
|
|
2038
2127
|
inputSchema: {
|
|
2039
2128
|
startDate: z10.string().regex(/^\d{4}-\d{2}-\d{2}$/).describe("Start date in YYYY-MM-DD format"),
|
|
2040
2129
|
endDate: z10.string().regex(/^\d{4}-\d{2}-\d{2}$/).describe("End date in YYYY-MM-DD format"),
|
|
@@ -2066,6 +2155,26 @@ function registerGetHistory(server) {
|
|
|
2066
2155
|
};
|
|
2067
2156
|
});
|
|
2068
2157
|
}
|
|
2158
|
+
function registerGetHistorySummary(server) {
|
|
2159
|
+
server.registerTool("get_history_summary", {
|
|
2160
|
+
description: "Get a summary of history events for a date range. Returns counts by entity type, " + "list of changed entities with titles, and total event count. Use this for status " + "report generation instead of get_history to avoid context overflow.",
|
|
2161
|
+
inputSchema: {
|
|
2162
|
+
startDate: z10.string().regex(/^\d{4}-\d{2}-\d{2}$/).describe("Start date in YYYY-MM-DD format"),
|
|
2163
|
+
endDate: z10.string().regex(/^\d{4}-\d{2}-\d{2}$/).describe("End date in YYYY-MM-DD format")
|
|
2164
|
+
}
|
|
2165
|
+
}, async ({ startDate, endDate }) => {
|
|
2166
|
+
const client2 = getApiClient();
|
|
2167
|
+
const summary = await client2.getHistorySummary({ startDate, endDate });
|
|
2168
|
+
return {
|
|
2169
|
+
content: [
|
|
2170
|
+
{
|
|
2171
|
+
type: "text",
|
|
2172
|
+
text: JSON.stringify(summary, null, 2)
|
|
2173
|
+
}
|
|
2174
|
+
]
|
|
2175
|
+
};
|
|
2176
|
+
});
|
|
2177
|
+
}
|
|
2069
2178
|
function registerCreateStatusUpdate(server) {
|
|
2070
2179
|
server.registerTool("create_status_update", {
|
|
2071
2180
|
description: "Create a new status report. Use this after generating the report content from history events.",
|