@brxce/mcp-server 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/http-server.d.ts +5 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +154 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/workspace-members-resource.d.ts.map +1 -1
- package/dist/resources/workspace-members-resource.js +4 -2
- package/dist/resources/workspace-members-resource.js.map +1 -1
- package/dist/server.d.ts +24 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +212 -0
- package/dist/server.js.map +1 -0
- package/dist/services/api-client.d.ts +32 -1
- package/dist/services/api-client.d.ts.map +1 -1
- package/dist/services/api-client.js +140 -65
- package/dist/services/api-client.js.map +1 -1
- package/dist/tools/comment-tool.d.ts +4 -0
- package/dist/tools/comment-tool.d.ts.map +1 -0
- package/dist/tools/comment-tool.js +139 -0
- package/dist/tools/comment-tool.js.map +1 -0
- package/dist/tools/criteria-tool.d.ts +4 -0
- package/dist/tools/criteria-tool.d.ts.map +1 -0
- package/dist/tools/criteria-tool.js +194 -0
- package/dist/tools/criteria-tool.js.map +1 -0
- package/dist/tools/invitation-tool.d.ts +11 -0
- package/dist/tools/invitation-tool.d.ts.map +1 -0
- package/dist/tools/invitation-tool.js +245 -0
- package/dist/tools/invitation-tool.js.map +1 -0
- package/dist/tools/meeting-agenda-tool.d.ts.map +1 -1
- package/dist/tools/meeting-agenda-tool.js +15 -92
- package/dist/tools/meeting-agenda-tool.js.map +1 -1
- package/dist/tools/meeting-create-tool.d.ts.map +1 -1
- package/dist/tools/meeting-create-tool.js +3 -91
- package/dist/tools/meeting-create-tool.js.map +1 -1
- package/dist/tools/meeting-decisions-tool.d.ts.map +1 -1
- package/dist/tools/meeting-decisions-tool.js +14 -89
- package/dist/tools/meeting-decisions-tool.js.map +1 -1
- package/dist/tools/meeting-delete-tool.d.ts +7 -0
- package/dist/tools/meeting-delete-tool.d.ts.map +1 -0
- package/dist/tools/meeting-delete-tool.js +57 -0
- package/dist/tools/meeting-delete-tool.js.map +1 -0
- package/dist/tools/meeting-list-tool.d.ts.map +1 -1
- package/dist/tools/meeting-list-tool.js +7 -94
- package/dist/tools/meeting-list-tool.js.map +1 -1
- package/dist/tools/meeting-notes-tool.d.ts.map +1 -1
- package/dist/tools/meeting-notes-tool.js +14 -75
- package/dist/tools/meeting-notes-tool.js.map +1 -1
- package/dist/tools/meeting-update-tool.d.ts.map +1 -1
- package/dist/tools/meeting-update-tool.js +6 -134
- package/dist/tools/meeting-update-tool.js.map +1 -1
- package/dist/tools/notification-tool.d.ts +11 -0
- package/dist/tools/notification-tool.d.ts.map +1 -0
- package/dist/tools/notification-tool.js +143 -0
- package/dist/tools/notification-tool.js.map +1 -0
- package/dist/tools/tag-category-tool.d.ts.map +1 -1
- package/dist/tools/tag-category-tool.js +9 -63
- package/dist/tools/tag-category-tool.js.map +1 -1
- package/dist/tools/tag-search-tool.d.ts.map +1 -1
- package/dist/tools/tag-search-tool.js +11 -87
- package/dist/tools/tag-search-tool.js.map +1 -1
- package/dist/tools/tag-tool.d.ts.map +1 -1
- package/dist/tools/tag-tool.js +13 -101
- package/dist/tools/tag-tool.js.map +1 -1
- package/dist/tools/worknode-archive-tool.d.ts.map +1 -1
- package/dist/tools/worknode-archive-tool.js +4 -44
- package/dist/tools/worknode-archive-tool.js.map +1 -1
- package/dist/tools/worknode-batch-tool.d.ts +4 -0
- package/dist/tools/worknode-batch-tool.d.ts.map +1 -0
- package/dist/tools/worknode-batch-tool.js +109 -0
- package/dist/tools/worknode-batch-tool.js.map +1 -0
- package/dist/tools/worknode-by-member-tool.d.ts +4 -0
- package/dist/tools/worknode-by-member-tool.d.ts.map +1 -0
- package/dist/tools/worknode-by-member-tool.js +168 -0
- package/dist/tools/worknode-by-member-tool.js.map +1 -0
- package/dist/tools/worknode-complete-tool.d.ts +4 -0
- package/dist/tools/worknode-complete-tool.d.ts.map +1 -0
- package/dist/tools/worknode-complete-tool.js +83 -0
- package/dist/tools/worknode-complete-tool.js.map +1 -0
- package/dist/tools/worknode-create-tool.d.ts.map +1 -1
- package/dist/tools/worknode-create-tool.js +22 -113
- package/dist/tools/worknode-create-tool.js.map +1 -1
- package/dist/tools/worknode-delete-tool.d.ts +4 -0
- package/dist/tools/worknode-delete-tool.d.ts.map +1 -0
- package/dist/tools/worknode-delete-tool.js +51 -0
- package/dist/tools/worknode-delete-tool.js.map +1 -0
- package/dist/tools/worknode-history-tool.d.ts +4 -0
- package/dist/tools/worknode-history-tool.d.ts.map +1 -0
- package/dist/tools/worknode-history-tool.js +101 -0
- package/dist/tools/worknode-history-tool.js.map +1 -0
- package/dist/tools/worknode-move-tool.d.ts +4 -0
- package/dist/tools/worknode-move-tool.d.ts.map +1 -0
- package/dist/tools/worknode-move-tool.js +78 -0
- package/dist/tools/worknode-move-tool.js.map +1 -0
- package/dist/tools/worknode-plan-organize-tool.d.ts.map +1 -1
- package/dist/tools/worknode-plan-organize-tool.js +8 -117
- package/dist/tools/worknode-plan-organize-tool.js.map +1 -1
- package/dist/tools/worknode-read-tool.d.ts.map +1 -1
- package/dist/tools/worknode-read-tool.js +7 -110
- package/dist/tools/worknode-read-tool.js.map +1 -1
- package/dist/tools/worknode-subtree-tool.d.ts.map +1 -1
- package/dist/tools/worknode-subtree-tool.js +5 -65
- package/dist/tools/worknode-subtree-tool.js.map +1 -1
- package/dist/tools/worknode-tag-tool.d.ts.map +1 -1
- package/dist/tools/worknode-tag-tool.js +11 -99
- package/dist/tools/worknode-tag-tool.js.map +1 -1
- package/dist/tools/worknode-update-tool.d.ts.map +1 -1
- package/dist/tools/worknode-update-tool.js +22 -110
- package/dist/tools/worknode-update-tool.js.map +1 -1
- package/dist/tools/workspace-ascii-export-tool.d.ts +4 -0
- package/dist/tools/workspace-ascii-export-tool.d.ts.map +1 -0
- package/dist/tools/workspace-ascii-export-tool.js +96 -0
- package/dist/tools/workspace-ascii-export-tool.js.map +1 -0
- package/dist/tools/workspace-inbox-tool.d.ts.map +1 -1
- package/dist/tools/workspace-inbox-tool.js +4 -72
- package/dist/tools/workspace-inbox-tool.js.map +1 -1
- package/dist/tools/workspace-list-tool.d.ts.map +1 -1
- package/dist/tools/workspace-list-tool.js +3 -49
- package/dist/tools/workspace-list-tool.js.map +1 -1
- package/dist/tools/workspace-member-tool.d.ts +7 -0
- package/dist/tools/workspace-member-tool.d.ts.map +1 -0
- package/dist/tools/workspace-member-tool.js +172 -0
- package/dist/tools/workspace-member-tool.js.map +1 -0
- package/dist/tools/workspace-members-list-tool.d.ts.map +1 -1
- package/dist/tools/workspace-members-list-tool.js +5 -84
- package/dist/tools/workspace-members-list-tool.js.map +1 -1
- package/dist/tools/workspace-statistics-tool.d.ts.map +1 -1
- package/dist/tools/workspace-statistics-tool.js +3 -169
- package/dist/tools/workspace-statistics-tool.js.map +1 -1
- package/dist/tools/workspace-tree-tool.d.ts.map +1 -1
- package/dist/tools/workspace-tree-tool.js +10 -178
- package/dist/tools/workspace-tree-tool.js.map +1 -1
- package/package.json +12 -11
|
@@ -21,78 +21,18 @@ function toMinimalWorkNode(node) {
|
|
|
21
21
|
}
|
|
22
22
|
export function registerWorknodeSubtreeTool(server, apiClient) {
|
|
23
23
|
server.registerTool('brxce_worknode_subtree', {
|
|
24
|
-
description: `Get
|
|
24
|
+
description: `Get WorkNode and all descendants (subtree). Find nodeId first via brxce_workspace_overview.
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
1. Use \`brxce_workspace_overview\` first to find the node ID within a workspace
|
|
29
|
-
2. NEVER use arbitrary or guessed nodeId values
|
|
30
|
-
3. Verify the node exists in the workspace tree before drilling down
|
|
31
|
-
4. If user mentions a node by name, search the workspace tree first
|
|
32
|
-
|
|
33
|
-
**Example Workflow:**
|
|
34
|
-
\`\`\`
|
|
35
|
-
User: "Show me what's under the MVP Development project"
|
|
36
|
-
LLM:
|
|
37
|
-
1. Calls brxce_workspace_overview to get workspace tree
|
|
38
|
-
2. Finds "MVP Development" project with ID 856
|
|
39
|
-
3. Calls brxce_worknode_subtree with nodeId: 856
|
|
40
|
-
4. Shows subtree results
|
|
41
|
-
\`\`\`
|
|
42
|
-
|
|
43
|
-
This tool retrieves a single WorkNode and ALL its child nodes recursively, providing:
|
|
44
|
-
- The target node details
|
|
45
|
-
- Complete list of all descendants (children, grandchildren, etc.)
|
|
46
|
-
- Hierarchical statistics for the subtree
|
|
47
|
-
- Progress and completion tracking for the entire branch
|
|
48
|
-
|
|
49
|
-
**When to use this tool:**
|
|
50
|
-
- When user asks about a specific goal, project, or task
|
|
51
|
-
- To understand the scope and breakdown of work under a node
|
|
52
|
-
- To analyze completion status of a specific initiative
|
|
53
|
-
- To see all sub-tasks under a particular task
|
|
54
|
-
- When you need detailed context about a node's children
|
|
55
|
-
|
|
56
|
-
**Use cases:**
|
|
57
|
-
- "What's under project X?" → Use this with project X's ID
|
|
58
|
-
- "Show me all tasks in goal Y" → Use this with goal Y's ID
|
|
59
|
-
- "What are the sub-tasks of task Z?" → Use this with task Z's ID
|
|
60
|
-
- "How is project ABC broken down?" → Use this with project ABC's ID
|
|
61
|
-
|
|
62
|
-
**Default behavior:**
|
|
63
|
-
- Returns the target node + all active descendants
|
|
64
|
-
- Excludes completed and deleted items by default
|
|
65
|
-
- Use filters to include completed work or limit depth
|
|
66
|
-
|
|
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**
|
|
71
|
-
|
|
72
|
-
⏰ **TIMEZONE HANDLING:**
|
|
73
|
-
ALL date/time fields in the response are in UTC (ISO 8601 format):
|
|
74
|
-
- completedAt, createdAt, updatedAt, dueDate, startDate
|
|
75
|
-
|
|
76
|
-
When presenting results to the user, you MUST convert UTC timestamps to the user's local timezone:
|
|
77
|
-
1. Check the current date/time from the <env> tag in the system prompt
|
|
78
|
-
2. Identify the user's timezone (e.g., Asia/Seoul = UTC+9)
|
|
79
|
-
3. Convert ALL displayed timestamps from UTC to local time
|
|
80
|
-
4. Format dates in a user-friendly way (e.g., "오후 5:16" not "08:16 UTC")
|
|
81
|
-
|
|
82
|
-
Example conversion (Korea Time, UTC+9):
|
|
83
|
-
- API returns: "completedAt": "2025-10-20T08:16:25.556Z" (UTC)
|
|
84
|
-
- Display to user: "완료: 2025-10-20 오후 5:16" (KST)
|
|
85
|
-
|
|
86
|
-
**Tip:** First use brxce_workspace_overview to find the node ID, then use this tool to drill into that specific node's subtree.`,
|
|
26
|
+
Params: nodeId (required), includeCompleted, includeArchived, includeAll, maxDepth
|
|
27
|
+
Returns: node, children[], stats. Dates in UTC.`,
|
|
87
28
|
inputSchema: {
|
|
88
29
|
nodeId: z.string().uuid().describe('The WorkNode ID to fetch subtree for'),
|
|
89
30
|
includeCompleted: z.boolean().optional().describe('Include completed descendants (default: false)'),
|
|
90
|
-
|
|
31
|
+
includeArchived: z.boolean().optional().describe('Include archived descendants (default: false)'),
|
|
91
32
|
includeAll: z
|
|
92
33
|
.boolean()
|
|
93
34
|
.optional()
|
|
94
|
-
.describe('Include all statuses including completed and
|
|
95
|
-
includeArchived: z.boolean().optional().describe('Include archived descendants (default: false)'),
|
|
35
|
+
.describe('Include all statuses including completed and archived (overrides other flags)'),
|
|
96
36
|
includeDeleted: z.boolean().optional().describe('Include soft-deleted descendants (default: false)'),
|
|
97
37
|
maxDepth: z
|
|
98
38
|
.number()
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"worknode-subtree-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-tag-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"worknode-tag-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA2X/E"}
|
|
@@ -4,29 +4,10 @@ export function registerWorknodeTagTools(server, apiClient) {
|
|
|
4
4
|
* Add tags to WorkNode
|
|
5
5
|
*/
|
|
6
6
|
server.registerTool('brxce_add_tags_to_worknode', {
|
|
7
|
-
description: `Add
|
|
7
|
+
description: `Add tags to a WorkNode.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- To organize and categorize work items
|
|
12
|
-
- After creating a WorkNode, to add relevant tags
|
|
13
|
-
|
|
14
|
-
**Constraints:**
|
|
15
|
-
- If category doesn't allow multiple tags, can only add one per category
|
|
16
|
-
- If category is required, WorkNode must have at least one tag from that category
|
|
17
|
-
|
|
18
|
-
**Example scenarios:**
|
|
19
|
-
User: "Tag task #142 with React and TypeScript"
|
|
20
|
-
Assistant: Get tag IDs for React and TypeScript, then call:
|
|
21
|
-
brxce_add_tags_to_worknode(workspaceId: 4, worknodeId: 142, tagIds: [25, 26])
|
|
22
|
-
|
|
23
|
-
User: "This is a high priority backend task"
|
|
24
|
-
Assistant: Add "high-priority" and "backend" tags
|
|
25
|
-
|
|
26
|
-
**Returns:**
|
|
27
|
-
- Number of tags added
|
|
28
|
-
- Number skipped (if already tagged)
|
|
29
|
-
- List of all current tags on the WorkNode`,
|
|
9
|
+
Params: workspaceId, worknodeId, tagIds[]
|
|
10
|
+
Returns: added count, skipped count, current tags`,
|
|
30
11
|
inputSchema: {
|
|
31
12
|
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
32
13
|
worknodeId: z.string().uuid().describe('WorkNode ID to add tags to'),
|
|
@@ -88,21 +69,10 @@ Assistant: Add "high-priority" and "backend" tags
|
|
|
88
69
|
* Get WorkNode tags
|
|
89
70
|
*/
|
|
90
71
|
server.registerTool('brxce_get_worknode_tags', {
|
|
91
|
-
description: `Get
|
|
72
|
+
description: `Get WorkNode's current tags.
|
|
92
73
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- Before adding more tags (to avoid duplicates)
|
|
96
|
-
- To understand WorkNode's categorization
|
|
97
|
-
|
|
98
|
-
**Returns:**
|
|
99
|
-
- All tags grouped by category
|
|
100
|
-
- Tag details (name, slug, category)
|
|
101
|
-
- Who added each tag and when
|
|
102
|
-
|
|
103
|
-
**Example:**
|
|
104
|
-
User: "What tags does task #142 have?"
|
|
105
|
-
Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
74
|
+
Params: workspaceId, worknodeId
|
|
75
|
+
Returns: tags grouped by category with details`,
|
|
106
76
|
inputSchema: {
|
|
107
77
|
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
108
78
|
worknodeId: z.string().uuid().describe('WorkNode ID')
|
|
@@ -178,57 +148,10 @@ Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
|
178
148
|
* Batch assign tags to multiple WorkNodes
|
|
179
149
|
*/
|
|
180
150
|
server.registerTool('brxce_batch_assign_tags', {
|
|
181
|
-
description: `
|
|
182
|
-
|
|
183
|
-
**When to use:**
|
|
184
|
-
- When tagging multiple WorkNodes with the same tag(s)
|
|
185
|
-
- Organizing a group of related work items
|
|
186
|
-
- Applying sprint/release tags to multiple tasks
|
|
187
|
-
|
|
188
|
-
**Efficiency:**
|
|
189
|
-
- Single API call instead of N × M calls
|
|
190
|
-
- Optimized for large-scale tagging operations
|
|
191
|
-
- Automatic handling of duplicates and constraints
|
|
151
|
+
description: `Batch assign tags to multiple WorkNodes.
|
|
192
152
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
1. Sprint tagging:
|
|
196
|
-
User: "Tag all tasks in Sprint-42 with the sprint tag"
|
|
197
|
-
Assistant: Get task IDs and sprint tag ID, then call:
|
|
198
|
-
brxce_batch_assign_tags(
|
|
199
|
-
workspaceId: 4,
|
|
200
|
-
worknodeIds: [100, 101, 102, 103],
|
|
201
|
-
tagIds: [42]
|
|
202
|
-
)
|
|
203
|
-
|
|
204
|
-
2. Multi-tag assignment:
|
|
205
|
-
User: "Add Backend and High-Priority tags to these 5 tasks"
|
|
206
|
-
Assistant:
|
|
207
|
-
brxce_batch_assign_tags(
|
|
208
|
-
workspaceId: 4,
|
|
209
|
-
worknodeIds: [200, 201, 202, 203, 204],
|
|
210
|
-
tagIds: [10, 20] // Backend, High-Priority
|
|
211
|
-
)
|
|
212
|
-
|
|
213
|
-
3. Technology stack tagging:
|
|
214
|
-
User: "Tag all React components with React and TypeScript"
|
|
215
|
-
Assistant: Search for React components, get tag IDs, then batch assign
|
|
216
|
-
|
|
217
|
-
**Returns:**
|
|
218
|
-
- Total WorkNodes and tags involved
|
|
219
|
-
- Number of assignments added, skipped, and failed
|
|
220
|
-
- Detailed failure reasons (category constraints, etc.)
|
|
221
|
-
|
|
222
|
-
**Constraints handled:**
|
|
223
|
-
- Category allowMultiple restrictions
|
|
224
|
-
- Duplicate tag prevention (auto-skip)
|
|
225
|
-
- Workspace and WorkNode validation
|
|
226
|
-
|
|
227
|
-
**Best practices:**
|
|
228
|
-
1. Use this when tagging 2+ WorkNodes
|
|
229
|
-
2. Combine with brxce_search_tags to find tag IDs
|
|
230
|
-
3. Combine with brxce_workspace_tree to find WorkNode IDs
|
|
231
|
-
4. Review failed assignments if category constraints exist`,
|
|
153
|
+
Params: workspaceId, worknodeIds[], tagIds[]
|
|
154
|
+
Returns: added, skipped, failed counts with failure reasons`,
|
|
232
155
|
inputSchema: {
|
|
233
156
|
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
234
157
|
worknodeIds: z
|
|
@@ -295,20 +218,9 @@ Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
|
295
218
|
* Remove tag from WorkNode
|
|
296
219
|
*/
|
|
297
220
|
server.registerTool('brxce_remove_tag_from_worknode', {
|
|
298
|
-
description: `Remove a tag from a
|
|
299
|
-
|
|
300
|
-
**When to use:**
|
|
301
|
-
- When a tag is no longer relevant to the WorkNode
|
|
302
|
-
- To correct mis-tagging
|
|
303
|
-
- User explicitly requests tag removal
|
|
304
|
-
|
|
305
|
-
**Constraints:**
|
|
306
|
-
- Cannot remove if it's the last tag from a required category
|
|
221
|
+
description: `Remove a tag from WorkNode. Cannot remove if it's the last tag from a required category.
|
|
307
222
|
|
|
308
|
-
|
|
309
|
-
User: "Remove the React tag from task #142"
|
|
310
|
-
Assistant: Get React tag ID, then call:
|
|
311
|
-
brxce_remove_tag_from_worknode(workspaceId: 4, worknodeId: 142, tagId: 25)`,
|
|
223
|
+
Params: workspaceId, worknodeId, tagId`,
|
|
312
224
|
inputSchema: {
|
|
313
225
|
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
314
226
|
worknodeId: z.string().uuid().describe('WorkNode ID'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-tag-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,SAAoB;IAC9E;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"worknode-tag-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-update-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-update-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-update-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-update-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiGtD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAgQjF"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const WorknodeTypeSchema = z.enum(['goal', 'project', 'subproject', 'task', 'subtask']);
|
|
3
|
-
const WorkNodeStatusSchema = z.enum(['backlog', 'not_started', 'in_progress', '
|
|
3
|
+
const WorkNodeStatusSchema = z.enum(['backlog', 'not_started', 'in_progress', 'completed', 'pause', 'archived']);
|
|
4
4
|
const WorkNodePrioritySchema = z.enum(['critical', 'urgent', 'high', 'medium', 'low']);
|
|
5
|
+
// ISO 8601 date-time format validation
|
|
6
|
+
// Valid: "2025-01-31T23:59:59Z", "2025-01-31T23:59:59.999Z", "2025-01-31T23:59:59+09:00"
|
|
7
|
+
// Invalid: "2025-01-31" (date-only), "January 31, 2025"
|
|
8
|
+
const ISO_DATE_TIME_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})$/;
|
|
9
|
+
const isoDateTimeSchema = z
|
|
10
|
+
.string()
|
|
11
|
+
.refine((val) => ISO_DATE_TIME_REGEX.test(val), { message: 'Must be ISO 8601 date-time format (e.g., 2025-01-31T23:59:59Z)' })
|
|
12
|
+
.nullable()
|
|
13
|
+
.optional();
|
|
5
14
|
const UpdateWorknodeChangesSchema = z.object({
|
|
6
15
|
title: z.string().min(1).optional().describe('New title (string, min 1 char). Example: "Refactored Backend API Development"'),
|
|
7
16
|
description: z.string().nullable().optional().describe('New description (string or null to clear). Example: "Updated REST API with new authentication flow" or null'),
|
|
8
|
-
status: WorkNodeStatusSchema.optional().describe('New status. Options: backlog | not_started | in_progress |
|
|
17
|
+
status: WorkNodeStatusSchema.optional().describe('New status. Options: backlog | not_started | in_progress | completed | pause | archived. ' +
|
|
9
18
|
'Example: "completed"'),
|
|
10
19
|
priority: WorkNodePrioritySchema.optional().describe('New priority level. Options: low | medium | high | urgent | critical. ' +
|
|
11
20
|
'Example: "high"'),
|
|
@@ -19,10 +28,12 @@ const UpdateWorknodeChangesSchema = z.object({
|
|
|
19
28
|
'Example: "b4e7d9a2-5678-1234-abcd-ef9012345678" or null'),
|
|
20
29
|
nodeType: WorknodeTypeSchema.optional().describe('New node type (validates hierarchy). Options: goal | project | subproject | task | subtask. ' +
|
|
21
30
|
'Example: "project"'),
|
|
22
|
-
startDate:
|
|
23
|
-
'Example: "2025-02-01T09:00:00Z" (UTC) or null'
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
startDate: isoDateTimeSchema.describe('New start date in ISO 8601 date-time format (or null to clear). ' +
|
|
32
|
+
'MUST include time and timezone. Example: "2025-02-01T09:00:00Z" (UTC) or null. ' +
|
|
33
|
+
'Invalid: "2025-02-01" (date-only format will be rejected)'),
|
|
34
|
+
dueDate: isoDateTimeSchema.describe('New due date in ISO 8601 date-time format (or null to clear). ' +
|
|
35
|
+
'MUST include time and timezone. Example: "2025-03-15T23:59:59Z" (UTC) or null. ' +
|
|
36
|
+
'Invalid: "2025-03-15" (date-only format will be rejected)'),
|
|
26
37
|
tags: z.array(z.string()).optional().describe('New tags array (replaces existing tags). Example: ["frontend", "critical", "ui"]'),
|
|
27
38
|
assignee: z.array(z.string()).optional().describe('New assignee list (replaces existing assignees). Example: ["user-uuid-1", "user-uuid-2"]'),
|
|
28
39
|
progress: z.number().min(0).max(100).optional().describe('New progress percentage (0-100). Example: 75')
|
|
@@ -44,112 +55,13 @@ const BatchUpdateRequestSchema = z.object({
|
|
|
44
55
|
});
|
|
45
56
|
export function registerWorknodeUpdateTool(server, apiClient) {
|
|
46
57
|
server.registerTool('brxce_update_worknodes', {
|
|
47
|
-
description: `Update WorkNodes
|
|
58
|
+
description: `Update WorkNodes. Use preview:true first (default).
|
|
48
59
|
|
|
49
|
-
|
|
60
|
+
Required: updates[{ nodeId, changes }]
|
|
61
|
+
Changes: title, description, status, priority, parentNodeId, nodeType, startDate, dueDate, tags, assignee, progress
|
|
62
|
+
Options: cascade (complete all descendants when status→completed)
|
|
50
63
|
|
|
51
|
-
|
|
52
|
-
- **nodeId** (uuid): ID of WorkNode to update
|
|
53
|
-
|
|
54
|
-
### Changeable Fields
|
|
55
|
-
- **title** (string): New title
|
|
56
|
-
- **description** (string | null): New description (null to clear)
|
|
57
|
-
- **status** (enum): backlog | not_started | in_progress | in_review | completed | cancelled
|
|
58
|
-
- **priority** (enum): low | medium | high | urgent | critical
|
|
59
|
-
- **parentNodeId** (uuid | null): Move to different parent (null to remove parent)
|
|
60
|
-
- **nodeType** (enum): goal | project | subproject | task | subtask (validates hierarchy)
|
|
61
|
-
- **startDate** (ISO 8601 | null): New start date (null to clear)
|
|
62
|
-
- **dueDate** (ISO 8601 | null): New due date (null to clear)
|
|
63
|
-
- **tags** (string[]): Replace tags array
|
|
64
|
-
- **assignee** (string[]): Replace assignee list
|
|
65
|
-
- **progress** (number): 0-100
|
|
66
|
-
|
|
67
|
-
### Special Options
|
|
68
|
-
- **cascade** (boolean): If true, complete all descendants when status → completed
|
|
69
|
-
- **preview** (boolean): MANDATORY - always use \`true\` first to validate
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## ⚡ Quick Start (3-Step Workflow)
|
|
74
|
-
|
|
75
|
-
**Step 1: Find node**
|
|
76
|
-
\`\`\`typescript
|
|
77
|
-
brxce_read_worknodes({ query: "Backend Development" })
|
|
78
|
-
\`\`\`
|
|
79
|
-
|
|
80
|
-
**Step 2: Preview update**
|
|
81
|
-
\`\`\`json
|
|
82
|
-
{
|
|
83
|
-
"updates": [{
|
|
84
|
-
"nodeId": "node-uuid-here",
|
|
85
|
-
"changes": { "status": "completed", "priority": "high" }
|
|
86
|
-
}],
|
|
87
|
-
"preview": true
|
|
88
|
-
}
|
|
89
|
-
\`\`\`
|
|
90
|
-
|
|
91
|
-
**Step 3: Apply** (after confirming preview)
|
|
92
|
-
\`\`\`json
|
|
93
|
-
{ "updates": [...], "preview": false }
|
|
94
|
-
\`\`\`
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## ❌ Common Mistakes
|
|
99
|
-
|
|
100
|
-
1. **Skipping preview**: ❌ Updating directly with \`preview: false\`
|
|
101
|
-
→ ✅ Always preview first to see impact
|
|
102
|
-
|
|
103
|
-
2. **Guessing nodeId**: ❌ Using arbitrary UUIDs
|
|
104
|
-
→ ✅ Find node first with \`brxce_workspace_overview\` or \`brxce_read_worknodes\`
|
|
105
|
-
|
|
106
|
-
3. **Invalid hierarchy**: ❌ Moving task under subtask
|
|
107
|
-
→ ✅ Preview shows hierarchy validation
|
|
108
|
-
|
|
109
|
-
4. **Completing with incomplete children**: ❌ May leave orphaned work
|
|
110
|
-
→ ✅ Use \`cascade: true\` to complete all descendants
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 🔍 Preview Shows You
|
|
115
|
-
|
|
116
|
-
Preview response includes:
|
|
117
|
-
- **Current state**: Current values of all fields
|
|
118
|
-
- **Proposed changes**: What will change
|
|
119
|
-
- **Hierarchy validation**: Whether new parent is valid
|
|
120
|
-
- **Impact**: Number of descendant nodes affected
|
|
121
|
-
- **Warnings**: Potential issues (e.g., incomplete children)
|
|
122
|
-
- **Errors**: Validation failures that block update
|
|
123
|
-
|
|
124
|
-
**Cascade Preview**: When using \`cascade: true\`, shows:
|
|
125
|
-
- Total nodes to be completed
|
|
126
|
-
- List of descendant nodes that will be affected
|
|
127
|
-
|
|
128
|
-
Always review preview output before confirming!
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## 🔗 Advanced Topics
|
|
133
|
-
|
|
134
|
-
**Batch Updates**: Update multiple nodes at once in \`updates\` array
|
|
135
|
-
|
|
136
|
-
**Hierarchy Changes**: Moving nodes validates parent-child compatibility
|
|
137
|
-
|
|
138
|
-
**Cascading Completion**: Complete parent + all descendants with \`cascade: true\`
|
|
139
|
-
|
|
140
|
-
**Clearing Fields**: Use \`null\` to clear description, dates, or parent
|
|
141
|
-
|
|
142
|
-
**Timezone**: Provide dates in ISO 8601 with timezone (e.g., "2025-01-20T09:00:00Z")
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 💡 Tips
|
|
147
|
-
|
|
148
|
-
- **Safety first**: Preview validates permissions, hierarchy, and shows impact
|
|
149
|
-
- **Batch wisely**: Group related changes but don't mix unrelated updates
|
|
150
|
-
- **Check warnings**: Inform user of warnings from preview before proceeding
|
|
151
|
-
- **User timezone**: Convert local times to UTC in ISO 8601 format (e.g., Korea UTC+9)
|
|
152
|
-
- **Never skip preview**: Even for simple changes, always preview first`,
|
|
64
|
+
Dates: ISO 8601 (e.g., 2025-01-20T09:00:00Z), null to clear`,
|
|
153
65
|
inputSchema: {
|
|
154
66
|
updates: z.array(UpdateWorknodeSchema).min(1).describe('Array of update operations'),
|
|
155
67
|
preview: z.boolean().optional().describe('If true, validate but do not update (dry run). ALWAYS use preview: true first!')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-update-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-update-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACxF,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"worknode-update-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-update-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { ApiClient } from '../services/api-client.js';
|
|
3
|
+
export declare function registerWorkspaceAsciiExportTool(server: McpServer, apiClient: ApiClient): void;
|
|
4
|
+
//# sourceMappingURL=workspace-ascii-export-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-ascii-export-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-ascii-export-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAwHvF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerWorkspaceAsciiExportTool(server, apiClient) {
|
|
3
|
+
server.registerTool('brxce_workspace_ascii_export', {
|
|
4
|
+
description: `Export workspace as ASCII tree. Verify workspaceId via user://me first.
|
|
5
|
+
|
|
6
|
+
Views: overview (tree structure), inbox (backlog), mywork (assigned to me)
|
|
7
|
+
Params: workspaceId (required), view, includeStats, includeLegend, maxDepth, filters
|
|
8
|
+
Returns: Pre-formatted ASCII text with emoji indicators.`,
|
|
9
|
+
inputSchema: {
|
|
10
|
+
workspaceId: z.string().uuid().describe('Workspace ID from user://me resource. REQUIRED: Must verify against resource before using.'),
|
|
11
|
+
view: z.enum(['overview', 'inbox', 'mywork']).optional().describe('View type: overview (hierarchical tree), inbox (backlog items), mywork (assigned items). Default: overview'),
|
|
12
|
+
includeStats: z.boolean().optional().describe('Include statistics section (default: true for overview)'),
|
|
13
|
+
includeLegend: z.boolean().optional().describe('Include legend section (default: false)'),
|
|
14
|
+
includeCompleted: z.boolean().optional().describe('Include completed items in overview (default: false)'),
|
|
15
|
+
includeArchived: z.boolean().optional().describe('Include archived items in overview (default: false)'),
|
|
16
|
+
includeAll: z.boolean().optional().describe('Include all statuses in overview (overrides other flags)'),
|
|
17
|
+
status: z.string().optional().describe('Filter by status in overview (comma-separated)'),
|
|
18
|
+
priority: z.string().optional().describe('Filter by priority in overview (comma-separated)'),
|
|
19
|
+
nodeType: z.string().optional().describe('Filter by node type in overview (comma-separated)'),
|
|
20
|
+
maxDepth: z.number().optional().describe('Maximum tree depth in overview (0 = roots only)'),
|
|
21
|
+
completedSince: z.enum(['today', 'this-week', 'this-month', 'all']).optional().describe('Time filter for completed items in mywork view (default: this-week)'),
|
|
22
|
+
limit: z.number().optional().describe('Max items per section in inbox/mywork views (default: 50)')
|
|
23
|
+
}
|
|
24
|
+
}, async (args) => {
|
|
25
|
+
const request = args;
|
|
26
|
+
try {
|
|
27
|
+
// Build query parameters
|
|
28
|
+
const queryParams = new URLSearchParams();
|
|
29
|
+
if (request.view)
|
|
30
|
+
queryParams.set('view', request.view);
|
|
31
|
+
if (request.includeStats !== undefined)
|
|
32
|
+
queryParams.set('includeStats', String(request.includeStats));
|
|
33
|
+
if (request.includeLegend !== undefined)
|
|
34
|
+
queryParams.set('includeLegend', String(request.includeLegend));
|
|
35
|
+
if (request.includeCompleted !== undefined)
|
|
36
|
+
queryParams.set('includeCompleted', String(request.includeCompleted));
|
|
37
|
+
if (request.includeArchived !== undefined)
|
|
38
|
+
queryParams.set('includeArchived', String(request.includeArchived));
|
|
39
|
+
if (request.includeAll !== undefined)
|
|
40
|
+
queryParams.set('includeAll', String(request.includeAll));
|
|
41
|
+
if (request.status)
|
|
42
|
+
queryParams.set('status', request.status);
|
|
43
|
+
if (request.priority)
|
|
44
|
+
queryParams.set('priority', request.priority);
|
|
45
|
+
if (request.nodeType)
|
|
46
|
+
queryParams.set('nodeType', request.nodeType);
|
|
47
|
+
if (request.maxDepth !== undefined)
|
|
48
|
+
queryParams.set('maxDepth', String(request.maxDepth));
|
|
49
|
+
if (request.completedSince)
|
|
50
|
+
queryParams.set('completedSince', request.completedSince);
|
|
51
|
+
if (request.limit !== undefined)
|
|
52
|
+
queryParams.set('limit', String(request.limit));
|
|
53
|
+
const queryString = queryParams.toString();
|
|
54
|
+
const url = `/mcp/workspaces/${request.workspaceId}/ascii-export${queryString ? `?${queryString}` : ''}`;
|
|
55
|
+
const response = await apiClient.get(url);
|
|
56
|
+
if (!response.success) {
|
|
57
|
+
return {
|
|
58
|
+
content: [
|
|
59
|
+
{
|
|
60
|
+
type: 'text',
|
|
61
|
+
text: `Failed to export workspace ASCII: ${response.message || 'Unknown error'}`,
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const { ascii, view, nodeCount } = response.data;
|
|
67
|
+
// Return the ASCII output directly - it's already formatted for display
|
|
68
|
+
let resultText = ascii;
|
|
69
|
+
// Add metadata footer
|
|
70
|
+
resultText += `\n\n---\n`;
|
|
71
|
+
resultText += `**Export Info:** View: ${view} | Nodes: ${nodeCount}`;
|
|
72
|
+
if (response.meta?.generatedAt) {
|
|
73
|
+
resultText += ` | Generated: ${response.meta.generatedAt}`;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
content: [
|
|
77
|
+
{
|
|
78
|
+
type: 'text',
|
|
79
|
+
text: resultText,
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
return {
|
|
86
|
+
content: [
|
|
87
|
+
{
|
|
88
|
+
type: 'text',
|
|
89
|
+
text: `Error exporting workspace ASCII: ${error.message || 'Unknown error'}`,
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=workspace-ascii-export-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-ascii-export-tool.js","sourceRoot":"","sources":["../../src/tools/workspace-ascii-export-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,gCAAgC,CAAC,MAAiB,EAAE,SAAoB;IACtF,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EAAE;;;;yDAIsC;QAEnD,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,4FAA4F,CAAC;YACrI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4GAA4G,CAAC;YAC/K,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YACxG,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACzF,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACzG,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACvG,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YACvG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC5F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC3F,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YAC9J,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;SACnG;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAcf,CAAC;QAEF,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,IAAI;gBAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACtG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACzG,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClH,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/G,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAChG,IAAI,OAAO,CAAC,MAAM;gBAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,QAAQ;gBAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,QAAQ;gBAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,IAAI,OAAO,CAAC,cAAc;gBAAE,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACtF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAEjF,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,mBAAmB,OAAO,CAAC,WAAW,gBAAgB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAEzG,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAajC,GAAG,CAAC,CAAC;YAER,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,qCAAqC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBACjF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEjD,wEAAwE;YACxE,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,sBAAsB;YACtB,UAAU,IAAI,WAAW,CAAC;YAC1B,UAAU,IAAI,0BAA0B,IAAI,aAAa,SAAS,EAAE,CAAC;YACrE,IAAI,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC/B,UAAU,IAAI,iBAAiB,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBAC7E;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-inbox-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-inbox-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAsD3D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"workspace-inbox-tool.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-inbox-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAsD3D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAgJjF"}
|