@brxce/mcp-server 1.0.3 → 1.1.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 (190) hide show
  1. package/README.md +11 -4
  2. package/dist/config/environment.d.ts.map +1 -1
  3. package/dist/config/environment.js +6 -7
  4. package/dist/config/environment.js.map +1 -1
  5. package/dist/constants/enums.d.ts +11 -0
  6. package/dist/constants/enums.d.ts.map +1 -0
  7. package/dist/constants/enums.js +39 -0
  8. package/dist/constants/enums.js.map +1 -0
  9. package/dist/http-server.d.ts +5 -0
  10. package/dist/http-server.d.ts.map +1 -0
  11. package/dist/http-server.js +154 -0
  12. package/dist/http-server.js.map +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +63 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/prompts/worknode-prompts.d.ts.map +1 -1
  17. package/dist/prompts/worknode-prompts.js +5 -4
  18. package/dist/prompts/worknode-prompts.js.map +1 -1
  19. package/dist/prompts/workspace-context-prompt.d.ts.map +1 -1
  20. package/dist/prompts/workspace-context-prompt.js +2 -1
  21. package/dist/prompts/workspace-context-prompt.js.map +1 -1
  22. package/dist/resources/user-resource.d.ts.map +1 -1
  23. package/dist/resources/user-resource.js +2 -1
  24. package/dist/resources/user-resource.js.map +1 -1
  25. package/dist/resources/workspace-members-resource.d.ts.map +1 -1
  26. package/dist/resources/workspace-members-resource.js +6 -3
  27. package/dist/resources/workspace-members-resource.js.map +1 -1
  28. package/dist/resources/workspace-resource.d.ts.map +1 -1
  29. package/dist/resources/workspace-resource.js +2 -1
  30. package/dist/resources/workspace-resource.js.map +1 -1
  31. package/dist/server.d.ts +24 -0
  32. package/dist/server.d.ts.map +1 -0
  33. package/dist/server.js +212 -0
  34. package/dist/server.js.map +1 -0
  35. package/dist/services/api-client.d.ts +36 -2
  36. package/dist/services/api-client.d.ts.map +1 -1
  37. package/dist/services/api-client.js +153 -64
  38. package/dist/services/api-client.js.map +1 -1
  39. package/dist/services/workspace-context.d.ts +56 -0
  40. package/dist/services/workspace-context.d.ts.map +1 -0
  41. package/dist/services/workspace-context.js +104 -0
  42. package/dist/services/workspace-context.js.map +1 -0
  43. package/dist/tools/comment-tool.d.ts +4 -0
  44. package/dist/tools/comment-tool.d.ts.map +1 -0
  45. package/dist/tools/comment-tool.js +154 -0
  46. package/dist/tools/comment-tool.js.map +1 -0
  47. package/dist/tools/criteria-tool.d.ts +4 -0
  48. package/dist/tools/criteria-tool.d.ts.map +1 -0
  49. package/dist/tools/criteria-tool.js +208 -0
  50. package/dist/tools/criteria-tool.js.map +1 -0
  51. package/dist/tools/invitation-tool.d.ts +19 -0
  52. package/dist/tools/invitation-tool.d.ts.map +1 -0
  53. package/dist/tools/invitation-tool.js +501 -0
  54. package/dist/tools/invitation-tool.js.map +1 -0
  55. package/dist/tools/meeting-agenda-notes-tool.d.ts +7 -0
  56. package/dist/tools/meeting-agenda-notes-tool.d.ts.map +1 -0
  57. package/dist/tools/meeting-agenda-notes-tool.js +326 -0
  58. package/dist/tools/meeting-agenda-notes-tool.js.map +1 -0
  59. package/dist/tools/meeting-agenda-tool.d.ts.map +1 -1
  60. package/dist/tools/meeting-agenda-tool.js +12 -11
  61. package/dist/tools/meeting-agenda-tool.js.map +1 -1
  62. package/dist/tools/meeting-create-tool.d.ts.map +1 -1
  63. package/dist/tools/meeting-create-tool.js +74 -139
  64. package/dist/tools/meeting-create-tool.js.map +1 -1
  65. package/dist/tools/meeting-decisions-tool.d.ts.map +1 -1
  66. package/dist/tools/meeting-decisions-tool.js +12 -11
  67. package/dist/tools/meeting-decisions-tool.js.map +1 -1
  68. package/dist/tools/meeting-delete-tool.d.ts +7 -0
  69. package/dist/tools/meeting-delete-tool.d.ts.map +1 -0
  70. package/dist/tools/meeting-delete-tool.js +58 -0
  71. package/dist/tools/meeting-delete-tool.js.map +1 -0
  72. package/dist/tools/meeting-list-tool.d.ts.map +1 -1
  73. package/dist/tools/meeting-list-tool.js +14 -100
  74. package/dist/tools/meeting-list-tool.js.map +1 -1
  75. package/dist/tools/meeting-notes-tool.d.ts.map +1 -1
  76. package/dist/tools/meeting-notes-tool.js +12 -11
  77. package/dist/tools/meeting-notes-tool.js.map +1 -1
  78. package/dist/tools/meeting-update-tool.d.ts.map +1 -1
  79. package/dist/tools/meeting-update-tool.js +8 -135
  80. package/dist/tools/meeting-update-tool.js.map +1 -1
  81. package/dist/tools/my-work-tool.d.ts +7 -0
  82. package/dist/tools/my-work-tool.d.ts.map +1 -0
  83. package/dist/tools/my-work-tool.js +283 -0
  84. package/dist/tools/my-work-tool.js.map +1 -0
  85. package/dist/tools/notification-tool.d.ts +23 -0
  86. package/dist/tools/notification-tool.d.ts.map +1 -0
  87. package/dist/tools/notification-tool.js +330 -0
  88. package/dist/tools/notification-tool.js.map +1 -0
  89. package/dist/tools/tag-category-tool.d.ts.map +1 -1
  90. package/dist/tools/tag-category-tool.js +15 -6
  91. package/dist/tools/tag-category-tool.js.map +1 -1
  92. package/dist/tools/tag-changes-tool.d.ts +4 -0
  93. package/dist/tools/tag-changes-tool.d.ts.map +1 -0
  94. package/dist/tools/tag-changes-tool.js +79 -0
  95. package/dist/tools/tag-changes-tool.js.map +1 -0
  96. package/dist/tools/tag-search-tool.d.ts.map +1 -1
  97. package/dist/tools/tag-search-tool.js +13 -6
  98. package/dist/tools/tag-search-tool.js.map +1 -1
  99. package/dist/tools/tag-tool.d.ts.map +1 -1
  100. package/dist/tools/tag-tool.js +26 -15
  101. package/dist/tools/tag-tool.js.map +1 -1
  102. package/dist/tools/user-search-tool.d.ts +8 -0
  103. package/dist/tools/user-search-tool.d.ts.map +1 -0
  104. package/dist/tools/user-search-tool.js +164 -0
  105. package/dist/tools/user-search-tool.js.map +1 -0
  106. package/dist/tools/worknode-archive-tool.d.ts.map +1 -1
  107. package/dist/tools/worknode-archive-tool.js +15 -52
  108. package/dist/tools/worknode-archive-tool.js.map +1 -1
  109. package/dist/tools/worknode-batch-tool.d.ts +4 -0
  110. package/dist/tools/worknode-batch-tool.d.ts.map +1 -0
  111. package/dist/tools/worknode-batch-tool.js +117 -0
  112. package/dist/tools/worknode-batch-tool.js.map +1 -0
  113. package/dist/tools/worknode-by-member-tool.d.ts +4 -0
  114. package/dist/tools/worknode-by-member-tool.d.ts.map +1 -0
  115. package/dist/tools/worknode-by-member-tool.js +171 -0
  116. package/dist/tools/worknode-by-member-tool.js.map +1 -0
  117. package/dist/tools/worknode-complete-tool.d.ts +4 -0
  118. package/dist/tools/worknode-complete-tool.d.ts.map +1 -0
  119. package/dist/tools/worknode-complete-tool.js +95 -0
  120. package/dist/tools/worknode-complete-tool.js.map +1 -0
  121. package/dist/tools/worknode-create-tool.d.ts.map +1 -1
  122. package/dist/tools/worknode-create-tool.js +40 -126
  123. package/dist/tools/worknode-create-tool.js.map +1 -1
  124. package/dist/tools/worknode-delete-tool.d.ts +4 -0
  125. package/dist/tools/worknode-delete-tool.d.ts.map +1 -0
  126. package/dist/tools/worknode-delete-tool.js +64 -0
  127. package/dist/tools/worknode-delete-tool.js.map +1 -0
  128. package/dist/tools/worknode-history-tool.d.ts +4 -0
  129. package/dist/tools/worknode-history-tool.d.ts.map +1 -0
  130. package/dist/tools/worknode-history-tool.js +103 -0
  131. package/dist/tools/worknode-history-tool.js.map +1 -0
  132. package/dist/tools/worknode-move-tool.d.ts +4 -0
  133. package/dist/tools/worknode-move-tool.d.ts.map +1 -0
  134. package/dist/tools/worknode-move-tool.js +80 -0
  135. package/dist/tools/worknode-move-tool.js.map +1 -0
  136. package/dist/tools/worknode-permanent-delete-tool.d.ts +10 -0
  137. package/dist/tools/worknode-permanent-delete-tool.d.ts.map +1 -0
  138. package/dist/tools/worknode-permanent-delete-tool.js +131 -0
  139. package/dist/tools/worknode-permanent-delete-tool.js.map +1 -0
  140. package/dist/tools/worknode-plan-organize-tool.d.ts.map +1 -1
  141. package/dist/tools/worknode-plan-organize-tool.js +10 -118
  142. package/dist/tools/worknode-plan-organize-tool.js.map +1 -1
  143. package/dist/tools/worknode-read-tool.d.ts.map +1 -1
  144. package/dist/tools/worknode-read-tool.js +23 -117
  145. package/dist/tools/worknode-read-tool.js.map +1 -1
  146. package/dist/tools/worknode-subtree-tool.d.ts.map +1 -1
  147. package/dist/tools/worknode-subtree-tool.js +153 -99
  148. package/dist/tools/worknode-subtree-tool.js.map +1 -1
  149. package/dist/tools/worknode-tag-relations-tool.d.ts +4 -0
  150. package/dist/tools/worknode-tag-relations-tool.d.ts.map +1 -0
  151. package/dist/tools/worknode-tag-relations-tool.js +143 -0
  152. package/dist/tools/worknode-tag-relations-tool.js.map +1 -0
  153. package/dist/tools/worknode-tag-tool.d.ts.map +1 -1
  154. package/dist/tools/worknode-tag-tool.js +17 -8
  155. package/dist/tools/worknode-tag-tool.js.map +1 -1
  156. package/dist/tools/worknode-update-tool.d.ts.map +1 -1
  157. package/dist/tools/worknode-update-tool.js +37 -120
  158. package/dist/tools/worknode-update-tool.js.map +1 -1
  159. package/dist/tools/workspace-ascii-export-tool.d.ts +4 -0
  160. package/dist/tools/workspace-ascii-export-tool.d.ts.map +1 -0
  161. package/dist/tools/workspace-ascii-export-tool.js +99 -0
  162. package/dist/tools/workspace-ascii-export-tool.js.map +1 -0
  163. package/dist/tools/workspace-inbox-tool.d.ts.map +1 -1
  164. package/dist/tools/workspace-inbox-tool.js +8 -77
  165. package/dist/tools/workspace-inbox-tool.js.map +1 -1
  166. package/dist/tools/workspace-list-tool.d.ts.map +1 -1
  167. package/dist/tools/workspace-list-tool.js +5 -50
  168. package/dist/tools/workspace-list-tool.js.map +1 -1
  169. package/dist/tools/workspace-member-tool.d.ts +15 -0
  170. package/dist/tools/workspace-member-tool.d.ts.map +1 -0
  171. package/dist/tools/workspace-member-tool.js +518 -0
  172. package/dist/tools/workspace-member-tool.js.map +1 -0
  173. package/dist/tools/workspace-members-list-tool.d.ts.map +1 -1
  174. package/dist/tools/workspace-members-list-tool.js +10 -87
  175. package/dist/tools/workspace-members-list-tool.js.map +1 -1
  176. package/dist/tools/workspace-statistics-tool.d.ts.map +1 -1
  177. package/dist/tools/workspace-statistics-tool.js +8 -172
  178. package/dist/tools/workspace-statistics-tool.js.map +1 -1
  179. package/dist/tools/workspace-tree-tool.d.ts.map +1 -1
  180. package/dist/tools/workspace-tree-tool.js +37 -185
  181. package/dist/tools/workspace-tree-tool.js.map +1 -1
  182. package/dist/utils/error-utils.d.ts +58 -0
  183. package/dist/utils/error-utils.d.ts.map +1 -0
  184. package/dist/utils/error-utils.js +118 -0
  185. package/dist/utils/error-utils.js.map +1 -0
  186. package/dist/utils/index.d.ts +2 -0
  187. package/dist/utils/index.d.ts.map +1 -0
  188. package/dist/utils/index.js +2 -0
  189. package/dist/utils/index.js.map +1 -0
  190. package/package.json +13 -11
