@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,107 @@
1
+ "use strict";
2
+ /**
3
+ * Get Project Workflow List Tool
4
+ * Retrieve workflow statuses (업무 상태) for a project
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.getProjectWorkflowListTool = exports.getProjectWorkflowListSchema = void 0;
41
+ exports.getProjectWorkflowListHandler = getProjectWorkflowListHandler;
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.getProjectWorkflowListSchema = zod_1.z.object({
47
+ projectId: zod_1.z.string().describe('Project ID to get workflows from'),
48
+ });
49
+ async function getProjectWorkflowListHandler(args) {
50
+ try {
51
+ const result = await projectsApi.getProjectWorkflows({
52
+ projectId: args.projectId,
53
+ });
54
+ // Filter to compact response to reduce token usage
55
+ const compactResult = result.map(response_filters_js_1.filterWorkflowForList);
56
+ return {
57
+ content: [
58
+ {
59
+ type: 'text',
60
+ text: JSON.stringify(compactResult, 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.getProjectWorkflowListTool = {
78
+ name: 'get-project-workflow-list',
79
+ description: `Get list of workflow statuses (업무 상태) for a project.
80
+
81
+ Workflows represent the task statuses available in a project. There are four workflow classes:
82
+ - backlog: 대기 (waiting/backlog)
83
+ - registered: 등록/할 일 (registered/to-do)
84
+ - working: 진행 중 (in progress)
85
+ - closed: 완료 (completed/done)
86
+
87
+ Each project may have custom workflows within these classes. Use workflow IDs when creating or updating tasks (e.g., in create-task or update-task tools).
88
+
89
+ **URL Pattern Recognition**:
90
+ When given a Dooray URL like "https://nhnent.dooray.com/task/PROJECT_ID", extract the PROJECT_ID (the numeric ID after "/task/") and use it as the projectId parameter.
91
+
92
+ Examples:
93
+ - Get all workflows: {"projectId": "1769381697328002548"}
94
+
95
+ Returns: Array of workflows with id, name, order, and class.`,
96
+ inputSchema: {
97
+ type: 'object',
98
+ properties: {
99
+ projectId: {
100
+ type: 'string',
101
+ description: 'Project ID to get workflow statuses from',
102
+ },
103
+ },
104
+ required: ['projectId'],
105
+ },
106
+ };
107
+ //# sourceMappingURL=get-project-workflow-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-workflow-list.js","sourceRoot":"","sources":["../../../src/tools/projects/get-project-workflow-list.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,sEA4BC;AAvCD,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;CACnE,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;SAC1B,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,2CAAqB,CAAC,CAAC;QAExD,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;;;;;;;;;;;;;;;;6DAgB8C;IAC3D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Get Project Tool
3
+ * Get detailed information about a specific project
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const getProjectSchema: z.ZodObject<{
7
+ projectId: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ projectId: string;
10
+ }, {
11
+ projectId: string;
12
+ }>;
13
+ export type GetProjectInput = z.infer<typeof getProjectSchema>;
14
+ export declare function getProjectHandler(args: GetProjectInput): 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 getProjectTool: {
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.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/get-project.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;GAuB5D;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAqC1B,CAAC"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /**
3
+ * Get Project Tool
4
+ * Get detailed information about a specific project
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.getProjectTool = exports.getProjectSchema = void 0;
41
+ exports.getProjectHandler = getProjectHandler;
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.getProjectSchema = zod_1.z.object({
46
+ projectId: zod_1.z.string().describe('Project ID'),
47
+ });
48
+ async function getProjectHandler(args) {
49
+ try {
50
+ const result = await projectsApi.getProjectDetails(args.projectId);
51
+ return {
52
+ content: [
53
+ {
54
+ type: 'text',
55
+ text: JSON.stringify(result, null, 2),
56
+ },
57
+ ],
58
+ };
59
+ }
60
+ catch (error) {
61
+ return {
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: `Error: ${(0, errors_js_1.formatError)(error)}`,
66
+ },
67
+ ],
68
+ isError: true,
69
+ };
70
+ }
71
+ }
72
+ exports.getProjectTool = {
73
+ name: 'get-project',
74
+ description: `Get detailed information about a specific Dooray project.
75
+
76
+ This tool retrieves complete details of a single project including its configuration, scope, organization, and category information.
77
+
78
+ **URL Pattern Recognition**:
79
+ When given a Dooray URL like "https://nhnent.dooray.com/task/PROJECT_ID" or "https://nhnent.dooray.com/task/PROJECT_ID/TASK_ID", extract the PROJECT_ID (the first numeric ID after "/task/") and use it as the projectId parameter.
80
+
81
+ **IMPORTANT**: When a specific project URL is provided, use this tool directly instead of calling get-project-list first.
82
+
83
+ Examples:
84
+ - From URL: Extract "1769381697328002548" from "https://nhnent.dooray.com/task/1769381697328002548" → {"projectId": "1769381697328002548"}
85
+ - From URL with task: Extract "1769381697328002548" from "https://nhnent.dooray.com/task/1769381697328002548/4143841687558152504" → {"projectId": "1769381697328002548"}
86
+ - Direct ID: {"projectId": "123456"}
87
+ - "Show me details of project 123456"
88
+
89
+ Returns project information including:
90
+ - **id**, **code**, **name**: Basic project identifiers
91
+ - **description**: Project description
92
+ - **scope**: private or public
93
+ - **organizationId**: Organization this project belongs to
94
+ - **projectCategoryId**: Category ID (null if no category)
95
+ - **projectType**: default, task, or issue
96
+ - **state**: active or archived
97
+
98
+ Use this to get full details about a specific project when you have its project ID or URL.`,
99
+ inputSchema: {
100
+ type: 'object',
101
+ properties: {
102
+ projectId: {
103
+ type: 'string',
104
+ description: 'Project ID to retrieve details for',
105
+ },
106
+ },
107
+ required: ['projectId'],
108
+ },
109
+ };
110
+ //# sourceMappingURL=get-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project.js","sourceRoot":"","sources":["../../../src/tools/projects/get-project.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,8CAuBC;AAjCD,6BAAwB;AACxB,mEAAqD;AACrD,qDAAoD;AAEvC,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;CAC7C,CAAC,CAAC;AAII,KAAK,UAAU,iBAAiB,CAAC,IAAqB;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnE,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,cAAc,GAAG;IAC5B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;2FAwB4E;IACzF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;aAClD;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Get Tag List Tool
3
+ * Get list of tags for a project
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const getTagListSchema: 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 GetTagListInput = z.infer<typeof getTagListSchema>;
20
+ export declare function getTagListHandler(args: GetTagListInput): 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 getTagListTool: {
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-tag-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-tag-list.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/get-tag-list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;GA8B5D;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CA+D1B,CAAC"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ /**
3
+ * Get Tag List Tool
4
+ * Get list of tags for a project
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.getTagListTool = exports.getTagListSchema = void 0;
41
+ exports.getTagListHandler = getTagListHandler;
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.getTagListSchema = zod_1.z.object({
47
+ projectId: zod_1.z.string().describe('Project ID'),
48
+ page: zod_1.z.number().optional().describe('Page number (default: 0)'),
49
+ size: zod_1.z.number().optional().describe('Items per page (default: 100, max: 100)'),
50
+ });
51
+ async function getTagListHandler(args) {
52
+ try {
53
+ const result = await projectsApi.getTags({
54
+ projectId: args.projectId,
55
+ page: args.page,
56
+ size: args.size,
57
+ });
58
+ // Group tags by tagGroup for better organization
59
+ const groupedResult = (0, response_filters_js_1.groupTagsByTagGroup)(result.data);
60
+ return {
61
+ content: [
62
+ {
63
+ type: 'text',
64
+ text: JSON.stringify(groupedResult, null, 2),
65
+ },
66
+ ],
67
+ };
68
+ }
69
+ catch (error) {
70
+ return {
71
+ content: [
72
+ {
73
+ type: 'text',
74
+ text: `Error: ${(0, errors_js_1.formatError)(error)}`,
75
+ },
76
+ ],
77
+ isError: true,
78
+ };
79
+ }
80
+ }
81
+ exports.getTagListTool = {
82
+ name: 'get-tag-list',
83
+ description: `Get list of tags for a project, grouped by tag groups.
84
+
85
+ Tags are used to categorize and label tasks. This tool retrieves all available tags organized by their tag groups for better clarity.
86
+
87
+ **Response Format**:
88
+ Returns tags grouped by their tagGroup:
89
+ \`\`\`json
90
+ {
91
+ "tagGroups": [
92
+ {
93
+ "id": "group1",
94
+ "name": "Type",
95
+ "mandatory": true,
96
+ "selectOne": true,
97
+ "tags": [
98
+ { "id": "tag1", "name": "Bug" },
99
+ { "id": "tag2", "name": "Feature" }
100
+ ]
101
+ }
102
+ ]
103
+ }
104
+ \`\`\`
105
+
106
+ **CRITICAL - Mandatory Tag Groups**:
107
+ When creating/updating tasks, you MUST include tags from all mandatory tag groups:
108
+ - **mandatory: true** - At least one tag from this group is required
109
+ - **selectOne: true** - Exactly ONE tag must be selected from this group
110
+ - **selectOne: false** - One OR MORE tags must be selected from this group
111
+
112
+ Failing to provide required tags will result in a 500 error.
113
+
114
+ **URL Pattern Recognition**:
115
+ 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.
116
+
117
+ **Pagination**:
118
+ - Default page size is 100 (maximum) to retrieve all tags
119
+ - Use page parameter to get additional pages if totalCount > 100
120
+
121
+ **Examples**:
122
+ - Get all tags: {"projectId": "123456"}
123
+ - Get second page: {"projectId": "123456", "page": 1, "size": 100}
124
+
125
+ Use tag IDs when creating or updating tasks with create-task or update-task tools.`,
126
+ inputSchema: {
127
+ type: 'object',
128
+ properties: {
129
+ projectId: {
130
+ type: 'string',
131
+ description: 'Project ID to get tags from',
132
+ },
133
+ page: {
134
+ type: 'number',
135
+ description: 'Page number for pagination (default: 0)',
136
+ },
137
+ size: {
138
+ type: 'number',
139
+ description: 'Number of items per page (default: 100, max: 100)',
140
+ },
141
+ },
142
+ required: ['projectId'],
143
+ },
144
+ };
145
+ //# sourceMappingURL=get-tag-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-tag-list.js","sourceRoot":"","sources":["../../../src/tools/projects/get-tag-list.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,8CA8BC;AA3CD,6BAAwB;AACxB,mEAAqD;AACrD,qDAAoD;AACpD,yEAAsE;AAEzD,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC5C,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,yCAAyC,CAAC;CAChF,CAAC,CAAC;AAII,KAAK,UAAU,iBAAiB,CAAC,IAAqB;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,aAAa,GAAG,IAAA,yCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvD,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,cAAc,GAAG;IAC5B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA0CoE;IACjF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * MCP Tool: get-tag
3
+ * Get details of a specific tag in a Dooray project
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const getTagSchema: z.ZodObject<{
7
+ projectId: z.ZodString;
8
+ tagId: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ projectId: string;
11
+ tagId: string;
12
+ }, {
13
+ projectId: string;
14
+ tagId: string;
15
+ }>;
16
+ export type GetTagInput = z.infer<typeof getTagSchema>;
17
+ export declare function getTagHandler(args: GetTagInput): 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 getTagTool: {
31
+ name: string;
32
+ description: string;
33
+ inputSchema: {
34
+ type: string;
35
+ properties: {
36
+ projectId: {
37
+ type: string;
38
+ description: string;
39
+ };
40
+ tagId: {
41
+ type: string;
42
+ description: string;
43
+ };
44
+ };
45
+ required: string[];
46
+ };
47
+ };
48
+ //# sourceMappingURL=get-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-tag.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/get-tag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;EAGvB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW;;;;;;;;;;;;GAuBpD;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAkDtB,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tool: get-tag
4
+ * Get details of a specific tag in a Dooray project
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.getTagTool = exports.getTagSchema = void 0;
41
+ exports.getTagHandler = getTagHandler;
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.getTagSchema = zod_1.z.object({
46
+ projectId: zod_1.z.string().describe('Project ID'),
47
+ tagId: zod_1.z.string().describe('Tag ID'),
48
+ });
49
+ async function getTagHandler(args) {
50
+ try {
51
+ const result = await projectsApi.getTagDetails(args.projectId, args.tagId);
52
+ return {
53
+ content: [
54
+ {
55
+ type: 'text',
56
+ text: JSON.stringify(result, null, 2),
57
+ },
58
+ ],
59
+ };
60
+ }
61
+ catch (error) {
62
+ return {
63
+ content: [
64
+ {
65
+ type: 'text',
66
+ text: `Error: ${(0, errors_js_1.formatError)(error)}`,
67
+ },
68
+ ],
69
+ isError: true,
70
+ };
71
+ }
72
+ }
73
+ exports.getTagTool = {
74
+ name: 'get-tag',
75
+ description: `Get details of a specific tag in a Dooray project.
76
+
77
+ **Response Format**:
78
+ \`\`\`json
79
+ {
80
+ "id": "12345",
81
+ "name": "Priority:High",
82
+ "color": "ff0000",
83
+ "tagGroup": {
84
+ "id": "group123",
85
+ "name": "Priority",
86
+ "mandatory": true,
87
+ "selectOne": true
88
+ }
89
+ }
90
+ \`\`\`
91
+
92
+ **Response Fields**:
93
+ - **id**: Tag ID
94
+ - **name**: Tag name (includes group prefix if it's a group tag)
95
+ - **color**: Hex color code without #
96
+ - **tagGroup**: Tag group information (null for individual tags)
97
+ - **id**: Group ID
98
+ - **name**: Group name
99
+ - **mandatory**: If true, at least one tag from this group is required when creating tasks
100
+ - **selectOne**: If true, exactly one tag must be selected; if false, multiple tags can be selected
101
+
102
+ **Examples**:
103
+ - Get tag: \`{"projectId": "123", "tagId": "456"}\`
104
+
105
+ **Use Cases**:
106
+ - Check tag details before assigning to a task
107
+ - Verify tag group settings (mandatory, selectOne)
108
+ - Get tag color and group information`,
109
+ inputSchema: {
110
+ type: 'object',
111
+ properties: {
112
+ projectId: {
113
+ type: 'string',
114
+ description: 'Project ID',
115
+ },
116
+ tagId: {
117
+ type: 'string',
118
+ description: 'Tag ID to get details for',
119
+ },
120
+ },
121
+ required: ['projectId', 'tagId'],
122
+ },
123
+ };
124
+ //# sourceMappingURL=get-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-tag.js","sourceRoot":"","sources":["../../../src/tools/projects/get-tag.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,sCAuBC;AAlCD,6BAAwB;AACxB,mEAAqD;AACrD,qDAAoD;AAEvC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;CACrC,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CAAC,IAAiB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3E,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,UAAU,GAAG;IACxB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAiCuB;IACpC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,YAAY;aAC1B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;aACzC;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;KACjC;CACF,CAAC"}