@geonheeye/dooray-mcp 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geonheeye/dooray-mcp",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "MCP server for Dooray",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,7 +8,8 @@
8
8
  "dooray-mcp": "dist/index.js"
9
9
  },
10
10
  "scripts": {
11
- "build": "tsc",
11
+ "clean": "rm -rf dist",
12
+ "build": "npm run clean && tsc",
12
13
  "dev": "tsx src/index.ts",
13
14
  "prepare": "npm run build",
14
15
  "watch": "tsc --watch"
@@ -1,27 +0,0 @@
1
- /**
2
- * Dooray Board API
3
- * 게시판 목록, 게시글 목록/상세/작성
4
- * 주의: api.dooray.com이 아닌 조직 전용 도메인(tenantUrl) 사용
5
- */
6
- import { Board, BoardArticle, BoardListParams, BoardArticleListParams, CreateBoardArticleParams } from '../types/dooray-api.js';
7
- /**
8
- * 게시판 목록 조회
9
- * boardPermission='canwrite'이면 글쓰기 가능한 게시판만 반환
10
- */
11
- export declare function getBoardList(params?: BoardListParams): Promise<Board[]>;
12
- /**
13
- * 특정 게시판의 게시글 목록 조회
14
- */
15
- export declare function getBoardArticleList(params: BoardArticleListParams): Promise<{
16
- totalCount: number;
17
- result: BoardArticle[];
18
- }>;
19
- /**
20
- * 특정 게시글 상세 조회
21
- */
22
- export declare function getBoardArticle(boardId: string, articleId: string): Promise<BoardArticle>;
23
- /**
24
- * 새 게시글 작성
25
- */
26
- export declare function createBoardArticle(params: CreateBoardArticleParams): Promise<BoardArticle>;
27
- //# sourceMappingURL=board.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/api/board.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAqDhI;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAe7E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAoBjI;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAU/F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkBhG"}
package/dist/api/board.js DELETED
@@ -1,152 +0,0 @@
1
- "use strict";
2
- /**
3
- * Dooray Board API
4
- * 게시판 목록, 게시글 목록/상세/작성
5
- * 주의: api.dooray.com이 아닌 조직 전용 도메인(tenantUrl) 사용
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.getBoardList = getBoardList;
45
- exports.getBoardArticleList = getBoardArticleList;
46
- exports.getBoardArticle = getBoardArticle;
47
- exports.createBoardArticle = createBoardArticle;
48
- const axios_1 = __importDefault(require("axios"));
49
- const logger_js_1 = require("../utils/logger.js");
50
- const commonApi = __importStar(require("./common.js"));
51
- const BOARD_BASE = '/v2/wapi/board';
52
- /**
53
- * Board API용 axios 인스턴스 생성
54
- * tenantUrl이 없으면 에러
55
- */
56
- function getBoardAxios() {
57
- const tenantUrl = process.env.DOORAY_TENANT_URL;
58
- const apiToken = process.env.DOORAY_API_TOKEN;
59
- if (!tenantUrl) {
60
- throw new Error('DOORAY_TENANT_URL 환경변수가 필요합니다. (예: https://ligaccuver.dooray.com)');
61
- }
62
- if (!apiToken) {
63
- throw new Error('DOORAY_API_TOKEN 환경변수가 필요합니다.');
64
- }
65
- const instance = axios_1.default.create({
66
- baseURL: tenantUrl,
67
- timeout: 30000,
68
- headers: {
69
- 'Content-Type': 'application/json',
70
- Authorization: `dooray-api ${apiToken}`,
71
- },
72
- });
73
- instance.interceptors.response.use((response) => response, (error) => {
74
- if (error.response) {
75
- const { status, data } = error.response;
76
- const message = data?.header?.resultMessage || data?.message || 'Board API request failed';
77
- throw new Error(`Board API Error ${status}: ${message}`);
78
- }
79
- throw new Error(`Board API Network Error: ${error.message}`);
80
- });
81
- return instance;
82
- }
83
- /**
84
- * 현재 사용자의 조직 ID 조회
85
- */
86
- async function getOrgId() {
87
- const me = await commonApi.getMyMemberInfo();
88
- return me.defaultOrganization.id;
89
- }
90
- /**
91
- * 게시판 목록 조회
92
- * boardPermission='canwrite'이면 글쓰기 가능한 게시판만 반환
93
- */
94
- async function getBoardList(params) {
95
- const instance = getBoardAxios();
96
- const orgId = await getOrgId();
97
- const queryParams = {};
98
- if (params?.boardPermission) {
99
- queryParams.boardPermission = params.boardPermission;
100
- }
101
- logger_js_1.logger.debug(`Board list: GET ${BOARD_BASE}/organizations/${orgId}/boards`);
102
- const response = await instance.get(`${BOARD_BASE}/organizations/${orgId}/boards`, {
103
- params: queryParams,
104
- });
105
- return response.data?.result ?? response.data ?? [];
106
- }
107
- /**
108
- * 특정 게시판의 게시글 목록 조회
109
- */
110
- async function getBoardArticleList(params) {
111
- const instance = getBoardAxios();
112
- const orgId = await getOrgId();
113
- logger_js_1.logger.debug(`Article list: GET ${BOARD_BASE}/organizations/${orgId}/boards/${params.boardId}/articles`);
114
- const response = await instance.get(`${BOARD_BASE}/organizations/${orgId}/boards/${params.boardId}/articles`, {
115
- params: {
116
- page: params.page ?? 0,
117
- size: params.size ?? 20,
118
- sort: params.sort ?? '-createdAt',
119
- },
120
- });
121
- return {
122
- totalCount: response.data?.totalCount ?? 0,
123
- result: response.data?.result ?? response.data ?? [],
124
- };
125
- }
126
- /**
127
- * 특정 게시글 상세 조회
128
- */
129
- async function getBoardArticle(boardId, articleId) {
130
- const instance = getBoardAxios();
131
- const orgId = await getOrgId();
132
- logger_js_1.logger.debug(`Article detail: GET ${BOARD_BASE}/organizations/${orgId}/boards/${boardId}/articles/${articleId}`);
133
- const response = await instance.get(`${BOARD_BASE}/organizations/${orgId}/boards/${boardId}/articles/${articleId}`);
134
- return response.data?.result ?? response.data;
135
- }
136
- /**
137
- * 새 게시글 작성
138
- */
139
- async function createBoardArticle(params) {
140
- const instance = getBoardAxios();
141
- const orgId = await getOrgId();
142
- const body = {
143
- subject: params.subject,
144
- };
145
- if (params.body) {
146
- body.body = params.body;
147
- }
148
- logger_js_1.logger.debug(`Create article: POST ${BOARD_BASE}/organizations/${orgId}/boards/${params.boardId}/articles`);
149
- const response = await instance.post(`${BOARD_BASE}/organizations/${orgId}/boards/${params.boardId}/articles`, body);
150
- return response.data?.result ?? response.data;
151
- }
152
- //# sourceMappingURL=board.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/api/board.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- /**
2
- * Create Board Article Tool
3
- * 게시판에 새 게시글 작성
4
- * - api.dooray.com/board/v1/ 경로 시도
5
- */
6
- import { z } from 'zod';
7
- export declare const createBoardArticleSchema: z.ZodObject<{
8
- boardId: z.ZodString;
9
- subject: z.ZodString;
10
- body: z.ZodOptional<z.ZodObject<{
11
- mimeType: z.ZodEnum<["text/x-markdown", "text/html"]>;
12
- content: z.ZodString;
13
- }, "strip", z.ZodTypeAny, {
14
- mimeType: "text/x-markdown" | "text/html";
15
- content: string;
16
- }, {
17
- mimeType: "text/x-markdown" | "text/html";
18
- content: string;
19
- }>>;
20
- }, "strip", z.ZodTypeAny, {
21
- subject: string;
22
- boardId: string;
23
- body?: {
24
- mimeType: "text/x-markdown" | "text/html";
25
- content: string;
26
- } | undefined;
27
- }, {
28
- subject: string;
29
- boardId: string;
30
- body?: {
31
- mimeType: "text/x-markdown" | "text/html";
32
- content: string;
33
- } | undefined;
34
- }>;
35
- export type CreateBoardArticleInput = z.infer<typeof createBoardArticleSchema>;
36
- export declare function createBoardArticleHandler(args: CreateBoardArticleInput): Promise<{
37
- content: {
38
- type: string;
39
- text: string;
40
- }[];
41
- isError?: undefined;
42
- } | {
43
- content: {
44
- type: string;
45
- text: string;
46
- }[];
47
- isError: boolean;
48
- }>;
49
- export declare const createBoardArticleTool: {
50
- name: string;
51
- description: string;
52
- inputSchema: {
53
- type: string;
54
- properties: {
55
- boardId: {
56
- type: string;
57
- description: string;
58
- };
59
- subject: {
60
- type: string;
61
- description: string;
62
- };
63
- body: {
64
- type: string;
65
- properties: {
66
- mimeType: {
67
- type: string;
68
- enum: string[];
69
- description: string;
70
- };
71
- content: {
72
- type: string;
73
- description: string;
74
- };
75
- };
76
- required: string[];
77
- description: string;
78
- };
79
- };
80
- required: string[];
81
- };
82
- };
83
- //# sourceMappingURL=create-board-article.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-board-article.d.ts","sourceRoot":"","sources":["../../../src/tools/board/create-board-article.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB;;;;;;;;;;;;GAkB5E;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ClC,CAAC"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- /**
3
- * Create Board Article Tool
4
- * 게시판에 새 게시글 작성
5
- * - api.dooray.com/board/v1/ 경로 시도
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.createBoardArticleTool = exports.createBoardArticleSchema = void 0;
9
- exports.createBoardArticleHandler = createBoardArticleHandler;
10
- const zod_1 = require("zod");
11
- const client_js_1 = require("../../api/client.js");
12
- const errors_js_1 = require("../../utils/errors.js");
13
- exports.createBoardArticleSchema = zod_1.z.object({
14
- boardId: zod_1.z.string().describe('게시판 ID (get-board-list로 확인)'),
15
- subject: zod_1.z.string().describe('게시글 제목'),
16
- body: zod_1.z
17
- .object({
18
- mimeType: zod_1.z.enum(['text/x-markdown', 'text/html']).describe('본문 형식'),
19
- content: zod_1.z.string().describe('본문 내용'),
20
- })
21
- .optional()
22
- .describe('게시글 본문 (생략 가능)'),
23
- });
24
- async function createBoardArticleHandler(args) {
25
- try {
26
- const client = (0, client_js_1.getClient)();
27
- const body = { subject: args.subject };
28
- if (args.body) {
29
- body.body = args.body;
30
- }
31
- const result = await client.post(`/board/v1/boards/${args.boardId}/articles`, body);
32
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
33
- }
34
- catch (error) {
35
- return { content: [{ type: 'text', text: `Error: ${(0, errors_js_1.formatError)(error)}` }], isError: true };
36
- }
37
- }
38
- exports.createBoardArticleTool = {
39
- name: 'create-board-article',
40
- description: `Dooray 게시판에 새 게시글을 작성합니다.
41
-
42
- **게시판 목록** (get-board-list 또는 직접 지정):
43
- - 공지사항: 3561711369881274094
44
- - IDEA WAVE: 4277035360118307866
45
- - 자유게시판: 3561716073963872408
46
- - 동호회 게시판: 3561718778999255241
47
-
48
- **body.mimeType**:
49
- - text/x-markdown: Markdown 형식
50
- - text/html: HTML 형식
51
-
52
- Returns: 생성된 게시글 정보`,
53
- inputSchema: {
54
- type: 'object',
55
- properties: {
56
- boardId: {
57
- type: 'string',
58
- description: '게시판 ID (get-board-list로 확인)',
59
- },
60
- subject: {
61
- type: 'string',
62
- description: '게시글 제목 (필수)',
63
- },
64
- body: {
65
- type: 'object',
66
- properties: {
67
- mimeType: {
68
- type: 'string',
69
- enum: ['text/x-markdown', 'text/html'],
70
- description: '본문 형식',
71
- },
72
- content: {
73
- type: 'string',
74
- description: '본문 내용',
75
- },
76
- },
77
- required: ['mimeType', 'content'],
78
- description: '게시글 본문 (생략 가능)',
79
- },
80
- },
81
- required: ['boardId', 'subject'],
82
- },
83
- };
84
- //# sourceMappingURL=create-board-article.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-board-article.js","sourceRoot":"","sources":["../../../src/tools/board/create-board-article.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAoBH,8DAkBC;AApCD,6BAAwB;AACxB,mDAAgD;AAChD,qDAAoD;AAEvC,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC3D,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtC,IAAI,EAAE,OAAC;SACJ,MAAM,CAAC;QACN,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;KACtC,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,gBAAgB,CAAC;CAC9B,CAAC,CAAC;AAII,KAAK,UAAU,yBAAyB,CAAC,IAA6B;IAC3E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;QAE3B,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,oBAAoB,IAAI,CAAC,OAAO,WAAW,EAC3C,IAAI,CACL,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9F,CAAC;AACH,CAAC;AAEY,QAAA,sBAAsB,GAAG;IACpC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;;;;;;oBAYK;IAClB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,aAAa;aAC3B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;wBACtC,WAAW,EAAE,OAAO;qBACrB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,OAAO;qBACrB;iBACF;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBACjC,WAAW,EAAE,gBAAgB;aAC9B;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;KACjC;CACF,CAAC"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Get Board Article List Tool
3
- * 특정 게시판의 게시글 목록 조회
4
- */
5
- import { z } from 'zod';
6
- export declare const getBoardArticleListSchema: z.ZodObject<{
7
- boardId: z.ZodString;
8
- page: z.ZodOptional<z.ZodNumber>;
9
- size: z.ZodOptional<z.ZodNumber>;
10
- sort: z.ZodOptional<z.ZodString>;
11
- }, "strip", z.ZodTypeAny, {
12
- boardId: string;
13
- page?: number | undefined;
14
- size?: number | undefined;
15
- sort?: string | undefined;
16
- }, {
17
- boardId: string;
18
- page?: number | undefined;
19
- size?: number | undefined;
20
- sort?: string | undefined;
21
- }>;
22
- export type GetBoardArticleListInput = z.infer<typeof getBoardArticleListSchema>;
23
- export declare function getBoardArticleListHandler(args: GetBoardArticleListInput): Promise<{
24
- content: {
25
- type: string;
26
- text: string;
27
- }[];
28
- isError?: undefined;
29
- } | {
30
- content: {
31
- type: string;
32
- text: string;
33
- }[];
34
- isError: boolean;
35
- }>;
36
- export declare const getBoardArticleListTool: {
37
- name: string;
38
- description: string;
39
- inputSchema: {
40
- type: string;
41
- properties: {
42
- boardId: {
43
- type: string;
44
- description: string;
45
- };
46
- page: {
47
- type: string;
48
- description: string;
49
- };
50
- size: {
51
- type: string;
52
- description: string;
53
- };
54
- sort: {
55
- type: string;
56
- description: string;
57
- };
58
- };
59
- required: string[];
60
- };
61
- };
62
- //# sourceMappingURL=get-board-article-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-board-article-list.d.ts","sourceRoot":"","sources":["../../../src/tools/board/get-board-article-list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;GAY9E;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;CAwCnC,CAAC"}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- /**
3
- * Get Board Article List Tool
4
- * 특정 게시판의 게시글 목록 조회
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.getBoardArticleListTool = exports.getBoardArticleListSchema = void 0;
41
- exports.getBoardArticleListHandler = getBoardArticleListHandler;
42
- const zod_1 = require("zod");
43
- const boardApi = __importStar(require("../../api/board.js"));
44
- const errors_js_1 = require("../../utils/errors.js");
45
- exports.getBoardArticleListSchema = zod_1.z.object({
46
- boardId: zod_1.z.string().describe('게시판 ID (get-board-list로 확인)'),
47
- page: zod_1.z.number().optional().describe('페이지 번호 (0부터 시작, 기본값: 0)'),
48
- size: zod_1.z.number().optional().describe('페이지 크기 (기본값: 20)'),
49
- sort: zod_1.z.string().optional().describe('정렬 기준 (기본값: -createdAt, 최신순)'),
50
- });
51
- async function getBoardArticleListHandler(args) {
52
- try {
53
- const result = await boardApi.getBoardArticleList({
54
- boardId: args.boardId,
55
- page: args.page,
56
- size: args.size,
57
- sort: args.sort,
58
- });
59
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
60
- }
61
- catch (error) {
62
- return { content: [{ type: 'text', text: `Error: ${(0, errors_js_1.formatError)(error)}` }], isError: true };
63
- }
64
- }
65
- exports.getBoardArticleListTool = {
66
- name: 'get-board-article-list',
67
- description: `특정 게시판의 게시글 목록을 조회합니다.
68
-
69
- **필수**: boardId
70
- **필수 환경변수**: DOORAY_TENANT_URL
71
-
72
- **게시판 목록** (get-board-list 또는 직접 지정):
73
- - 공지사항: 3561711369881274094
74
- - IDEA WAVE: 4277035360118307866
75
- - 자유게시판: 3561716073963872408
76
- - 동호회 게시판: 3561718778999255241
77
-
78
- **정렬(sort)**:
79
- - -createdAt: 최신순 (기본값)
80
- - createdAt: 오래된순
81
-
82
- Returns: 게시글 ID, 제목, 작성자, 작성일, totalCount`,
83
- inputSchema: {
84
- type: 'object',
85
- properties: {
86
- boardId: {
87
- type: 'string',
88
- description: '게시판 ID (get-board-list 도구로 확인)',
89
- },
90
- page: {
91
- type: 'number',
92
- description: '페이지 번호 (0부터 시작, 기본값: 0)',
93
- },
94
- size: {
95
- type: 'number',
96
- description: '페이지 크기 (기본값: 20, 최대 100)',
97
- },
98
- sort: {
99
- type: 'string',
100
- description: '정렬: -createdAt(최신순), createdAt(오래된순)',
101
- },
102
- },
103
- required: ['boardId'],
104
- },
105
- };
106
- //# sourceMappingURL=get-board-article-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-board-article-list.js","sourceRoot":"","sources":["../../../src/tools/board/get-board-article-list.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,gEAYC;AAzBD,6BAAwB;AACxB,6DAA+C;AAC/C,qDAAoD;AAEvC,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC3D,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACxD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACrE,CAAC,CAAC;AAII,KAAK,UAAU,0BAA0B,CAAC,IAA8B;IAC7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9F,CAAC;AACH,CAAC;AAEY,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE;;;;;;;;;;;;;;;0CAe2B;IACxC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAC9C;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yBAAyB;aACvC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B;aACxC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sCAAsC;aACpD;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Get Board Article Tool
3
- * 특정 게시글 상세 조회
4
- */
5
- import { z } from 'zod';
6
- export declare const getBoardArticleSchema: z.ZodObject<{
7
- boardId: z.ZodString;
8
- articleId: z.ZodString;
9
- }, "strip", z.ZodTypeAny, {
10
- boardId: string;
11
- articleId: string;
12
- }, {
13
- boardId: string;
14
- articleId: string;
15
- }>;
16
- export type GetBoardArticleInput = z.infer<typeof getBoardArticleSchema>;
17
- export declare function getBoardArticleHandler(args: GetBoardArticleInput): 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 getBoardArticleTool: {
31
- name: string;
32
- description: string;
33
- inputSchema: {
34
- type: string;
35
- properties: {
36
- boardId: {
37
- type: string;
38
- description: string;
39
- };
40
- articleId: {
41
- type: string;
42
- description: string;
43
- };
44
- };
45
- required: string[];
46
- };
47
- };
48
- //# sourceMappingURL=get-board-article.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-board-article.d.ts","sourceRoot":"","sources":["../../../src/tools/board/get-board-article.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB;;;;;;;;;;;;GAOtE;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAsB/B,CAAC"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- /**
3
- * Get Board Article Tool
4
- * 특정 게시글 상세 조회
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.getBoardArticleTool = exports.getBoardArticleSchema = void 0;
41
- exports.getBoardArticleHandler = getBoardArticleHandler;
42
- const zod_1 = require("zod");
43
- const boardApi = __importStar(require("../../api/board.js"));
44
- const errors_js_1 = require("../../utils/errors.js");
45
- exports.getBoardArticleSchema = zod_1.z.object({
46
- boardId: zod_1.z.string().describe('게시판 ID'),
47
- articleId: zod_1.z.string().describe('게시글 ID'),
48
- });
49
- async function getBoardArticleHandler(args) {
50
- try {
51
- const result = await boardApi.getBoardArticle(args.boardId, args.articleId);
52
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
53
- }
54
- catch (error) {
55
- return { content: [{ type: 'text', text: `Error: ${(0, errors_js_1.formatError)(error)}` }], isError: true };
56
- }
57
- }
58
- exports.getBoardArticleTool = {
59
- name: 'get-board-article',
60
- description: `게시판의 특정 게시글 상세 내용을 조회합니다.
61
-
62
- **필수**: boardId + articleId (get-board-article-list로 확인)
63
- **필수 환경변수**: DOORAY_TENANT_URL
64
-
65
- Returns: 게시글 제목, 본문 내용(HTML/Markdown), 작성자, 작성일`,
66
- inputSchema: {
67
- type: 'object',
68
- properties: {
69
- boardId: {
70
- type: 'string',
71
- description: '게시판 ID',
72
- },
73
- articleId: {
74
- type: 'string',
75
- description: '게시글 ID',
76
- },
77
- },
78
- required: ['boardId', 'articleId'],
79
- },
80
- };
81
- //# sourceMappingURL=get-board-article.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-board-article.js","sourceRoot":"","sources":["../../../src/tools/board/get-board-article.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,wDAOC;AAlBD,6BAAwB;AACxB,6DAA+C;AAC/C,qDAAoD;AAEvC,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;CACzC,CAAC,CAAC;AAII,KAAK,UAAU,sBAAsB,CAAC,IAA0B;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9F,CAAC;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE;;;;;gDAKiC;IAC9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;KACnC;CACF,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Get Board List Tool
3
- * 하드코딩된 게시판 목록 반환
4
- * - Dooray 공개 REST API에 게시판 목록 엔드포인트 없음
5
- * - wapi 엔드포인트는 세션 인증 필요 (API 토큰 불가)
6
- */
7
- import { z } from 'zod';
8
- export declare const getBoardListSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
9
- export declare function getBoardListHandler(): Promise<{
10
- content: {
11
- type: string;
12
- text: string;
13
- }[];
14
- }>;
15
- export declare const getBoardListTool: {
16
- name: string;
17
- description: string;
18
- inputSchema: {
19
- type: string;
20
- properties: {};
21
- };
22
- };
23
- //# sourceMappingURL=get-board-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-board-list.d.ts","sourceRoot":"","sources":["../../../src/tools/board/get-board-list.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,gDAAe,CAAC;AAS/C,wBAAsB,mBAAmB;;;;;GAExC;AAED,eAAO,MAAM,gBAAgB;;;;;;;CAS5B,CAAC"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- /**
3
- * Get Board List Tool
4
- * 하드코딩된 게시판 목록 반환
5
- * - Dooray 공개 REST API에 게시판 목록 엔드포인트 없음
6
- * - wapi 엔드포인트는 세션 인증 필요 (API 토큰 불가)
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.getBoardListTool = exports.getBoardListSchema = void 0;
10
- exports.getBoardListHandler = getBoardListHandler;
11
- const zod_1 = require("zod");
12
- exports.getBoardListSchema = zod_1.z.object({});
13
- const BOARDS = [
14
- { id: '3561711369881274094', name: '공지사항' },
15
- { id: '4277035360118307866', name: 'IDEA WAVE' },
16
- { id: '3561716073963872408', name: '자유게시판' },
17
- { id: '3561718778999255241', name: '동호회 게시판' },
18
- ];
19
- async function getBoardListHandler() {
20
- return { content: [{ type: 'text', text: JSON.stringify(BOARDS, null, 2) }] };
21
- }
22
- exports.getBoardListTool = {
23
- name: 'get-board-list',
24
- description: `Dooray 게시판(Board) 목록을 반환합니다.
25
-
26
- Returns: 게시판 ID, 이름 목록`,
27
- inputSchema: {
28
- type: 'object',
29
- properties: {},
30
- },
31
- };
32
- //# sourceMappingURL=get-board-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-board-list.js","sourceRoot":"","sources":["../../../src/tools/board/get-board-list.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAaH,kDAEC;AAbD,6BAAwB;AAEX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE/C,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3C,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,WAAW,EAAE;IAChD,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE;CAC/C,CAAC;AAEK,KAAK,UAAU,mBAAmB;IACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAEY,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;uBAEQ;IACrB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC"}