@@ -1,60 +1,15 @@
1
+ import { getErrorMessage } from '../utils/error-utils.js';
1
2
  /**
2
3
  * Register Workspace List tool for LLM-invoked queries
3
4
  * This tool allows the LLM to list all workspaces the user has access to
4
5
  */
5
6
  export function registerWorkspaceListTool(server, apiClient) {
6
7
  server.registerTool('brxce_list_workspaces', {
7
- description: `List all workspaces the authenticated user has access to.
8
+ description: `List all workspaces the user has access to.
8
9
 
9
- ⚠️ **IMPORTANT: When to use this tool vs user://me resource**
10
+ Prefer user://me resource for simple lookups. Use this tool when user explicitly asks to list workspaces.
10
11
 
11
- **Use this tool when:**
12
- - User explicitly asks to "list workspaces" or "show all workspaces"
13
- - You need workspace details beyond basic info (description, type, role)
14
- - You want to filter workspaces by specific criteria
15
-
16
- **Use user://me resource when:**
17
- - You just need workspace IDs and names for context
18
- - You're about to call another MCP tool that needs workspaceId
19
- - You want both user info AND workspaces in one call
20
-
21
- **Common Use Cases:**
22
- - "Show me all my workspaces" → Use this tool
23
- - "What workspaces do I have access to?" → Use this tool
24
- - "I need the workspace ID for BRXCE Development" → Use user://me resource instead
25
- - Before calling brxce_workspace_overview → Use user://me resource instead
26
-
27
- **Output Format:**
28
- Returns JSON with:
29
- - workspaces: Array of workspace objects with full details
30
- - id: Workspace ID
31
- - name: Workspace name
32
- - slug: URL-friendly identifier
33
- - description: Workspace description
34
- - workspaceType: Type of workspace (e.g., "team", "personal")
35
- - planType: Subscription plan (e.g., "free", "pro")
36
- - spaceId: Parent space ID (if applicable)
37
- - userRole: User's role in this workspace (e.g., "owner", "member")
38
- - total: Total number of workspaces
39
-
40
- **Best Practices:**
41
- 1. Prefer user://me resource for simple workspace lookups
42
- 2. Use this tool when user explicitly asks for workspace list
43
- 3. Cache workspace data to avoid repeated calls
44
- 4. Use workspace slug for user-friendly URLs
45
-
46
- **Example Workflow:**
47
- \`\`\`
48
- User: "Show me all my workspaces"
49
- LLM:
50
- 1. Calls brxce_list_workspaces
51
- 2. Formats response in readable list
52
- 3. Shows workspace names, types, and roles
53
- \`\`\`
54
-
55
- ⏰ **TIMEZONE HANDLING:**
56
- All timestamps in the response are in UTC (ISO 8601 format).
57
- Convert to user's local timezone when presenting results.`,
12
+ Returns: workspaces[{id, name, slug, type, plan, userRole}], total. Dates in UTC.`,
58
13
  inputSchema: {},
59
14
  }, async (args) => {
60
15
  try {
@@ -101,7 +56,7 @@ Convert to user's local timezone when presenting results.`,
101
56
  type: 'text',
102
57
  text: JSON.stringify({
103
58
  error: 'Failed to fetch workspaces',
104
- message: error.message,
59
+ message: getErrorMessage(error),
105
60
  }),
106
61
  },
107
62
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-list-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-list-tool.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,SAAoB;IAC/E,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAkDuC;QACpD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAwB,iBAAiB,CAAC,CAAC;YAE/E,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,4BAA4B;gCACnC,OAAO,EAAE,oCAAoC;6BAC9C,CAAC;yBACH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEjC,2CAA2C;YAC3C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,KAAK,EAAE,UAAU,CAAC,MAAM;4BACxB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gCAClC,EAAE,EAAE,EAAE,CAAC,EAAE;gCACT,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,IAAI,EAAE,EAAE,CAAC,aAAa;gCACtB,IAAI,EAAE,EAAE,CAAC,QAAQ;gCACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;6BACtB,CAAC,CAAC;yBACJ,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,4BAA4B;4BACnC,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-list-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-list-tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgB1D;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,SAAoB;IAC/E,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE;;;;kFAI+D;QAC5E,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAwB,iBAAiB,CAAC,CAAC;YAE/E,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,4BAA4B;gCACnC,OAAO,EAAE,oCAAoC;6BAC9C,CAAC;yBACH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEjC,2CAA2C;YAC3C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,KAAK,EAAE,UAAU,CAAC,MAAM;4BACxB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gCAClC,EAAE,EAAE,EAAE,CAAC,EAAE;gCACT,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,IAAI,EAAE,EAAE,CAAC,aAAa;gCACtB,IAAI,EAAE,EAAE,CAAC,QAAQ;gCACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;6BACtB,CAAC,CAAC;yBACJ,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,4BAA4B;4BACnC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;yBAChC,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ApiClient } from '../services/api-client.js';
3
+ /**
4
+ * Register Add Workspace Member tool for direct member addition (bypassing invitation)
5
+ */
6
+ export declare function registerAddWorkspaceMemberTool(server: McpServer, apiClient: ApiClient): void;
7
+ /**
8
+ * Register Update Member Role tool for changing workspace member's role
9
+ */
10
+ export declare function registerUpdateMemberRoleTool(server: McpServer, apiClient: ApiClient): void;
11
+ /**
12
+ * Register Remove Workspace Member tool for removing a member from workspace
13
+ */
14
+ export declare function registerRemoveWorkspaceMemberTool(server: McpServer, apiClient: ApiClient): void;
15
+ //# sourceMappingURL=workspace-member-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-member-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-member-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA0B3D;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAmMrF;AAiBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAoNnF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA4KxF"}
@@ -0,0 +1,518 @@
1
+ import { z } from 'zod';
2
+ import { getErrorMessage, getErrorResponseStatus, getErrorResponseData } from '../utils/error-utils.js';
3
+ /**
4
+ * Register Add Workspace Member tool for direct member addition (bypassing invitation)
5
+ */
6
+ export function registerAddWorkspaceMemberTool(server, apiClient) {
7
+ server.registerTool('brxce_add_workspace_member', {
8
+ description: `Add existing BRXCE user to workspace (bypasses invitation). Verify workspaceId via user://me.
9
+
10
+ Use brxce_create_invitation for email-based invites.
11
+
12
+ Params: workspaceId, userId, role? (owner|admin|member|viewer, default: member)
13
+ Returns: member info with joinedAt`,
14
+ inputSchema: {
15
+ workspaceId: z
16
+ .string()
17
+ .uuid()
18
+ .describe('Workspace ID (get from user://me resource)'),
19
+ userId: z
20
+ .string()
21
+ .uuid()
22
+ .describe('User ID of the person to add (must exist in BRXCE)'),
23
+ role: z
24
+ .enum(['owner', 'admin', 'member', 'viewer'])
25
+ .optional()
26
+ .describe('Role to assign (defaults to "member")'),
27
+ },
28
+ }, async (args) => {
29
+ const { workspaceId, userId, role } = args;
30
+ // Validate required fields
31
+ if (!workspaceId || typeof workspaceId !== 'string') {
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: JSON.stringify({
37
+ error: 'Invalid workspace ID',
38
+ message: 'workspaceId is required and must be a UUID string',
39
+ hint: 'Use user://me resource to get valid workspace IDs',
40
+ }),
41
+ },
42
+ ],
43
+ isError: true,
44
+ };
45
+ }
46
+ if (!userId || typeof userId !== 'string') {
47
+ return {
48
+ content: [
49
+ {
50
+ type: 'text',
51
+ text: JSON.stringify({
52
+ error: 'Invalid user ID',
53
+ message: 'userId is required and must be a UUID string',
54
+ hint: 'Use user://me or workspace members list to get valid user IDs',
55
+ }),
56
+ },
57
+ ],
58
+ isError: true,
59
+ };
60
+ }
61
+ try {
62
+ const response = await apiClient.post('/mcp/workspace-members/add', {
63
+ workspaceId,
64
+ userId,
65
+ role: role || 'member',
66
+ });
67
+ if (!response.success || !response.data) {
68
+ return {
69
+ content: [
70
+ {
71
+ type: 'text',
72
+ text: JSON.stringify({
73
+ error: 'Failed to add workspace member',
74
+ message: response.message || 'API returned unsuccessful response',
75
+ }),
76
+ },
77
+ ],
78
+ isError: true,
79
+ };
80
+ }
81
+ const { member } = response.data;
82
+ return {
83
+ content: [
84
+ {
85
+ type: 'text',
86
+ text: JSON.stringify({
87
+ userId: member.userId,
88
+ email: member.email,
89
+ role: member.role,
90
+ workspaceId: member.workspaceId,
91
+ joinedAt: member.joinedAt,
92
+ userName: member.user?.name,
93
+ username: member.user?.username,
94
+ message: `Added ${member.user?.name || member.email} as ${member.role}`,
95
+ }, null, 2),
96
+ },
97
+ ],
98
+ };
99
+ }
100
+ catch (error) {
101
+ const status = getErrorResponseStatus(error);
102
+ const responseData = getErrorResponseData(error);
103
+ // Handle specific error codes
104
+ if (status === 403) {
105
+ return {
106
+ content: [
107
+ {
108
+ type: 'text',
109
+ text: JSON.stringify({
110
+ error: 'Access denied',
111
+ message: 'Only workspace owner or admin can add members',
112
+ }),
113
+ },
114
+ ],
115
+ isError: true,
116
+ };
117
+ }
118
+ if (status === 404) {
119
+ return {
120
+ content: [
121
+ {
122
+ type: 'text',
123
+ text: JSON.stringify({
124
+ error: 'Not found',
125
+ message: responseData?.error === 'Target user not found'
126
+ ? 'User does not exist in BRXCE'
127
+ : 'Workspace not found or access denied',
128
+ hint: responseData?.error === 'Target user not found'
129
+ ? 'Use brxce_create_invitation to invite users via email'
130
+ : 'Verify workspace ID from user://me resource',
131
+ }),
132
+ },
133
+ ],
134
+ isError: true,
135
+ };
136
+ }
137
+ if (status === 400) {
138
+ const errMsg = responseData?.error || 'Invalid request';
139
+ let hint = 'Check the request parameters';
140
+ if (errMsg.includes('already a member')) {
141
+ hint = 'Use brxce_list_workspace_members to check existing members';
142
+ }
143
+ else if (errMsg.includes('personal workspace')) {
144
+ hint = 'Personal workspaces cannot have multiple members';
145
+ }
146
+ return {
147
+ content: [
148
+ {
149
+ type: 'text',
150
+ text: JSON.stringify({
151
+ error: 'Validation error',
152
+ message: errMsg,
153
+ hint,
154
+ }),
155
+ },
156
+ ],
157
+ isError: true,
158
+ };
159
+ }
160
+ return {
161
+ content: [
162
+ {
163
+ type: 'text',
164
+ text: JSON.stringify({
165
+ error: 'Failed to add workspace member',
166
+ message: getErrorMessage(error),
167
+ }),
168
+ },
169
+ ],
170
+ isError: true,
171
+ };
172
+ }
173
+ });
174
+ }
175
+ const VALID_ROLES = ['owner', 'admin', 'member', 'viewer'];
176
+ /**
177
+ * Register Update Member Role tool for changing workspace member's role
178
+ */
179
+ export function registerUpdateMemberRoleTool(server, apiClient) {
180
+ server.registerTool('brxce_update_member_role', {
181
+ description: `Update workspace member's role. Verify workspaceId via user://me.
182
+
183
+ Params: workspaceId (uuid), userId (uuid), role (owner|admin|member|viewer)
184
+ Returns: Updated member info with new role
185
+
186
+ Note: Only workspace owner or admin can change roles. Cannot change owner's role.`,
187
+ inputSchema: {
188
+ workspaceId: z
189
+ .string()
190
+ .uuid()
191
+ .describe('Workspace ID (get from user://me resource)'),
192
+ userId: z
193
+ .string()
194
+ .uuid()
195
+ .describe('User ID of the member to update'),
196
+ role: z
197
+ .enum(['owner', 'admin', 'member', 'viewer'])
198
+ .describe('New role to assign'),
199
+ },
200
+ }, async (args) => {
201
+ const { workspaceId, userId, role } = args;
202
+ // Validate required fields
203
+ if (!workspaceId || typeof workspaceId !== 'string') {
204
+ return {
205
+ content: [
206
+ {
207
+ type: 'text',
208
+ text: JSON.stringify({
209
+ error: 'Invalid workspace ID',
210
+ message: 'workspaceId is required and must be a UUID string',
211
+ hint: 'Use user://me resource to get valid workspace IDs',
212
+ }),
213
+ },
214
+ ],
215
+ isError: true,
216
+ };
217
+ }
218
+ if (!userId || typeof userId !== 'string') {
219
+ return {
220
+ content: [
221
+ {
222
+ type: 'text',
223
+ text: JSON.stringify({
224
+ error: 'Invalid user ID',
225
+ message: 'userId is required and must be a UUID string',
226
+ hint: 'Use brxce_list_workspace_members to get valid user IDs',
227
+ }),
228
+ },
229
+ ],
230
+ isError: true,
231
+ };
232
+ }
233
+ if (!role || typeof role !== 'string') {
234
+ return {
235
+ content: [
236
+ {
237
+ type: 'text',
238
+ text: JSON.stringify({
239
+ error: 'Invalid role',
240
+ message: 'role is required',
241
+ hint: 'Valid roles: owner, admin, member, viewer',
242
+ }),
243
+ },
244
+ ],
245
+ isError: true,
246
+ };
247
+ }
248
+ if (!VALID_ROLES.includes(role)) {
249
+ return {
250
+ content: [
251
+ {
252
+ type: 'text',
253
+ text: JSON.stringify({
254
+ error: 'Invalid role',
255
+ message: `Invalid role: ${role}`,
256
+ hint: 'Valid roles: owner, admin, member, viewer',
257
+ }),
258
+ },
259
+ ],
260
+ isError: true,
261
+ };
262
+ }
263
+ try {
264
+ const response = await apiClient.patch(`/mcp/workspaces/${workspaceId}/members/${userId}`, { role });
265
+ if (!response.success || !response.data) {
266
+ return {
267
+ content: [
268
+ {
269
+ type: 'text',
270
+ text: JSON.stringify({
271
+ error: 'Failed to update member role',
272
+ message: response.message || 'API returned unsuccessful response',
273
+ }),
274
+ },
275
+ ],
276
+ isError: true,
277
+ };
278
+ }
279
+ const { member } = response.data;
280
+ return {
281
+ content: [
282
+ {
283
+ type: 'text',
284
+ text: JSON.stringify({
285
+ userId: member.userId,
286
+ email: member.email,
287
+ role: member.role,
288
+ workspaceId: member.workspaceId,
289
+ userName: member.user?.name,
290
+ username: member.user?.username,
291
+ message: `Updated ${member.user?.name || member.email} role to ${member.role}`,
292
+ }, null, 2),
293
+ },
294
+ ],
295
+ };
296
+ }
297
+ catch (error) {
298
+ const status = getErrorResponseStatus(error);
299
+ const responseData = getErrorResponseData(error);
300
+ if (status === 403) {
301
+ return {
302
+ content: [
303
+ {
304
+ type: 'text',
305
+ text: JSON.stringify({
306
+ error: 'Access denied',
307
+ message: 'Only workspace owner or admin can change member roles',
308
+ }),
309
+ },
310
+ ],
311
+ isError: true,
312
+ };
313
+ }
314
+ if (status === 404) {
315
+ return {
316
+ content: [
317
+ {
318
+ type: 'text',
319
+ text: JSON.stringify({
320
+ error: 'Not found',
321
+ message: responseData?.error || 'Member or workspace not found',
322
+ hint: 'Verify workspace and user IDs from brxce_list_workspace_members',
323
+ }),
324
+ },
325
+ ],
326
+ isError: true,
327
+ };
328
+ }
329
+ if (status === 400) {
330
+ const errMsg = responseData?.error || 'Invalid request';
331
+ let hint = 'Check the request parameters';
332
+ if (errMsg.includes('owner')) {
333
+ hint = 'Workspace owner role cannot be changed directly';
334
+ }
335
+ return {
336
+ content: [
337
+ {
338
+ type: 'text',
339
+ text: JSON.stringify({
340
+ error: 'Validation error',
341
+ message: errMsg,
342
+ hint,
343
+ }),
344
+ },
345
+ ],
346
+ isError: true,
347
+ };
348
+ }
349
+ return {
350
+ content: [
351
+ {
352
+ type: 'text',
353
+ text: JSON.stringify({
354
+ error: 'Failed to update member role',
355
+ message: getErrorMessage(error),
356
+ }),
357
+ },
358
+ ],
359
+ isError: true,
360
+ };
361
+ }
362
+ });
363
+ }
364
+ /**
365
+ * Register Remove Workspace Member tool for removing a member from workspace
366
+ */
367
+ export function registerRemoveWorkspaceMemberTool(server, apiClient) {
368
+ server.registerTool('brxce_remove_workspace_member', {
369
+ description: `Remove a member from workspace. Verify workspaceId via user://me.
370
+
371
+ Params: workspaceId (uuid), userId (uuid)
372
+ Returns: Success confirmation
373
+
374
+ Note: Only workspace owner or admin can remove members. Cannot remove workspace owner.`,
375
+ inputSchema: {
376
+ workspaceId: z
377
+ .string()
378
+ .uuid()
379
+ .describe('Workspace ID (get from user://me resource)'),
380
+ userId: z
381
+ .string()
382
+ .uuid()
383
+ .describe('User ID of the member to remove'),
384
+ },
385
+ }, async (args) => {
386
+ const { workspaceId, userId } = args;
387
+ // Validate required fields
388
+ if (!workspaceId || typeof workspaceId !== 'string') {
389
+ return {
390
+ content: [
391
+ {
392
+ type: 'text',
393
+ text: JSON.stringify({
394
+ error: 'Invalid workspace ID',
395
+ message: 'workspaceId is required and must be a UUID string',
396
+ hint: 'Use user://me resource to get valid workspace IDs',
397
+ }),
398
+ },
399
+ ],
400
+ isError: true,
401
+ };
402
+ }
403
+ if (!userId || typeof userId !== 'string') {
404
+ return {
405
+ content: [
406
+ {
407
+ type: 'text',
408
+ text: JSON.stringify({
409
+ error: 'Invalid user ID',
410
+ message: 'userId is required and must be a UUID string',
411
+ hint: 'Use brxce_list_workspace_members to get valid user IDs',
412
+ }),
413
+ },
414
+ ],
415
+ isError: true,
416
+ };
417
+ }
418
+ try {
419
+ const response = await apiClient.delete(`/mcp/workspaces/${workspaceId}/members/${userId}`);
420
+ if (!response.success) {
421
+ return {
422
+ content: [
423
+ {
424
+ type: 'text',
425
+ text: JSON.stringify({
426
+ error: 'Failed to remove workspace member',
427
+ message: response.message || 'API returned unsuccessful response',
428
+ }),
429
+ },
430
+ ],
431
+ isError: true,
432
+ };
433
+ }
434
+ return {
435
+ content: [
436
+ {
437
+ type: 'text',
438
+ text: JSON.stringify({
439
+ success: true,
440
+ workspaceId,
441
+ userId,
442
+ message: `Member has been removed from the workspace`,
443
+ }, null, 2),
444
+ },
445
+ ],
446
+ };
447
+ }
448
+ catch (error) {
449
+ const status = getErrorResponseStatus(error);
450
+ const responseData = getErrorResponseData(error);
451
+ if (status === 403) {
452
+ return {
453
+ content: [
454
+ {
455
+ type: 'text',
456
+ text: JSON.stringify({
457
+ error: 'Access denied',
458
+ message: 'Only workspace owner or admin can remove members',
459
+ }),
460
+ },
461
+ ],
462
+ isError: true,
463
+ };
464
+ }
465
+ if (status === 404) {
466
+ return {
467
+ content: [
468
+ {
469
+ type: 'text',
470
+ text: JSON.stringify({
471
+ error: 'Not found',
472
+ message: responseData?.error || 'Member or workspace not found',
473
+ hint: 'Verify workspace and user IDs from brxce_list_workspace_members',
474
+ }),
475
+ },
476
+ ],
477
+ isError: true,
478
+ };
479
+ }
480
+ if (status === 400) {
481
+ const errMsg = responseData?.error || 'Invalid request';
482
+ let hint = 'Check the request parameters';
483
+ if (errMsg.includes('owner')) {
484
+ hint = 'Workspace owner cannot be removed. Transfer ownership first.';
485
+ }
486
+ else if (errMsg.includes('yourself')) {
487
+ hint = 'Use leave workspace option instead of removal';
488
+ }
489
+ return {
490
+ content: [
491
+ {
492
+ type: 'text',
493
+ text: JSON.stringify({
494
+ error: 'Validation error',
495
+ message: errMsg,
496
+ hint,
497
+ }),
498
+ },
499
+ ],
500
+ isError: true,
501
+ };
502
+ }
503
+ return {
504
+ content: [
505
+ {
506
+ type: 'text',
507
+ text: JSON.stringify({
508
+ error: 'Failed to remove workspace member',
509
+ message: getErrorMessage(error),
510
+ }),
511
+ },
512
+ ],
513
+ isError: true,
514
+ };
515
+ }
516
+ });
517
+ }
518
+ //# sourceMappingURL=workspace-member-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-member-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-member-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-members-list-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-members-list-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqB3D;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAwNvF"}
1
+ {"version":3,"file":"workspace-members-list-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-members-list-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAwB3D;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA2IvF"}