@brxce/mcp-server 1.0.0 → 1.0.1

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 (85) hide show
  1. package/README.md +3 -3
  2. package/dist/index.d.ts +3 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +24 -10
  5. package/dist/index.js.map +1 -1
  6. package/dist/prompts/worknode-prompts.d.ts.map +1 -1
  7. package/dist/prompts/worknode-prompts.js +43 -15
  8. package/dist/prompts/worknode-prompts.js.map +1 -1
  9. package/dist/prompts/workspace-context-prompt.js +6 -6
  10. package/dist/prompts/workspace-context-prompt.js.map +1 -1
  11. package/dist/resources/user-resource.d.ts.map +1 -1
  12. package/dist/resources/user-resource.js +12 -1
  13. package/dist/resources/user-resource.js.map +1 -1
  14. package/dist/resources/workspace-members-resource.d.ts.map +1 -1
  15. package/dist/resources/workspace-members-resource.js +12 -3
  16. package/dist/resources/workspace-members-resource.js.map +1 -1
  17. package/dist/resources/workspace-resource.d.ts.map +1 -1
  18. package/dist/resources/workspace-resource.js +9 -1
  19. package/dist/resources/workspace-resource.js.map +1 -1
  20. package/dist/services/api-client.d.ts.map +1 -1
  21. package/dist/services/api-client.js +2 -6
  22. package/dist/services/api-client.js.map +1 -1
  23. package/dist/tools/meeting-agenda-tool.js +1 -1
  24. package/dist/tools/meeting-agenda-tool.js.map +1 -1
  25. package/dist/tools/meeting-create-tool.d.ts.map +1 -1
  26. package/dist/tools/meeting-create-tool.js +2 -2
  27. package/dist/tools/meeting-create-tool.js.map +1 -1
  28. package/dist/tools/meeting-decisions-tool.js +1 -1
  29. package/dist/tools/meeting-decisions-tool.js.map +1 -1
  30. package/dist/tools/meeting-list-tool.d.ts.map +1 -1
  31. package/dist/tools/meeting-list-tool.js +1 -1
  32. package/dist/tools/meeting-list-tool.js.map +1 -1
  33. package/dist/tools/tag-category-tool.js +4 -4
  34. package/dist/tools/tag-category-tool.js.map +1 -1
  35. package/dist/tools/tag-search-tool.js +3 -3
  36. package/dist/tools/tag-search-tool.js.map +1 -1
  37. package/dist/tools/tag-tool.js +5 -5
  38. package/dist/tools/tag-tool.js.map +1 -1
  39. package/dist/tools/worknode-archive-tool.d.ts.map +1 -1
  40. package/dist/tools/worknode-archive-tool.js +2 -2
  41. package/dist/tools/worknode-archive-tool.js.map +1 -1
  42. package/dist/tools/worknode-create-tool.d.ts.map +1 -1
  43. package/dist/tools/worknode-create-tool.js +113 -225
  44. package/dist/tools/worknode-create-tool.js.map +1 -1
  45. package/dist/tools/worknode-my-work-tool.d.ts.map +1 -1
  46. package/dist/tools/worknode-my-work-tool.js +1 -8
  47. package/dist/tools/worknode-my-work-tool.js.map +1 -1
  48. package/dist/tools/worknode-plan-organize-tool.d.ts +4 -0
  49. package/dist/tools/worknode-plan-organize-tool.d.ts.map +1 -0
  50. package/dist/tools/worknode-plan-organize-tool.js +356 -0
  51. package/dist/tools/worknode-plan-organize-tool.js.map +1 -0
  52. package/dist/tools/worknode-read-tool.d.ts +4 -0
  53. package/dist/tools/worknode-read-tool.d.ts.map +1 -0
  54. package/dist/tools/worknode-read-tool.js +312 -0
  55. package/dist/tools/worknode-read-tool.js.map +1 -0
  56. package/dist/tools/worknode-search-tool.d.ts.map +1 -1
  57. package/dist/tools/worknode-search-tool.js +25 -44
  58. package/dist/tools/worknode-search-tool.js.map +1 -1
  59. package/dist/tools/worknode-subtree-tool.d.ts.map +1 -1
  60. package/dist/tools/worknode-subtree-tool.js +8 -12
  61. package/dist/tools/worknode-subtree-tool.js.map +1 -1
  62. package/dist/tools/worknode-tag-tool.js +8 -8
  63. package/dist/tools/worknode-tag-tool.js.map +1 -1
  64. package/dist/tools/worknode-update-tool.d.ts.map +1 -1
  65. package/dist/tools/worknode-update-tool.js +104 -173
  66. package/dist/tools/worknode-update-tool.js.map +1 -1
  67. package/dist/tools/workspace-inbox-tool.d.ts.map +1 -1
  68. package/dist/tools/workspace-inbox-tool.js +3 -2
  69. package/dist/tools/workspace-inbox-tool.js.map +1 -1
  70. package/dist/tools/workspace-list-tool.d.ts +8 -0
  71. package/dist/tools/workspace-list-tool.d.ts.map +1 -0
  72. package/dist/tools/workspace-list-tool.js +113 -0
  73. package/dist/tools/workspace-list-tool.js.map +1 -0
  74. package/dist/tools/workspace-members-list-tool.d.ts +8 -0
  75. package/dist/tools/workspace-members-list-tool.d.ts.map +1 -0
  76. package/dist/tools/workspace-members-list-tool.js +207 -0
  77. package/dist/tools/workspace-members-list-tool.js.map +1 -0
  78. package/dist/tools/workspace-statistics-tool.d.ts +8 -0
  79. package/dist/tools/workspace-statistics-tool.d.ts.map +1 -0
  80. package/dist/tools/workspace-statistics-tool.js +300 -0
  81. package/dist/tools/workspace-statistics-tool.js.map +1 -0
  82. package/dist/tools/workspace-tree-tool.d.ts.map +1 -1
  83. package/dist/tools/workspace-tree-tool.js +6 -12
  84. package/dist/tools/workspace-tree-tool.js.map +1 -1
  85. package/package.json +11 -10
