@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.
- package/README.md +3 -3
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -10
- package/dist/index.js.map +1 -1
- package/dist/prompts/worknode-prompts.d.ts.map +1 -1
- package/dist/prompts/worknode-prompts.js +43 -15
- package/dist/prompts/worknode-prompts.js.map +1 -1
- package/dist/prompts/workspace-context-prompt.js +6 -6
- package/dist/prompts/workspace-context-prompt.js.map +1 -1
- package/dist/resources/user-resource.d.ts.map +1 -1
- package/dist/resources/user-resource.js +12 -1
- package/dist/resources/user-resource.js.map +1 -1
- package/dist/resources/workspace-members-resource.d.ts.map +1 -1
- package/dist/resources/workspace-members-resource.js +12 -3
- package/dist/resources/workspace-members-resource.js.map +1 -1
- package/dist/resources/workspace-resource.d.ts.map +1 -1
- package/dist/resources/workspace-resource.js +9 -1
- package/dist/resources/workspace-resource.js.map +1 -1
- package/dist/services/api-client.d.ts.map +1 -1
- package/dist/services/api-client.js +2 -6
- package/dist/services/api-client.js.map +1 -1
- package/dist/tools/meeting-agenda-tool.js +1 -1
- 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 +2 -2
- package/dist/tools/meeting-create-tool.js.map +1 -1
- package/dist/tools/meeting-decisions-tool.js +1 -1
- package/dist/tools/meeting-decisions-tool.js.map +1 -1
- package/dist/tools/meeting-list-tool.d.ts.map +1 -1
- package/dist/tools/meeting-list-tool.js +1 -1
- package/dist/tools/meeting-list-tool.js.map +1 -1
- package/dist/tools/tag-category-tool.js +4 -4
- package/dist/tools/tag-category-tool.js.map +1 -1
- package/dist/tools/tag-search-tool.js +3 -3
- package/dist/tools/tag-search-tool.js.map +1 -1
- package/dist/tools/tag-tool.js +5 -5
- 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 +2 -2
- package/dist/tools/worknode-archive-tool.js.map +1 -1
- package/dist/tools/worknode-create-tool.d.ts.map +1 -1
- package/dist/tools/worknode-create-tool.js +113 -225
- package/dist/tools/worknode-create-tool.js.map +1 -1
- package/dist/tools/worknode-my-work-tool.d.ts.map +1 -1
- package/dist/tools/worknode-my-work-tool.js +1 -8
- package/dist/tools/worknode-my-work-tool.js.map +1 -1
- package/dist/tools/worknode-plan-organize-tool.d.ts +4 -0
- package/dist/tools/worknode-plan-organize-tool.d.ts.map +1 -0
- package/dist/tools/worknode-plan-organize-tool.js +356 -0
- package/dist/tools/worknode-plan-organize-tool.js.map +1 -0
- package/dist/tools/worknode-read-tool.d.ts +4 -0
- package/dist/tools/worknode-read-tool.d.ts.map +1 -0
- package/dist/tools/worknode-read-tool.js +312 -0
- package/dist/tools/worknode-read-tool.js.map +1 -0
- package/dist/tools/worknode-search-tool.d.ts.map +1 -1
- package/dist/tools/worknode-search-tool.js +25 -44
- package/dist/tools/worknode-search-tool.js.map +1 -1
- package/dist/tools/worknode-subtree-tool.d.ts.map +1 -1
- package/dist/tools/worknode-subtree-tool.js +8 -12
- package/dist/tools/worknode-subtree-tool.js.map +1 -1
- package/dist/tools/worknode-tag-tool.js +8 -8
- 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 +104 -173
- package/dist/tools/worknode-update-tool.js.map +1 -1
- package/dist/tools/workspace-inbox-tool.d.ts.map +1 -1
- package/dist/tools/workspace-inbox-tool.js +3 -2
- package/dist/tools/workspace-inbox-tool.js.map +1 -1
- package/dist/tools/workspace-list-tool.d.ts +8 -0
- package/dist/tools/workspace-list-tool.d.ts.map +1 -0
- package/dist/tools/workspace-list-tool.js +113 -0
- package/dist/tools/workspace-list-tool.js.map +1 -0
- package/dist/tools/workspace-members-list-tool.d.ts +8 -0
- package/dist/tools/workspace-members-list-tool.d.ts.map +1 -0
- package/dist/tools/workspace-members-list-tool.js +207 -0
- package/dist/tools/workspace-members-list-tool.js.map +1 -0
- package/dist/tools/workspace-statistics-tool.d.ts +8 -0
- package/dist/tools/workspace-statistics-tool.d.ts.map +1 -0
- package/dist/tools/workspace-statistics-tool.js +300 -0
- package/dist/tools/workspace-statistics-tool.js.map +1 -0
- package/dist/tools/workspace-tree-tool.d.ts.map +1 -1
- package/dist/tools/workspace-tree-tool.js +6 -12
- package/dist/tools/workspace-tree-tool.js.map +1 -1
- package/package.json +11 -10
|
@@ -3,265 +3,153 @@ const WorknodeTypeSchema = z.enum(['goal', 'project', 'subproject', 'task', 'sub
|
|
|
3
3
|
const WorkNodeStatusSchema = z.enum(['backlog', 'not_started', 'in_progress', 'in_review', 'completed', 'cancelled']);
|
|
4
4
|
const WorkNodePrioritySchema = z.enum(['critical', 'urgent', 'high', 'medium', 'low']);
|
|
5
5
|
const CreateWorknodeSchema = z.object({
|
|
6
|
-
title: z.string().min(1).describe('WorkNode title'),
|
|
7
|
-
description: z.string().optional().describe('
|
|
8
|
-
nodeType: WorknodeTypeSchema.describe('Node type
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
title: z.string().min(1).describe('WorkNode title (required, min 1 char). Example: "Backend API Development"'),
|
|
7
|
+
description: z.string().optional().describe('Detailed description. Example: "Implement REST API endpoints for user authentication"'),
|
|
8
|
+
nodeType: WorknodeTypeSchema.describe('Node type (required): goal | project | subproject | task | subtask. ' +
|
|
9
|
+
'Hierarchy: goal > project > subproject > task > subtask'),
|
|
10
|
+
parentNodeId: z
|
|
11
|
+
.string()
|
|
12
|
+
.uuid()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe('Parent WorkNode UUID (conditional). Required for task/subtask. ' +
|
|
15
|
+
'Find using brxce_workspace_overview. Never guess IDs. ' +
|
|
16
|
+
'Example: "a3f5e8d7-1234-5678-9abc-def012345678"'),
|
|
17
|
+
workspaceId: z
|
|
18
|
+
.string()
|
|
19
|
+
.uuid()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Workspace UUID (conditional). Auto-inherited from parent. ' +
|
|
22
|
+
'Required only for root-level items. Get from user://me resource. ' +
|
|
23
|
+
'Example: "138"'),
|
|
24
|
+
status: WorkNodeStatusSchema.optional().describe('Initial status (default: backlog). Options: ' +
|
|
25
|
+
'backlog (inbox/quick capture), not_started, in_progress, in_review, completed, cancelled. ' +
|
|
26
|
+
'Omit for default backlog behavior.'),
|
|
27
|
+
priority: WorkNodePrioritySchema.optional().describe('Priority level (default: medium). Options: low | medium | high | urgent | critical'),
|
|
28
|
+
startDate: z.string().optional().describe('Start date in ISO 8601 format. Example: "2025-01-20T09:00:00Z" (UTC)'),
|
|
29
|
+
dueDate: z.string().optional().describe('Due date in ISO 8601 format. Example: "2025-01-31T23:59:59Z" (UTC)'),
|
|
30
|
+
tags: z.array(z.string()).optional().describe('Array of tag names. Example: ["backend", "urgent", "api"]'),
|
|
31
|
+
assignee: z.array(z.string()).optional().describe('Array of user UUIDs. Example: ["user-uuid-1", "user-uuid-2"]'),
|
|
20
32
|
});
|
|
21
33
|
const BatchCreateRequestSchema = z.object({
|
|
22
|
-
worknodes: z.array(CreateWorknodeSchema).min(1).describe('Array of WorkNodes to create'
|
|
23
|
-
|
|
34
|
+
worknodes: z.array(CreateWorknodeSchema).min(1).describe('Array of WorkNodes to create (min 1). Can create multiple nodes in one call. ' +
|
|
35
|
+
'Example: [{ "title": "Backend API", "nodeType": "task", "parentNodeId": "uuid-1" }, { "title": "Frontend UI", "nodeType": "task", "parentNodeId": "uuid-1" }]'),
|
|
36
|
+
preview: z.boolean().optional().default(false).describe('If true, validate but do NOT create (dry run for user confirmation). ' +
|
|
37
|
+
'Recommended: Use preview: true first to validate, then preview: false to create. ' +
|
|
38
|
+
'Default: false. Example: true'),
|
|
24
39
|
});
|
|
25
40
|
export function registerWorknodeCreateTool(server, apiClient) {
|
|
26
41
|
server.registerTool('brxce_create_worknodes', {
|
|
27
|
-
description: `Create
|
|
42
|
+
description: `Create WorkNodes in BRXCE with batch support and preview mode.
|
|
28
43
|
|
|
29
|
-
|
|
30
|
-
Before calling this tool, you MUST determine the workspace:
|
|
44
|
+
## 📋 Available Fields
|
|
31
45
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
3. Verify parent exists in workspace tree before creating
|
|
46
|
+
### Required Fields
|
|
47
|
+
- **title** (string): WorkNode title (min 1 char)
|
|
48
|
+
- **nodeType** (enum): goal | project | subproject | task | subtask
|
|
36
49
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
3. Use default workspace if user doesn't specify
|
|
41
|
-
4. NEVER assume or guess workspaceId values
|
|
50
|
+
### Conditional Fields (one required)
|
|
51
|
+
- **parentNodeId** (uuid): Parent node ID for structured work (task/subtask require this)
|
|
52
|
+
- **workspaceId** (uuid): Workspace ID for root items (auto-inherited from parent)
|
|
42
53
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
### Optional Fields
|
|
55
|
+
- **description** (string): Detailed description
|
|
56
|
+
- **status** (enum): backlog (default) | not_started | in_progress | in_review | completed | cancelled
|
|
57
|
+
- **priority** (enum): low | medium (default) | high | urgent | critical
|
|
58
|
+
- **startDate** (ISO 8601): Start date, e.g., "2025-01-20T09:00:00Z"
|
|
59
|
+
- **dueDate** (ISO 8601): Due date, e.g., "2025-01-31T23:59:59Z"
|
|
60
|
+
- **tags** (string[]): Tag names, e.g., ["backend", "urgent"]
|
|
61
|
+
- **assignee** (string[]): User IDs, e.g., ["user-uuid-1", "user-uuid-2"]
|
|
51
62
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
User: "기억해줘, 블로그 글 써야 해"
|
|
55
|
-
LLM:
|
|
56
|
-
1. Reads user://me resource
|
|
57
|
-
2. Finds default workspace: 138
|
|
58
|
-
3. Creates inbox item with workspaceId: 138, status: "backlog"
|
|
59
|
-
\`\`\`
|
|
63
|
+
### Special Fields
|
|
64
|
+
- **preview** (boolean): Always use \`true\` first to validate before creating
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
🎯 Goal - Top-level strategic objectives (no parent required)
|
|
63
|
-
├── 📁 Project - Major initiatives to achieve goals (can have goal as parent or be root-level)
|
|
64
|
-
│ ├── 📂 SubProject - Component parts of projects (requires project or subproject parent)
|
|
65
|
-
│ │ ├── ✅ Task - Actionable work items (requires project/subproject parent)
|
|
66
|
-
│ │ │ └── ☑️ SubTask - Granular task breakdown (requires task parent)
|
|
66
|
+
---
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
## ⚡ Quick Start (3-Step Workflow)
|
|
69
69
|
|
|
70
|
-
1
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
✅ No parent required - user will organize them later
|
|
75
|
-
✅ Low friction - just capture the thought
|
|
70
|
+
**Step 1: Find parent** (if creating under existing structure)
|
|
71
|
+
\`\`\`typescript
|
|
72
|
+
brxce_workspace_overview({ workspaceId: 138 })
|
|
73
|
+
\`\`\`
|
|
76
74
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
75
|
+
**Step 2: Preview**
|
|
76
|
+
\`\`\`json
|
|
77
|
+
{
|
|
78
|
+
"worknodes": [{
|
|
79
|
+
"title": "Backend API Development",
|
|
80
|
+
"nodeType": "task",
|
|
81
|
+
"parentNodeId": "parent-uuid-here"
|
|
82
|
+
}],
|
|
83
|
+
"preview": true
|
|
84
|
+
}
|
|
85
|
+
\`\`\`
|
|
81
86
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"nodeType": "task",
|
|
87
|
-
"status": "backlog" // ← KEY: backlog for inbox
|
|
88
|
-
// NO parentNodeId - it's an inbox item
|
|
89
|
-
}]
|
|
90
|
-
}
|
|
87
|
+
**Step 3: Create** (after confirming preview)
|
|
88
|
+
\`\`\`json
|
|
89
|
+
{ "worknodes": [...], "preview": false }
|
|
90
|
+
\`\`\`
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
🎯 Use when user is actively planning/organizing within existing structure
|
|
94
|
-
💡 For structured work that fits into current goals/projects
|
|
95
|
-
✅ Creates items ready to work on (not_started status)
|
|
96
|
-
✅ Requires proper parent in hierarchy
|
|
97
|
-
✅ Part of active planning - not just capturing
|
|
92
|
+
---
|
|
98
93
|
|
|
99
|
-
|
|
100
|
-
- "MVP 프로젝트 아래에 백엔드 개발 태스크 추가해줘"
|
|
101
|
-
- "이 Goal 아래에 3개 프로젝트 만들어줘"
|
|
102
|
-
- "현재 스프린트에 이 작업들 넣어줘"
|
|
94
|
+
## ❌ Common Mistakes
|
|
103
95
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"worknodes": [{
|
|
107
|
-
"title": "백엔드 개발",
|
|
108
|
-
"nodeType": "task",
|
|
109
|
-
"parentNodeId": 100, // ← KEY: has parent
|
|
110
|
-
"status": "not_started" // ← KEY: ready to work
|
|
111
|
-
}]
|
|
112
|
-
}
|
|
96
|
+
1. **Guessing IDs**: ❌ Never guess \`parentNodeId\` or \`workspaceId\`
|
|
97
|
+
→ ✅ Always use \`brxce_workspace_overview\` or \`brxce_read_worknodes\` to find IDs
|
|
113
98
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
- User just capturing ideas/todos? → Inbox Mode (backlog)
|
|
117
|
-
- User says "organize", "plan", "structure"? → Direct Creation
|
|
118
|
-
- User says "remember", "don't forget", "add to list"? → Inbox Mode
|
|
119
|
-
- Multiple related items forming a structure? → Direct Creation with hierarchy
|
|
120
|
-
- Single random thought? → Inbox Mode
|
|
99
|
+
2. **Skipping preview**: ❌ Creating directly with \`preview: false\`
|
|
100
|
+
→ ✅ Always preview first with \`preview: true\`
|
|
121
101
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
2. For hierarchical structures, create parent nodes first and use their IDs for children
|
|
125
|
-
3. Workspace is inherited from parent if not specified
|
|
126
|
-
4. Default status is 'backlog' (inbox) if not specified - but be intentional!
|
|
127
|
-
5. Goals and Projects can be root-level (no parent)
|
|
128
|
-
6. SubProjects, Tasks, and SubTasks typically require appropriate parents
|
|
102
|
+
3. **Missing nodeType**: ❌ \`{ title: "Task" }\`
|
|
103
|
+
→ ✅ \`{ title: "Task", nodeType: "task" }\`
|
|
129
104
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
- Shows inferred workspaceId from parent or user default
|
|
133
|
-
- Shows parent node information (id, title, type, level)
|
|
134
|
-
- Returns warnings for potential issues (e.g., hierarchy mismatch)
|
|
135
|
-
- Returns errors for validation failures
|
|
136
|
-
- Allows user to confirm before actual creation
|
|
105
|
+
4. **Invalid hierarchy**: ❌ Creating subtask without parent
|
|
106
|
+
→ ✅ Check hierarchy rules below
|
|
137
107
|
|
|
138
|
-
|
|
139
|
-
- Actually creates the WorkNodes
|
|
140
|
-
- Returns created nodes with full details
|
|
141
|
-
- Returns failed items with error messages
|
|
108
|
+
---
|
|
142
109
|
|
|
143
|
-
|
|
144
|
-
User: "기억해줘, 내일 고객한테 이메일 보내야 해"
|
|
145
|
-
{
|
|
146
|
-
"worknodes": [{
|
|
147
|
-
"title": "고객에게 이메일 발송",
|
|
148
|
-
"nodeType": "task",
|
|
149
|
-
"status": "backlog", // Inbox item
|
|
150
|
-
"priority": "medium"
|
|
151
|
-
// No parent - will organize later
|
|
152
|
-
}],
|
|
153
|
-
"preview": true
|
|
154
|
-
}
|
|
110
|
+
## 🏗️ Hierarchy Rules
|
|
155
111
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
"nodeType": "goal",
|
|
164
|
-
"status": "not_started", // Ready to work on
|
|
165
|
-
"priority": "critical",
|
|
166
|
-
"dueDate": "2025-06-30T23:59:59Z"
|
|
167
|
-
}
|
|
168
|
-
],
|
|
169
|
-
"preview": true
|
|
170
|
-
}
|
|
171
|
-
// Then after getting Goal ID (e.g., 100):
|
|
172
|
-
{
|
|
173
|
-
"worknodes": [{
|
|
174
|
-
"title": "MVP Development",
|
|
175
|
-
"nodeType": "project",
|
|
176
|
-
"parentNodeId": 100, // Under the Goal
|
|
177
|
-
"status": "not_started", // Part of active planning
|
|
178
|
-
"priority": "high"
|
|
179
|
-
}],
|
|
180
|
-
"preview": false
|
|
181
|
-
}
|
|
112
|
+
\`\`\`
|
|
113
|
+
Goal (root-level, no parent needed)
|
|
114
|
+
└─ Project (can be root-level or under goal)
|
|
115
|
+
└─ SubProject (requires project/subproject parent)
|
|
116
|
+
└─ Task (requires project/subproject parent)
|
|
117
|
+
└─ SubTask (requires task parent)
|
|
118
|
+
\`\`\`
|
|
182
119
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
{
|
|
188
|
-
"title": "블로그 글 작성",
|
|
189
|
-
"nodeType": "task",
|
|
190
|
-
"status": "backlog" // All inbox items
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
"title": "운동 계획 세우기",
|
|
194
|
-
"nodeType": "task",
|
|
195
|
-
"status": "backlog"
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"title": "책 읽기 시작",
|
|
199
|
-
"nodeType": "task",
|
|
200
|
-
"status": "backlog"
|
|
201
|
-
}
|
|
202
|
-
],
|
|
203
|
-
"preview": false
|
|
204
|
-
}
|
|
120
|
+
**Rules:**
|
|
121
|
+
- Goal/Project: \`parentNodeId\` optional (can be root-level)
|
|
122
|
+
- SubProject/Task/SubTask: \`parentNodeId\` required
|
|
123
|
+
- Workspace: Auto-inherited from parent, or specify for root items
|
|
205
124
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
"worknodes": [
|
|
210
|
-
{
|
|
211
|
-
"title": "백엔드 API 개발",
|
|
212
|
-
"nodeType": "task",
|
|
213
|
-
"parentNodeId": 101,
|
|
214
|
-
"status": "not_started", // Structured work
|
|
215
|
-
"priority": "high",
|
|
216
|
-
"assignee": ["backend-dev-id"]
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
"title": "프론트엔드 UI 구현",
|
|
220
|
-
"nodeType": "task",
|
|
221
|
-
"parentNodeId": 101,
|
|
222
|
-
"status": "not_started",
|
|
223
|
-
"priority": "high",
|
|
224
|
-
"assignee": ["frontend-dev-id"]
|
|
225
|
-
}
|
|
226
|
-
],
|
|
227
|
-
"preview": false
|
|
228
|
-
}
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 🔗 Advanced Topics
|
|
229
128
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
129
|
+
**Finding Parents**: Always search workspace first using \`brxce_workspace_overview\`
|
|
130
|
+
- NEVER guess or hardcode parent IDs
|
|
131
|
+
- Present suggestions to user before creating
|
|
132
|
+
- Only create in inbox if NO suitable parent exists
|
|
234
133
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
134
|
+
**Two Creation Modes**:
|
|
135
|
+
- Inbox Mode: Quick capture with \`status: "backlog"\`, no parent
|
|
136
|
+
- Direct Mode: Structured work with parent, ready to work
|
|
238
137
|
|
|
239
|
-
|
|
240
|
-
- If status='not_started' BUT no parent → Will fail for task/subtask/subproject
|
|
241
|
-
- If status='backlog' with parent → Works but unusual (item is planned but in inbox)
|
|
138
|
+
**Batch Creation**: Create multiple nodes at once in \`worknodes\` array
|
|
242
139
|
|
|
243
|
-
|
|
244
|
-
- Workspace access is validated for the authenticated user
|
|
245
|
-
- Start date must be before due date if both are specified
|
|
246
|
-
- Use preview mode to validate complex hierarchies before creation
|
|
140
|
+
**Validation**: Preview shows warnings, errors, inferred values, and hierarchy validation
|
|
247
141
|
|
|
248
|
-
|
|
249
|
-
- No status specified → defaults to 'backlog' (INBOX mode)
|
|
250
|
-
- LLM should be EXPLICIT about status choice based on user intent
|
|
142
|
+
**Timezone**: Provide dates in ISO 8601 with timezone (e.g., "2025-01-20T09:00:00Z")
|
|
251
143
|
|
|
252
|
-
|
|
253
|
-
When specifying dates (dueDate, startDate), provide them in ISO 8601 format with timezone information.
|
|
254
|
-
The API will store dates in UTC, but the LLM should help users specify dates in their local timezone.
|
|
144
|
+
---
|
|
255
145
|
|
|
256
|
-
|
|
257
|
-
- User says: "Due on October 20" → LLM converts to: "2025-10-20T14:59:59.999Z" (end of day in KST)
|
|
258
|
-
- User says: "Start on October 15 at 2pm" → LLM converts to: "2025-10-15T05:00:00.000Z" (2pm KST)
|
|
146
|
+
## 💡 Tips
|
|
259
147
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
148
|
+
- **Default behavior**: If you omit \`status\`, it defaults to \`"backlog"\` (inbox mode)
|
|
149
|
+
- **Safety first**: Preview validates hierarchy, permissions, and shows impact
|
|
150
|
+
- **Workspace inheritance**: Children automatically inherit workspace from parent
|
|
151
|
+
- **User timezone**: Convert local times to UTC in ISO 8601 format (e.g., Korea UTC+9)
|
|
152
|
+
- **Proactive search**: Search for appropriate parent even when user doesn't mention one`,
|
|
265
153
|
inputSchema: {
|
|
266
154
|
worknodes: z.array(CreateWorknodeSchema).min(1).describe('Array of WorkNodes to create'),
|
|
267
155
|
preview: z.boolean().optional().describe('If true, validate but do not create (dry run for user confirmation)'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-create-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-create-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,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AACtH,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAEvF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"worknode-create-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-create-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-my-work-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-my-work-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAe3D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"worknode-my-work-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-my-work-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAe3D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAyVjF"}
|
|
@@ -109,10 +109,6 @@ The LLM should format this data into a readable summary for the user.`,
|
|
|
109
109
|
.number()
|
|
110
110
|
.optional()
|
|
111
111
|
.describe('Max results to return (default: 100, max: 500)'),
|
|
112
|
-
compact: z
|
|
113
|
-
.boolean()
|
|
114
|
-
.optional()
|
|
115
|
-
.describe('Return compact format (minimal fields for token efficiency, ~80% size reduction, default: false)'),
|
|
116
112
|
tagIds: z
|
|
117
113
|
.string()
|
|
118
114
|
.optional()
|
|
@@ -175,7 +171,7 @@ The LLM should format this data into a readable summary for the user.`,
|
|
|
175
171
|
.describe('Sort direction (default: asc)'),
|
|
176
172
|
},
|
|
177
173
|
}, async (args) => {
|
|
178
|
-
const { mode = 'all', workspaceId, scope = 'both', completedSince, dueWithin, includeArchived = false, limit = 100,
|
|
174
|
+
const { mode = 'all', workspaceId, scope = 'both', completedSince, dueWithin, includeArchived = false, limit = 100, tagIds, tagSlugs, matchAllTags = false, createdAfter, createdBefore, updatedAfter, updatedBefore, dueAfter, dueBefore, completedAfter, completedBefore, startAfter, startBefore, sortBy, sortOrder, } = args;
|
|
179
175
|
try {
|
|
180
176
|
// Build query string
|
|
181
177
|
const params = new URLSearchParams({
|
|
@@ -197,9 +193,6 @@ The LLM should format this data into a readable summary for the user.`,
|
|
|
197
193
|
if (limit) {
|
|
198
194
|
params.append('limit', limit.toString());
|
|
199
195
|
}
|
|
200
|
-
if (compact) {
|
|
201
|
-
params.append('compact', 'true');
|
|
202
|
-
}
|
|
203
196
|
if (tagIds) {
|
|
204
197
|
params.append('tagIds', tagIds);
|
|
205
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-my-work-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-my-work-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,SAAoB;IAChF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEA2EmD;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;iBACvD,QAAQ,CAAC,oGAAoG,CAAC;YACjH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;iBACrC,QAAQ,EAAE;iBACV,QAAQ,CAAC,8EAA8E,CAAC;YAC3F,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iGAAiG,CAAC;YAC9G,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qEAAqE,CAAC;YAClF,eAAe,EAAE,CAAC;iBACf,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,
|
|
1
|
+
{"version":3,"file":"worknode-my-work-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-my-work-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 registerWorknodePlanOrganizeTool(server: McpServer, apiClient: ApiClient): void;
|
|
4
|
+
//# sourceMappingURL=worknode-plan-organize-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worknode-plan-organize-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-plan-organize-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA0ItD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA+SvF"}
|