wolfpack-mcp 1.0.81 → 1.0.83

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/client.js CHANGED
@@ -612,8 +612,10 @@ export class WolfpackClient {
612
612
  return this.api.post(`/subscriptions/${documentType}/${documentId}/unmute`, {});
613
613
  }
614
614
  // Discussion methods
615
- async getDiscussions(documentType, documentId) {
616
- return this.api.get(`/discussions/${documentType}/${documentId}`);
615
+ async getDiscussions(documentType, documentId, teamSlug) {
616
+ // A document ID is only unique within a project, so the server has to be told
617
+ // which one is meant rather than searching them all
618
+ return this.api.get(this.withTeamSlug(`/discussions/${documentType}/${documentId}`, teamSlug));
617
619
  }
618
620
  async getDiscussionByComment(commentId) {
619
621
  return this.api.get(`/discussions/by-comment/${commentId}`);
package/dist/index.js CHANGED
@@ -645,6 +645,10 @@ const UUID_FIELDS_TO_STRIP = new Set([
645
645
  const GetDiscussionsSchema = z.object({
646
646
  document_type: z.string().describe('Document type (e.g. "wiki", "work_item", "issue")'),
647
647
  document_id: z.string().describe('The ID of the document'),
648
+ project_slug: z
649
+ .string()
650
+ .optional()
651
+ .describe('Project slug — a document ID is only unique within one project'),
648
652
  });
649
653
  const GetDiscussionByCommentSchema = z.object({
650
654
  comment_id: z
@@ -862,10 +866,14 @@ class WolfpackMCPServer {
862
866
  'Call this before updating to see current content. ' +
863
867
  'WORKFLOW: When asked to work on an item, check its status and follow the required state transitions ' +
864
868
  '(pending→pull first, new→doing, review→doing when you are picking the work back up, ' +
865
- 'blocked/ready/completed/closed→new→doing, then review when done). ' +
869
+ 'ready/completed/closed→new→doing, then review when done). ' +
870
+ 'AGENTS: a "blocked" item is not yours to restart — a human clears the blocker. Leave it where it is, ' +
871
+ 'comment if you can help clear it, and take the next claimable item instead. ' +
866
872
  'PLANNING: Check if the description contains a plan (markdown checklist). If not, APPEND one using update_work_progress - preserve all original description text and add your plan below a "---" separator. ' +
867
873
  'FORMS: Procedure-created work items may include formDefinition (field definitions with name, label, type, required, options) and formValues (current values). Use submit_work_item_form to fill in form values. ' +
868
874
  'REVIEW CHECKS: items under review may carry review checks (code-review, security-review, ...); see list_work_item_checks and claim/complete_work_item_check. ' +
875
+ 'DEPENDENCIES: dependsOn lists the work this item follows and nextItems the work that follows it, each with satisfied=true once it has finished. ' +
876
+ 'An item with an unsatisfied entry in dependsOn cannot be pulled yet — take the work it depends on first. ' +
869
877
  'IMAGES: Image references in the description (e.g. `![alt](/api/files/...)`) can be viewed using the download_image tool.',
870
878
  inputSchema: {
871
879
  type: 'object',
@@ -913,6 +921,7 @@ class WolfpackMCPServer {
913
921
  'STATUS WORKFLOW: "pending" (backlog) → "new" (to do) → "doing" (in progress) → "review" (work done) → "ready" (awaiting deployment) → "completed" (deployed). ' +
914
922
  'Use "blocked" when work cannot proceed. AGENTS: you cannot start un-started work here — ' +
915
923
  'a status change on a "pending" or "new" item that is not assigned to you is refused. ' +
924
+ 'Nor can you move an item OUT of "blocked": clearing a blocker is a human decision. ' +
916
925
  'Take it with pull_work_item, which assigns it to you and puts it in "doing"; that is ' +
917
926
  'what makes the board show who is working on what. ' +
918
927
  'When moving to "review", add a completion comment via create_work_item_comment. When moving to "blocked", add a comment explaining the blocker. ' +
@@ -1018,6 +1027,8 @@ class WolfpackMCPServer {
1018
1027
  'now — so there is no separate "move it to doing" step. Move it to "review" when done. ' +
1019
1028
  'AGENTS: with more than one item claimable, take them in the order list_work_items gives ' +
1020
1029
  'you: bug fixes first, then higher priority, then oldest. ' +
1030
+ 'AGENTS: an item waiting on unfinished work it depends on is not claimable and will return ' +
1031
+ '403 naming what to take first — see dependsOn on get_work_item. ' +
1021
1032
  'If no assignee is specified, assigns to the API key owner. ' +
1022
1033
  'In personal projects, items are always assigned to the owner.',
1023
1034
  inputSchema: {
@@ -1068,6 +1079,7 @@ class WolfpackMCPServer {
1068
1079
  description: 'List review checks (key controls such as code-review, security-review, e2e-review) on work items. ' +
1069
1080
  'With work_item_id: every check on that item. Without it: your REVIEWER INBOX — pending checks on ' +
1070
1081
  'work items in the work pools you belong to that are unclaimed or held by you, each with workItemRefId and workItemTitle. ' +
1082
+ 'Checks on blocked items are left out — blocked work is not picked up, and claiming one is refused. ' +
1071
1083
  'REVIEW WORKFLOW: claim a check with claim_work_item_check, get_work_item to read the work, review it, ' +
1072
1084
  'then complete_work_item_check with "passed" or "failed" and a short summary. ' +
1073
1085
  'A failed check sends the item back to its developer with your summary as feedback; do not change the item status yourself.',
@@ -2100,6 +2112,10 @@ class WolfpackMCPServer {
2100
2112
  type: 'string',
2101
2113
  description: 'The ID of the document',
2102
2114
  },
2115
+ project_slug: {
2116
+ type: 'string',
2117
+ description: 'Project slug — a document ID is only unique within one project',
2118
+ },
2103
2119
  },
2104
2120
  required: ['document_type', 'document_id'],
2105
2121
  },
@@ -3069,7 +3085,7 @@ class WolfpackMCPServer {
3069
3085
  // Discussion handlers
3070
3086
  case 'get_discussions': {
3071
3087
  const parsed = GetDiscussionsSchema.parse(args);
3072
- const result = await this.client.getDiscussions(parsed.document_type, parsed.document_id);
3088
+ const result = await this.client.getDiscussions(parsed.document_type, parsed.document_id, parsed.project_slug);
3073
3089
  return {
3074
3090
  content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
3075
3091
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wolfpack-mcp",
3
- "version": "1.0.81",
3
+ "version": "1.0.83",
4
4
  "description": "MCP server for Wolfpack AI-enhanced software delivery tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",