@@ -0,0 +1,312 @@
1
+ import { z } from 'zod';
2
+ export function registerWorknodeReadTool(server, apiClient) {
3
+ const userIdentifierSchema = z.union([z.literal('me'), z.string().min(1)]);
4
+ const createdByFilterSchema = z.object({
5
+ equals: userIdentifierSchema.optional(),
6
+ notEquals: userIdentifierSchema.optional()
7
+ }).refine((value) => Boolean(value.equals || value.notEquals), {
8
+ message: 'createdByFilter must include equals or notEquals'
9
+ });
10
+ const assigneeFilterConditionSchema = z.object({
11
+ has: userIdentifierSchema.optional(),
12
+ notHas: userIdentifierSchema.optional(),
13
+ isEmpty: z.boolean().optional(),
14
+ isNotEmpty: z.boolean().optional(),
15
+ hasOnly: userIdentifierSchema.optional(),
16
+ hasOthersThan: userIdentifierSchema.optional()
17
+ });
18
+ const assigneeFilterSchema = assigneeFilterConditionSchema.extend({
19
+ anyOf: z.array(assigneeFilterConditionSchema).min(1).optional()
20
+ }).refine((value) => {
21
+ const hasBase = Boolean(value.has ||
22
+ value.notHas ||
23
+ value.hasOnly ||
24
+ value.hasOthersThan ||
25
+ value.isEmpty === true ||
26
+ value.isNotEmpty === true);
27
+ const hasAnyOf = Array.isArray(value.anyOf) && value.anyOf.length > 0;
28
+ return hasBase || hasAnyOf;
29
+ }, {
30
+ message: 'assigneeFilter must specify at least one condition'
31
+ });
32
+ /**
33
+ * Search WorkNodes by keyword
34
+ */
35
+ server.registerTool('brxce_read_worknodes', {
36
+ description: `Read WorkNodes by keyword with token-efficient response format.
37
+
38
+ āš ļø **CRITICAL: Workspace Verification (Optional but Recommended)**
39
+ If filtering by workspace:
40
+ 1. Read the \`user://me\` resource to get available workspaces
41
+ 2. Identify the correct workspaceId from the resource data
42
+ 3. If user mentions a specific workspace, verify it exists in user://me
43
+ 4. NEVER assume or guess workspaceId values
44
+ 5. If workspaceId is omitted, searches across ALL user's accessible workspaces
45
+
46
+ **Example Workflow:**
47
+ \`\`\`
48
+ User: "Find all MCP related tasks in BRXCE Development"
49
+ LLM:
50
+ 1. Reads user://me resource
51
+ 2. Finds workspace: {id: 138, name: "BRXCE Development"}
52
+ 3. Calls brxce_read_worknodes with query="MCP", workspaceId=138, nodeTypes=["task"]
53
+ \`\`\`
54
+
55
+ **When to use this tool:**
56
+ The LLM should automatically call this tool when the user asks about:
57
+ - "Find tasks about X" → Use query="X", nodeTypes=["task"]
58
+ - "Search for AI projects" → Use query="AI", nodeTypes=["project"]
59
+ - "Find all MCP-related work" → Use query="MCP"
60
+ - "Show me critical priority items" → Use priorities=["critical"]
61
+ - "Find completed tasks about backend" → Use query="backend", statuses=["completed"]
62
+
63
+ **Response Format:**
64
+ - Returns 11 essential fields: id, title, nodeType, status, priority, parentNodeId, nodeLevel, workspaceId, assignee, dueDate, tags
65
+ - **Tags**: Array of tag names (string[]) for token efficiency
66
+ - **Optimized for LLM token usage**
67
+
68
+ **Search Features:**
69
+ - Keyword search: Searches in both title and description fields (case-insensitive)
70
+ - Filter by workspace: Limit search to specific workspace
71
+ - Filter by nodeType: goal, project, subproject, task, subtask
72
+ - Filter by status: backlog, not_started, in_progress, in_review, completed, cancelled
73
+ - Filter by priority: critical, urgent, high, medium, low
74
+ - Ownership filters: Combine createdBy/createdByFilter with assignee/assigneeFilter (has/notHas/isEmpty/isNotEmpty/hasOnly/hasOthersThan/anyOf, supports "me")
75
+ - Pagination: Use limit and offset for large result sets
76
+
77
+ **Access Control:**
78
+ - Only searches WorkNodes in workspaces the user has access to
79
+ - If workspaceId specified, validates user membership before searching
80
+
81
+ **Best Practices:**
82
+ 1. Combine multiple filters for precise searches (e.g., query + nodeTypes + statuses)
83
+ 2. Use pagination (limit 50-100) for initial searches
84
+ 3. Filter by workspace when user mentions a specific workspace
85
+ 4. Use appropriate nodeTypes filter when user asks about specific levels (goals, projects, tasks)
86
+
87
+ **Example Searches:**
88
+
89
+ 1. Find all MCP-related work across all workspaces:
90
+ \`\`\`typescript
91
+ brxce_read_worknodes({
92
+ query: "MCP",
93
+ limit: 50
94
+ })
95
+ \`\`\`
96
+
97
+ 2. Find high-priority tasks in specific workspace:
98
+ \`\`\`typescript
99
+ brxce_read_worknodes({
100
+ workspaceId: 138,
101
+ nodeTypes: ["task", "subtask"],
102
+ priorities: ["high", "critical"],
103
+ statuses: ["not_started", "in_progress"]
104
+ })
105
+ \`\`\`
106
+
107
+ 3. Search for AI-related projects:
108
+ \`\`\`typescript
109
+ brxce_read_worknodes({
110
+ query: "AI",
111
+ nodeTypes: ["project", "subproject"],
112
+ limit: 20
113
+ })
114
+ \`\`\`
115
+
116
+ 4. Find all backlog items (inbox) about API:
117
+ \`\`\`typescript
118
+ brxce_read_worknodes({
119
+ query: "API",
120
+ statuses: ["backlog"]
121
+ })
122
+ \`\`\`
123
+
124
+ **Output Format:**
125
+ Returns JSON with:
126
+ - nodes: Array of WorkNode objects (11 fields each)
127
+ - total: Total count of matching WorkNodes
128
+ - limit, offset: Pagination info
129
+
130
+ ā° **TIMEZONE HANDLING:**
131
+ ALL date/time fields in the response are in UTC (ISO 8601 format):
132
+ - completedAt, createdAt, updatedAt, dueDate, startDate
133
+
134
+ When presenting results to the user, you MUST convert UTC timestamps to the user's local timezone:
135
+ 1. Check the current date/time from the <env> tag in the system prompt
136
+ 2. Identify the user's timezone (e.g., Asia/Seoul = UTC+9)
137
+ 3. Convert ALL displayed timestamps from UTC to local time
138
+ 4. Format dates in a user-friendly way (e.g., "ģ˜¤ķ›„ 5:16" not "08:16 UTC")
139
+
140
+ Example conversion (Korea Time, UTC+9):
141
+ - API returns: "completedAt": "2025-10-20T08:16:25.556Z" (UTC)
142
+ - Display to user: "ģ™„ė£Œ: 2025-10-20 ģ˜¤ķ›„ 5:16" (KST)
143
+
144
+ The LLM should format this data into a readable summary for the user.`,
145
+ inputSchema: {
146
+ query: z.string().optional().describe('Search keyword for title/description (case-insensitive)'),
147
+ workspaceId: z.string().uuid().optional().describe('Filter by workspace ID (validates user access)'),
148
+ nodeTypes: z.array(z.enum(['goal', 'project', 'subproject', 'task', 'subtask'])).optional()
149
+ .describe('Filter by node types'),
150
+ statuses: z.array(z.enum(['backlog', 'not_started', 'in_progress', 'in_review', 'completed', 'cancelled'])).optional()
151
+ .describe('Filter by statuses'),
152
+ priorities: z.array(z.enum(['critical', 'urgent', 'high', 'medium', 'low'])).optional()
153
+ .describe('Filter by priorities'),
154
+ createdBy: userIdentifierSchema.optional().describe('Creator user ID or "me"'),
155
+ createdByFilter: createdByFilterSchema.optional().describe('Creator filter object { equals?, notEquals? } (supports "me")'),
156
+ assignee: userIdentifierSchema.optional().describe('Assignee user ID or "me"'),
157
+ assigneeFilter: assigneeFilterSchema.optional().describe('Advanced assignee filter { has?, notHas?, isEmpty?, isNotEmpty?, hasOnly?, hasOthersThan?, anyOf[...] }'),
158
+ limit: z.number().optional().describe('Maximum results (default: 50, max: 200)'),
159
+ offset: z.number().optional().describe('Offset for pagination (default: 0)')
160
+ }
161
+ }, async (args) => {
162
+ try {
163
+ const { query, workspaceId, nodeTypes, statuses, priorities, createdBy, createdByFilter, assignee, assigneeFilter, limit = 50, offset = 0 } = args;
164
+ const requestBody = {
165
+ limit,
166
+ offset
167
+ };
168
+ if (query)
169
+ requestBody.query = query;
170
+ if (workspaceId !== undefined)
171
+ requestBody.workspaceId = workspaceId;
172
+ if (nodeTypes && nodeTypes.length > 0)
173
+ requestBody.nodeTypes = nodeTypes;
174
+ if (statuses && statuses.length > 0)
175
+ requestBody.statuses = statuses;
176
+ if (priorities && priorities.length > 0)
177
+ requestBody.priorities = priorities;
178
+ if (createdBy)
179
+ requestBody.createdBy = createdBy;
180
+ if (createdByFilter)
181
+ requestBody.createdByFilter = createdByFilter;
182
+ if (assignee)
183
+ requestBody.assignee = assignee;
184
+ if (assigneeFilter)
185
+ requestBody.assigneeFilter = assigneeFilter;
186
+ const response = await apiClient.post('/mcp/worknodes/read', requestBody);
187
+ if (!response.success) {
188
+ return {
189
+ content: [
190
+ {
191
+ type: 'text',
192
+ text: `Failed to search WorkNodes: ${response.message || 'Unknown error'}`,
193
+ },
194
+ ],
195
+ isError: true,
196
+ };
197
+ }
198
+ const { nodes, total } = response.data;
199
+ let resultText = `## WorkNode Read Results\n\n`;
200
+ // Search criteria
201
+ if (query)
202
+ resultText += `šŸ” Query: "${query}"\n`;
203
+ if (workspaceId)
204
+ resultText += `šŸ“ Workspace: #${workspaceId}\n`;
205
+ if (nodeTypes && nodeTypes.length > 0)
206
+ resultText += `šŸ“Š Types: ${nodeTypes.join(', ')}\n`;
207
+ if (statuses && statuses.length > 0)
208
+ resultText += `šŸ·ļø Statuses: ${statuses.join(', ')}\n`;
209
+ if (priorities && priorities.length > 0)
210
+ resultText += `⚔ Priorities: ${priorities.join(', ')}\n`;
211
+ resultText += `šŸ“‹ Format: Standard (11 fields, token-efficient)\n`;
212
+ resultText += `\n**Found: ${total} WorkNode(s)** (showing ${nodes.length})\n\n`;
213
+ if (nodes.length === 0) {
214
+ resultText += `No WorkNodes found matching the criteria.\n\n`;
215
+ resultText += `šŸ’” **Tip**: Try:\n`;
216
+ resultText += `- Broader search terms\n`;
217
+ resultText += `- Removing filters\n`;
218
+ resultText += `- Checking different workspaces\n`;
219
+ }
220
+ else {
221
+ // Group by nodeType for better organization
222
+ const byType = nodes.reduce((acc, node) => {
223
+ if (!acc[node.nodeType])
224
+ acc[node.nodeType] = [];
225
+ acc[node.nodeType].push(node);
226
+ return acc;
227
+ }, {});
228
+ const typeOrder = ['goal', 'project', 'subproject', 'task', 'subtask'];
229
+ typeOrder.forEach((type) => {
230
+ const typeNodes = byType[type];
231
+ if (!typeNodes || typeNodes.length === 0)
232
+ return;
233
+ const typeEmoji = {
234
+ goal: 'šŸŽÆ',
235
+ project: 'šŸ“',
236
+ subproject: 'šŸ“‚',
237
+ task: 'āœ…',
238
+ subtask: 'ā˜‘ļø'
239
+ }[type] || 'šŸ“„';
240
+ resultText += `### ${typeEmoji} ${type.charAt(0).toUpperCase() + type.slice(1)}s (${typeNodes.length})\n\n`;
241
+ typeNodes.forEach((node) => {
242
+ const statusEmojiMap = {
243
+ backlog: 'šŸ“„',
244
+ not_started: 'ā­•',
245
+ in_progress: 'šŸ”„',
246
+ in_review: 'šŸ‘€',
247
+ completed: 'āœ…',
248
+ cancelled: 'āŒ'
249
+ };
250
+ const statusEmoji = statusEmojiMap[node.status] || 'ā“';
251
+ const priorityEmojiMap = {
252
+ critical: 'šŸ”„',
253
+ urgent: '⚔',
254
+ high: 'šŸ”“',
255
+ medium: '🟔',
256
+ low: '🟢'
257
+ };
258
+ const priorityEmoji = priorityEmojiMap[node.priority] || '';
259
+ resultText += `**${node.title}** (ID: ${node.id})\n`;
260
+ resultText += ` ${statusEmoji} ${node.status}`;
261
+ if (priorityEmoji)
262
+ resultText += ` | ${priorityEmoji} ${node.priority}`;
263
+ if (node.workspaceId)
264
+ resultText += ` | Workspace: ${node.workspaceId}`;
265
+ if (node.parentNodeId)
266
+ resultText += ` | Parent: #${node.parentNodeId}`;
267
+ // Show additional fields
268
+ if (node.assignee && Array.isArray(node.assignee) && node.assignee.length > 0) {
269
+ resultText += ` | šŸ‘¤ ${node.assignee.join(', ')}`;
270
+ }
271
+ if (node.dueDate) {
272
+ resultText += ` | šŸ“… ${node.dueDate}`;
273
+ }
274
+ if (node.tags && Array.isArray(node.tags) && node.tags.length > 0) {
275
+ resultText += ` | šŸ·ļø ${node.tags.join(', ')}`;
276
+ }
277
+ resultText += `\n\n`;
278
+ });
279
+ });
280
+ // Pagination info
281
+ if (total > nodes.length) {
282
+ const remaining = total - (offset + nodes.length);
283
+ resultText += `\n---\n\n`;
284
+ resultText += `šŸ“„ **Pagination**: Showing ${offset + 1}-${offset + nodes.length} of ${total}\n`;
285
+ if (remaining > 0) {
286
+ resultText += `šŸ’” **Tip**: Use \`offset: ${offset + limit}\` to see next ${Math.min(remaining, limit)} results\n`;
287
+ }
288
+ }
289
+ }
290
+ return {
291
+ content: [
292
+ {
293
+ type: 'text',
294
+ text: resultText,
295
+ },
296
+ ],
297
+ };
298
+ }
299
+ catch (error) {
300
+ return {
301
+ content: [
302
+ {
303
+ type: 'text',
304
+ text: `Error searching WorkNodes: ${error.message || 'Unknown error'}`,
305
+ },
306
+ ],
307
+ isError: true,
308
+ };
309
+ }
310
+ });
311
+ }
312
+ //# sourceMappingURL=worknode-read-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worknode-read-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-read-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worknode-search-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-search-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAoUjF"}
1
+ {"version":3,"file":"worknode-search-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-search-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA2SjF"}
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  export function registerWorknodeSearchTool(server, apiClient) {
3
3
  /**
4
- * Search WorkNodes by keyword with compact mode
4
+ * Search WorkNodes by keyword
5
5
  */
6
6
  server.registerTool('brxce_search_worknodes', {
7
- description: `Search WorkNodes by keyword with token-efficient compact mode.
7
+ description: `Search WorkNodes by keyword with token-efficient response format.
8
8
 
9
9
  āš ļø **CRITICAL: Workspace Verification (Optional but Recommended)**
10
10
  If filtering by workspace:
@@ -31,10 +31,10 @@ The LLM should automatically call this tool when the user asks about:
31
31
  - "Show me critical priority items" → Use priorities=["critical"]
32
32
  - "Find completed tasks about backend" → Use query="backend", statuses=["completed"]
33
33
 
34
- **Compact Mode:**
35
- - When \`compact=true\`, returns only essential fields: id, title, nodeType, status, priority, parentNodeId, nodeLevel, workspaceId
36
- - When \`compact=false\` or omitted, returns all WorkNode fields including description, dates, assignee, etc.
37
- - Use compact mode to reduce token usage when only basic info is needed
34
+ **Response Format:**
35
+ - Returns 11 essential fields: id, title, nodeType, status, priority, parentNodeId, nodeLevel, workspaceId, assignee, dueDate, tags
36
+ - **Tags**: Array of tag names (string[]) for token efficiency
37
+ - **Optimized for LLM token usage**
38
38
 
39
39
  **Search Features:**
40
40
  - Keyword search: Searches in both title and description fields (case-insensitive)
@@ -49,11 +49,10 @@ The LLM should automatically call this tool when the user asks about:
49
49
  - If workspaceId specified, validates user membership before searching
50
50
 
51
51
  **Best Practices:**
52
- 1. Use compact mode when you only need basic info to reduce tokens
53
- 2. Combine multiple filters for precise searches (e.g., query + nodeTypes + statuses)
54
- 3. Use pagination (limit 50-100) for initial searches
55
- 4. Filter by workspace when user mentions a specific workspace
56
- 5. Use appropriate nodeTypes filter when user asks about specific levels (goals, projects, tasks)
52
+ 1. Combine multiple filters for precise searches (e.g., query + nodeTypes + statuses)
53
+ 2. Use pagination (limit 50-100) for initial searches
54
+ 3. Filter by workspace when user mentions a specific workspace
55
+ 4. Use appropriate nodeTypes filter when user asks about specific levels (goals, projects, tasks)
57
56
 
58
57
  **Example Searches:**
59
58
 
@@ -61,7 +60,6 @@ The LLM should automatically call this tool when the user asks about:
61
60
  \`\`\`typescript
62
61
  brxce_search_worknodes({
63
62
  query: "MCP",
64
- compact: true,
65
63
  limit: 50
66
64
  })
67
65
  \`\`\`
@@ -72,17 +70,15 @@ brxce_search_worknodes({
72
70
  workspaceId: 138,
73
71
  nodeTypes: ["task", "subtask"],
74
72
  priorities: ["high", "critical"],
75
- statuses: ["not_started", "in_progress"],
76
- compact: false
73
+ statuses: ["not_started", "in_progress"]
77
74
  })
78
75
  \`\`\`
79
76
 
80
- 3. Search for AI-related projects with full details:
77
+ 3. Search for AI-related projects:
81
78
  \`\`\`typescript
82
79
  brxce_search_worknodes({
83
80
  query: "AI",
84
81
  nodeTypes: ["project", "subproject"],
85
- compact: false,
86
82
  limit: 20
87
83
  })
88
84
  \`\`\`
@@ -91,17 +87,15 @@ brxce_search_worknodes({
91
87
  \`\`\`typescript
92
88
  brxce_search_worknodes({
93
89
  query: "API",
94
- statuses: ["backlog"],
95
- compact: true
90
+ statuses: ["backlog"]
96
91
  })
97
92
  \`\`\`
98
93
 
99
94
  **Output Format:**
100
95
  Returns JSON with:
101
- - nodes: Array of WorkNode objects (compact or full based on mode)
96
+ - nodes: Array of WorkNode objects (11 fields each)
102
97
  - total: Total count of matching WorkNodes
103
98
  - limit, offset: Pagination info
104
- - compact: Boolean indicating which mode was used
105
99
 
106
100
  ā° **TIMEZONE HANDLING:**
107
101
  ALL date/time fields in the response are in UTC (ISO 8601 format):
@@ -127,15 +121,13 @@ The LLM should format this data into a readable summary for the user.`,
127
121
  .describe('Filter by statuses'),
128
122
  priorities: z.array(z.enum(['critical', 'urgent', 'high', 'medium', 'low'])).optional()
129
123
  .describe('Filter by priorities'),
130
- compact: z.boolean().optional().describe('Return compact format (minimal fields for token efficiency, default: false)'),
131
124
  limit: z.number().optional().describe('Maximum results (default: 50, max: 200)'),
132
125
  offset: z.number().optional().describe('Offset for pagination (default: 0)')
133
126
  }
134
127
  }, async (args) => {
135
128
  try {
136
- const { query, workspaceId, nodeTypes, statuses, priorities, compact = false, limit = 50, offset = 0 } = args;
129
+ const { query, workspaceId, nodeTypes, statuses, priorities, limit = 50, offset = 0 } = args;
137
130
  const requestBody = {
138
- compact,
139
131
  limit,
140
132
  offset
141
133
  };
@@ -161,7 +153,7 @@ The LLM should format this data into a readable summary for the user.`,
161
153
  isError: true,
162
154
  };
163
155
  }
164
- const { nodes, total, compact: isCompact } = response.data;
156
+ const { nodes, total } = response.data;
165
157
  let resultText = `## WorkNode Search Results\n\n`;
166
158
  // Search criteria
167
159
  if (query)
@@ -174,7 +166,7 @@ The LLM should format this data into a readable summary for the user.`,
174
166
  resultText += `šŸ·ļø Statuses: ${statuses.join(', ')}\n`;
175
167
  if (priorities && priorities.length > 0)
176
168
  resultText += `⚔ Priorities: ${priorities.join(', ')}\n`;
177
- resultText += `šŸ“‹ Mode: ${isCompact ? 'Compact (token-efficient)' : 'Full details'}\n`;
169
+ resultText += `šŸ“‹ Format: Standard (11 fields, token-efficient)\n`;
178
170
  resultText += `\n**Found: ${total} WorkNode(s)** (showing ${nodes.length})\n\n`;
179
171
  if (nodes.length === 0) {
180
172
  resultText += `No WorkNodes found matching the criteria.\n\n`;
@@ -230,24 +222,17 @@ The LLM should format this data into a readable summary for the user.`,
230
222
  resultText += ` | Workspace: ${node.workspaceId}`;
231
223
  if (node.parentNodeId)
232
224
  resultText += ` | Parent: #${node.parentNodeId}`;
233
- resultText += `\n`;
234
- // Full mode shows additional details
235
- if (!isCompact && node.description) {
236
- const desc = node.description.length > 100
237
- ? node.description.substring(0, 100) + '...'
238
- : node.description;
239
- resultText += ` šŸ“ ${desc}\n`;
225
+ // Show additional fields
226
+ if (node.assignee && Array.isArray(node.assignee) && node.assignee.length > 0) {
227
+ resultText += ` | šŸ‘¤ ${node.assignee.join(', ')}`;
240
228
  }
241
- if (!isCompact && node.assignee && Array.isArray(node.assignee) && node.assignee.length > 0) {
242
- resultText += ` šŸ‘¤ Assigned: ${node.assignee.join(', ')}\n`;
229
+ if (node.dueDate) {
230
+ resultText += ` | šŸ“… ${node.dueDate}`;
243
231
  }
244
- if (!isCompact && node.dueDate) {
245
- resultText += ` šŸ“… Due: ${node.dueDate}\n`;
232
+ if (node.tags && Array.isArray(node.tags) && node.tags.length > 0) {
233
+ resultText += ` | šŸ·ļø ${node.tags.join(', ')}`;
246
234
  }
247
- if (!isCompact && node.progress !== undefined && node.progress > 0) {
248
- resultText += ` šŸ“Š Progress: ${node.progress}%\n`;
249
- }
250
- resultText += `\n`;
235
+ resultText += `\n\n`;
251
236
  });
252
237
  });
253
238
  // Pagination info
@@ -259,10 +244,6 @@ The LLM should format this data into a readable summary for the user.`,
259
244
  resultText += `šŸ’” **Tip**: Use \`offset: ${offset + limit}\` to see next ${Math.min(remaining, limit)} results\n`;
260
245
  }
261
246
  }
