@mycompbox/compbox-mcp 1.17.1 → 1.18.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/index.js +49 -2
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -1182,6 +1182,16 @@ var ApiClient = class {
1182
1182
  input
1183
1183
  );
1184
1184
  }
1185
+ /**
1186
+ * Resolve (clear) a blocker on a feature - inverse of reportFeatureBlocker
1187
+ */
1188
+ async resolveFeatureBlocker(featureId, input) {
1189
+ return this.request(
1190
+ "POST",
1191
+ `/api/v1/features/${encodeURIComponent(featureId)}/progress/unblock`,
1192
+ input
1193
+ );
1194
+ }
1185
1195
  /**
1186
1196
  * Start work on a task - sets status to "In Progress" and records start time
1187
1197
  */
@@ -1222,6 +1232,16 @@ var ApiClient = class {
1222
1232
  input
1223
1233
  );
1224
1234
  }
1235
+ /**
1236
+ * Resolve (clear) a blocker on a task - inverse of reportTaskBlocker
1237
+ */
1238
+ async resolveTaskBlocker(taskId, input) {
1239
+ return this.request(
1240
+ "POST",
1241
+ `/api/v1/tasks/${encodeURIComponent(taskId)}/progress/unblock`,
1242
+ input
1243
+ );
1244
+ }
1225
1245
  // ---------------------------------------------------------------------------
1226
1246
  // Structured Description Methods
1227
1247
  // ---------------------------------------------------------------------------
@@ -6588,7 +6608,7 @@ function registerProgressTools(server2) {
6588
6608
  server2.registerTool(
6589
6609
  "compbox__manage_progress",
6590
6610
  {
6591
- description: "Manage progress tracking for features and tasks using a unified interface. This composite tool consolidates 4 progress operations into a single tool with action-based routing.\n\nActions:\n- 'start_work': Begin working on an item (sets status to In Progress)\n- 'complete_work': Mark an item as complete (sets status to Done)\n- 'log_progress': Record progress without changing status\n- 'report_blocker': Report that an item is blocked\n\nUse this instead of the individual progress tools for a more streamlined workflow.",
6611
+ description: "Manage progress tracking for features and tasks using a unified interface. This composite tool consolidates 5 progress operations into a single tool with action-based routing.\n\nActions:\n- 'start_work': Begin working on an item (sets status to In Progress)\n- 'complete_work': Mark an item as complete (sets status to Done)\n- 'log_progress': Record progress without changing status\n- 'report_blocker': Report that an item is blocked\n- 'resolve_blocker': Clear a blocker and resume the item (inverse of 'report_blocker')\n\nUse this instead of the individual progress tools for a more streamlined workflow.",
6592
6612
  inputSchema: z13.discriminatedUnion("action", [
6593
6613
  z13.object({
6594
6614
  action: z13.literal("start_work"),
@@ -6618,6 +6638,14 @@ function registerProgressTools(server2) {
6618
6638
  reason: z13.string().min(1).max(5e3).describe("Description of what is blocking progress"),
6619
6639
  blockedById: z13.string().uuid().optional().describe("Optional UUID of the blocking item"),
6620
6640
  sessionId: z13.string().max(255).optional().describe("Optional AI session identifier")
6641
+ }),
6642
+ z13.object({
6643
+ action: z13.literal("resolve_blocker"),
6644
+ id: z13.string().describe("Feature or task identifier (UUID or human-readable like 'COM-123')"),
6645
+ type: z13.enum(["feature", "task"]).describe("Whether this is a 'feature' or 'task'"),
6646
+ resolution: z13.string().min(1).max(5e3).describe("Description of how the blocker was resolved"),
6647
+ unblockedFromId: z13.string().uuid().optional().describe("Optional UUID of the blocking item to drop from this item's dependencies"),
6648
+ sessionId: z13.string().max(255).optional().describe("Optional AI session identifier")
6621
6649
  })
6622
6650
  ])
6623
6651
  },
@@ -6695,6 +6723,25 @@ function registerProgressTools(server2) {
6695
6723
  return createResponse(result);
6696
6724
  }
6697
6725
  }
6726
+ case "resolve_blocker": {
6727
+ if (input.type === "feature") {
6728
+ const { data: feature } = await apiClient.getFeature(input.id);
6729
+ const { data: result } = await apiClient.resolveFeatureBlocker(feature.id, {
6730
+ resolution: input.resolution,
6731
+ unblockedFromId: input.unblockedFromId,
6732
+ sessionId: input.sessionId
6733
+ });
6734
+ return createResponse(result);
6735
+ } else {
6736
+ const { data: task } = await apiClient.getTask(input.id);
6737
+ const { data: result } = await apiClient.resolveTaskBlocker(task.id, {
6738
+ resolution: input.resolution,
6739
+ unblockedFromId: input.unblockedFromId,
6740
+ sessionId: input.sessionId
6741
+ });
6742
+ return createResponse(result);
6743
+ }
6744
+ }
6698
6745
  }
6699
6746
  } catch (error) {
6700
6747
  if (error instanceof ApiError && error.status === 404) {
@@ -10832,7 +10879,7 @@ function withLegacyToolCallRewrite(transport) {
10832
10879
  var SERVER_NAME = "compbox-mcp";
10833
10880
  function resolveServerVersion() {
10834
10881
  if (true) {
10835
- return "1.17.1";
10882
+ return "1.18.0";
10836
10883
  }
10837
10884
  const require2 = createRequire(import.meta.url);
10838
10885
  for (const candidate of ["../package.json", "./package.json"]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mycompbox/compbox-mcp",
3
- "version": "1.17.1",
3
+ "version": "1.18.0",
4
4
  "description": "CompBox MCP server - Uses HTTP API client (no direct database access)",
5
5
  "license": "MIT",
6
6
  "type": "module",