@xbg.solutions/utils-work-mgmt-connector 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Work Management Connector Barrel Export
3
+ */
4
+ export * from './types';
5
+ export * from './work-mgmt-connector';
6
+ export * from './providers/clickup-provider';
7
+ export * from './providers/monday-provider';
8
+ export * from './providers/notion-provider';
9
+ import { WorkManagementConnector } from './work-mgmt-connector';
10
+ export declare function initializeWorkManagementConnector(config: any): void;
11
+ export declare function createWorkManagementConnector(): WorkManagementConnector | null;
12
+ export declare function getWorkManagementConnector(): WorkManagementConnector | null;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAQhE,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAInE;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,GAAG,IAAI,CAoC9E;AAID,wBAAgB,0BAA0B,IAAI,uBAAuB,GAAG,IAAI,CAK3E"}
package/lib/index.js ADDED
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /**
3
+ * Work Management Connector Barrel Export
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.initializeWorkManagementConnector = initializeWorkManagementConnector;
21
+ exports.createWorkManagementConnector = createWorkManagementConnector;
22
+ exports.getWorkManagementConnector = getWorkManagementConnector;
23
+ __exportStar(require("./types"), exports);
24
+ __exportStar(require("./work-mgmt-connector"), exports);
25
+ __exportStar(require("./providers/clickup-provider"), exports);
26
+ __exportStar(require("./providers/monday-provider"), exports);
27
+ __exportStar(require("./providers/notion-provider"), exports);
28
+ const work_mgmt_connector_1 = require("./work-mgmt-connector");
29
+ const clickup_provider_1 = require("./providers/clickup-provider");
30
+ const monday_provider_1 = require("./providers/monday-provider");
31
+ const notion_provider_1 = require("./providers/notion-provider");
32
+ // Config is provided via initializeWorkManagementConnector() at app startup
33
+ let connectorConfig = null;
34
+ function initializeWorkManagementConnector(config) {
35
+ connectorConfig = config;
36
+ // Reset singleton so it gets re-created with new config
37
+ workManagementConnectorInstance = undefined;
38
+ }
39
+ function createWorkManagementConnector() {
40
+ if (!connectorConfig) {
41
+ throw new Error('Work management connector not initialized. Call initializeWorkManagementConnector() first.');
42
+ }
43
+ if (!connectorConfig.workManagement.enabled) {
44
+ return null;
45
+ }
46
+ const provider = connectorConfig.workManagement.provider;
47
+ if (provider === 'clickup') {
48
+ const config = connectorConfig.workManagement.providers.clickup;
49
+ if (!(config === null || config === void 0 ? void 0 : config.apiKey)) {
50
+ throw new Error('ClickUp API key is required');
51
+ }
52
+ return new work_mgmt_connector_1.WorkManagementConnector(new clickup_provider_1.ClickUpProvider(config));
53
+ }
54
+ if (provider === 'monday') {
55
+ const config = connectorConfig.workManagement.providers.monday;
56
+ if (!(config === null || config === void 0 ? void 0 : config.apiKey)) {
57
+ throw new Error('Monday.com API key is required');
58
+ }
59
+ return new work_mgmt_connector_1.WorkManagementConnector(new monday_provider_1.MondayProvider(config));
60
+ }
61
+ if (provider === 'notion') {
62
+ const config = connectorConfig.workManagement.providers.notion;
63
+ if (!(config === null || config === void 0 ? void 0 : config.apiKey)) {
64
+ throw new Error('Notion API key is required');
65
+ }
66
+ return new work_mgmt_connector_1.WorkManagementConnector(new notion_provider_1.NotionProvider(config));
67
+ }
68
+ throw new Error(`Unsupported work management provider: ${provider}`);
69
+ }
70
+ let workManagementConnectorInstance;
71
+ function getWorkManagementConnector() {
72
+ if (workManagementConnectorInstance === undefined) {
73
+ workManagementConnectorInstance = createWorkManagementConnector();
74
+ }
75
+ return workManagementConnectorInstance;
76
+ }
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAgBH,8EAIC;AAED,sEAoCC;AAID,gEAKC;AAjED,0CAAwB;AACxB,wDAAsC;AACtC,+DAA6C;AAC7C,8DAA4C;AAC5C,8DAA4C;AAE5C,+DAAgE;AAChE,mEAA+D;AAC/D,iEAA6D;AAC7D,iEAA6D;AAE7D,4EAA4E;AAC5E,IAAI,eAAe,GAAQ,IAAI,CAAC;AAEhC,SAAgB,iCAAiC,CAAC,MAAW;IAC3D,eAAe,GAAG,MAAM,CAAC;IACzB,wDAAwD;IACxD,+BAA+B,GAAG,SAAS,CAAC;AAC9C,CAAC;AAED,SAAgB,6BAA6B;IAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC;IAEzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC;QAChE,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,6CAAuB,CAAC,IAAI,kCAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,6CAAuB,CAAC,IAAI,gCAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,6CAAuB,CAAC,IAAI,gCAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,IAAI,+BAA2E,CAAC;AAEhF,SAAgB,0BAA0B;IACxC,IAAI,+BAA+B,KAAK,SAAS,EAAE,CAAC;QAClD,+BAA+B,GAAG,6BAA6B,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * ClickUp Provider for Work Management Connector
3
+ * https://clickup.com/api
4
+ */
5
+ import { WorkManagementProvider } from '../work-mgmt-connector';
6
+ import { WorkTask, CreateTaskRequest, UpdateTaskRequest, WorkArticle, CreateArticleRequest, UpdateArticleRequest, Workspace, WorkList, WorkComment, CreateCommentRequest, WorkQueryOptions } from '../types';
7
+ export interface ClickUpProviderConfig {
8
+ apiKey: string;
9
+ }
10
+ export declare class ClickUpProvider implements WorkManagementProvider {
11
+ private client;
12
+ constructor(config: ClickUpProviderConfig);
13
+ getTask(taskId: string): Promise<WorkTask>;
14
+ getTasks(listId: string, options?: WorkQueryOptions): Promise<WorkTask[]>;
15
+ createTask(request: CreateTaskRequest): Promise<WorkTask>;
16
+ updateTask(taskId: string, updates: UpdateTaskRequest): Promise<WorkTask>;
17
+ deleteTask(taskId: string): Promise<void>;
18
+ getArticle(articleId: string): Promise<WorkArticle>;
19
+ getArticles(parentId?: string, options?: WorkQueryOptions): Promise<WorkArticle[]>;
20
+ createArticle(request: CreateArticleRequest): Promise<WorkArticle>;
21
+ updateArticle(articleId: string, updates: UpdateArticleRequest): Promise<WorkArticle>;
22
+ deleteArticle(articleId: string): Promise<void>;
23
+ getWorkspaces(): Promise<Workspace[]>;
24
+ getWorkspace(workspaceId: string): Promise<Workspace>;
25
+ getLists(workspaceId: string): Promise<WorkList[]>;
26
+ getList(listId: string): Promise<WorkList>;
27
+ getComments(targetId: string): Promise<WorkComment[]>;
28
+ createComment(request: CreateCommentRequest): Promise<WorkComment>;
29
+ private mapClickUpTaskToWorkTask;
30
+ private mapClickUpTaskToArticle;
31
+ private mapPriorityToClickUp;
32
+ private mapClickUpPriority;
33
+ }
34
+ //# sourceMappingURL=clickup-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickup-provider.d.ts","sourceRoot":"","sources":["../../src/providers/clickup-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAgB,YAAW,sBAAsB;IAC5D,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,qBAAqB;IAUnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK1C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWzE,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAazD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAazE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKnD,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMlF,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAUlE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQrF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAarC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAOrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAelD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAS1C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAarD,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAexE,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ /**
3
+ * ClickUp Provider for Work Management Connector
4
+ * https://clickup.com/api
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ClickUpProvider = void 0;
11
+ const axios_1 = __importDefault(require("axios"));
12
+ class ClickUpProvider {
13
+ constructor(config) {
14
+ this.client = axios_1.default.create({
15
+ baseURL: 'https://api.clickup.com/api/v2',
16
+ headers: {
17
+ 'Authorization': config.apiKey,
18
+ 'Content-Type': 'application/json',
19
+ },
20
+ });
21
+ }
22
+ async getTask(taskId) {
23
+ const response = await this.client.get(`/task/${taskId}`);
24
+ return this.mapClickUpTaskToWorkTask(response.data);
25
+ }
26
+ async getTasks(listId, options) {
27
+ var _a, _b;
28
+ const response = await this.client.get(`/list/${listId}/task`, {
29
+ params: {
30
+ page: (options === null || options === void 0 ? void 0 : options.page) || 0,
31
+ order_by: (_a = options === null || options === void 0 ? void 0 : options.sort) === null || _a === void 0 ? void 0 : _a.field,
32
+ reverse: ((_b = options === null || options === void 0 ? void 0 : options.sort) === null || _b === void 0 ? void 0 : _b.order) === 'desc',
33
+ },
34
+ });
35
+ return response.data.tasks.map((task) => this.mapClickUpTaskToWorkTask(task));
36
+ }
37
+ async createTask(request) {
38
+ var _a;
39
+ const response = await this.client.post(`/list/${request.listId}/task`, {
40
+ name: request.title,
41
+ description: request.description,
42
+ status: request.status,
43
+ priority: this.mapPriorityToClickUp(request.priority),
44
+ assignees: request.assigneeIds,
45
+ due_date: (_a = request.dueDate) === null || _a === void 0 ? void 0 : _a.getTime(),
46
+ tags: request.tags,
47
+ });
48
+ return this.mapClickUpTaskToWorkTask(response.data);
49
+ }
50
+ async updateTask(taskId, updates) {
51
+ const payload = {};
52
+ if (updates.title)
53
+ payload.name = updates.title;
54
+ if (updates.description)
55
+ payload.description = updates.description;
56
+ if (updates.status)
57
+ payload.status = updates.status;
58
+ if (updates.priority)
59
+ payload.priority = this.mapPriorityToClickUp(updates.priority);
60
+ if (updates.assigneeIds)
61
+ payload.assignees = { add: updates.assigneeIds };
62
+ if (updates.dueDate)
63
+ payload.due_date = updates.dueDate.getTime();
64
+ const response = await this.client.put(`/task/${taskId}`, payload);
65
+ return this.mapClickUpTaskToWorkTask(response.data);
66
+ }
67
+ async deleteTask(taskId) {
68
+ await this.client.delete(`/task/${taskId}`);
69
+ }
70
+ // ClickUp doesn't have native "article" support, so we use Docs API or tasks with rich descriptions
71
+ async getArticle(articleId) {
72
+ const response = await this.client.get(`/task/${articleId}`);
73
+ return this.mapClickUpTaskToArticle(response.data);
74
+ }
75
+ async getArticles(parentId, options) {
76
+ if (!parentId)
77
+ throw new Error('Parent list ID required for ClickUp');
78
+ const response = await this.client.get(`/list/${parentId}/task`);
79
+ return response.data.tasks.map((task) => this.mapClickUpTaskToArticle(task));
80
+ }
81
+ async createArticle(request) {
82
+ if (!request.parentId)
83
+ throw new Error('Parent list ID required for ClickUp');
84
+ const response = await this.client.post(`/list/${request.parentId}/task`, {
85
+ name: request.title,
86
+ description: request.content,
87
+ tags: request.tags,
88
+ });
89
+ return this.mapClickUpTaskToArticle(response.data);
90
+ }
91
+ async updateArticle(articleId, updates) {
92
+ const payload = {};
93
+ if (updates.title)
94
+ payload.name = updates.title;
95
+ if (updates.content)
96
+ payload.description = updates.content;
97
+ const response = await this.client.put(`/task/${articleId}`, payload);
98
+ return this.mapClickUpTaskToArticle(response.data);
99
+ }
100
+ async deleteArticle(articleId) {
101
+ await this.client.delete(`/task/${articleId}`);
102
+ }
103
+ async getWorkspaces() {
104
+ const response = await this.client.get('/team');
105
+ return response.data.teams.map((team) => {
106
+ var _a;
107
+ return ({
108
+ id: team.id,
109
+ name: team.name,
110
+ members: (_a = team.members) === null || _a === void 0 ? void 0 : _a.map((m) => ({
111
+ id: m.user.id.toString(),
112
+ name: m.user.username,
113
+ role: m.user.role,
114
+ })),
115
+ });
116
+ });
117
+ }
118
+ async getWorkspace(workspaceId) {
119
+ const workspaces = await this.getWorkspaces();
120
+ const workspace = workspaces.find(w => w.id === workspaceId);
121
+ if (!workspace)
122
+ throw new Error('Workspace not found');
123
+ return workspace;
124
+ }
125
+ async getLists(workspaceId) {
126
+ const response = await this.client.get(`/team/${workspaceId}/space`);
127
+ const lists = [];
128
+ for (const space of response.data.spaces) {
129
+ const spaceResponse = await this.client.get(`/space/${space.id}/list`);
130
+ lists.push(...spaceResponse.data.lists.map((list) => ({
131
+ id: list.id,
132
+ name: list.name,
133
+ workspaceId,
134
+ taskCount: list.task_count,
135
+ })));
136
+ }
137
+ return lists;
138
+ }
139
+ async getList(listId) {
140
+ const response = await this.client.get(`/list/${listId}`);
141
+ return {
142
+ id: response.data.id,
143
+ name: response.data.name,
144
+ taskCount: response.data.task_count,
145
+ };
146
+ }
147
+ async getComments(targetId) {
148
+ const response = await this.client.get(`/task/${targetId}/comment`);
149
+ return response.data.comments.map((comment) => ({
150
+ id: comment.id,
151
+ text: comment.comment_text,
152
+ author: {
153
+ id: comment.user.id.toString(),
154
+ name: comment.user.username,
155
+ },
156
+ createdAt: new Date(parseInt(comment.date)),
157
+ }));
158
+ }
159
+ async createComment(request) {
160
+ const response = await this.client.post(`/task/${request.targetId}/comment`, {
161
+ comment_text: request.text,
162
+ });
163
+ return {
164
+ id: response.data.id,
165
+ text: request.text,
166
+ author: {
167
+ id: response.data.user.id.toString(),
168
+ name: response.data.user.username,
169
+ },
170
+ createdAt: new Date(parseInt(response.data.date)),
171
+ };
172
+ }
173
+ mapClickUpTaskToWorkTask(task) {
174
+ var _a, _b;
175
+ return {
176
+ id: task.id,
177
+ title: task.name,
178
+ description: task.description,
179
+ status: task.status.status,
180
+ priority: this.mapClickUpPriority(task.priority),
181
+ assignees: (_a = task.assignees) === null || _a === void 0 ? void 0 : _a.map((a) => ({
182
+ id: a.id.toString(),
183
+ name: a.username,
184
+ email: a.email,
185
+ })),
186
+ dueDate: task.due_date ? new Date(parseInt(task.due_date)) : undefined,
187
+ tags: (_b = task.tags) === null || _b === void 0 ? void 0 : _b.map((t) => t.name),
188
+ createdAt: new Date(parseInt(task.date_created)),
189
+ updatedAt: new Date(parseInt(task.date_updated)),
190
+ url: task.url,
191
+ };
192
+ }
193
+ mapClickUpTaskToArticle(task) {
194
+ var _a;
195
+ return {
196
+ id: task.id,
197
+ title: task.name,
198
+ content: task.description || '',
199
+ tags: (_a = task.tags) === null || _a === void 0 ? void 0 : _a.map((t) => t.name),
200
+ createdAt: new Date(parseInt(task.date_created)),
201
+ updatedAt: new Date(parseInt(task.date_updated)),
202
+ url: task.url,
203
+ };
204
+ }
205
+ mapPriorityToClickUp(priority) {
206
+ const map = { urgent: 1, high: 2, medium: 3, low: 4 };
207
+ return priority ? map[priority] : null;
208
+ }
209
+ mapClickUpPriority(priority) {
210
+ if (!priority)
211
+ return undefined;
212
+ const map = { 1: 'urgent', 2: 'high', 3: 'medium', 4: 'low' };
213
+ return map[priority.priority];
214
+ }
215
+ }
216
+ exports.ClickUpProvider = ClickUpProvider;
217
+ //# sourceMappingURL=clickup-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickup-provider.js","sourceRoot":"","sources":["../../src/providers/clickup-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Monday.com Provider for Work Management Connector
3
+ * https://developer.monday.com/api-reference/docs
4
+ */
5
+ import { WorkManagementProvider } from '../work-mgmt-connector';
6
+ import { WorkTask, CreateTaskRequest, UpdateTaskRequest, WorkArticle, CreateArticleRequest, UpdateArticleRequest, Workspace, WorkList, WorkComment, CreateCommentRequest, WorkQueryOptions } from '../types';
7
+ export interface MondayProviderConfig {
8
+ apiKey: string;
9
+ }
10
+ export declare class MondayProvider implements WorkManagementProvider {
11
+ private client;
12
+ constructor(config: MondayProviderConfig);
13
+ private query;
14
+ getTask(taskId: string): Promise<WorkTask>;
15
+ getTasks(listId: string, options?: WorkQueryOptions): Promise<WorkTask[]>;
16
+ createTask(request: CreateTaskRequest): Promise<WorkTask>;
17
+ updateTask(taskId: string, updates: UpdateTaskRequest): Promise<WorkTask>;
18
+ deleteTask(taskId: string): Promise<void>;
19
+ getArticle(articleId: string): Promise<WorkArticle>;
20
+ getArticles(parentId?: string, options?: WorkQueryOptions): Promise<WorkArticle[]>;
21
+ createArticle(request: CreateArticleRequest): Promise<WorkArticle>;
22
+ updateArticle(articleId: string, updates: UpdateArticleRequest): Promise<WorkArticle>;
23
+ deleteArticle(articleId: string): Promise<void>;
24
+ getWorkspaces(): Promise<Workspace[]>;
25
+ getWorkspace(workspaceId: string): Promise<Workspace>;
26
+ getLists(workspaceId: string): Promise<WorkList[]>;
27
+ getList(listId: string): Promise<WorkList>;
28
+ getComments(targetId: string): Promise<WorkComment[]>;
29
+ createComment(request: CreateCommentRequest): Promise<WorkComment>;
30
+ private mapMondayItemToTask;
31
+ private mapMondayDocToArticle;
32
+ }
33
+ //# sourceMappingURL=monday-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monday-provider.d.ts","sourceRoot":"","sources":["../../src/providers/monday-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,YAAW,sBAAsB;IAC3D,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,oBAAoB;YAU1B,KAAK;IAQb,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM1C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAMzE,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMzD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOzE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAMnD,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMlF,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IASlE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IASrF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAUrC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAUrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWlD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU1C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAcrD,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAcxE,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,qBAAqB;CAU9B"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ /**
3
+ * Monday.com Provider for Work Management Connector
4
+ * https://developer.monday.com/api-reference/docs
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MondayProvider = void 0;
11
+ const axios_1 = __importDefault(require("axios"));
12
+ class MondayProvider {
13
+ constructor(config) {
14
+ this.client = axios_1.default.create({
15
+ baseURL: 'https://api.monday.com/v2',
16
+ headers: {
17
+ 'Authorization': config.apiKey,
18
+ 'Content-Type': 'application/json',
19
+ },
20
+ });
21
+ }
22
+ async query(query, variables) {
23
+ const response = await this.client.post('', { query, variables });
24
+ if (response.data.errors) {
25
+ throw new Error(response.data.errors[0].message);
26
+ }
27
+ return response.data.data;
28
+ }
29
+ async getTask(taskId) {
30
+ const query = `query { items(ids: [${taskId}]) { id name column_values { id text } state group { title } created_at updated_at } }`;
31
+ const data = await this.query(query);
32
+ return this.mapMondayItemToTask(data.items[0]);
33
+ }
34
+ async getTasks(listId, options) {
35
+ const query = `query { boards(ids: [${listId}]) { items(limit: ${(options === null || options === void 0 ? void 0 : options.limit) || 100}) { id name column_values { id text } state group { title } created_at updated_at } } }`;
36
+ const data = await this.query(query);
37
+ return data.boards[0].items.map((item) => this.mapMondayItemToTask(item));
38
+ }
39
+ async createTask(request) {
40
+ const mutation = `mutation { create_item(board_id: ${request.listId}, item_name: "${request.title}") { id name created_at } }`;
41
+ const data = await this.query(mutation);
42
+ return this.mapMondayItemToTask(data.create_item);
43
+ }
44
+ async updateTask(taskId, updates) {
45
+ const columnValues = JSON.stringify({});
46
+ const mutation = `mutation { change_multiple_column_values(item_id: ${taskId}, board_id: 0, column_values: "${columnValues.replace(/"/g, '\\"')}") { id name } }`;
47
+ const data = await this.query(mutation);
48
+ return this.mapMondayItemToTask(data.change_multiple_column_values);
49
+ }
50
+ async deleteTask(taskId) {
51
+ const mutation = `mutation { delete_item(item_id: ${taskId}) { id } }`;
52
+ await this.query(mutation);
53
+ }
54
+ // Monday.com uses Docs for articles
55
+ async getArticle(articleId) {
56
+ const query = `query { docs(ids: [${articleId}]) { id name content created_at updated_at url } }`;
57
+ const data = await this.query(query);
58
+ return this.mapMondayDocToArticle(data.docs[0]);
59
+ }
60
+ async getArticles(parentId, options) {
61
+ const query = `query { docs(limit: ${(options === null || options === void 0 ? void 0 : options.limit) || 100}) { id name content created_at updated_at url } }`;
62
+ const data = await this.query(query);
63
+ return data.docs.map((doc) => this.mapMondayDocToArticle(doc));
64
+ }
65
+ async createArticle(request) {
66
+ const mutation = `mutation { create_doc(location: { workspace: ${request.parentId || 0} }, doc_kind: wiki) { id name url } }`;
67
+ const data = await this.query(mutation);
68
+ // Update content separately
69
+ const updateMutation = `mutation { update_doc(doc_id: ${data.create_doc.id}, content: "${request.content.replace(/"/g, '\\"')}") { id } }`;
70
+ await this.query(updateMutation);
71
+ return this.mapMondayDocToArticle(data.create_doc);
72
+ }
73
+ async updateArticle(articleId, updates) {
74
+ if (updates.content) {
75
+ const mutation = `mutation { update_doc(doc_id: ${articleId}, content: "${updates.content.replace(/"/g, '\\"')}") { id name content } }`;
76
+ const data = await this.query(mutation);
77
+ return this.mapMondayDocToArticle(data.update_doc);
78
+ }
79
+ return this.getArticle(articleId);
80
+ }
81
+ async deleteArticle(articleId) {
82
+ const mutation = `mutation { delete_doc(doc_id: ${articleId}) { id } }`;
83
+ await this.query(mutation);
84
+ }
85
+ async getWorkspaces() {
86
+ const query = `query { workspaces { id name description } }`;
87
+ const data = await this.query(query);
88
+ return data.workspaces.map((ws) => ({
89
+ id: ws.id,
90
+ name: ws.name,
91
+ description: ws.description,
92
+ }));
93
+ }
94
+ async getWorkspace(workspaceId) {
95
+ const query = `query { workspaces(ids: [${workspaceId}]) { id name description } }`;
96
+ const data = await this.query(query);
97
+ return {
98
+ id: data.workspaces[0].id,
99
+ name: data.workspaces[0].name,
100
+ description: data.workspaces[0].description,
101
+ };
102
+ }
103
+ async getLists(workspaceId) {
104
+ const query = `query { boards(workspace_ids: [${workspaceId}]) { id name description } }`;
105
+ const data = await this.query(query);
106
+ return data.boards.map((board) => ({
107
+ id: board.id,
108
+ name: board.name,
109
+ workspaceId,
110
+ description: board.description,
111
+ }));
112
+ }
113
+ async getList(listId) {
114
+ const query = `query { boards(ids: [${listId}]) { id name description } }`;
115
+ const data = await this.query(query);
116
+ return {
117
+ id: data.boards[0].id,
118
+ name: data.boards[0].name,
119
+ description: data.boards[0].description,
120
+ };
121
+ }
122
+ async getComments(targetId) {
123
+ const query = `query { items(ids: [${targetId}]) { updates { id body creator { id name } created_at } } }`;
124
+ const data = await this.query(query);
125
+ return data.items[0].updates.map((update) => ({
126
+ id: update.id,
127
+ text: update.body,
128
+ author: {
129
+ id: update.creator.id,
130
+ name: update.creator.name,
131
+ },
132
+ createdAt: new Date(update.created_at),
133
+ }));
134
+ }
135
+ async createComment(request) {
136
+ const mutation = `mutation { create_update(item_id: ${request.targetId}, body: "${request.text.replace(/"/g, '\\"')}") { id body creator { id name } created_at } }`;
137
+ const data = await this.query(mutation);
138
+ return {
139
+ id: data.create_update.id,
140
+ text: data.create_update.body,
141
+ author: {
142
+ id: data.create_update.creator.id,
143
+ name: data.create_update.creator.name,
144
+ },
145
+ createdAt: new Date(data.create_update.created_at),
146
+ };
147
+ }
148
+ mapMondayItemToTask(item) {
149
+ var _a;
150
+ return {
151
+ id: item.id,
152
+ title: item.name,
153
+ status: item.state || ((_a = item.group) === null || _a === void 0 ? void 0 : _a.title) || 'no status',
154
+ createdAt: new Date(item.created_at),
155
+ updatedAt: new Date(item.updated_at || item.created_at),
156
+ };
157
+ }
158
+ mapMondayDocToArticle(doc) {
159
+ return {
160
+ id: doc.id,
161
+ title: doc.name,
162
+ content: doc.content || '',
163
+ createdAt: doc.created_at ? new Date(doc.created_at) : undefined,
164
+ updatedAt: doc.updated_at ? new Date(doc.updated_at) : undefined,
165
+ url: doc.url,
166
+ };
167
+ }
168
+ }
169
+ exports.MondayProvider = MondayProvider;
170
+ //# sourceMappingURL=monday-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monday-provider.js","sourceRoot":"","sources":["../../src/providers/monday-provider.ts"],"names":[],"mappings":"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"}