262
- // Token efficiency note
263
- if (!isCompact && total > 20) {
264
- resultText += `\nšŸ’” **Token Tip**: For large result sets, use \`compact: true\` to reduce token usage\n`;
265
- }
266
247
  }
267
248
  return {
268
249
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"worknode-search-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-search-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worknode-search-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-search-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worknode-subtree-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA8D3D,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAuKlF"}
1
+ {"version":3,"file":"worknode-subtree-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA8D3D,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAmKlF"}
@@ -64,11 +64,10 @@ This tool retrieves a single WorkNode and ALL its child nodes recursively, provi
64
64
  - Excludes completed and deleted items by default
65
65
  - Use filters to include completed work or limit depth
66
66
 
67
- **Compact Mode (Token Efficiency):**
68
- - When \`compact=true\`, returns only essential fields: id, title, nodeType, status, priority, parentNodeId, nodeLevel, workspaceId
69
- - When \`compact=false\` or omitted, returns all fields including: description, assignee, progress, dueDate, completedAt, tags (simplified: name, slug, color), etc.
70
- - **Achieves ~75% size reduction** (e.g., 25KB → 5.8KB for 26 descendants)
71
- - Use compact mode when you only need basic hierarchy and don't need detailed metadata
67
+ **Response Format:**
68
+ - Returns 11 essential fields: id, title, nodeType, status, priority, parentNodeId, nodeLevel, workspaceId, assignee, dueDate, tags
69
+ - **Tags**: Array of tag names (string[]) for token efficiency
70
+ - **Optimized for LLM token usage**
72
71
 
73
72
  ā° **TIMEZONE HANDLING:**
74
73
  ALL date/time fields in the response are in UTC (ISO 8601 format):
@@ -86,7 +85,7 @@ Example conversion (Korea Time, UTC+9):
86
85
 
87
86
  **Tip:** First use brxce_workspace_overview to find the node ID, then use this tool to drill into that specific node's subtree.`,
