@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,95 +1,15 @@
1
1
  import { z } from 'zod';
2
+ import { getErrorMessage, getErrorResponseStatus } from '../utils/error-utils.js';
2
3
  /**
3
4
  * Register Workspace Members List tool for LLM-invoked queries
4
5
  * This tool allows the LLM to list all members of a specific workspace
5
6
  */
6
7
  export function registerWorkspaceMembersListTool(server, apiClient) {
7
8
  server.registerTool('brxce_list_workspace_members', {
8
- description: `List all members of a specific workspace.
9
+ description: `List workspace members. Verify workspaceId via user://me first.
9
10
 
10
- ⚠️ **CRITICAL: Workspace Verification Required**
11
- Before calling this tool, you MUST:
12
- 1. Read the \`user://me\` resource to get available workspaces
13
- 2. Identify the correct workspaceId from the resource data
14
- 3. If user doesn't specify workspace, use their default workspace
15
- 4. NEVER assume or guess workspaceId values
16
-
17
- **Example Workflow:**
18
- \`\`\`
19
- User: "Who are the members of BRXCE Development workspace?"
20
- LLM:
21
- 1. Reads user://me resource
22
- 2. Finds workspace: {id: 138, name: "BRXCE Development"}
23
- 3. Calls brxce_list_workspace_members with workspaceId: 138
24
- \`\`\`
25
-
26
- **When to use this tool:**
27
- The LLM should call this tool when the user asks about:
28
- - "Who are the members of workspace X?"
29
- - "Show me team members"
30
- - "Who can I assign this task to?"
31
- - "List all people in this workspace"
32
- - When creating meetings and need to select participants
33
-
34
- **Output Format:**
35
- Returns JSON with:
36
- - workspaceId: The workspace ID
37
- - workspaceName: The workspace name
38
- - totalMembers: Total number of members
39
- - members: Array of member objects
40
- - userId: User ID (use this for assignee/participant fields)
41
- - email: Email address
42
- - name: Display name
43
- - role: Role in workspace (e.g., "owner", "admin", "member")
44
- - joinedAt: When they joined (ISO 8601, UTC)
45
-
46
- **Best Practices:**
47
- 1. Always verify workspaceId exists via user://me resource first
48
- 2. Use userId when assigning WorkNodes or adding meeting participants
49
- 3. Show user-friendly names (name or username) in UI, but use userId internally
50
- 4. Cache member list to avoid repeated calls during task assignment
51
-
52
- **Common Use Cases:**
53
- 1. **Meeting Creation**: Get member list to select participants
54
- \`\`\`
55
- User: "Create a meeting with the team"
56
- LLM:
57
- 1. Get workspace ID from context
58
- 2. Call brxce_list_workspace_members
59
- 3. Show member list for user to select
60
- 4. Use selected userId values in brxce_create_meeting
61
- \`\`\`
62
-
63
- 2. **Task Assignment**: Get member list to assign WorkNode
64
- \`\`\`
65
- User: "Assign this task to someone"
66
- LLM:
67
- 1. Get workspace ID from WorkNode context
68
- 2. Call brxce_list_workspace_members
69
- 3. Show member list
70
- 4. Use selected userId in brxce_update_worknodes
71
- \`\`\`
72
-
73
- 3. **Team Overview**: Show who's in the workspace
74
- \`\`\`
75
- User: "Who's on the team?"
76
- LLM:
77
- 1. Get default workspace ID
78
- 2. Call brxce_list_workspace_members
79
- 3. Format as readable list with roles
80
- \`\`\`
81
-
82
- ⏰ **TIMEZONE HANDLING:**
83
- The \`joinedAt\` field is in UTC (ISO 8601 format).
84
- When presenting to the user, convert to their local timezone:
85
- 1. Check the current date/time from the <env> tag
86
- 2. Identify the user's timezone (e.g., Asia/Seoul = UTC+9)
87
- 3. Convert UTC timestamps to local time
88
- 4. Format in user-friendly way (e.g., "가입: 2025-10-20")
89
-
90
- Example conversion (Korea Time, UTC+9):
91
- - API returns: "joinedAt": "2025-10-20T08:16:25.556Z" (UTC)
92
- - Display to user: "가입: 2025-10-20 오후 5:16" (KST)`,
11
+ Params: workspaceId (required)
12
+ Returns: members[{userId, name, nickname, jobTitle, email, role, joinedAt}], total. Use userId for assignee fields.`,
93
13
  inputSchema: {
94
14
  workspaceId: z
95
15
  .string()
@@ -144,6 +64,8 @@ Example conversion (Korea Time, UTC+9):
144
64
  members: members.map((member) => ({
145
65
  userId: member.userId,
146
66
  name: member.name,
67
+ nickname: member.nickname,
68
+ jobTitle: member.jobTitle,
147
69
  email: member.email,
148
70
  role: member.role,
149
71
  joinedAt: member.joinedAt,
@@ -154,8 +76,9 @@ Example conversion (Korea Time, UTC+9):
154
76
  };
155
77
  }
156
78
  catch (error) {
79
+ const status = getErrorResponseStatus(error);
157
80
  // Handle 404 - workspace not found or no access
158
- if (error.response?.status === 404) {
81
+ if (status === 404) {
159
82
  return {
160
83
  content: [
161
84
  {
@@ -172,7 +95,7 @@ Example conversion (Korea Time, UTC+9):
172
95
  };
173
96
  }
174
97
  // Handle 403 - access denied
175
- if (error.response?.status === 403) {
98
+ if (status === 403) {
176
99
  return {
177
100
  content: [
178
101
  {
@@ -194,7 +117,7 @@ Example conversion (Korea Time, UTC+9):
194
117
  type: 'text',
195
118
  text: JSON.stringify({
196
119
  error: 'Failed to fetch workspace members',
197
- message: error.message,
120
+ message: getErrorMessage(error),
198
121
  workspaceId,
199
122
  }),
200
123
  },
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-members-list-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-members-list-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-members-list-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-members-list-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-statistics-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-statistics-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA0D3D;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAuTtF"}
1
+ {"version":3,"file":"workspace-statistics-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-statistics-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA2D3D;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAmJtF"}
@@ -1,180 +1,15 @@
1
1
  import { z } from 'zod';
2
+ import { getErrorMessage, getErrorResponseStatus } from '../utils/error-utils.js';
2
3
  /**
3
4
  * Register Workspace Statistics tool for analytics and insights
4
5
  * Provides comprehensive statistics about workspace progress and team performance
5
6
  */
6
7
  export function registerWorkspaceStatisticsTool(server, apiClient) {
7
8
  server.registerTool('brxce_workspace_statistics', {
8
- description: `Get comprehensive statistics and analytics for a workspace.
9
+ description: `Get workspace statistics. Verify workspaceId via user://me first.
9
10
 
10
- ⚠️ **CRITICAL: Workspace Verification Required**
11
- Before calling this tool, you MUST:
12
- 1. Read the \`user://me\` resource to get available workspaces
13
- 2. Identify the correct workspaceId from the resource data
14
- 3. If user doesn't specify workspace, use their default workspace
15
- 4. NEVER assume or guess workspaceId values
16
-
17
- **Example Workflow:**
18
- \`\`\`
19
- User: "이번 주 우리 팀 진행 상황 정리해줘"
20
- LLM:
21
- 1. Reads user://me resource
22
- 2. Finds workspace: {id: 138, name: "BRXCE Development"}
23
- 3. Calls brxce_workspace_statistics with workspaceId: 138, period: "this-week"
24
- 4. Formats statistics in readable Korean format
25
- \`\`\`
26
-
27
- **When to use this tool:**
28
- The LLM should call this tool when the user asks about:
29
- - "우리 팀 진행 상황 어때?" → Use with period: "all"
30
- - "이번 주 완료한 작업 몇 개야?" → Use with period: "this-week"
31
- - "누가 제일 많이 작업하고 있어?" → Check memberStats
32
- - "마감 임박한 작업 있어?" → Check dueDates.dueToday, dueDates.dueThisWeek
33
- - "전체적인 통계 보여줘" → Use with period: "all"
34
-
35
- **Time Periods:**
36
- - \`today\`: 오늘 생성/완료된 작업 중심 통계
37
- - \`this-week\`: 이번 주 작업 중심 통계
38
- - \`this-month\`: 이번 달 작업 중심 통계
39
- - \`all\`: 전체 작업 통계 (default)
40
-
41
- **Output Format:**
42
- Returns comprehensive statistics including:
43
-
44
- 1. **Overview** - 전체 개요
45
- - totalNodes: 전체 작업 수
46
- - activeNodes: 진행 중인 작업 수 (완료/취소 제외)
47
- - completedNodes: 완료된 작업 수
48
- - completionRate: 완료율 (%)
49
-
50
- 2. **By Status** - 상태별 분포
51
- - backlog: 백로그 (인박스)
52
- - not_started: 시작 전
53
- - in_progress: 진행 중
54
- - in_review: 리뷰 중
55
- - completed: 완료
56
- - cancelled: 취소
57
-
58
- 3. **By Priority** - 우선순위별 분포
59
- - critical: 긴급
60
- - urgent: 시급
61
- - high: 높음
62
- - medium: 보통
63
- - low: 낮음
64
-
65
- 4. **By Node Type** - 타입별 분포
66
- - goal: 목표
67
- - project: 프로젝트
68
- - subproject: 하위 프로젝트
69
- - task: 작업
70
- - subtask: 하위 작업
71
-
72
- 5. **Member Stats** - 팀원별 통계
73
- - userId: 사용자 ID
74
- - name: 이름
75
- - email: 이메일
76
- - totalAssigned: 할당된 총 작업 수
77
- - inProgress: 진행 중인 작업 수
78
- - completed: 완료한 작업 수
79
- - completionRate: 완료율 (%)
80
-
81
- 6. **Due Dates** - 마감일 현황
82
- - overdue: 마감 지난 작업 수
83
- - dueToday: 오늘 마감 작업 수
84
- - dueThisWeek: 이번 주 마감 작업 수
85
- - dueThisMonth: 이번 달 마감 작업 수
86
-
87
- **Best Practices:**
88
- 1. Always verify workspaceId via user://me resource first
89
- 2. Use appropriate period based on user's question
90
- 3. Format statistics in user-friendly Korean when presenting
91
- 4. Highlight important metrics (overdue, high completion rates, etc.)
92
- 5. Suggest actionable insights based on statistics
93
-
94
- **Common Use Cases:**
95
-
96
- 1. **Team Progress Review**:
97
- \`\`\`
98
- User: "우리 팀 이번 주 진행 상황 보고서 만들어줘"
99
- LLM:
100
- 1. Get workspace ID from context
101
- 2. Call brxce_workspace_statistics(workspaceId: 138, period: "this-week")
102
- 3. Format as progress report:
103
- - "이번 주 총 15개 작업 중 8개 완료 (53% 완료율)"
104
- - "3개 진행 중, 4개 대기 중"
105
- - "마감 지난 작업: 2개 (주의 필요)"
106
- \`\`\`
107
-
108
- 2. **Team Member Workload**:
109
- \`\`\`
110
- User: "누가 제일 바빠?"
111
- LLM:
112
- 1. Call brxce_workspace_statistics
113
- 2. Sort memberStats by totalAssigned
114
- 3. Present: "김개발님이 현재 12개 작업 진행 중 (가장 많음)"
115
- \`\`\`
116
-
117
- 3. **Priority Analysis**:
118
- \`\`\`
119
- User: "긴급한 작업 얼마나 남았어?"
120
- LLM:
121
- 1. Call brxce_workspace_statistics
122
- 2. Check byPriority.critical and byPriority.urgent
123
- 3. Present: "긴급 작업 5개, 시급 작업 3개 남아있습니다"
124
- \`\`\`
125
-
126
- 4. **Deadline Tracking**:
127
- \`\`\`
128
- User: "이번 주 마감 작업 있어?"
129
- LLM:
130
- 1. Call brxce_workspace_statistics
131
- 2. Check dueDates
132
- 3. Present: "오늘 마감 2개, 이번 주 마감 5개 있습니다"
133
- \`\`\`
134
-
135
- ⏰ **TIMEZONE HANDLING:**
136
- All date calculations are performed in UTC on the backend.
137
- When presenting results to the user, dates are already processed relative to the server's timezone.
138
-
139
- **Example Output:**
140
- \`\`\`json
141
- {
142
- "workspaceId": 138,
143
- "workspaceName": "BRXCE Development",
144
- "period": "this-week",
145
- "overview": {
146
- "totalNodes": 45,
147
- "activeNodes": 23,
148
- "completedNodes": 18,
149
- "completionRate": 40
150
- },
151
- "byStatus": {
152
- "backlog": 5,
153
- "not_started": 8,
154
- "in_progress": 10,
155
- "in_review": 4,
156
- "completed": 18,
157
- "cancelled": 0
158
- },
159
- "memberStats": [
160
- {
161
- "userId": "user-123",
162
- "name": "김개발",
163
- "email": "dev@example.com",
164
- "totalAssigned": 12,
165
- "inProgress": 5,
166
- "completed": 7,
167
- "completionRate": 58
168
- }
169
- ],
170
- "dueDates": {
171
- "overdue": 2,
172
- "dueToday": 3,
173
- "dueThisWeek": 5,
174
- "dueThisMonth": 8
175
- }
176
- }
177
- \`\`\``,
11
+ Params: workspaceId (required), period (today|this-week|this-month|all, default: all)
12
+ Returns: overview{total, active, completed, rate}, byStatus, byPriority, byNodeType, memberStats[], dueDates{overdue, dueToday, dueThisWeek, dueThisMonth}`,
178
13
  inputSchema: {
179
14
  workspaceId: z
180
15
  .string()
@@ -247,8 +82,9 @@ When presenting results to the user, dates are already processed relative to the
247
82
  };
248
83
  }
249
84
  catch (error) {
85
+ const status = getErrorResponseStatus(error);
250
86
  // Handle 404 - workspace not found or no access
251
- if (error.response?.status === 404) {
87
+ if (status === 404) {
252
88
  return {
253
89
  content: [
254
90
  {
@@ -265,7 +101,7 @@ When presenting results to the user, dates are already processed relative to the
265
101
  };
266
102
  }
267
103
  // Handle 403 - access denied
268
- if (error.response?.status === 403) {
104
+ if (status === 403) {
269
105
  return {
270
106
  content: [
271
107
  {
@@ -287,7 +123,7 @@ When presenting results to the user, dates are already processed relative to the
287
123
  type: 'text',
288
124
  text: JSON.stringify({
289
125
  error: 'Failed to fetch workspace statistics',
290
- message: error.message,
126
+ message: getErrorMessage(error),
291
127
  workspaceId,
292
128
  }),
293
129
  },
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-statistics-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-statistics-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-statistics-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-statistics-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-tree-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-tree-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAgCtD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAmbhF"}
1
+ {"version":3,"file":"workspace-tree-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-tree-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiCtD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAmShF"}