@geonheeye/dooray-mcp 0.1.13

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 (287) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +149 -0
  3. package/dist/api/client.d.ts +85 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +272 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/common.d.ts +14 -0
  8. package/dist/api/common.d.ts.map +1 -0
  9. package/dist/api/common.js +25 -0
  10. package/dist/api/common.js.map +1 -0
  11. package/dist/api/drive.d.ts +22 -0
  12. package/dist/api/drive.d.ts.map +1 -0
  13. package/dist/api/drive.js +86 -0
  14. package/dist/api/drive.js.map +1 -0
  15. package/dist/api/messenger.d.ts +56 -0
  16. package/dist/api/messenger.d.ts.map +1 -0
  17. package/dist/api/messenger.js +49 -0
  18. package/dist/api/messenger.js.map +1 -0
  19. package/dist/api/projects.d.ts +147 -0
  20. package/dist/api/projects.d.ts.map +1 -0
  21. package/dist/api/projects.js +485 -0
  22. package/dist/api/projects.js.map +1 -0
  23. package/dist/api/wiki.d.ts +38 -0
  24. package/dist/api/wiki.d.ts.map +1 -0
  25. package/dist/api/wiki.js +139 -0
  26. package/dist/api/wiki.js.map +1 -0
  27. package/dist/index.d.ts +7 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +736 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/tools/common/get-my-member-info.d.ts +29 -0
  32. package/dist/tools/common/get-my-member-info.d.ts.map +1 -0
  33. package/dist/tools/common/get-my-member-info.js +95 -0
  34. package/dist/tools/common/get-my-member-info.js.map +1 -0
  35. package/dist/tools/drive/copy-drive-file.d.ts +62 -0
  36. package/dist/tools/drive/copy-drive-file.d.ts.map +1 -0
  37. package/dist/tools/drive/copy-drive-file.js +91 -0
  38. package/dist/tools/drive/copy-drive-file.js.map +1 -0
  39. package/dist/tools/drive/create-drive-folder.d.ts +55 -0
  40. package/dist/tools/drive/create-drive-folder.d.ts.map +1 -0
  41. package/dist/tools/drive/create-drive-folder.js +91 -0
  42. package/dist/tools/drive/create-drive-folder.js.map +1 -0
  43. package/dist/tools/drive/delete-drive-file.d.ts +48 -0
  44. package/dist/tools/drive/delete-drive-file.d.ts.map +1 -0
  45. package/dist/tools/drive/delete-drive-file.js +87 -0
  46. package/dist/tools/drive/delete-drive-file.js.map +1 -0
  47. package/dist/tools/drive/download-drive-file.d.ts +55 -0
  48. package/dist/tools/drive/download-drive-file.d.ts.map +1 -0
  49. package/dist/tools/drive/download-drive-file.js +160 -0
  50. package/dist/tools/drive/download-drive-file.js.map +1 -0
  51. package/dist/tools/drive/get-drive-file-list.d.ts +77 -0
  52. package/dist/tools/drive/get-drive-file-list.d.ts.map +1 -0
  53. package/dist/tools/drive/get-drive-file-list.js +89 -0
  54. package/dist/tools/drive/get-drive-file-list.js.map +1 -0
  55. package/dist/tools/drive/get-drive-file-meta.d.ts +41 -0
  56. package/dist/tools/drive/get-drive-file-meta.d.ts.map +1 -0
  57. package/dist/tools/drive/get-drive-file-meta.js +74 -0
  58. package/dist/tools/drive/get-drive-file-meta.js.map +1 -0
  59. package/dist/tools/drive/get-drive-list.d.ts +63 -0
  60. package/dist/tools/drive/get-drive-list.d.ts.map +1 -0
  61. package/dist/tools/drive/get-drive-list.js +84 -0
  62. package/dist/tools/drive/get-drive-list.js.map +1 -0
  63. package/dist/tools/drive/move-drive-file.d.ts +55 -0
  64. package/dist/tools/drive/move-drive-file.d.ts.map +1 -0
  65. package/dist/tools/drive/move-drive-file.js +92 -0
  66. package/dist/tools/drive/move-drive-file.js.map +1 -0
  67. package/dist/tools/drive/rename-drive-file.d.ts +55 -0
  68. package/dist/tools/drive/rename-drive-file.d.ts.map +1 -0
  69. package/dist/tools/drive/rename-drive-file.js +88 -0
  70. package/dist/tools/drive/rename-drive-file.js.map +1 -0
  71. package/dist/tools/drive/update-drive-file.d.ts +55 -0
  72. package/dist/tools/drive/update-drive-file.d.ts.map +1 -0
  73. package/dist/tools/drive/update-drive-file.js +119 -0
  74. package/dist/tools/drive/update-drive-file.js.map +1 -0
  75. package/dist/tools/drive/upload-drive-file.d.ts +55 -0
  76. package/dist/tools/drive/upload-drive-file.d.ts.map +1 -0
  77. package/dist/tools/drive/upload-drive-file.js +118 -0
  78. package/dist/tools/drive/upload-drive-file.js.map +1 -0
  79. package/dist/tools/messenger/get-channel-messages.d.ts +55 -0
  80. package/dist/tools/messenger/get-channel-messages.d.ts.map +1 -0
  81. package/dist/tools/messenger/get-channel-messages.js +115 -0
  82. package/dist/tools/messenger/get-channel-messages.js.map +1 -0
  83. package/dist/tools/messenger/get-channels.d.ts +30 -0
  84. package/dist/tools/messenger/get-channels.d.ts.map +1 -0
  85. package/dist/tools/messenger/get-channels.js +87 -0
  86. package/dist/tools/messenger/get-channels.js.map +1 -0
  87. package/dist/tools/messenger/send-channel-message.d.ts +48 -0
  88. package/dist/tools/messenger/send-channel-message.d.ts.map +1 -0
  89. package/dist/tools/messenger/send-channel-message.js +108 -0
  90. package/dist/tools/messenger/send-channel-message.js.map +1 -0
  91. package/dist/tools/messenger/send-direct-message.d.ts +48 -0
  92. package/dist/tools/messenger/send-direct-message.d.ts.map +1 -0
  93. package/dist/tools/messenger/send-direct-message.js +112 -0
  94. package/dist/tools/messenger/send-direct-message.js.map +1 -0
  95. package/dist/tools/projects/create-project-template.d.ts +305 -0
  96. package/dist/tools/projects/create-project-template.d.ts.map +1 -0
  97. package/dist/tools/projects/create-project-template.js +262 -0
  98. package/dist/tools/projects/create-project-template.js.map +1 -0
  99. package/dist/tools/projects/create-tag.d.ts +55 -0
  100. package/dist/tools/projects/create-tag.d.ts.map +1 -0
  101. package/dist/tools/projects/create-tag.js +134 -0
  102. package/dist/tools/projects/create-tag.js.map +1 -0
  103. package/dist/tools/projects/create-task-comment.d.ts +92 -0
  104. package/dist/tools/projects/create-task-comment.d.ts.map +1 -0
  105. package/dist/tools/projects/create-task-comment.js +171 -0
  106. package/dist/tools/projects/create-task-comment.js.map +1 -0
  107. package/dist/tools/projects/create-task.d.ts +198 -0
  108. package/dist/tools/projects/create-task.d.ts.map +1 -0
  109. package/dist/tools/projects/create-task.js +230 -0
  110. package/dist/tools/projects/create-task.js.map +1 -0
  111. package/dist/tools/projects/delete-attachment.d.ts +55 -0
  112. package/dist/tools/projects/delete-attachment.d.ts.map +1 -0
  113. package/dist/tools/projects/delete-attachment.js +115 -0
  114. package/dist/tools/projects/delete-attachment.js.map +1 -0
  115. package/dist/tools/projects/delete-project-template.d.ts +48 -0
  116. package/dist/tools/projects/delete-project-template.d.ts.map +1 -0
  117. package/dist/tools/projects/delete-project-template.js +108 -0
  118. package/dist/tools/projects/delete-project-template.js.map +1 -0
  119. package/dist/tools/projects/download-attachment.d.ts +62 -0
  120. package/dist/tools/projects/download-attachment.d.ts.map +1 -0
  121. package/dist/tools/projects/download-attachment.js +195 -0
  122. package/dist/tools/projects/download-attachment.js.map +1 -0
  123. package/dist/tools/projects/get-attachment-list.d.ts +48 -0
  124. package/dist/tools/projects/get-attachment-list.d.ts.map +1 -0
  125. package/dist/tools/projects/get-attachment-list.js +118 -0
  126. package/dist/tools/projects/get-attachment-list.js.map +1 -0
  127. package/dist/tools/projects/get-attachment-metadata.d.ts +55 -0
  128. package/dist/tools/projects/get-attachment-metadata.d.ts.map +1 -0
  129. package/dist/tools/projects/get-attachment-metadata.js +120 -0
  130. package/dist/tools/projects/get-attachment-metadata.js.map +1 -0
  131. package/dist/tools/projects/get-milestone-list.d.ts +49 -0
  132. package/dist/tools/projects/get-milestone-list.d.ts.map +1 -0
  133. package/dist/tools/projects/get-milestone-list.js +112 -0
  134. package/dist/tools/projects/get-milestone-list.js.map +1 -0
  135. package/dist/tools/projects/get-project-list.d.ts +50 -0
  136. package/dist/tools/projects/get-project-list.d.ts.map +1 -0
  137. package/dist/tools/projects/get-project-list.js +113 -0
  138. package/dist/tools/projects/get-project-list.js.map +1 -0
  139. package/dist/tools/projects/get-project-member-group-list.d.ts +55 -0
  140. package/dist/tools/projects/get-project-member-group-list.d.ts.map +1 -0
  141. package/dist/tools/projects/get-project-member-group-list.js +127 -0
  142. package/dist/tools/projects/get-project-member-group-list.js.map +1 -0
  143. package/dist/tools/projects/get-project-member-list.d.ts +66 -0
  144. package/dist/tools/projects/get-project-member-list.d.ts.map +1 -0
  145. package/dist/tools/projects/get-project-member-list.js +159 -0
  146. package/dist/tools/projects/get-project-member-list.js.map +1 -0
  147. package/dist/tools/projects/get-project-template-list.d.ts +55 -0
  148. package/dist/tools/projects/get-project-template-list.d.ts.map +1 -0
  149. package/dist/tools/projects/get-project-template-list.js +127 -0
  150. package/dist/tools/projects/get-project-template-list.js.map +1 -0
  151. package/dist/tools/projects/get-project-template.d.ts +48 -0
  152. package/dist/tools/projects/get-project-template.d.ts.map +1 -0
  153. package/dist/tools/projects/get-project-template.js +132 -0
  154. package/dist/tools/projects/get-project-template.js.map +1 -0
  155. package/dist/tools/projects/get-project-workflow-list.d.ts +41 -0
  156. package/dist/tools/projects/get-project-workflow-list.d.ts.map +1 -0
  157. package/dist/tools/projects/get-project-workflow-list.js +107 -0
  158. package/dist/tools/projects/get-project-workflow-list.js.map +1 -0
  159. package/dist/tools/projects/get-project.d.ts +41 -0
  160. package/dist/tools/projects/get-project.d.ts.map +1 -0
  161. package/dist/tools/projects/get-project.js +110 -0
  162. package/dist/tools/projects/get-project.js.map +1 -0
  163. package/dist/tools/projects/get-tag-list.d.ts +55 -0
  164. package/dist/tools/projects/get-tag-list.d.ts.map +1 -0
  165. package/dist/tools/projects/get-tag-list.js +145 -0
  166. package/dist/tools/projects/get-tag-list.js.map +1 -0
  167. package/dist/tools/projects/get-tag.d.ts +48 -0
  168. package/dist/tools/projects/get-tag.d.ts.map +1 -0
  169. package/dist/tools/projects/get-tag.js +124 -0
  170. package/dist/tools/projects/get-tag.js.map +1 -0
  171. package/dist/tools/projects/get-task-comment-list.d.ts +63 -0
  172. package/dist/tools/projects/get-task-comment-list.d.ts.map +1 -0
  173. package/dist/tools/projects/get-task-comment-list.js +136 -0
  174. package/dist/tools/projects/get-task-comment-list.js.map +1 -0
  175. package/dist/tools/projects/get-task-list.d.ts +184 -0
  176. package/dist/tools/projects/get-task-list.d.ts.map +1 -0
  177. package/dist/tools/projects/get-task-list.js +257 -0
  178. package/dist/tools/projects/get-task-list.js.map +1 -0
  179. package/dist/tools/projects/get-task.d.ts +48 -0
  180. package/dist/tools/projects/get-task.d.ts.map +1 -0
  181. package/dist/tools/projects/get-task.js +130 -0
  182. package/dist/tools/projects/get-task.js.map +1 -0
  183. package/dist/tools/projects/update-project-template.d.ts +312 -0
  184. package/dist/tools/projects/update-project-template.d.ts.map +1 -0
  185. package/dist/tools/projects/update-project-template.js +266 -0
  186. package/dist/tools/projects/update-project-template.js.map +1 -0
  187. package/dist/tools/projects/update-tag-group.d.ts +62 -0
  188. package/dist/tools/projects/update-tag-group.d.ts.map +1 -0
  189. package/dist/tools/projects/update-tag-group.js +162 -0
  190. package/dist/tools/projects/update-tag-group.js.map +1 -0
  191. package/dist/tools/projects/update-task-comment.d.ts +92 -0
  192. package/dist/tools/projects/update-task-comment.d.ts.map +1 -0
  193. package/dist/tools/projects/update-task-comment.js +176 -0
  194. package/dist/tools/projects/update-task-comment.js.map +1 -0
  195. package/dist/tools/projects/update-task.d.ts +203 -0
  196. package/dist/tools/projects/update-task.d.ts.map +1 -0
  197. package/dist/tools/projects/update-task.js +261 -0
  198. package/dist/tools/projects/update-task.js.map +1 -0
  199. package/dist/tools/projects/upload-attachment.d.ts +55 -0
  200. package/dist/tools/projects/upload-attachment.d.ts.map +1 -0
  201. package/dist/tools/projects/upload-attachment.js +143 -0
  202. package/dist/tools/projects/upload-attachment.js.map +1 -0
  203. package/dist/tools/wiki/create-wiki-comment.d.ts +55 -0
  204. package/dist/tools/wiki/create-wiki-comment.d.ts.map +1 -0
  205. package/dist/tools/wiki/create-wiki-comment.js +72 -0
  206. package/dist/tools/wiki/create-wiki-comment.js.map +1 -0
  207. package/dist/tools/wiki/create-wiki-page.d.ts +127 -0
  208. package/dist/tools/wiki/create-wiki-page.d.ts.map +1 -0
  209. package/dist/tools/wiki/create-wiki-page.js +116 -0
  210. package/dist/tools/wiki/create-wiki-page.js.map +1 -0
  211. package/dist/tools/wiki/delete-wiki-comment.d.ts +55 -0
  212. package/dist/tools/wiki/delete-wiki-comment.d.ts.map +1 -0
  213. package/dist/tools/wiki/delete-wiki-comment.js +72 -0
  214. package/dist/tools/wiki/delete-wiki-comment.js.map +1 -0
  215. package/dist/tools/wiki/delete-wiki-page-file.d.ts +55 -0
  216. package/dist/tools/wiki/delete-wiki-page-file.d.ts.map +1 -0
  217. package/dist/tools/wiki/delete-wiki-page-file.js +115 -0
  218. package/dist/tools/wiki/delete-wiki-page-file.js.map +1 -0
  219. package/dist/tools/wiki/download-wiki-attach-file.d.ts +55 -0
  220. package/dist/tools/wiki/download-wiki-attach-file.d.ts.map +1 -0
  221. package/dist/tools/wiki/download-wiki-attach-file.js +176 -0
  222. package/dist/tools/wiki/download-wiki-attach-file.js.map +1 -0
  223. package/dist/tools/wiki/download-wiki-page-file.d.ts +62 -0
  224. package/dist/tools/wiki/download-wiki-page-file.d.ts.map +1 -0
  225. package/dist/tools/wiki/download-wiki-page-file.js +189 -0
  226. package/dist/tools/wiki/download-wiki-page-file.js.map +1 -0
  227. package/dist/tools/wiki/get-wiki-comment-list.d.ts +62 -0
  228. package/dist/tools/wiki/get-wiki-comment-list.d.ts.map +1 -0
  229. package/dist/tools/wiki/get-wiki-comment-list.js +74 -0
  230. package/dist/tools/wiki/get-wiki-comment-list.js.map +1 -0
  231. package/dist/tools/wiki/get-wiki-comment.d.ts +55 -0
  232. package/dist/tools/wiki/get-wiki-comment.d.ts.map +1 -0
  233. package/dist/tools/wiki/get-wiki-comment.js +72 -0
  234. package/dist/tools/wiki/get-wiki-comment.js.map +1 -0
  235. package/dist/tools/wiki/get-wiki-list.d.ts +47 -0
  236. package/dist/tools/wiki/get-wiki-list.d.ts.map +1 -0
  237. package/dist/tools/wiki/get-wiki-list.js +76 -0
  238. package/dist/tools/wiki/get-wiki-list.js.map +1 -0
  239. package/dist/tools/wiki/get-wiki-page-list.d.ts +48 -0
  240. package/dist/tools/wiki/get-wiki-page-list.d.ts.map +1 -0
  241. package/dist/tools/wiki/get-wiki-page-list.js +70 -0
  242. package/dist/tools/wiki/get-wiki-page-list.js.map +1 -0
  243. package/dist/tools/wiki/get-wiki-page.d.ts +48 -0
  244. package/dist/tools/wiki/get-wiki-page.d.ts.map +1 -0
  245. package/dist/tools/wiki/get-wiki-page.js +78 -0
  246. package/dist/tools/wiki/get-wiki-page.js.map +1 -0
  247. package/dist/tools/wiki/update-wiki-comment.d.ts +62 -0
  248. package/dist/tools/wiki/update-wiki-comment.d.ts.map +1 -0
  249. package/dist/tools/wiki/update-wiki-comment.js +74 -0
  250. package/dist/tools/wiki/update-wiki-comment.js.map +1 -0
  251. package/dist/tools/wiki/update-wiki-page.d.ts +117 -0
  252. package/dist/tools/wiki/update-wiki-page.d.ts.map +1 -0
  253. package/dist/tools/wiki/update-wiki-page.js +111 -0
  254. package/dist/tools/wiki/update-wiki-page.js.map +1 -0
  255. package/dist/tools/wiki/upload-wiki-file.d.ts +49 -0
  256. package/dist/tools/wiki/upload-wiki-file.d.ts.map +1 -0
  257. package/dist/tools/wiki/upload-wiki-file.js +145 -0
  258. package/dist/tools/wiki/upload-wiki-file.js.map +1 -0
  259. package/dist/tools/wiki/upload-wiki-page-file.d.ts +55 -0
  260. package/dist/tools/wiki/upload-wiki-page-file.d.ts.map +1 -0
  261. package/dist/tools/wiki/upload-wiki-page-file.js +147 -0
  262. package/dist/tools/wiki/upload-wiki-page-file.js.map +1 -0
  263. package/dist/types/config.d.ts +18 -0
  264. package/dist/types/config.d.ts.map +1 -0
  265. package/dist/types/config.js +6 -0
  266. package/dist/types/config.js.map +1 -0
  267. package/dist/types/dooray-api.d.ts +717 -0
  268. package/dist/types/dooray-api.d.ts.map +1 -0
  269. package/dist/types/dooray-api.js +7 -0
  270. package/dist/types/dooray-api.js.map +1 -0
  271. package/dist/utils/errors.d.ts +28 -0
  272. package/dist/utils/errors.d.ts.map +1 -0
  273. package/dist/utils/errors.js +60 -0
  274. package/dist/utils/errors.js.map +1 -0
  275. package/dist/utils/logger.d.ts +22 -0
  276. package/dist/utils/logger.d.ts.map +1 -0
  277. package/dist/utils/logger.js +50 -0
  278. package/dist/utils/logger.js.map +1 -0
  279. package/dist/utils/member-transform.d.ts +20 -0
  280. package/dist/utils/member-transform.d.ts.map +1 -0
  281. package/dist/utils/member-transform.js +48 -0
  282. package/dist/utils/member-transform.js.map +1 -0
  283. package/dist/utils/response-filters.d.ts +105 -0
  284. package/dist/utils/response-filters.d.ts.map +1 -0
  285. package/dist/utils/response-filters.js +152 -0
  286. package/dist/utils/response-filters.js.map +1 -0
  287. package/package.json +54 -0
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /**
3
+ * Get Project Member List Tool
4
+ * Get list of project members with detailed information
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.getProjectMemberListTool = exports.getProjectMemberListSchema = void 0;
41
+ exports.getProjectMemberListHandler = getProjectMemberListHandler;
42
+ const zod_1 = require("zod");
43
+ const projectsApi = __importStar(require("../../api/projects.js"));
44
+ const commonApi = __importStar(require("../../api/common.js"));
45
+ const errors_js_1 = require("../../utils/errors.js");
46
+ exports.getProjectMemberListSchema = zod_1.z.object({
47
+ projectId: zod_1.z.string().describe('Project ID to get members from'),
48
+ roles: zod_1.z.array(zod_1.z.enum(['admin', 'member'])).optional().describe('Filter by roles (admin, member)'),
49
+ page: zod_1.z.number().optional().describe('Page number (default: 0)'),
50
+ size: zod_1.z.number().optional().describe('Items per page (default: 20, max: 100)'),
51
+ });
52
+ async function getProjectMemberListHandler(args) {
53
+ try {
54
+ // Step 1: Fetch project members (only IDs and roles)
55
+ const projectMembers = await projectsApi.getProjectMembers(args);
56
+ // Step 2: Fetch detailed info for each member in parallel
57
+ const memberDetailsPromises = projectMembers.data.map(async (pm) => {
58
+ try {
59
+ const details = await commonApi.getMemberDetails(pm.organizationMemberId);
60
+ return {
61
+ id: details.id,
62
+ name: details.name,
63
+ externalEmailAddress: details.externalEmailAddress,
64
+ };
65
+ }
66
+ catch (error) {
67
+ // If member details fail, return partial info
68
+ return {
69
+ id: pm.organizationMemberId,
70
+ name: 'Unknown',
71
+ externalEmailAddress: 'Unknown',
72
+ };
73
+ }
74
+ });
75
+ const enrichedMembers = await Promise.all(memberDetailsPromises);
76
+ // Step 3: Return compact response with only requested fields
77
+ const compactResult = {
78
+ totalCount: projectMembers.totalCount,
79
+ data: enrichedMembers,
80
+ };
81
+ return {
82
+ content: [
83
+ {
84
+ type: 'text',
85
+ text: JSON.stringify(compactResult, null, 2),
86
+ },
87
+ ],
88
+ };
89
+ }
90
+ catch (error) {
91
+ return {
92
+ content: [
93
+ {
94
+ type: 'text',
95
+ text: `Error: ${(0, errors_js_1.formatError)(error)}`,
96
+ },
97
+ ],
98
+ isError: true,
99
+ };
100
+ }
101
+ }
102
+ exports.getProjectMemberListTool = {
103
+ name: 'get-project-member-list',
104
+ description: `Get list of members in a project with their details.
105
+
106
+ This tool fetches project members and enriches each member with detailed information including name and email address.
107
+
108
+ **URL Pattern Recognition**:
109
+ When given a Dooray URL like "https://nhnent.dooray.com/task/PROJECT_ID", extract the PROJECT_ID (the first numeric ID after "/task/") and use it as the projectId parameter.
110
+
111
+ **Role Filtering**:
112
+ - Optionally filter by roles: ["admin"], ["member"], or ["admin", "member"]
113
+ - If not specified, returns all members regardless of role
114
+
115
+ **Pagination**:
116
+ - Default page size is 20 (maximum: 100)
117
+ - Use page parameter to get additional pages if totalCount > size
118
+
119
+ **Note**: Returns compact response with essential fields only (id, name, externalEmailAddress).
120
+
121
+ Examples:
122
+ - Get all members: {"projectId": "123456"}
123
+ - Get only admins: {"projectId": "123456", "roles": ["admin"]}
124
+ - Get with pagination: {"projectId": "123456", "page": 0, "size": 50}
125
+
126
+ Returns a paginated response with totalCount and array of members containing:
127
+ - **id**: Member ID (organizationMemberId)
128
+ - **name**: Member's display name
129
+ - **externalEmailAddress**: Member's email address
130
+
131
+ Use this tool to find project members for assigning tasks or understanding team composition.`,
132
+ inputSchema: {
133
+ type: 'object',
134
+ properties: {
135
+ projectId: {
136
+ type: 'string',
137
+ description: 'Project ID to get members from',
138
+ },
139
+ roles: {
140
+ type: 'array',
141
+ items: {
142
+ type: 'string',
143
+ enum: ['admin', 'member'],
144
+ },
145
+ description: 'Filter by roles (optional)',
146
+ },
147
+ page: {
148
+ type: 'number',
149
+ description: 'Page number for pagination (default: 0)',
150
+ },
151
+ size: {
152
+ type: 'number',
153
+ description: 'Number of items per page (default: 20, max: 100)',
154
+ },
155
+ },
156
+ required: ['projectId'],
157
+ },
158
+ };
159
+ //# sourceMappingURL=get-project-member-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-member-list.js","sourceRoot":"","sources":["../../../src/tools/projects/get-project-member-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Get Project Template List Tool
3
+ * Get list of project task templates
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const getProjectTemplateListSchema: z.ZodObject<{
7
+ projectId: z.ZodString;
8
+ page: z.ZodOptional<z.ZodNumber>;
9
+ size: z.ZodOptional<z.ZodNumber>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ projectId: string;
12
+ page?: number | undefined;
13
+ size?: number | undefined;
14
+ }, {
15
+ projectId: string;
16
+ page?: number | undefined;
17
+ size?: number | undefined;
18
+ }>;
19
+ export type GetProjectTemplateListInput = z.infer<typeof getProjectTemplateListSchema>;
20
+ export declare function getProjectTemplateListHandler(args: GetProjectTemplateListInput): Promise<{
21
+ content: {
22
+ type: string;
23
+ text: string;
24
+ }[];
25
+ isError?: undefined;
26
+ } | {
27
+ content: {
28
+ type: string;
29
+ text: string;
30
+ }[];
31
+ isError: boolean;
32
+ }>;
33
+ export declare const getProjectTemplateListTool: {
34
+ name: string;
35
+ description: string;
36
+ inputSchema: {
37
+ type: string;
38
+ properties: {
39
+ projectId: {
40
+ type: string;
41
+ description: string;
42
+ };
43
+ page: {
44
+ type: string;
45
+ description: string;
46
+ };
47
+ size: {
48
+ type: string;
49
+ description: string;
50
+ };
51
+ };
52
+ required: string[];
53
+ };
54
+ };
55
+ //# sourceMappingURL=get-project-template-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-template-list.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/get-project-template-list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAEvF,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B;;;;;;;;;;;;GAiCpF;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CA0CtC,CAAC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /**
3
+ * Get Project Template List Tool
4
+ * Get list of project task templates
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.getProjectTemplateListTool = exports.getProjectTemplateListSchema = void 0;
41
+ exports.getProjectTemplateListHandler = getProjectTemplateListHandler;
42
+ const zod_1 = require("zod");
43
+ const projectsApi = __importStar(require("../../api/projects.js"));
44
+ const errors_js_1 = require("../../utils/errors.js");
45
+ const response_filters_js_1 = require("../../utils/response-filters.js");
46
+ exports.getProjectTemplateListSchema = zod_1.z.object({
47
+ projectId: zod_1.z.string().describe('Project ID to get templates from'),
48
+ page: zod_1.z.number().optional().describe('Page number (default: 0)'),
49
+ size: zod_1.z.number().optional().describe('Items per page (default: 20, max: 100)'),
50
+ });
51
+ async function getProjectTemplateListHandler(args) {
52
+ try {
53
+ const result = await projectsApi.getProjectTemplates({
54
+ projectId: args.projectId,
55
+ page: args.page,
56
+ size: args.size,
57
+ });
58
+ // Filter to compact response to reduce token usage
59
+ const compactResult = {
60
+ totalCount: result.totalCount,
61
+ data: result.data.map(response_filters_js_1.filterTemplateForList),
62
+ };
63
+ return {
64
+ content: [
65
+ {
66
+ type: 'text',
67
+ text: JSON.stringify(compactResult, null, 2),
68
+ },
69
+ ],
70
+ };
71
+ }
72
+ catch (error) {
73
+ return {
74
+ content: [
75
+ {
76
+ type: 'text',
77
+ text: `Error: ${(0, errors_js_1.formatError)(error)}`,
78
+ },
79
+ ],
80
+ isError: true,
81
+ };
82
+ }
83
+ }
84
+ exports.getProjectTemplateListTool = {
85
+ name: 'get-project-template-list',
86
+ description: `Get list of project task templates.
87
+
88
+ Templates are pre-created task structures with predefined title and body content. This tool retrieves all available templates in a project.
89
+
90
+ **URL Pattern Recognition**:
91
+ When given a Dooray URL like "https://nhnent.dooray.com/task/PROJECT_ID", extract the PROJECT_ID (the first numeric ID after "/task/") and use it as the projectId parameter.
92
+
93
+ **Note**: Returns compact response with essential fields only (id and templateName).
94
+
95
+ **Pagination**:
96
+ - Default page size is 20 (maximum: 100)
97
+ - Use page parameter to get additional pages if totalCount > size
98
+ - Set size parameter to control items per page (max: 100)
99
+
100
+ Examples:
101
+ - Get all templates (first page): {"projectId": "123456"}
102
+ - Get second page: {"projectId": "123456", "page": 1, "size": 20}
103
+ - Get with custom page size: {"projectId": "123456", "page": 0, "size": 50}
104
+
105
+ Returns a paginated response with totalCount and an array of templates containing id and templateName.
106
+
107
+ Templates help users quickly create tasks with predefined structure and content, useful for common task types like bug reports, feature requests, or documentation tasks.`,
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {
111
+ projectId: {
112
+ type: 'string',
113
+ description: 'Project ID to get templates from',
114
+ },
115
+ page: {
116
+ type: 'number',
117
+ description: 'Page number for pagination (default: 0)',
118
+ },
119
+ size: {
120
+ type: 'number',
121
+ description: 'Number of items per page (default: 20, max: 100)',
122
+ },
123
+ },
124
+ required: ['projectId'],
125
+ },
126
+ };
127
+ //# sourceMappingURL=get-project-template-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-template-list.js","sourceRoot":"","sources":["../../../src/tools/projects/get-project-template-list.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,sEAiCC;AA9CD,6BAAwB;AACxB,mEAAqD;AACrD,qDAAoD;AACpD,yEAAwE;AAE3D,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAClE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC/E,CAAC,CAAC;AAII,KAAK,UAAU,6BAA6B,CAAC,IAAiC;IACnF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,aAAa,GAAG;YACpB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2CAAqB,CAAC;SAC7C,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE;iBACrC;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,0BAA0B,GAAG;IACxC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;0KAqB2J;IACxK,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Get Project Template Tool
3
+ * Get detailed information about a specific project template
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const getProjectTemplateSchema: z.ZodObject<{
7
+ projectId: z.ZodString;
8
+ templateId: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ projectId: string;
11
+ templateId: string;
12
+ }, {
13
+ projectId: string;
14
+ templateId: string;
15
+ }>;
16
+ export type GetProjectTemplateInput = z.infer<typeof getProjectTemplateSchema>;
17
+ export declare function getProjectTemplateHandler(args: GetProjectTemplateInput): Promise<{
18
+ content: {
19
+ type: string;
20
+ text: string;
21
+ }[];
22
+ isError?: undefined;
23
+ } | {
24
+ content: {
25
+ type: string;
26
+ text: string;
27
+ }[];
28
+ isError: boolean;
29
+ }>;
30
+ export declare const getProjectTemplateTool: {
31
+ name: string;
32
+ description: string;
33
+ inputSchema: {
34
+ type: string;
35
+ properties: {
36
+ projectId: {
37
+ type: string;
38
+ description: string;
39
+ };
40
+ templateId: {
41
+ type: string;
42
+ description: string;
43
+ };
44
+ };
45
+ required: string[];
46
+ };
47
+ };
48
+ //# sourceMappingURL=get-project-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-template.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/get-project-template.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB;;;;;;;;;;;;GA2B5E;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;CAsDlC,CAAC"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /**
3
+ * Get Project Template Tool
4
+ * Get detailed information about a specific project template
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.getProjectTemplateTool = exports.getProjectTemplateSchema = void 0;
41
+ exports.getProjectTemplateHandler = getProjectTemplateHandler;
42
+ const zod_1 = require("zod");
43
+ const projectsApi = __importStar(require("../../api/projects.js"));
44
+ const errors_js_1 = require("../../utils/errors.js");
45
+ exports.getProjectTemplateSchema = zod_1.z.object({
46
+ projectId: zod_1.z.string().describe('Project ID where the template belongs'),
47
+ templateId: zod_1.z.string().describe('Template ID to retrieve'),
48
+ });
49
+ async function getProjectTemplateHandler(args) {
50
+ try {
51
+ const result = await projectsApi.getProjectTemplate({
52
+ projectId: args.projectId,
53
+ templateId: args.templateId,
54
+ });
55
+ // Return FULL template (no filtering) - needed for task creation
56
+ return {
57
+ content: [
58
+ {
59
+ type: 'text',
60
+ text: JSON.stringify(result, null, 2),
61
+ },
62
+ ],
63
+ };
64
+ }
65
+ catch (error) {
66
+ return {
67
+ content: [
68
+ {
69
+ type: 'text',
70
+ text: `Error: ${(0, errors_js_1.formatError)(error)}`,
71
+ },
72
+ ],
73
+ isError: true,
74
+ };
75
+ }
76
+ }
77
+ exports.getProjectTemplateTool = {
78
+ name: 'get-project-template',
79
+ description: `Get detailed information about a specific project template.
80
+
81
+ This tool retrieves complete template details including body, guide, subject, users, tags, and milestone. The returned data is intended for creating new tasks from templates.
82
+
83
+ **IMPORTANT - Full Details Returned**:
84
+ This tool returns ALL template fields (not filtered) because:
85
+ - Template data will be used for creating new tasks
86
+ - Need body, guide, subject, users, tags, milestone for task creation
87
+ - This is a detail view, not a list view
88
+
89
+ **Template Macros**:
90
+ Template macros like \${year}, \${month}, etc. are returned as-is (not interpolated). These can be processed when creating tasks if needed.
91
+
92
+ **URL Pattern Recognition**:
93
+ When given a Dooray URL like "https://nhnent.dooray.com/task/PROJECT_ID", extract the PROJECT_ID (the first numeric ID after "/task/") and use it as the projectId parameter.
94
+
95
+ **How to get template IDs**:
96
+ Use the \`get-project-template-list\` tool to list all templates in a project and get their IDs.
97
+
98
+ Examples:
99
+ - Get template details: {"projectId": "123456", "templateId": "789012"}
100
+ - "Show me details of template 789012 in project 123456"
101
+
102
+ Returns complete template information including:
103
+ - **id**: Template ID
104
+ - **templateName**: Template name
105
+ - **project**: Project info (id, code)
106
+ - **body**: Template body with mimeType and content (markdown or HTML)
107
+ - **guide**: Template guide/instructions with mimeType and content
108
+ - **subject**: Default task subject
109
+ - **users**: Default assignees (to) and CC
110
+ - **tags**: Default tag IDs
111
+ - **milestone**: Default milestone (id, name)
112
+ - **priority**: Default priority level
113
+ - **dueDate**, **dueDateFlag**: Default due date settings
114
+ - **isDefault**: Whether this is the default template
115
+
116
+ Use this tool to get full template details before creating a new task from the template.`,
117
+ inputSchema: {
118
+ type: 'object',
119
+ properties: {
120
+ projectId: {
121
+ type: 'string',
122
+ description: 'Project ID where the template belongs',
123
+ },
124
+ templateId: {
125
+ type: 'string',
126
+ description: 'Template ID to retrieve',
127
+ },
128
+ },
129
+ required: ['projectId', 'templateId'],
130
+ },
131
+ };
132
+ //# sourceMappingURL=get-project-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-template.js","sourceRoot":"","sources":["../../../src/tools/projects/get-project-template.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,8DA2BC;AAtCD,6BAAwB;AACxB,mEAAqD;AACrD,qDAAoD;AAEvC,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACvE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC3D,CAAC,CAAC;AAII,KAAK,UAAU,yBAAyB,CAAC,IAA6B;IAC3E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QAEH,iEAAiE;QACjE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE;iBACrC;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,sBAAsB,GAAG;IACpC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFAqC0E;IACvF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yBAAyB;aACvC;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;KACtC;CACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Get Project Workflow List Tool
3
+ * Retrieve workflow statuses (업무 상태) for a project
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const getProjectWorkflowListSchema: z.ZodObject<{
7
+ projectId: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ projectId: string;
10
+ }, {
11
+ projectId: string;
12
+ }>;
13
+ export type GetProjectWorkflowListInput = z.infer<typeof getProjectWorkflowListSchema>;
14
+ export declare function getProjectWorkflowListHandler(args: GetProjectWorkflowListInput): Promise<{
15
+ content: {
16
+ type: string;
17
+ text: string;
18
+ }[];
19
+ isError?: undefined;
20
+ } | {
21
+ content: {
22
+ type: string;
23
+ text: string;
24
+ }[];
25
+ isError: boolean;
26
+ }>;
27
+ export declare const getProjectWorkflowListTool: {
28
+ name: string;
29
+ description: string;
30
+ inputSchema: {
31
+ type: string;
32
+ properties: {
33
+ projectId: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ };
38
+ required: string[];
39
+ };
40
+ };
41
+ //# sourceMappingURL=get-project-workflow-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-workflow-list.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/get-project-workflow-list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAEvF,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B;;;;;;;;;;;;GA4BpF;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CA6BtC,CAAC"}