88
87
  inputSchema: {
89
- nodeId: z.number().describe('The WorkNode ID to fetch subtree for'),
88
+ nodeId: z.string().uuid().describe('The WorkNode ID to fetch subtree for'),
90
89
  includeCompleted: z.boolean().optional().describe('Include completed descendants (default: false)'),
91
90
  includeCancelled: z.boolean().optional().describe('Include cancelled descendants (default: false)'),
92
91
  includeAll: z
@@ -99,12 +98,11 @@ Example conversion (Korea Time, UTC+9):
99
98
  .number()
100
99
  .optional()
101
100
  .describe('Maximum depth to traverse from target node (default: unlimited)'),
102
- compact: z.boolean().optional().describe('Return compact format (minimal fields for token efficiency, ~75% size reduction, default: false)'),
103
101
  },
104
102
  }, async (args) => {
105
103
  const { nodeId, ...filters } = args;
106
- if (!nodeId || typeof nodeId !== 'number') {
107
- throw new Error('nodeId is required and must be a number');
104
+ if (!nodeId) {
105
+ throw new Error('nodeId is required and must be a UUID string');
108
106
  }
109
107
  try {
110
108
  // Build query string
@@ -120,8 +118,7 @@ Example conversion (Korea Time, UTC+9):
120
118
  if (!response.success) {
121
119
  throw new Error('Failed to fetch worknode subtree');
122
120
  }
123
- // Use backend's compact mode if requested, otherwise return full data
124
- const isCompact = response.data.compact || false;
121
+ // Return standard response format
125
122
  const nodeData = response.data.node;
126
123
  const childrenData = response.data.children;
127
124
  return {
@@ -132,7 +129,6 @@ Example conversion (Korea Time, UTC+9):
132
129
  node: nodeData,
133
130
  children: childrenData,
134
131
  statistics: response.data.stats,
135
- compact: isCompact,
136
132
  metadata: response.meta,
137
133
  }, null, 2),
138
134
  },
@@ -1 +1 @@
1
- {"version":3,"file":"worknode-subtree-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwCxB;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAS;IAClC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,SAAoB;IACjF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gIA+D6G;QAC1H,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACnE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACnG,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACnG,UAAU,EAAE,CAAC;iBACV,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gFAAgF,CAAC;YAC7F,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YACjG,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACpG,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kGAAkG,CAAC;SAC7I;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;QAEpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1C,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,kBAAkB,MAAM,WAAW,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAEtF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAkB,GAAG,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,sEAAsE;YACtE,MAAM,SAAS,GAAI,QAAQ,CAAC,IAAY,CAAC,OAAO,IAAI,KAAK,CAAC;YAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE5C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,YAAY;4BACtB,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;4BAC/B,OAAO,EAAE,SAAS;4BAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI;yBACxB,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,uBAAuB;YACvB,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3E,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,oBAAoB;gCAC3B,OAAO,EAAE,oBAAoB,MAAM,iDAAiD;gCACpF,MAAM;6BACP,CAAC;yBACH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,kCAAkC;4BACzC,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,MAAM;yBACP,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"worknode-subtree-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"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"}