@jhl8041/dooray-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/.serena/project.yml +84 -0
  3. package/CLAUDE.md +119 -0
  4. package/README.md +82 -0
  5. package/dist/api/client.d.ts +70 -0
  6. package/dist/api/client.d.ts.map +1 -0
  7. package/dist/api/client.js +186 -0
  8. package/dist/api/client.js.map +1 -0
  9. package/dist/api/common.d.ts +14 -0
  10. package/dist/api/common.d.ts.map +1 -0
  11. package/dist/api/common.js +25 -0
  12. package/dist/api/common.js.map +1 -0
  13. package/dist/api/projects.d.ts +83 -0
  14. package/dist/api/projects.d.ts.map +1 -0
  15. package/dist/api/projects.js +300 -0
  16. package/dist/api/projects.js.map +1 -0
  17. package/dist/api/wiki.d.ts +38 -0
  18. package/dist/api/wiki.d.ts.map +1 -0
  19. package/dist/api/wiki.js +95 -0
  20. package/dist/api/wiki.js.map +1 -0
  21. package/dist/index.d.ts +7 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +227 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/tools/common/get-my-member-info.d.ts +29 -0
  26. package/dist/tools/common/get-my-member-info.d.ts.map +1 -0
  27. package/dist/tools/common/get-my-member-info.js +95 -0
  28. package/dist/tools/common/get-my-member-info.js.map +1 -0
  29. package/dist/tools/projects/create-task-comment.d.ts +92 -0
  30. package/dist/tools/projects/create-task-comment.d.ts.map +1 -0
  31. package/dist/tools/projects/create-task-comment.js +171 -0
  32. package/dist/tools/projects/create-task-comment.js.map +1 -0
  33. package/dist/tools/projects/create-task.d.ts +191 -0
  34. package/dist/tools/projects/create-task.d.ts.map +1 -0
  35. package/dist/tools/projects/create-task.js +217 -0
  36. package/dist/tools/projects/create-task.js.map +1 -0
  37. package/dist/tools/projects/get-milestone-list.d.ts +49 -0
  38. package/dist/tools/projects/get-milestone-list.d.ts.map +1 -0
  39. package/dist/tools/projects/get-milestone-list.js +112 -0
  40. package/dist/tools/projects/get-milestone-list.js.map +1 -0
  41. package/dist/tools/projects/get-project-list.d.ts +50 -0
  42. package/dist/tools/projects/get-project-list.d.ts.map +1 -0
  43. package/dist/tools/projects/get-project-list.js +113 -0
  44. package/dist/tools/projects/get-project-list.js.map +1 -0
  45. package/dist/tools/projects/get-project-member-group-list.d.ts +55 -0
  46. package/dist/tools/projects/get-project-member-group-list.d.ts.map +1 -0
  47. package/dist/tools/projects/get-project-member-group-list.js +127 -0
  48. package/dist/tools/projects/get-project-member-group-list.js.map +1 -0
  49. package/dist/tools/projects/get-project-member-list.d.ts +66 -0
  50. package/dist/tools/projects/get-project-member-list.d.ts.map +1 -0
  51. package/dist/tools/projects/get-project-member-list.js +159 -0
  52. package/dist/tools/projects/get-project-member-list.js.map +1 -0
  53. package/dist/tools/projects/get-project-template-list.d.ts +55 -0
  54. package/dist/tools/projects/get-project-template-list.d.ts.map +1 -0
  55. package/dist/tools/projects/get-project-template-list.js +127 -0
  56. package/dist/tools/projects/get-project-template-list.js.map +1 -0
  57. package/dist/tools/projects/get-project-template.d.ts +48 -0
  58. package/dist/tools/projects/get-project-template.d.ts.map +1 -0
  59. package/dist/tools/projects/get-project-template.js +132 -0
  60. package/dist/tools/projects/get-project-template.js.map +1 -0
  61. package/dist/tools/projects/get-project-workflow-list.d.ts +41 -0
  62. package/dist/tools/projects/get-project-workflow-list.d.ts.map +1 -0
  63. package/dist/tools/projects/get-project-workflow-list.js +107 -0
  64. package/dist/tools/projects/get-project-workflow-list.js.map +1 -0
  65. package/dist/tools/projects/get-project.d.ts +41 -0
  66. package/dist/tools/projects/get-project.d.ts.map +1 -0
  67. package/dist/tools/projects/get-project.js +110 -0
  68. package/dist/tools/projects/get-project.js.map +1 -0
  69. package/dist/tools/projects/get-tag-list.d.ts +55 -0
  70. package/dist/tools/projects/get-tag-list.d.ts.map +1 -0
  71. package/dist/tools/projects/get-tag-list.js +145 -0
  72. package/dist/tools/projects/get-tag-list.js.map +1 -0
  73. package/dist/tools/projects/get-task-comment-list.d.ts +63 -0
  74. package/dist/tools/projects/get-task-comment-list.d.ts.map +1 -0
  75. package/dist/tools/projects/get-task-comment-list.js +136 -0
  76. package/dist/tools/projects/get-task-comment-list.js.map +1 -0
  77. package/dist/tools/projects/get-task-list.d.ts +184 -0
  78. package/dist/tools/projects/get-task-list.d.ts.map +1 -0
  79. package/dist/tools/projects/get-task-list.js +257 -0
  80. package/dist/tools/projects/get-task-list.js.map +1 -0
  81. package/dist/tools/projects/get-task.d.ts +48 -0
  82. package/dist/tools/projects/get-task.d.ts.map +1 -0
  83. package/dist/tools/projects/get-task.js +130 -0
  84. package/dist/tools/projects/get-task.js.map +1 -0
  85. package/dist/tools/projects/update-task-comment.d.ts +92 -0
  86. package/dist/tools/projects/update-task-comment.d.ts.map +1 -0
  87. package/dist/tools/projects/update-task-comment.js +176 -0
  88. package/dist/tools/projects/update-task-comment.js.map +1 -0
  89. package/dist/tools/projects/update-task.d.ts +196 -0
  90. package/dist/tools/projects/update-task.d.ts.map +1 -0
  91. package/dist/tools/projects/update-task.js +227 -0
  92. package/dist/tools/projects/update-task.js.map +1 -0
  93. package/dist/tools/wiki/create-wiki-page.d.ts +89 -0
  94. package/dist/tools/wiki/create-wiki-page.d.ts.map +1 -0
  95. package/dist/tools/wiki/create-wiki-page.js +142 -0
  96. package/dist/tools/wiki/create-wiki-page.js.map +1 -0
  97. package/dist/tools/wiki/get-wiki-list.d.ts +58 -0
  98. package/dist/tools/wiki/get-wiki-list.d.ts.map +1 -0
  99. package/dist/tools/wiki/get-wiki-list.js +118 -0
  100. package/dist/tools/wiki/get-wiki-list.js.map +1 -0
  101. package/dist/tools/wiki/get-wiki-page-list.d.ts +65 -0
  102. package/dist/tools/wiki/get-wiki-page-list.d.ts.map +1 -0
  103. package/dist/tools/wiki/get-wiki-page-list.js +125 -0
  104. package/dist/tools/wiki/get-wiki-page-list.js.map +1 -0
  105. package/dist/tools/wiki/get-wiki-page.d.ts +48 -0
  106. package/dist/tools/wiki/get-wiki-page.d.ts.map +1 -0
  107. package/dist/tools/wiki/get-wiki-page.js +100 -0
  108. package/dist/tools/wiki/get-wiki-page.js.map +1 -0
  109. package/dist/tools/wiki/update-wiki-page.d.ts +89 -0
  110. package/dist/tools/wiki/update-wiki-page.d.ts.map +1 -0
  111. package/dist/tools/wiki/update-wiki-page.js +140 -0
  112. package/dist/tools/wiki/update-wiki-page.js.map +1 -0
  113. package/dist/types/config.d.ts +18 -0
  114. package/dist/types/config.d.ts.map +1 -0
  115. package/dist/types/config.js +6 -0
  116. package/dist/types/config.js.map +1 -0
  117. package/dist/types/dooray-api.d.ts +387 -0
  118. package/dist/types/dooray-api.d.ts.map +1 -0
  119. package/dist/types/dooray-api.js +7 -0
  120. package/dist/types/dooray-api.js.map +1 -0
  121. package/dist/utils/errors.d.ts +28 -0
  122. package/dist/utils/errors.d.ts.map +1 -0
  123. package/dist/utils/errors.js +60 -0
  124. package/dist/utils/errors.js.map +1 -0
  125. package/dist/utils/logger.d.ts +22 -0
  126. package/dist/utils/logger.d.ts.map +1 -0
  127. package/dist/utils/logger.js +50 -0
  128. package/dist/utils/logger.js.map +1 -0
  129. package/dist/utils/member-transform.d.ts +20 -0
  130. package/dist/utils/member-transform.d.ts.map +1 -0
  131. package/dist/utils/member-transform.js +48 -0
  132. package/dist/utils/member-transform.js.map +1 -0
  133. package/dist/utils/response-filters.d.ts +121 -0
  134. package/dist/utils/response-filters.d.ts.map +1 -0
  135. package/dist/utils/response-filters.js +166 -0
  136. package/dist/utils/response-filters.js.map +1 -0
  137. package/dooray-mcp.iml +8 -0
  138. package/package.json +54 -0
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Dooray Projects API
3
+ * Handles project and task management operations
4
+ */
5
+ import { Project, ProjectListParams, Task, TaskListParams, CreateTaskParams, UpdateTaskParams, CreateTaskCommentParams, CreateTaskCommentResponse, UpdateTaskCommentParams, TaskCommentListParams, TaskComment, Milestone, MilestoneListParams, Tag, TagListParams, Workflow, WorkflowListParams, ProjectTemplate, GetProjectTemplateListParams, GetProjectTemplateParams, ProjectMember, GetProjectMemberListParams, ProjectMemberGroup, GetProjectMemberGroupListParams, FileUploadResult, PaginatedResponse } from '../types/dooray-api.js';
6
+ /**
7
+ * Get list of projects accessible by the user
8
+ */
9
+ export declare function getProjects(params?: ProjectListParams): Promise<PaginatedResponse<Project>>;
10
+ /**
11
+ * Get details of a specific project
12
+ */
13
+ export declare function getProjectDetails(projectId: string): Promise<Project>;
14
+ /**
15
+ * Get list of tasks based on filters
16
+ */
17
+ export declare function getTasks(params: TaskListParams): Promise<PaginatedResponse<Task>>;
18
+ /**
19
+ * Get details of a specific task
20
+ * Can be called with or without projectId
21
+ */
22
+ export declare function getTaskDetails(taskId: string, projectId?: string): Promise<Task>;
23
+ /**
24
+ * Create a new task
25
+ */
26
+ export declare function createTask(params: CreateTaskParams): Promise<Task>;
27
+ /**
28
+ * Update an existing task
29
+ */
30
+ export declare function updateTask(projectId: string, taskNumber: number, params: UpdateTaskParams): Promise<Task>;
31
+ /**
32
+ * Create a comment on a task (댓글 생성)
33
+ */
34
+ export declare function createTaskComment(params: CreateTaskCommentParams): Promise<CreateTaskCommentResponse>;
35
+ /**
36
+ * Get list of comments on a task (댓글 목록 조회)
37
+ */
38
+ export declare function getTaskComments(params: TaskCommentListParams): Promise<PaginatedResponse<TaskComment>>;
39
+ /**
40
+ * Update a comment on a task (댓글 수정)
41
+ */
42
+ export declare function updateTaskComment(params: UpdateTaskCommentParams): Promise<void>;
43
+ /**
44
+ * Get milestones for a project
45
+ */
46
+ export declare function getMilestones(params: MilestoneListParams): Promise<Milestone[]>;
47
+ /**
48
+ * Get tags for a project
49
+ */
50
+ export declare function getTags(params: TagListParams): Promise<PaginatedResponse<Tag>>;
51
+ /**
52
+ * Get details of a specific tag
53
+ */
54
+ export declare function getTagDetails(projectId: string, tagId: string): Promise<Tag>;
55
+ /**
56
+ * Get workflows (업무 상태) for a project
57
+ */
58
+ export declare function getProjectWorkflows(params: WorkflowListParams): Promise<Workflow[]>;
59
+ /**
60
+ * Get project templates
61
+ */
62
+ export declare function getProjectTemplates(params: GetProjectTemplateListParams): Promise<PaginatedResponse<ProjectTemplate>>;
63
+ /**
64
+ * Get details of a specific project template
65
+ */
66
+ export declare function getProjectTemplate(params: GetProjectTemplateParams): Promise<ProjectTemplate>;
67
+ /**
68
+ * Get project members
69
+ */
70
+ export declare function getProjectMembers(params: GetProjectMemberListParams): Promise<PaginatedResponse<ProjectMember>>;
71
+ /**
72
+ * Get project member groups
73
+ */
74
+ export declare function getProjectMemberGroups(params: GetProjectMemberGroupListParams): Promise<PaginatedResponse<ProjectMemberGroup>>;
75
+ /**
76
+ * Upload a file to a task
77
+ */
78
+ export declare function uploadFileToTask(projectId: string, taskNumber: number, file: {
79
+ name: string;
80
+ data: Buffer | Blob;
81
+ mimeType?: string;
82
+ }): Promise<FileUploadResult>;
83
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ /**
3
+ * Dooray Projects API
4
+ * Handles project and task management operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getProjects = getProjects;
8
+ exports.getProjectDetails = getProjectDetails;
9
+ exports.getTasks = getTasks;
10
+ exports.getTaskDetails = getTaskDetails;
11
+ exports.createTask = createTask;
12
+ exports.updateTask = updateTask;
13
+ exports.createTaskComment = createTaskComment;
14
+ exports.getTaskComments = getTaskComments;
15
+ exports.updateTaskComment = updateTaskComment;
16
+ exports.getMilestones = getMilestones;
17
+ exports.getTags = getTags;
18
+ exports.getTagDetails = getTagDetails;
19
+ exports.getProjectWorkflows = getProjectWorkflows;
20
+ exports.getProjectTemplates = getProjectTemplates;
21
+ exports.getProjectTemplate = getProjectTemplate;
22
+ exports.getProjectMembers = getProjectMembers;
23
+ exports.getProjectMemberGroups = getProjectMemberGroups;
24
+ exports.uploadFileToTask = uploadFileToTask;
25
+ const client_js_1 = require("./client.js");
26
+ const PROJECTS_BASE = '/project/v1';
27
+ /**
28
+ * Get list of projects accessible by the user
29
+ */
30
+ async function getProjects(params) {
31
+ const client = (0, client_js_1.getClient)();
32
+ return client.getPaginated(`${PROJECTS_BASE}/projects`, {
33
+ member: 'me',
34
+ state: 'active',
35
+ page: params?.page || 0,
36
+ size: params?.size || 20,
37
+ });
38
+ }
39
+ /**
40
+ * Get details of a specific project
41
+ */
42
+ async function getProjectDetails(projectId) {
43
+ const client = (0, client_js_1.getClient)();
44
+ return client.get(`${PROJECTS_BASE}/projects/${projectId}`);
45
+ }
46
+ /**
47
+ * Get list of tasks based on filters
48
+ */
49
+ async function getTasks(params) {
50
+ const client = (0, client_js_1.getClient)();
51
+ const queryParams = {
52
+ page: params.page || 0,
53
+ size: params.size || 20,
54
+ };
55
+ // Add optional filters
56
+ if (params.fromEmailAddress)
57
+ queryParams.fromEmailAddress = params.fromEmailAddress;
58
+ if (params.fromMemberIds)
59
+ queryParams.fromMemberIds = params.fromMemberIds.join(',');
60
+ if (params.toMemberIds)
61
+ queryParams.toMemberIds = params.toMemberIds.join(',');
62
+ if (params.ccMemberIds)
63
+ queryParams.ccMemberIds = params.ccMemberIds.join(',');
64
+ if (params.tagIds)
65
+ queryParams.tagIds = params.tagIds.join(',');
66
+ if (params.parentPostId)
67
+ queryParams.parentPostId = params.parentPostId;
68
+ if (params.postNumber !== undefined)
69
+ queryParams.postNumber = params.postNumber;
70
+ if (params.postWorkflowClasses)
71
+ queryParams.postWorkflowClasses = params.postWorkflowClasses.join(',');
72
+ if (params.postWorkflowIds)
73
+ queryParams.postWorkflowIds = params.postWorkflowIds.join(',');
74
+ if (params.milestoneIds)
75
+ queryParams.milestoneIds = params.milestoneIds.join(',');
76
+ if (params.subjects)
77
+ queryParams.subjects = params.subjects;
78
+ if (params.createdAt)
79
+ queryParams.createdAt = params.createdAt;
80
+ if (params.updatedAt)
81
+ queryParams.updatedAt = params.updatedAt;
82
+ if (params.dueAt)
83
+ queryParams.dueAt = params.dueAt;
84
+ if (params.order)
85
+ queryParams.order = params.order;
86
+ return client.getPaginated(`${PROJECTS_BASE}/projects/${params.projectId}/posts`, queryParams);
87
+ }
88
+ /**
89
+ * Get details of a specific task
90
+ * Can be called with or without projectId
91
+ */
92
+ async function getTaskDetails(taskId, projectId) {
93
+ const client = (0, client_js_1.getClient)();
94
+ // If projectId is provided, use the project-scoped endpoint
95
+ // Otherwise, use the global endpoint that works with just taskId
96
+ if (projectId) {
97
+ return client.get(`${PROJECTS_BASE}/projects/${projectId}/posts/${taskId}`);
98
+ }
99
+ else {
100
+ return client.get(`${PROJECTS_BASE}/posts/${taskId}`);
101
+ }
102
+ }
103
+ /**
104
+ * Create a new task
105
+ */
106
+ async function createTask(params) {
107
+ const client = (0, client_js_1.getClient)();
108
+ const requestBody = {
109
+ subject: params.subject,
110
+ };
111
+ if (params.parentPostId)
112
+ requestBody.parentPostId = params.parentPostId;
113
+ if (params.body)
114
+ requestBody.body = params.body;
115
+ if (params.users)
116
+ requestBody.users = params.users;
117
+ if (params.dueDate) {
118
+ requestBody.dueDate = params.dueDate;
119
+ // Set dueDateFlag to true when dueDate is provided (API recommendation)
120
+ requestBody.dueDateFlag = params.dueDateFlag !== undefined ? params.dueDateFlag : true;
121
+ }
122
+ if (params.milestoneId)
123
+ requestBody.milestoneId = params.milestoneId;
124
+ if (params.tagIds)
125
+ requestBody.tagIds = params.tagIds;
126
+ if (params.priority)
127
+ requestBody.priority = params.priority;
128
+ return client.post(`${PROJECTS_BASE}/projects/${params.projectId}/posts`, requestBody);
129
+ }
130
+ /**
131
+ * Update an existing task
132
+ */
133
+ async function updateTask(projectId, taskNumber, params) {
134
+ const client = (0, client_js_1.getClient)();
135
+ const requestBody = {};
136
+ if (params.subject !== undefined)
137
+ requestBody.subject = params.subject;
138
+ if (params.body !== undefined)
139
+ requestBody.body = params.body;
140
+ if (params.users !== undefined)
141
+ requestBody.users = params.users;
142
+ if (params.dueDate !== undefined)
143
+ requestBody.dueDate = params.dueDate;
144
+ if (params.dueDateFlag !== undefined)
145
+ requestBody.dueDateFlag = params.dueDateFlag;
146
+ if (params.milestoneId !== undefined)
147
+ requestBody.milestoneId = params.milestoneId;
148
+ if (params.tagIds !== undefined)
149
+ requestBody.tagIds = params.tagIds;
150
+ if (params.priority !== undefined)
151
+ requestBody.priority = params.priority;
152
+ if (params.workflowId !== undefined)
153
+ requestBody.workflowId = params.workflowId;
154
+ return client.put(`${PROJECTS_BASE}/projects/${projectId}/posts/${taskNumber}`, requestBody);
155
+ }
156
+ /**
157
+ * Create a comment on a task (댓글 생성)
158
+ */
159
+ async function createTaskComment(params) {
160
+ const client = (0, client_js_1.getClient)();
161
+ const requestBody = {
162
+ body: {
163
+ content: params.body.content,
164
+ mimeType: params.body.mimeType,
165
+ },
166
+ };
167
+ if (params.attachFileIds && params.attachFileIds.length > 0) {
168
+ requestBody.attachFileIds = params.attachFileIds;
169
+ }
170
+ return client.post(`${PROJECTS_BASE}/projects/${params.projectId}/posts/${params.taskId}/logs`, requestBody);
171
+ }
172
+ /**
173
+ * Get list of comments on a task (댓글 목록 조회)
174
+ */
175
+ async function getTaskComments(params) {
176
+ const client = (0, client_js_1.getClient)();
177
+ const queryParams = {
178
+ page: params.page || 0,
179
+ size: params.size || 20,
180
+ };
181
+ if (params.order) {
182
+ queryParams.order = params.order;
183
+ }
184
+ return client.getPaginated(`${PROJECTS_BASE}/projects/${params.projectId}/posts/${params.taskId}/logs`, queryParams);
185
+ }
186
+ /**
187
+ * Update a comment on a task (댓글 수정)
188
+ */
189
+ async function updateTaskComment(params) {
190
+ const client = (0, client_js_1.getClient)();
191
+ const requestBody = {};
192
+ if (params.body) {
193
+ requestBody.body = {
194
+ content: params.body.content,
195
+ mimeType: params.body.mimeType,
196
+ };
197
+ }
198
+ if (params.attachFileIds && params.attachFileIds.length > 0) {
199
+ requestBody.attachFileIds = params.attachFileIds;
200
+ }
201
+ await client.put(`${PROJECTS_BASE}/projects/${params.projectId}/posts/${params.taskId}/logs/${params.commentId}`, requestBody);
202
+ }
203
+ /**
204
+ * Get milestones for a project
205
+ */
206
+ async function getMilestones(params) {
207
+ const client = (0, client_js_1.getClient)();
208
+ const queryParams = {};
209
+ if (params.status)
210
+ queryParams.status = params.status;
211
+ return client.get(`${PROJECTS_BASE}/projects/${params.projectId}/milestones`, queryParams);
212
+ }
213
+ /**
214
+ * Get tags for a project
215
+ */
216
+ async function getTags(params) {
217
+ const client = (0, client_js_1.getClient)();
218
+ const queryParams = {
219
+ page: params.page || 0,
220
+ size: params.size || 100, // Default to max size to get all tags
221
+ };
222
+ return client.getPaginated(`${PROJECTS_BASE}/projects/${params.projectId}/tags`, queryParams);
223
+ }
224
+ /**
225
+ * Get details of a specific tag
226
+ */
227
+ async function getTagDetails(projectId, tagId) {
228
+ const client = (0, client_js_1.getClient)();
229
+ return client.get(`${PROJECTS_BASE}/projects/${projectId}/tags/${tagId}`);
230
+ }
231
+ /**
232
+ * Get workflows (업무 상태) for a project
233
+ */
234
+ async function getProjectWorkflows(params) {
235
+ const client = (0, client_js_1.getClient)();
236
+ return client.get(`${PROJECTS_BASE}/projects/${params.projectId}/workflows`);
237
+ }
238
+ /**
239
+ * Get project templates
240
+ */
241
+ async function getProjectTemplates(params) {
242
+ const client = (0, client_js_1.getClient)();
243
+ const queryParams = {
244
+ page: params.page ?? 0,
245
+ size: params.size ?? 20,
246
+ };
247
+ return client.getPaginated(`${PROJECTS_BASE}/projects/${params.projectId}/templates`, queryParams);
248
+ }
249
+ /**
250
+ * Get details of a specific project template
251
+ */
252
+ async function getProjectTemplate(params) {
253
+ const client = (0, client_js_1.getClient)();
254
+ // No query params needed - interpolation defaults to false
255
+ return client.get(`${PROJECTS_BASE}/projects/${params.projectId}/templates/${params.templateId}`);
256
+ }
257
+ /**
258
+ * Get project members
259
+ */
260
+ async function getProjectMembers(params) {
261
+ const client = (0, client_js_1.getClient)();
262
+ const queryParams = {
263
+ page: params.page ?? 0,
264
+ size: params.size ?? 20,
265
+ };
266
+ if (params.roles && params.roles.length > 0) {
267
+ queryParams.roles = params.roles.join(',');
268
+ }
269
+ return client.getPaginated(`${PROJECTS_BASE}/projects/${params.projectId}/members`, queryParams);
270
+ }
271
+ /**
272
+ * Get project member groups
273
+ */
274
+ async function getProjectMemberGroups(params) {
275
+ const client = (0, client_js_1.getClient)();
276
+ const queryParams = {
277
+ page: params.page ?? 0,
278
+ size: params.size ?? 20,
279
+ };
280
+ const result = await client.getPaginated(`${PROJECTS_BASE}/projects/${params.projectId}/member-groups`, queryParams);
281
+ // API returns double-nested array: result.data[0] contains the actual array
282
+ // Flatten it to get the correct structure
283
+ if (Array.isArray(result.data) && result.data.length > 0 && Array.isArray(result.data[0])) {
284
+ result.data = result.data[0];
285
+ }
286
+ return result;
287
+ }
288
+ /**
289
+ * Upload a file to a task
290
+ */
291
+ async function uploadFileToTask(projectId, taskNumber, file) {
292
+ const client = (0, client_js_1.getClient)();
293
+ const formData = new FormData();
294
+ const blob = file.data instanceof Buffer
295
+ ? new Blob([file.data], { type: file.mimeType || 'application/octet-stream' })
296
+ : file.data;
297
+ formData.append('file', blob, file.name);
298
+ return client.uploadFile(`${PROJECTS_BASE}/projects/${projectId}/posts/${taskNumber}/files`, formData);
299
+ }
300
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Dooray Wiki API
3
+ * Handles wiki and wiki page operations
4
+ */
5
+ import { Wiki, WikiListParams, WikiPage, WikiPageListParams, CreateWikiPageParams, UpdateWikiPageParams, FileUploadResult, PaginatedResponse } from '../types/dooray-api.js';
6
+ /**
7
+ * Get list of wikis
8
+ */
9
+ export declare function getWikis(params?: WikiListParams): Promise<PaginatedResponse<Wiki>>;
10
+ /**
11
+ * Get details of a specific wiki
12
+ */
13
+ export declare function getWikiDetails(wikiId: string): Promise<Wiki>;
14
+ /**
15
+ * Get list of wiki pages (children of a wiki or page)
16
+ */
17
+ export declare function getWikiPages(params: WikiPageListParams): Promise<PaginatedResponse<WikiPage>>;
18
+ /**
19
+ * Get content of a specific wiki page
20
+ */
21
+ export declare function getWikiPageContent(wikiId: string, pageId: string): Promise<WikiPage>;
22
+ /**
23
+ * Create a new wiki page
24
+ */
25
+ export declare function createWikiPage(params: CreateWikiPageParams): Promise<WikiPage>;
26
+ /**
27
+ * Update an existing wiki page
28
+ */
29
+ export declare function updateWikiPage(wikiId: string, pageId: string, params: UpdateWikiPageParams): Promise<WikiPage>;
30
+ /**
31
+ * Upload a file to a wiki page
32
+ */
33
+ export declare function uploadFileToWiki(wikiId: string, pageId: string, file: {
34
+ name: string;
35
+ data: Buffer | Blob;
36
+ mimeType?: string;
37
+ }): Promise<FileUploadResult>;
38
+ //# sourceMappingURL=wiki.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../src/api/wiki.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,wBAAsB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAWxF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAanG;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAG1F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAWpF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CASnB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CAc3B"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Dooray Wiki API
4
+ * Handles wiki and wiki page operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getWikis = getWikis;
8
+ exports.getWikiDetails = getWikiDetails;
9
+ exports.getWikiPages = getWikiPages;
10
+ exports.getWikiPageContent = getWikiPageContent;
11
+ exports.createWikiPage = createWikiPage;
12
+ exports.updateWikiPage = updateWikiPage;
13
+ exports.uploadFileToWiki = uploadFileToWiki;
14
+ const client_js_1 = require("./client.js");
15
+ const WIKI_BASE = '/wiki/v1';
16
+ /**
17
+ * Get list of wikis
18
+ */
19
+ async function getWikis(params) {
20
+ const client = (0, client_js_1.getClient)();
21
+ const queryParams = {
22
+ page: params?.page || 0,
23
+ size: params?.size || 20,
24
+ };
25
+ if (params?.type)
26
+ queryParams.type = params.type;
27
+ return client.getPaginated(`${WIKI_BASE}/wikis`, queryParams);
28
+ }
29
+ /**
30
+ * Get details of a specific wiki
31
+ */
32
+ async function getWikiDetails(wikiId) {
33
+ const client = (0, client_js_1.getClient)();
34
+ return client.get(`${WIKI_BASE}/wikis/${wikiId}`);
35
+ }
36
+ /**
37
+ * Get list of wiki pages (children of a wiki or page)
38
+ */
39
+ async function getWikiPages(params) {
40
+ const client = (0, client_js_1.getClient)();
41
+ const queryParams = {
42
+ page: params.page || 0,
43
+ size: params.size || 100,
44
+ };
45
+ if (params.parentId) {
46
+ queryParams.parentId = params.parentId;
47
+ }
48
+ return client.getPaginated(`${WIKI_BASE}/wikis/${params.wikiId}/pages`, queryParams);
49
+ }
50
+ /**
51
+ * Get content of a specific wiki page
52
+ */
53
+ async function getWikiPageContent(wikiId, pageId) {
54
+ const client = (0, client_js_1.getClient)();
55
+ return client.get(`${WIKI_BASE}/wikis/${wikiId}/pages/${pageId}`);
56
+ }
57
+ /**
58
+ * Create a new wiki page
59
+ */
60
+ async function createWikiPage(params) {
61
+ const client = (0, client_js_1.getClient)();
62
+ const requestBody = {
63
+ title: params.title,
64
+ };
65
+ if (params.parentId)
66
+ requestBody.parentId = params.parentId;
67
+ if (params.body)
68
+ requestBody.body = params.body;
69
+ return client.post(`${WIKI_BASE}/wikis/${params.wikiId}/pages`, requestBody);
70
+ }
71
+ /**
72
+ * Update an existing wiki page
73
+ */
74
+ async function updateWikiPage(wikiId, pageId, params) {
75
+ const client = (0, client_js_1.getClient)();
76
+ const requestBody = {};
77
+ if (params.title !== undefined)
78
+ requestBody.title = params.title;
79
+ if (params.body !== undefined)
80
+ requestBody.body = params.body;
81
+ return client.put(`${WIKI_BASE}/wikis/${wikiId}/pages/${pageId}`, requestBody);
82
+ }
83
+ /**
84
+ * Upload a file to a wiki page
85
+ */
86
+ async function uploadFileToWiki(wikiId, pageId, file) {
87
+ const client = (0, client_js_1.getClient)();
88
+ const formData = new FormData();
89
+ const blob = file.data instanceof Buffer
90
+ ? new Blob([file.data], { type: file.mimeType || 'application/octet-stream' })
91
+ : file.data;
92
+ formData.append('file', blob, file.name);
93
+ return client.uploadFile(`${WIKI_BASE}/wikis/${wikiId}/pages/${pageId}/files`, formData);
94
+ }
95
+ //# sourceMappingURL=wiki.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki.js","sourceRoot":"","sources":["../../src/api/wiki.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Dooray MCP Server
4
+ * Main entry point for the Model Context Protocol server
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}