@taazkareem/clickup-mcp-server 0.12.15 → 0.13.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/README.md +76 -78
- package/build/auth/routes.js +1 -1
- package/build/config.js +1 -1
- package/build/index.js +1 -1
- package/build/license.js +1 -1
- package/build/logger.js +1 -1
- package/build/middleware/auth.js +1 -1
- package/build/middleware/security.js +1 -1
- package/build/prompts.js +1 -1
- package/build/server.js +1 -1
- package/build/services/clickup/base.js +1 -1
- package/build/services/clickup/bulk.js +1 -1
- package/build/services/clickup/chat.js +1 -1
- package/build/services/clickup/custom-field.js +1 -0
- package/build/services/clickup/document.js +1 -1
- package/build/services/clickup/errors.js +1 -1
- package/build/services/clickup/folder.js +1 -1
- package/build/services/clickup/goal.js +1 -0
- package/build/services/clickup/index.js +1 -1
- package/build/services/clickup/list.js +1 -1
- package/build/services/clickup/rate-limiter.js +1 -1
- package/build/services/clickup/tag.js +1 -1
- package/build/services/clickup/task/index.js +1 -1
- package/build/services/clickup/task/task-attachments.js +1 -1
- package/build/services/clickup/task/task-checklists.js +1 -1
- package/build/services/clickup/task/task-comments.js +1 -1
- package/build/services/clickup/task/task-core.js +1 -1
- package/build/services/clickup/task/task-relationships.js +1 -1
- package/build/services/clickup/task/task-search.js +1 -1
- package/build/services/clickup/task/task-service.js +1 -1
- package/build/services/clickup/task/task-tags.js +1 -1
- package/build/services/clickup/task-templates.js +1 -0
- package/build/services/clickup/time.js +1 -1
- package/build/services/clickup/types.js +1 -1
- package/build/services/clickup/view.js +1 -0
- package/build/services/clickup/workspace.js +1 -1
- package/build/services/oauth.js +1 -1
- package/build/services/shared.js +1 -1
- package/build/sse_server.js +1 -1
- package/build/tools/chat/handlers.js +1 -1
- package/build/tools/chat/index.js +1 -1
- package/build/tools/chat/utils.js +1 -1
- package/build/tools/custom-field.js +1 -0
- package/build/tools/documents.js +1 -1
- package/build/tools/feedback.js +1 -1
- package/build/tools/folder.js +1 -1
- package/build/tools/goal.js +1 -0
- package/build/tools/index.js +1 -1
- package/build/tools/list.js +1 -1
- package/build/tools/member.js +1 -1
- package/build/tools/registry.js +1 -1
- package/build/tools/space.js +1 -0
- package/build/tools/tag.js +1 -1
- package/build/tools/task/attachments.js +1 -1
- package/build/tools/task/bulk-operations.js +1 -1
- package/build/tools/task/checklists.js +1 -1
- package/build/tools/task/handlers.js +1 -1
- package/build/tools/task/index.js +1 -1
- package/build/tools/task/main.js +1 -1
- package/build/tools/task/markdown-converter.js +1 -1
- package/build/tools/task/params.js +1 -1
- package/build/tools/task/relationships.js +1 -1
- package/build/tools/task/single-operations.js +1 -1
- package/build/tools/task/time-tracking.js +1 -1
- package/build/tools/task/utilities.js +1 -1
- package/build/tools/task/workspace-operations.js +1 -1
- package/build/tools/task-templates.js +1 -0
- package/build/tools/utils.js +1 -1
- package/build/tools/view.js +1 -0
- package/build/tools/workspace.js +1 -1
- package/build/transport/mcp-handler.js +1 -1
- package/build/utils/cache.js +1 -1
- package/build/utils/color-processor.js +1 -1
- package/build/utils/concurrency-utils.js +1 -1
- package/build/utils/date-utils.js +1 -1
- package/build/utils/log-sanitizer.js +1 -0
- package/build/utils/request-utils.js +1 -0
- package/build/utils/resolver-utils.js +1 -1
- package/build/utils/sponsor-service.js +1 -1
- package/build/utils/token-utils.js +1 -1
- package/package.json +3 -2
- package/build/services/clickup/task/task-custom-fields.js +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# ClickUp MCP Server
|
|
1
|
+
# ClickUp MCP Server — Premium
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|
|
|
5
5
|
<div align="center">
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](LICENSE)
|
|
10
10
|

|
|
11
11
|

|
|
12
|
-
[](https://github.com/TaazKareem/clickup-mcp-server/graphs/commit-activity)
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
15
|
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
*A high-performance Model Context Protocol (MCP) server for managing tasks, checklists, comments, tags, spaces, lists, folders, files, docs, chat, and time using natural language.*
|
|
21
21
|
|
|
22
|
-
**⭐️ Proven Performance:** 460+ Stars (from previous public repo) & thousands of weekly NPM downloads.
|
|
22
|
+
**⭐️ Proven Performance:** 460+ Stars (from previous public repo) & thousands of weekly NPM downloads.
|
|
23
|
+
The industry-standard ClickUp integration for AI.
|
|
23
24
|
|
|
24
25
|
---
|
|
25
26
|
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
<tr style="border: none;">
|
|
38
39
|
<td width="50%" style="vertical-align: top; border: none; padding-bottom: 20px;">
|
|
39
40
|
<strong>🔐 Hybrid Authentication</strong><br>
|
|
40
|
-
MCP spec compliant OAuth 2.1 with advanced security hardening. Backwards compatible with API Key/Team ID.
|
|
41
|
+
MCP spec compliant OAuth 2.1 with advanced security hardening. Backwards compatible with API Key/Team ID. See [Security](docs/security.md).
|
|
41
42
|
</td>
|
|
42
43
|
<td width="50%" style="vertical-align: top; border: none; padding-bottom: 20px;">
|
|
43
44
|
<strong>🔍 Intelligent Search & Resolution</strong><br>
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
<tr style="border: none;">
|
|
48
49
|
<td style="vertical-align: top; border: none; padding-bottom: 20px;">
|
|
49
50
|
<strong>📝 Task Management</strong><br>
|
|
50
|
-
Create, update, move, delete, duplicate, and link tasks. Supports bulk operations, nested subtasks, checklists, natural language dates, custom task IDs, custom task types, and
|
|
51
|
+
Create, update, move, delete, duplicate, and link tasks. Supports bulk operations, nested subtasks, checklists, natural language dates, custom task IDs, custom task types, custom fields, and task templates.
|
|
51
52
|
</td>
|
|
52
53
|
<td style="vertical-align: top; border: none; padding-bottom: 20px;">
|
|
53
54
|
<strong>⏱️ Time Tracking</strong><br>
|
|
@@ -80,11 +81,11 @@
|
|
|
80
81
|
|
|
81
82
|
## <a name="premium-access"></a>💎 Premium Access
|
|
82
83
|
|
|
83
|
-
**This project operates on a Sponsorware model.** A license grants **full access to all
|
|
84
|
+
**This project operates on a Sponsorware model.** A license grants **full access to all 67 premium tools** with any of the following plans:
|
|
84
85
|
|
|
85
|
-
| [**Monthly
|
|
86
|
+
| [**Monthly ($9/mo)**](https://buy.polar.sh/polar_cl_3xQojQLgzQXKCLzsxc49YfL6z8hzSBBqh9ivy1qZdwW?utm_source=github&utm_medium=readme) | [**Annual ($59/yr)**](https://buy.polar.sh/polar_cl_3a8a3055T4CHIoVlSQPsNshOJLUwsM8AHAiIR3y9wTZ?utm_source=github&utm_medium=readme) | [**Lifetime ($89 w/ code**)](https://buy.polar.sh/polar_cl_4ha3uVyJTu4iPZJS1QbBYNTI1MKTvaXXCkZTb45vPPF?utm_source=github&utm_medium=readme) |
|
|
86
87
|
| :--- | :--- | :--- |
|
|
87
|
-
| • Pay-as-you-go flexibility<br>• 3 device activations<br>• Cancel anytime | • ONLY $4.92/mo <br>• 3 device activations<br>• Priority bug fixes | • **25% OFF** code: `
|
|
88
|
+
| • Pay-as-you-go flexibility<br>• 3 device activations<br>• Cancel anytime | • ONLY $4.92/mo <br>• 3 device activations<br>• Priority bug fixes | • **25% OFF** code: `MAR25` <br>• 3 device activations<br>• **Best Value** (One-time payment)|
|
|
88
89
|
|
|
89
90
|
**⚡️ Instant Delivery:** Your License Key is delivered immediately via **Polar.sh**. Total setup time is under 2 minutes.
|
|
90
91
|
|
|
@@ -95,27 +96,21 @@
|
|
|
95
96
|
## 🚀 Quick Start & Installation
|
|
96
97
|
|
|
97
98
|
### 1. Prerequisites
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
* **License Key:** See above
|
|
100
|
+
* **ClickUp API Key** (Optional - not needed for Remote MCP)
|
|
101
|
+
- Log into ClickUp and go to [ClickUp Settings → Apps](https://app.clickup.com/settings/apps).
|
|
102
|
+
- Click **Generate** under "API Token" (or copy your existing one).
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
**ClickUp Team ID:**
|
|
108
|
-
1. Open ClickUp in your browser.
|
|
109
|
-
2. Look at the URL: `https://app.clickup.com/1234567/v/li/987654321`.
|
|
110
|
-
3. The first number (`1234567`) directly after `clickup.com/` is your **Team ID** (Workspace ID).
|
|
111
|
-
</details>
|
|
104
|
+
* **ClickUp Team ID** (Optional - not needed for Remote MCP)
|
|
105
|
+
- Open ClickUp in your browser.
|
|
106
|
+
- Look at the URL: `https://app.clickup.com/1234567/v/li/987654321`.
|
|
107
|
+
- The first number (`1234567`) directly after `clickup.com/` is your **Team ID** (Workspace ID).
|
|
112
108
|
|
|
113
109
|
### 2. Choose your Integration
|
|
114
110
|
|
|
115
111
|
<a name="cursor-setup"></a>
|
|
116
112
|
<details open>
|
|
117
|
-
<summary> <img src="./assets/logos/cursor-white.svg" height="22" align="center"> <strong>Cursor</strong></summary>
|
|
118
|
-
<br>
|
|
113
|
+
<summary> <img src="./assets/logos/cursor-white.svg" height="22" align="center"> <strong>Cursor</strong></summary>
|
|
119
114
|
|
|
120
115
|
**Configuration Path:** `<project-root>/.cursor/mcp.json`
|
|
121
116
|
|
|
@@ -153,8 +148,7 @@
|
|
|
153
148
|
|
|
154
149
|
<a name="windsurf-setup"></a>
|
|
155
150
|
<details>
|
|
156
|
-
<summary> <img src="./assets/logos/windsurf-white.svg" height="22" align="center"> <strong>Windsurf</strong></summary>
|
|
157
|
-
<br>
|
|
151
|
+
<summary> <img src="./assets/logos/windsurf-white.svg" height="22" align="center"> <strong>Windsurf</strong></summary>
|
|
158
152
|
|
|
159
153
|
**Configuration Path:** `<project-root>/.codeium/windsurf/mcp_config.json`
|
|
160
154
|
|
|
@@ -192,8 +186,7 @@
|
|
|
192
186
|
|
|
193
187
|
<a name="vscode-setup"></a>
|
|
194
188
|
<details>
|
|
195
|
-
<summary> <img src="./assets/logos/visual-studio-code.svg" height="22" align="center"> <strong>VS Code</strong></summary>
|
|
196
|
-
<br>
|
|
189
|
+
<summary> <img src="./assets/logos/visual-studio-code.svg" height="22" align="center"> <strong>VS Code</strong></summary>
|
|
197
190
|
|
|
198
191
|
**Configuration Paths:**
|
|
199
192
|
- **Global:** `~/Library/Application Support/Code/User/mcp.json`
|
|
@@ -233,8 +226,7 @@
|
|
|
233
226
|
|
|
234
227
|
<a name="roocode-setup"></a>
|
|
235
228
|
<details>
|
|
236
|
-
<summary> <img src="https://avatars.githubusercontent.com/u/211522643?s=200&v=4" height="22" align="center" style="border-radius: 4px;"> <strong>Roo Code</strong></summary>
|
|
237
|
-
<br>
|
|
229
|
+
<summary> <img src="https://avatars.githubusercontent.com/u/211522643?s=200&v=4" height="22" align="center" style="border-radius: 4px;"> <strong>Roo Code</strong></summary>
|
|
238
230
|
|
|
239
231
|
**Configuration Path:** `<project-root>/.roo/mcp.json`
|
|
240
232
|
|
|
@@ -272,8 +264,7 @@
|
|
|
272
264
|
|
|
273
265
|
<a name="claude-desktop-setup"></a>
|
|
274
266
|
<details>
|
|
275
|
-
<summary> <img src="./assets/logos/claude.svg" height="22" align="center"> <strong>Claude Desktop</strong></summary>
|
|
276
|
-
<br>
|
|
267
|
+
<summary> <img src="./assets/logos/claude.svg" height="22" align="center"> <strong>Claude Desktop</strong></summary>
|
|
277
268
|
|
|
278
269
|
**Configuration Path:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
279
270
|
|
|
@@ -296,8 +287,7 @@
|
|
|
296
287
|
|
|
297
288
|
<a name="claude-code-setup"></a>
|
|
298
289
|
<details>
|
|
299
|
-
<summary> <img src="https://cdn.simpleicons.org/anthropic/D97757" height="22" align="center"> <strong>Claude Code (CLI)</strong></summary>
|
|
300
|
-
<br>
|
|
290
|
+
<summary> <img src="https://cdn.simpleicons.org/anthropic/D97757" height="22" align="center"> <strong>Claude Code (CLI)</strong></summary>
|
|
301
291
|
|
|
302
292
|
Run this command in your terminal:
|
|
303
293
|
```bash
|
|
@@ -308,8 +298,7 @@ claude mcp add --transport http ClickUp https://clickup-mcp.taazkareem.com/mcp \
|
|
|
308
298
|
|
|
309
299
|
<a name="n8n-setup"></a>
|
|
310
300
|
<details>
|
|
311
|
-
<summary> <img src="https://cdn.simpleicons.org/n8n/FF6D5A" height="22" align="center"> <strong>n8n</strong></summary>
|
|
312
|
-
<br>
|
|
301
|
+
<summary> <img src="https://cdn.simpleicons.org/n8n/FF6D5A" height="22" align="center"> <strong>n8n</strong></summary>
|
|
313
302
|
|
|
314
303
|
**Option A: Cloud / Remote (Recommended)**
|
|
315
304
|
1. In n8n, add an **"MCP Client"** node.
|
|
@@ -328,8 +317,7 @@ In n8n, use URL: `http://host.docker.internal:3231/mcp`
|
|
|
328
317
|
|
|
329
318
|
<a name="gemini-setup"></a>
|
|
330
319
|
<details>
|
|
331
|
-
<summary> <img src="https://cdn.simpleicons.org/googlegemini/8E75C2" height="22" align="center"> <strong>Gemini CLI</strong></summary>
|
|
332
|
-
<br>
|
|
320
|
+
<summary> <img src="https://cdn.simpleicons.org/googlegemini/8E75C2" height="22" align="center"> <strong>Gemini CLI</strong></summary>
|
|
333
321
|
|
|
334
322
|
**Configuration Path:** `~/.gemini/settings.json`
|
|
335
323
|
```json
|
|
@@ -346,8 +334,7 @@ In n8n, use URL: `http://host.docker.internal:3231/mcp`
|
|
|
346
334
|
|
|
347
335
|
<a name="antigravity-setup"></a>
|
|
348
336
|
<details>
|
|
349
|
-
<summary> <img src="./assets/logos/antigravity.svg" height="22" align="center"> <strong>Antigravity</strong></summary>
|
|
350
|
-
<br>
|
|
337
|
+
<summary> <img src="./assets/logos/antigravity.svg" height="22" align="center"> <strong>Antigravity</strong></summary>
|
|
351
338
|
|
|
352
339
|
**Configuration Path:** `~/.gemini/antigravity/mcp_config.json`
|
|
353
340
|
```json
|
|
@@ -364,8 +351,7 @@ In n8n, use URL: `http://host.docker.internal:3231/mcp`
|
|
|
364
351
|
|
|
365
352
|
<a name="codex-setup"></a>
|
|
366
353
|
<details>
|
|
367
|
-
<summary> <img src="./assets/logos/openai-icon.svg" height="22" align="center"> <strong>Codex (CLI, Desktop, IDE)</strong></summary>
|
|
368
|
-
<br>
|
|
354
|
+
<summary> <img src="./assets/logos/openai-icon.svg" height="22" align="center"> <strong>Codex (CLI, Desktop, IDE)</strong></summary>
|
|
369
355
|
|
|
370
356
|
Codex clients (CLI, Desktop App, and VS Code extension) share a single source of truth for configuration.
|
|
371
357
|
|
|
@@ -400,8 +386,7 @@ env = {
|
|
|
400
386
|
|
|
401
387
|
<a name="chatgpt-setup"></a>
|
|
402
388
|
<details>
|
|
403
|
-
<summary> <img src="./assets/logos/openai-icon.svg" height="22" align="center"> <strong>ChatGPT (Developer Mode)</strong></summary>
|
|
404
|
-
<br>
|
|
389
|
+
<summary> <img src="./assets/logos/openai-icon.svg" height="22" align="center"> <strong>ChatGPT (Developer Mode)</strong></summary>
|
|
405
390
|
|
|
406
391
|
*Note: Requires a Business, Enterprise, or Edu workspace with Developer Mode enabled.*
|
|
407
392
|
|
|
@@ -418,8 +403,7 @@ env = {
|
|
|
418
403
|
|
|
419
404
|
<a name="augment-setup"></a>
|
|
420
405
|
<details>
|
|
421
|
-
<summary> <img src="./assets/logos/augment-code.svg" height="22" align="center"> <strong>Augment Code</strong></summary>
|
|
422
|
-
<br>
|
|
406
|
+
<summary> <img src="./assets/logos/augment-code.svg" height="22" align="center"> <strong>Augment Code</strong></summary>
|
|
423
407
|
|
|
424
408
|
**Configuration Path:** `<project-root>/.augment/settings.json`
|
|
425
409
|
```json
|
|
@@ -438,8 +422,7 @@ env = {
|
|
|
438
422
|
|
|
439
423
|
<a name="auggierun-setup"></a>
|
|
440
424
|
<details>
|
|
441
|
-
<summary> <img src="./assets/logos/augment-code.svg" height="22" align="center"> <strong>Auggie CLI</strong></summary>
|
|
442
|
-
<br>
|
|
425
|
+
<summary> <img src="./assets/logos/augment-code.svg" height="22" align="center"> <strong>Auggie CLI</strong></summary>
|
|
443
426
|
|
|
444
427
|
Run this command in your terminal:
|
|
445
428
|
```bash
|
|
@@ -450,8 +433,7 @@ auggie mcp add ClickUp --url https://clickup-mcp.taazkareem.com/mcp \
|
|
|
450
433
|
|
|
451
434
|
<a name="openclaw-setup"></a>
|
|
452
435
|
<details>
|
|
453
|
-
<summary> <img src="./assets/logos/openclaw-logo.svg" height="22" align="center"> <strong>OpenClaw (via mcporter) </strong></summary>
|
|
454
|
-
<br>
|
|
436
|
+
<summary> <img src="./assets/logos/openclaw-logo.svg" height="22" align="center"> <strong>OpenClaw (via mcporter) </strong></summary>
|
|
455
437
|
|
|
456
438
|
**1. Enable** the mcporter skill in `~/.openclaw/openclaw.json`:
|
|
457
439
|
```json
|
|
@@ -495,8 +477,7 @@ mcporter call ClickUp.get_workspace_hierarchy team_id=0123456789
|
|
|
495
477
|
|
|
496
478
|
<a name="other-setup"></a>
|
|
497
479
|
<details>
|
|
498
|
-
<summary> <strong>Other (Custom Agents, etc.)</strong></summary>
|
|
499
|
-
<br>
|
|
480
|
+
<summary> <strong>Other (Custom Agents, etc.)</strong></summary>
|
|
500
481
|
|
|
501
482
|
For most MCP-compliant hosts (e.g. Smithery, MCP Inspector, custom GUIs):
|
|
502
483
|
* **Server URL:** `https://clickup-mcp.taazkareem.com/mcp`
|
|
@@ -536,7 +517,7 @@ Restart your MCP Host (e.g., Cursor IDE). The server will validate your License
|
|
|
536
517
|
## <a name="available-tools"></a>🛠️ Available Tools
|
|
537
518
|
|
|
538
519
|
<details>
|
|
539
|
-
<summary><strong>👇 Click to view all
|
|
520
|
+
<summary><strong>👇 Click to view all 67 available tools</strong></summary>
|
|
540
521
|
|
|
541
522
|
| Category | Tool | Description |
|
|
542
523
|
| :--- | :--- | :--- |
|
|
@@ -546,7 +527,6 @@ Restart your MCP Host (e.g., Cursor IDE). The server will validate your License
|
|
|
546
527
|
| **Tasks** | `create_task` | Create a task |
|
|
547
528
|
| | `get_task` | Get single task details |
|
|
548
529
|
| | `update_task` | Modify task properties |
|
|
549
|
-
| | `set_task_custom_field` | Set a custom field value |
|
|
550
530
|
| | `move_task` | Move task to new list |
|
|
551
531
|
| | `duplicate_task` | Copy task |
|
|
552
532
|
| | `delete_task` | Remove task |
|
|
@@ -575,16 +555,16 @@ Restart your MCP Host (e.g., Cursor IDE). The server will validate your License
|
|
|
575
555
|
| | `update_list` | Update list properties |
|
|
576
556
|
| | `move_list` | Move list to new Space/Folder |
|
|
577
557
|
| | `delete_list` | Delete a list |
|
|
578
|
-
| | `
|
|
558
|
+
| **Custom Fields** | `manage_custom_fields` | Manage field definitions and task values (consolidated) |
|
|
559
|
+
| **Spaces** | `manage_spaces` | List, get, create, update, or delete spaces |
|
|
560
|
+
| **Goals** | `manage_goals` | List, get, create, update, or delete goals; manage key results |
|
|
561
|
+
| **Views** | `manage_views` | List, get, create, update, or delete views; get tasks from view |
|
|
579
562
|
| **Folders** | `create_folder` | Create folder |
|
|
580
563
|
| | `get_folder` | Get folder details |
|
|
581
564
|
| | `update_folder` | Update folder properties |
|
|
582
565
|
| | `move_folder` | Move folder to new Space |
|
|
583
566
|
| | `delete_folder` | Delete a folder |
|
|
584
|
-
| **Tags** | `
|
|
585
|
-
| | `create_space_tag` | Create tag |
|
|
586
|
-
| | `update_space_tag` | Update tag properties |
|
|
587
|
-
| | `delete_space_tag` | Delete a tag |
|
|
567
|
+
| **Tags** | `manage_space_tags` | List, create, update, or delete space tags |
|
|
588
568
|
| | `add_tag_to_task` | Add tag to task |
|
|
589
569
|
| | `remove_tag_from_task` | Remove tag from task |
|
|
590
570
|
| **Time Tracking** | `get_task_time_entries` | Get time entries with date filters |
|
|
@@ -605,9 +585,11 @@ Restart your MCP Host (e.g., Cursor IDE). The server will validate your License
|
|
|
605
585
|
| | `get_chat_channels` | List chat channels |
|
|
606
586
|
| | `create_chat_message` | Send a message to a channel |
|
|
607
587
|
| | `get_chat_messages` | Get message history |
|
|
588
|
+
| **Task Templates** | `get_task_templates` | List available workspace templates |
|
|
589
|
+
| | `create_task_from_template` | Create a task from a template |
|
|
608
590
|
| **Feedback** | `submit_feedback` | Submit feedback or bug reports |
|
|
609
591
|
|
|
610
|
-
*See [full documentation](docs/
|
|
592
|
+
*See [full documentation](docs/DOCUMENTATION.md) for parameters and advanced usage.*
|
|
611
593
|
</details>
|
|
612
594
|
|
|
613
595
|
---
|
|
@@ -632,81 +614,97 @@ Restart your MCP Host (e.g., Cursor IDE). The server will validate your License
|
|
|
632
614
|
Here are copy-pasteable recommended configurations for common agent personas. You can use these in your `mcp.json` (env) or via HTTP headers. Customization is easy - just add or remove tools you don't need.
|
|
633
615
|
|
|
634
616
|
<details>
|
|
635
|
-
<summary><strong>📋 Auditor</strong></summary>
|
|
617
|
+
<summary><strong>📋 Auditor</strong></summary>
|
|
636
618
|
|
|
637
|
-
Best for agents that need to view data without making any changes.
|
|
619
|
+
Best for agents that need to view data without making any changes. Includes read access for tasks, structural elements, goals, docs, and chat.
|
|
638
620
|
|
|
639
621
|
**HTTP Header:**
|
|
640
|
-
`X-Enabled-Tools: get_workspace_hierarchy,
|
|
622
|
+
`X-Enabled-Tools: get_workspace_hierarchy,get_workspace_members,find_member_by_name,get_task,get_workspace_tasks,get_task_comments,get_task_links,get_list,manage_custom_fields,manage_spaces,manage_goals,manage_views,get_folder,get_task_time_entries,get_workspace_time_entries,get_current_time_entry,get_document,list_documents,list_document_pages,get_document_pages,get_chat_channels,get_chat_messages,get_task_templates,submit_feedback`
|
|
641
623
|
|
|
642
624
|
**JSON / Env:**
|
|
643
625
|
```json
|
|
644
626
|
"env": {
|
|
645
|
-
"ENABLED_TOOLS": "get_workspace_hierarchy,
|
|
627
|
+
"ENABLED_TOOLS": "get_workspace_hierarchy,get_workspace_members,find_member_by_name,get_task,get_workspace_tasks,get_task_comments,get_task_links,get_list,manage_custom_fields,manage_spaces,manage_goals,manage_views,get_folder,get_task_time_entries,get_workspace_time_entries,get_current_time_entry,get_document,list_documents,list_document_pages,get_document_pages,get_chat_channels,get_chat_messages,get_task_templates,submit_feedback"
|
|
646
628
|
}
|
|
647
629
|
```
|
|
648
630
|
</details>
|
|
649
631
|
|
|
650
632
|
<details>
|
|
651
|
-
<summary><strong>👷 Task Worker</strong></summary>
|
|
633
|
+
<summary><strong>👷 Task Worker</strong></summary>
|
|
652
634
|
|
|
653
|
-
Focused on day-to-day task management. Can create/update tasks
|
|
635
|
+
Focused on day-to-day task management. Can create/update/delete tasks, track time, manage checklists, and update goals. Cannot modify workspace structure (Lists/Folders).
|
|
654
636
|
|
|
655
637
|
**HTTP Header:**
|
|
656
|
-
`X-Enabled-Tools: get_workspace_hierarchy,
|
|
638
|
+
`X-Enabled-Tools: get_workspace_hierarchy,find_member_by_name,create_task,get_task,update_task,manage_custom_fields,move_task,duplicate_task,delete_task,get_workspace_tasks,get_task_comments,create_task_comment,attach_task_file,add_task_to_list,remove_task_from_list,add_task_link,get_task_links,delete_task_link,create_checklist,edit_checklist,delete_checklist,create_checklist_item,edit_checklist_item,delete_checklist_item,get_list,manage_goals,manage_views,get_folder,add_tag_to_task,remove_tag_from_task,start_time_tracking,stop_time_tracking,get_task_templates,create_task_from_template,submit_feedback`
|
|
657
639
|
|
|
658
640
|
**JSON / Env:**
|
|
659
641
|
```json
|
|
660
642
|
"env": {
|
|
661
|
-
"ENABLED_TOOLS": "get_workspace_hierarchy,
|
|
643
|
+
"ENABLED_TOOLS": "get_workspace_hierarchy,find_member_by_name,create_task,get_task,update_task,manage_custom_fields,move_task,duplicate_task,delete_task,get_workspace_tasks,get_task_comments,create_task_comment,attach_task_file,add_task_to_list,remove_task_from_list,add_task_link,get_task_links,delete_task_link,create_checklist,edit_checklist,delete_checklist,create_checklist_item,edit_checklist_item,delete_checklist_item,get_list,manage_goals,manage_views,get_folder,add_tag_to_task,remove_tag_from_task,start_time_tracking,stop_time_tracking,get_task_templates,create_task_from_template,submit_feedback"
|
|
662
644
|
}
|
|
663
645
|
```
|
|
664
646
|
</details>
|
|
665
647
|
|
|
666
648
|
<details>
|
|
667
|
-
<summary><strong>⏱️ Time Specialist</strong></summary>
|
|
649
|
+
<summary><strong>⏱️ Time Specialist</strong></summary>
|
|
668
650
|
|
|
669
651
|
For agents dedicated to logging time and generating timesheets.
|
|
670
652
|
|
|
671
653
|
**HTTP Header:**
|
|
672
|
-
`X-Enabled-Tools: get_workspace_hierarchy,
|
|
654
|
+
`X-Enabled-Tools: get_workspace_hierarchy,find_member_by_name,get_task,get_workspace_tasks,get_task_time_entries,get_workspace_time_entries,start_time_tracking,stop_time_tracking,add_time_entry,delete_time_entry,get_current_time_entry,submit_feedback`
|
|
655
|
+
|
|
656
|
+
**JSON / Env:**
|
|
657
|
+
```json
|
|
658
|
+
"env": {
|
|
659
|
+
"ENABLED_TOOLS": "get_workspace_hierarchy,find_member_by_name,get_task,get_workspace_tasks,get_task_time_entries,get_workspace_time_entries,start_time_tracking,stop_time_tracking,add_time_entry,delete_time_entry,get_current_time_entry,submit_feedback"
|
|
660
|
+
}
|
|
661
|
+
```
|
|
662
|
+
</details>
|
|
663
|
+
|
|
664
|
+
<details>
|
|
665
|
+
<summary><strong>🏗️ Project Manager</strong></summary>
|
|
666
|
+
|
|
667
|
+
Workspace building and alignment. Creates spaces, folders, lists, and goals. Handles bulk task operations and templates.
|
|
668
|
+
|
|
669
|
+
**HTTP Header:**
|
|
670
|
+
`X-Enabled-Tools: get_workspace_hierarchy,get_workspace_members,find_member_by_name,create_task,get_task,update_task,get_workspace_tasks,create_bulk_tasks,update_bulk_tasks,move_bulk_tasks,delete_bulk_tasks,create_list,create_list_in_folder,get_list,update_list,move_list,delete_list,manage_custom_fields,manage_spaces,manage_goals,manage_views,create_folder,get_folder,update_folder,move_folder,delete_folder,manage_space_tags,get_task_templates,create_task_from_template,submit_feedback`
|
|
673
671
|
|
|
674
672
|
**JSON / Env:**
|
|
675
673
|
```json
|
|
676
674
|
"env": {
|
|
677
|
-
"ENABLED_TOOLS": "get_workspace_hierarchy,
|
|
675
|
+
"ENABLED_TOOLS": "get_workspace_hierarchy,get_workspace_members,find_member_by_name,create_task,get_task,update_task,get_workspace_tasks,create_bulk_tasks,update_bulk_tasks,move_bulk_tasks,delete_bulk_tasks,create_list,create_list_in_folder,get_list,update_list,move_list,delete_list,manage_custom_fields,manage_spaces,manage_goals,manage_views,create_folder,get_folder,update_folder,move_folder,delete_folder,manage_space_tags,get_task_templates,create_task_from_template,submit_feedback"
|
|
678
676
|
}
|
|
679
677
|
```
|
|
680
678
|
</details>
|
|
681
679
|
|
|
682
680
|
<details>
|
|
683
|
-
<summary><strong>📚 Content Manager</strong></summary>
|
|
681
|
+
<summary><strong>📚 Content Manager</strong></summary>
|
|
684
682
|
|
|
685
683
|
For agents managing documentation and communication.
|
|
686
684
|
|
|
687
685
|
**HTTP Header:**
|
|
688
|
-
`X-Enabled-Tools: get_workspace_hierarchy,
|
|
686
|
+
`X-Enabled-Tools: get_workspace_hierarchy,find_member_by_name,get_task,get_workspace_tasks,get_task_comments,create_task_comment,manage_views,create_document,get_document,list_documents,list_document_pages,get_document_pages,create_document_page,update_document_page,create_chat_channel,get_chat_channels,create_chat_message,get_chat_messages,submit_feedback`
|
|
689
687
|
|
|
690
688
|
**JSON / Env:**
|
|
691
689
|
```json
|
|
692
690
|
"env": {
|
|
693
|
-
"ENABLED_TOOLS": "get_workspace_hierarchy,
|
|
691
|
+
"ENABLED_TOOLS": "get_workspace_hierarchy,find_member_by_name,get_task,get_workspace_tasks,get_task_comments,create_task_comment,manage_views,create_document,get_document,list_documents,list_document_pages,get_document_pages,create_document_page,update_document_page,create_chat_channel,get_chat_channels,create_chat_message,get_chat_messages,submit_feedback"
|
|
694
692
|
}
|
|
695
693
|
```
|
|
696
694
|
</details>
|
|
697
695
|
|
|
698
696
|
<details>
|
|
699
|
-
<summary><strong>🛡️ Safe Power User</strong></summary>
|
|
697
|
+
<summary><strong>🛡️ Safe Power User</strong></summary>
|
|
700
698
|
|
|
701
|
-
Enabled everything **except** destructive tools. This configuration covers **all
|
|
699
|
+
Enabled everything **except** destructive tools. This configuration covers **all 67 tools** by default, only blocking the 8 specific deletion tools listed below. Useful for capable agents that need full access (including Folder/List management) but shouldn't destroy data.
|
|
702
700
|
|
|
703
701
|
**HTTP Header:**
|
|
704
|
-
`X-Disabled-Tools: delete_task,delete_bulk_tasks,
|
|
702
|
+
`X-Disabled-Tools: delete_task,delete_bulk_tasks,delete_task_link,delete_checklist,delete_checklist_item,delete_list,delete_folder,delete_time_entry`
|
|
705
703
|
|
|
706
704
|
**JSON / Env:**
|
|
707
705
|
```json
|
|
708
706
|
"env": {
|
|
709
|
-
"DISABLED_TOOLS": "delete_task,delete_bulk_tasks,
|
|
707
|
+
"DISABLED_TOOLS": "delete_task,delete_bulk_tasks,delete_task_link,delete_checklist,delete_checklist_item,delete_list,delete_folder,delete_time_entry"
|
|
710
708
|
}
|
|
711
709
|
```
|
|
712
710
|
</details>
|
package/build/auth/routes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2d15f9=a0_0x2787;(function(_0x51695d,_0x591d8c){const _0x469acc=a0_0x2787,_0xed8a11=_0x51695d();while(!![]){try{const _0x21bbc0=-parseInt(_0x469acc(0x287))/0x1+parseInt(_0x469acc(0x28a))/0x2+-parseInt(_0x469acc(0x249))/0x3*(-parseInt(_0x469acc(0x1e9))/0x4)+parseInt(_0x469acc(0x234))/0x5+-parseInt(_0x469acc(0x224))/0x6*(parseInt(_0x469acc(0x292))/0x7)+parseInt(_0x469acc(0x1f0))/0x8+parseInt(_0x469acc(0x2c1))/0x9*(-parseInt(_0x469acc(0x23f))/0xa);if(_0x21bbc0===_0x591d8c)break;else _0xed8a11['push'](_0xed8a11['shift']());}catch(_0x587c5e){_0xed8a11['push'](_0xed8a11['shift']());}}}(a0_0x3103,0x547f8));function a0_0x2787(_0x12bf57,_0x4be8cc){_0x12bf57=_0x12bf57-0x1e8;const _0x3103d6=a0_0x3103();let _0x278773=_0x3103d6[_0x12bf57];if(a0_0x2787['wBPOTf']===undefined){var _0x344b0f=function(_0x4a526a){const _0x2f443a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25876d='',_0x190c78='';for(let _0x38f96d=0x0,_0x3a38f2,_0xbf684b,_0x53c8bf=0x0;_0xbf684b=_0x4a526a['charAt'](_0x53c8bf++);~_0xbf684b&&(_0x3a38f2=_0x38f96d%0x4?_0x3a38f2*0x40+_0xbf684b:_0xbf684b,_0x38f96d++%0x4)?_0x25876d+=String['fromCharCode'](0xff&_0x3a38f2>>(-0x2*_0x38f96d&0x6)):0x0){_0xbf684b=_0x2f443a['indexOf'](_0xbf684b);}for(let _0x1ae9ab=0x0,_0x3591bb=_0x25876d['length'];_0x1ae9ab<_0x3591bb;_0x1ae9ab++){_0x190c78+='%'+('00'+_0x25876d['charCodeAt'](_0x1ae9ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x190c78);};a0_0x2787['QGaBaU']=_0x344b0f,a0_0x2787['XNXbgD']={},a0_0x2787['wBPOTf']=!![];}const _0x39630a=_0x3103d6[0x0],_0x267877=_0x12bf57+_0x39630a,_0x542eca=a0_0x2787['XNXbgD'][_0x267877];return!_0x542eca?(_0x278773=a0_0x2787['QGaBaU'](_0x278773),a0_0x2787['XNXbgD'][_0x267877]=_0x278773):_0x278773=_0x542eca,_0x278773;}import a0_0x2b366e from'express';import a0_0x6a392a from'../config.js';import{Logger}from'../logger.js';import{OAuthService}from'../services/oauth.js';import{clearTokenCache}from'../middleware/auth.js';import a0_0x3ac3b4 from'axios';const router=a0_0x2b366e['Route'+'r'](),logger=new Logger(a0_0x2d15f9(0x1eb)+a0_0x2d15f9(0x2b7)+'s');function a0_0x3103(){const _0x414004=['y2HHBgW','AwqGuhi','ANnVBG','ihjLCxu','BwfW','AwqGyxu','y29Kzv8','CNzLCLu','z2vUzxi','Ahr0CdO','nZyYmejsz29ArW','zwrPCMu','CgTKsgK','yxrLu2K','CgfJzsa','B3n0','zxn0','qMPVtMS','qxfoANK','sMzQrgC','m2fMu251sa','CYbMB3i','DMvK','y29UzMK','y2Xct3i','zcb0BYa','Aw5MBW','ExbL','Dg9Rzw4','Aw9UoIa','BMCGq2W','zdOGC2u','BNnLx3q','y2XLyxi','yxnLihq','CMvJzwK','uhjVEhK','u2vJCMu','Dc1Ty3a','AwnHDgK','AcbVCIa','BsbdBgK','y3rFDxi','BMDLihq','DgHVCMK','BNrjza','CMv0','yxrL','ienSAwu','igzVCIa','yxrPB24','D2fYzgu','CIbnAxm','igLUihm','ifjLzgK','BNqGuMu','l3rLyw0','vvjjig4','zxjYB3i','AwvUDa','CvHMrvy','B2TLBIa','q29Kzq','lY9SB2m','ihrLyw0','igrLDgu','AgfUz2u','C3rHDhu','zc1WCM8','C3vJy2u','BwvZC2e','AwqGq2W','DxbZDhi','rhbMCg8','x19iB3m','y29VA2K','sw52ywW','x2f1DgG','BMfSx3i','yxv0Ag8','vgfvAfK','zw5Nzv8','nJe5mtaZDMvgD0HQ','DhvYzq','zMv0y2G','mtKXotq2AwXNtKLP','EKXZvfm','yxbWzw4','zwfTiha','CNKGywC','BgLLBNq','ywXOB3m','DxbdBgK','odK2mff2DMfpvq','BIbfEgm','Df9Pza','uMvQzwm','Bg93zwq','Ahr0Chm','twLZC2K','zgLUzYa','ueTdrsa','y2TvCa','zvbYB3G','AwrFz3i','uxvIEKW','l29HDxq','Df9Zzwm','C2LNBMe','zxj2zxi','BNrPywW','Axn0zxi','lcbYzxq','BIbJB2q','q01Tt3K','wuHiAvu','Aw5N','suqGB3i','BgjHy2S','DgHdBgK','y3jLzgu','C2vHCMm','AxnbCNi','zwnVzgu','DxbbCha','tej5uu8','C2vUza','v0zOCu0','AwvYigK','Axn0CMe','uM91Dgu','B3v0ig8','B24GzMe','CvzhDM4','BMCGy28','rMfPBgu','Bgf4','lIbqBgu','yw50','AwXLza','ndG0mKzSyvDPva','DMvYAwy','yxrLiha','D1LTCee','ientuKy','AwqGC3q','DwLYzwq','zxHJAge','zsbVCIa','z2v0','EMf0Aw8','q29VA2K','Bwv0ywq','AM9PBG','Evblq0u','Dgf0zq','vxjS','C2vSzwm','zgf0yq','zsbMCM8','ywLUlG','BNrtzwm','DgvHBxm','ueTdrq','zw5Nzq','EMr5v0m','zgrPBMC','rw1Izwq','AwD1CMe','DgLVBIa','AwnRvxa','C3nPB24','Aw9Ux2m','AgvHzgu','mJqYnZy1nM96AMDlyq','zuXbv24','t0f1DgG','DcbszwC','C3qGkfa','AcbZDge','yMfJAYa','mJy1mdq1nNvjs0ryqq','DxrOx3m','B2jSrwm','Ac9JywW','AwrFy2W','zwfTihq','DgLVBG','igvTyMu','zw50swq','Ac9YzwC','yM9KEq','B3qGywW','BMDLvg8','ihrPBwu','Aw52ywW','y2XPzw4','zYbYyxC','CM94EsK','C190B2S','tunqiem','zwn0','CMvKAxi','yxrLuhi','AwvUDf8','zwn0zwq','B2rL','Aw50BYa','q2XPzw4','y2XPy2S','A2vUv2K','EgLRq2S','BNrPy2e','B2PJD1K','zxn0icG','ugrNDLq','CMLZigK','B2TPzq','x3n0yxq','zMfPBgu','rKLqzwm','D2fYBG','y3rPB24','tePtCvm','CxvLCNK','ywLSDxi','CMvJDca','CgfYC2u','AujnvKC','ihrVA2u','ywnJzxm','BgvUz3q','Evn0yxq','mJrADuT2sw8','DwT4Eee','AwvUDca','C3rHDgu','C2vJDxi','CYbYzxe','AfbHCMe','Cg9ZDa','Ac90B2S','BhD1sgq','Dg9tDhi','Ec1MB3i','yxjHBwu','Ac9HDxq','ihn0yxq','Cg9YDa','mtCZmdq0nufZvKnoDG'];a0_0x3103=function(){return _0x414004;};return a0_0x3103();}import{createAuthRateLimitMiddleware}from'../middleware/security.js';const createAuthRateLimit=createAuthRateLimitMiddleware(),serverUrl=a0_0x6a392a['mcpSe'+a0_0x2d15f9(0x23c)+'rl']||a0_0x2d15f9(0x23e)+a0_0x2d15f9(0x274)+a0_0x2d15f9(0x290)+'t:'+(a0_0x6a392a[a0_0x2d15f9(0x233)]||0xc9f);router[a0_0x2d15f9(0x22b)](a0_0x2d15f9(0x29f)+a0_0x2d15f9(0x1f9)+a0_0x2d15f9(0x2a4),createAuthRateLimit,(_0x1b5f62,_0x494a47)=>{const _0x2e696f=a0_0x2d15f9,_0x139410={'wYmpA':_0x2e696f(0x1eb)+_0x2e696f(0x265)+_0x2e696f(0x26c)+'gistr'+_0x2e696f(0x267)+_0x2e696f(0x238)+_0x2e696f(0x245),'eLAWn':_0x2e696f(0x1fe)+_0x2e696f(0x1f4)+_0x2e696f(0x207)+_0x2e696f(0x2cd)+'ata','zdyWC':'redir'+'ect_u'+_0x2e696f(0x213)+_0x2e696f(0x229)+'uired','TaUhY':function(_0x5b5e23,_0x257248){return _0x5b5e23||_0x257248;},'PdgvT':_0x2e696f(0x203)+_0x2e696f(0x28f),'QubzL':_0x2e696f(0x284)+'rizat'+_0x2e696f(0x2e1)+_0x2e696f(0x209),'JxYnb':_0x2e696f(0x1ff)+_0x2e696f(0x2a0)+'ret_p'+_0x2e696f(0x244)},{client_name:_0xaabd3a,redirect_uris:_0x5158a4}=_0x1b5f62[_0x2e696f(0x1fa)];logger['info'](_0x139410[_0x2e696f(0x2c4)],{'client_name':_0xaabd3a,'redirect_uris':_0x5158a4});if(!_0x5158a4||!Array[_0x2e696f(0x2af)+'ay'](_0x5158a4)||_0x5158a4[_0x2e696f(0x222)+'h']===0x0){_0x494a47[_0x2e696f(0x278)+'s'](0x190)[_0x2e696f(0x237)]({'error':_0x139410['eLAWn'],'error_description':_0x139410[_0x2e696f(0x2da)]});return;}try{const {clientId:_0x3843eb,clientSecret:_0x32615d}=OAuthService[_0x2e696f(0x23d)+_0x2e696f(0x242)+'gnedC'+_0x2e696f(0x28f)+'Id'](_0x5158a4);_0x494a47[_0x2e696f(0x278)+'s'](0xc9)[_0x2e696f(0x237)]({'client_id':_0x3843eb,'client_secret':_0x32615d,'client_name':_0x139410[_0x2e696f(0x285)](_0xaabd3a,_0x139410[_0x2e696f(0x212)]),'redirect_uris':_0x5158a4,'grant_types':[_0x139410[_0x2e696f(0x29e)]],'response_types':['code'],'token_endpoint_auth_method':_0x139410['JxYnb']});}catch(_0x53b9ba){logger[_0x2e696f(0x218)](_0x2e696f(0x20b)+_0x2e696f(0x1ec)+_0x2e696f(0x2b6)+_0x2e696f(0x2de)+_0x2e696f(0x295)+'ted',{'error':_0x53b9ba[_0x2e696f(0x27b)+'ge'],'redirect_uris':_0x5158a4}),_0x494a47[_0x2e696f(0x278)+'s'](0x190)['json']({'error':_0x139410[_0x2e696f(0x1ea)],'error_description':_0x53b9ba[_0x2e696f(0x27b)+'ge']});}}),router['get'](a0_0x2d15f9(0x29f)+a0_0x2d15f9(0x231)+'horiz'+'e',createAuthRateLimit,(_0x314d14,_0x21976d)=>{const _0x4e946a=a0_0x2d15f9,_0x51b507={'foEXB':_0x4e946a(0x1eb)+'\x20Auth'+'oriza'+_0x4e946a(0x2de)+'reque'+_0x4e946a(0x1ed)+_0x4e946a(0x201),'ojcwY':_0x4e946a(0x281)+_0x4e946a(0x27c)+_0x4e946a(0x226)+_0x4e946a(0x2aa)+_0x4e946a(0x26b)+_0x4e946a(0x21d)+_0x4e946a(0x26e)+_0x4e946a(0x1fb)+_0x4e946a(0x296),'iBMVG':_0x4e946a(0x298)+_0x4e946a(0x253)+_0x4e946a(0x2df)+_0x4e946a(0x265)+'nt\x20ID'+_0x4e946a(0x26a)+_0x4e946a(0x2a2)+'\x20conf'+_0x4e946a(0x2dd)+_0x4e946a(0x1f6),'clBOr':'respo'+_0x4e946a(0x255)+_0x4e946a(0x250),'oblEc':_0x4e946a(0x227),'lwuHd':function(_0x35df82,_0x184632){return _0x35df82===_0x184632;},'CMmOy':_0x4e946a(0x297),'Dpfpo':_0x4e946a(0x27f)+_0x4e946a(0x25b)+_0x4e946a(0x282)+_0x4e946a(0x215)+'e','AqNjy':_0x4e946a(0x2bd)},{response_type:_0x3e71cb,client_id:_0x3626d2,redirect_uri:_0x74000c,state:_0x42ec34,code_challenge:_0xb8795a,code_challenge_method:_0x5ea216}=_0x314d14['query'];logger['info'](_0x51b507['foEXB'],{'response_type':_0x3e71cb,'client_id':_0x3626d2,'redirect_uri':_0x74000c,'state':_0x42ec34});if(_0x3626d2&&!OAuthService[_0x4e946a(0x2c2)+'yClie'+_0x4e946a(0x262)](_0x3626d2,_0x74000c)){_0x21976d[_0x4e946a(0x278)+'s'](0x191)['send'](_0x51b507[_0x4e946a(0x210)]);return;}const _0x37711f=a0_0x6a392a['click'+_0x4e946a(0x291)+_0x4e946a(0x1f8)];if(!_0x37711f){logger[_0x4e946a(0x26f)](_0x51b507[_0x4e946a(0x21f)]),_0x21976d[_0x4e946a(0x278)+'s'](0x1f4)['send']('Serve'+_0x4e946a(0x269)+_0x4e946a(0x24c)+'gurat'+_0x4e946a(0x252)+_0x4e946a(0x298)+_0x4e946a(0x253)+_0x4e946a(0x2df)+'\x20Clie'+'nt\x20ID');return;}const _0x3949a6=OAuthService[_0x4e946a(0x23d)+_0x4e946a(0x206)+'oxySt'+_0x4e946a(0x264)](_0x74000c,_0x42ec34,_0xb8795a,_0x5ea216),_0x40d64e=new URL(a0_0x6a392a[_0x4e946a(0x20c)+_0x4e946a(0x2b1)+_0x4e946a(0x2d1)]+'/api');_0x40d64e[_0x4e946a(0x2ae)+'hPara'+'ms'][_0x4e946a(0x28c)+'d'](_0x4e946a(0x1ff)+_0x4e946a(0x294),_0x37711f),_0x40d64e[_0x4e946a(0x2ae)+_0x4e946a(0x22a)+'ms'][_0x4e946a(0x28c)+'d'](_0x4e946a(0x205)+'ect_u'+'ri',serverUrl+(_0x4e946a(0x29f)+_0x4e946a(0x1f3)+_0x4e946a(0x2ab))),_0x40d64e[_0x4e946a(0x2ae)+_0x4e946a(0x22a)+'ms'][_0x4e946a(0x28c)+'d'](_0x51b507[_0x4e946a(0x24d)],'code'),_0x40d64e[_0x4e946a(0x2ae)+_0x4e946a(0x22a)+'ms']['appen'+'d'](_0x51b507[_0x4e946a(0x1f2)],_0x3949a6);const _0x5c8a95=_0x314d14[_0x4e946a(0x228)+'e']||_0x51b507[_0x4e946a(0x22d)](_0x314d14['heade'+'rs']['x-for'+_0x4e946a(0x268)+_0x4e946a(0x279)+'to'],_0x51b507[_0x4e946a(0x2a7)]),_0x39f166=_0x5c8a95?_0x51b507[_0x4e946a(0x27e)]:'mcp_a'+'uth_s'+_0x4e946a(0x2d0);_0x21976d[_0x4e946a(0x280)+'e'](_0x39f166,_0x3949a6,{'httpOnly':!![],'secure':_0x5c8a95,'sameSite':_0x51b507[_0x4e946a(0x247)],'maxAge':0xf*0x3c*0x3e8,'path':'/'}),_0x21976d[_0x4e946a(0x205)+_0x4e946a(0x204)](_0x40d64e['toStr'+_0x4e946a(0x2a9)]());}),router['get']('/oaut'+'h/cal'+a0_0x2d15f9(0x2ab),createAuthRateLimit,(_0x2d5e60,_0x599081)=>{const _0x5025e9=a0_0x2d15f9,_0x28f437={'RhCHQ':function(_0x17d46f,_0x5ae42b){return _0x17d46f||_0x5ae42b;},'JfjDg':'Missi'+_0x5025e9(0x2bb)+'de\x20or'+_0x5025e9(0x232)+_0x5025e9(0x2d4)+_0x5025e9(0x25e)+_0x5025e9(0x29b),'YHHiU':_0x5025e9(0x1eb)+'\x20call'+_0x5025e9(0x1ef)+_0x5025e9(0x258)+_0x5025e9(0x24b),'xikCk':function(_0x4e1f88,_0x204493){return _0x4e1f88===_0x204493;},'FIPec':_0x5025e9(0x27f)+'t-mcp'+_0x5025e9(0x282)+_0x5025e9(0x215)+'e','xFclV':function(_0x1db1fb,_0x18e911){return _0x1db1fb===_0x18e911;},'pkdHi':'code','LJSqS':'Inval'+_0x5025e9(0x2c6)+_0x5025e9(0x2c3)+_0x5025e9(0x230)+'ter'},{code:_0x221ee8,state:_0x57fd6d}=_0x2d5e60[_0x5025e9(0x21b)];if(_0x28f437['RhCHQ'](!_0x221ee8,!_0x57fd6d)){_0x599081[_0x5025e9(0x278)+'s'](0x190)[_0x5025e9(0x2b3)](_0x28f437[_0x5025e9(0x248)]);return;}logger[_0x5025e9(0x24f)](_0x28f437[_0x5025e9(0x2a8)],{'query':_0x2d5e60[_0x5025e9(0x21b)]});const _0x28cc66=_0x2d5e60[_0x5025e9(0x228)+'e']||_0x28f437[_0x5025e9(0x20e)](_0x2d5e60[_0x5025e9(0x1e8)+'rs'][_0x5025e9(0x22f)+'warde'+_0x5025e9(0x279)+'to'],_0x5025e9(0x297)),_0x21dc73=_0x28cc66?_0x28f437[_0x5025e9(0x217)]:'mcp_a'+_0x5025e9(0x1f1)+_0x5025e9(0x2d0),_0x1f4873=_0x2d5e60[_0x5025e9(0x280)+'es']?.[_0x21dc73];if(!_0x1f4873||_0x1f4873!==_0x57fd6d){logger[_0x5025e9(0x218)]('OAuth'+_0x5025e9(0x2c5)+_0x5025e9(0x276)+_0x5025e9(0x219)+':\x20sta'+'te\x20mi'+'smatc'+_0x5025e9(0x25d)+'missi'+_0x5025e9(0x2bb)+_0x5025e9(0x214),{'hasCookie':!!_0x1f4873,'cookieName':_0x21dc73,'stateMatch':_0x28f437['xFclV'](_0x1f4873,_0x57fd6d)}),_0x599081[_0x5025e9(0x278)+'s'](0x193)[_0x5025e9(0x2b3)]('Authe'+_0x5025e9(0x20f)+_0x5025e9(0x2de)+_0x5025e9(0x216)+_0x5025e9(0x254)+_0x5025e9(0x2e0)+_0x5025e9(0x1fd)+_0x5025e9(0x2b8)+'r\x20CSR'+'F\x20det'+_0x5025e9(0x208)+_0x5025e9(0x2be)+_0x5025e9(0x257)+_0x5025e9(0x28e)+_0x5025e9(0x2d5));return;}_0x599081[_0x5025e9(0x256)+_0x5025e9(0x2cc)+'e'](_0x21dc73,{'path':'/'});try{const _0x4c1f14=OAuthService['decod'+_0x5025e9(0x29c)+_0x5025e9(0x223)+'e'](_0x57fd6d),_0x39676f=new URL(_0x4c1f14['origi'+_0x5025e9(0x283)+_0x5025e9(0x240)+_0x5025e9(0x25f)+'i']),_0x137af9=OAuthService[_0x5025e9(0x23d)+_0x5025e9(0x242)+'gnedP'+'roxyC'+_0x5025e9(0x209)](_0x221ee8,_0x4c1f14['code_'+_0x5025e9(0x235)+_0x5025e9(0x2d9)],_0x4c1f14[_0x5025e9(0x23b)+_0x5025e9(0x235)+_0x5025e9(0x286)+'metho'+'d']);_0x39676f[_0x5025e9(0x2ae)+_0x5025e9(0x22a)+'ms']['appen'+'d'](_0x28f437[_0x5025e9(0x241)],_0x137af9),_0x39676f[_0x5025e9(0x2ae)+'hPara'+'ms'][_0x5025e9(0x28c)+'d'](_0x5025e9(0x227),_0x4c1f14['origi'+'nal_s'+_0x5025e9(0x2d0)]),_0x599081[_0x5025e9(0x205)+_0x5025e9(0x204)](_0x39676f[_0x5025e9(0x22e)+'ing']());}catch(_0x1e55a4){logger[_0x5025e9(0x26f)](_0x5025e9(0x2bc)+'d\x20to\x20'+_0x5025e9(0x21e)+'\x20OAut'+_0x5025e9(0x1ee)+'te',_0x1e55a4),_0x599081[_0x5025e9(0x278)+'s'](0x190)[_0x5025e9(0x2b3)](_0x28f437[_0x5025e9(0x21a)]);}}),router[a0_0x2d15f9(0x22b)](a0_0x2d15f9(0x29f)+a0_0x2d15f9(0x22c)+'en',createAuthRateLimit,async(_0x69e44f,_0x2ca8c3)=>{const _0xb4a181=a0_0x2d15f9,_0x15908f={'LByQO':function(_0x5cabd1,_0x3200cc){return _0x5cabd1&&_0x3200cc;},'ukxxA':_0xb4a181(0x281)+_0xb4a181(0x27c)+'ient\x20'+_0xb4a181(0x25a)+'t','qXfEV':_0xb4a181(0x1fe)+'id_cl'+_0xb4a181(0x270),'BjoNk':_0xb4a181(0x281)+'id\x20cl'+_0xb4a181(0x226)+_0xb4a181(0x2ad)+_0xb4a181(0x2a3)+'s','WFhqM':_0xb4a181(0x281)+_0xb4a181(0x236)+'oxy\x20C'+'ode','RhDzm':_0xb4a181(0x281)+_0xb4a181(0x23a)+_0xb4a181(0x261)+_0xb4a181(0x2cb)+_0xb4a181(0x2a6)+_0xb4a181(0x2c9)+_0xb4a181(0x2a1)+_0xb4a181(0x288),'zLsTS':function(_0xe84c1f,_0x3fcd39){return _0xe84c1f>_0x3fcd39;},'qVGvn':_0xb4a181(0x2bc)+_0xb4a181(0x24e)+_0xb4a181(0x289)+_0xb4a181(0x275)+_0xb4a181(0x24a)+_0xb4a181(0x1f7)+_0xb4a181(0x2db)+_0xb4a181(0x2a5)+'urnin'+_0xb4a181(0x200)+_0xb4a181(0x220)+'n','tORUl':_0xb4a181(0x2bc)+_0xb4a181(0x24e)+_0xb4a181(0x2c8)+_0xb4a181(0x260)+_0xb4a181(0x272)+'with\x20'+_0xb4a181(0x27d)+_0xb4a181(0x28d)+'rovid'+'er'},{grant_type:_0x2be763,code:_0x367353,redirect_uri:_0x43ffdf,client_id:_0x311764,client_secret:_0x118603,code_verifier:_0x4ac3ab}=_0x69e44f[_0xb4a181(0x1fa)];logger[_0xb4a181(0x24f)](_0xb4a181(0x1eb)+'\x20Toke'+_0xb4a181(0x293)+_0xb4a181(0x277)+_0xb4a181(0x238)+_0xb4a181(0x211)+_0xb4a181(0x259)+')',{'grant_type':_0x2be763,'client_id':_0x311764});if(_0x15908f[_0xb4a181(0x2b2)](_0x311764,_0x118603)){if(!OAuthService[_0xb4a181(0x2c2)+'yClie'+_0xb4a181(0x2d6)+_0xb4a181(0x263)](_0x311764,_0x118603)){logger[_0xb4a181(0x218)](_0x15908f[_0xb4a181(0x225)],{'client_id':_0x311764}),_0x2ca8c3[_0xb4a181(0x278)+'s'](0x191)[_0xb4a181(0x237)]({'error':_0x15908f[_0xb4a181(0x271)],'error_description':_0x15908f[_0xb4a181(0x246)]});return;}}const _0x165747=OAuthService[_0xb4a181(0x2c2)+'yAndD'+_0xb4a181(0x2b0)+_0xb4a181(0x259)+_0xb4a181(0x273)](_0x367353);if(!_0x165747){logger[_0xb4a181(0x218)](_0x15908f[_0xb4a181(0x2b4)],{'code':_0x367353}),_0x2ca8c3[_0xb4a181(0x278)+'s'](0x190)[_0xb4a181(0x237)]({'error':_0xb4a181(0x1fe)+_0xb4a181(0x29d)+_0xb4a181(0x2bf),'error_description':_0x15908f['RhDzm']});return;}if(!_0x4ac3ab){_0x2ca8c3['statu'+'s'](0x190)[_0xb4a181(0x237)]({'error':'inval'+_0xb4a181(0x29d)+_0xb4a181(0x2bf),'error_description':_0xb4a181(0x23b)+'verif'+_0xb4a181(0x2b5)+'s\x20req'+_0xb4a181(0x2c7)+_0xb4a181(0x266)+_0xb4a181(0x2d8)});return;}if(!OAuthService[_0xb4a181(0x2c2)+_0xb4a181(0x2cf)](_0x4ac3ab,_0x165747['hc'],_0x165747['hm'])){logger[_0xb4a181(0x218)](_0xb4a181(0x29a)+_0xb4a181(0x2c2)+_0xb4a181(0x25c)+_0xb4a181(0x2b9)+_0xb4a181(0x2c0),{'clickUpCode':_0x165747['c'],'verifier':_0x4ac3ab}),_0x2ca8c3[_0xb4a181(0x278)+'s'](0x190)[_0xb4a181(0x237)]({'error':_0xb4a181(0x1fe)+_0xb4a181(0x29d)+_0xb4a181(0x2bf),'error_description':'PKCE\x20'+_0xb4a181(0x2c2)+_0xb4a181(0x25c)+'on\x20fa'+_0xb4a181(0x2c0)});return;}const _0x4187c4=await OAuthService[_0xb4a181(0x2c8)+_0xb4a181(0x1fc)+_0xb4a181(0x20d)+_0xb4a181(0x2ac)+_0xb4a181(0x29b)](_0x165747['c']);if(_0x4187c4[_0xb4a181(0x27a)+'ss']){const _0x1dc16e=_0x4187c4[_0xb4a181(0x2d3)][_0xb4a181(0x221)+_0xb4a181(0x202)+'en'];clearTokenCache(_0x1dc16e);try{const _0x2998b1=await a0_0x3ac3b4[_0xb4a181(0x2ca)](a0_0x6a392a[_0xb4a181(0x20c)+'upApi'+'Url']+_0xb4a181(0x26d),{'headers':{'Authorization':_0x1dc16e},'timeout':0x2710}),_0x3aa27d=_0x2998b1[_0xb4a181(0x2d3)]?.[_0xb4a181(0x2d7)]||[];if(_0x15908f[_0xb4a181(0x28b)](_0x3aa27d['lengt'+'h'],0x0)){const _0x3965ce=_0x3aa27d[_0xb4a181(0x239)](_0xba905b=>String(_0xba905b['id'])),_0x312159=_0x3965ce[_0xb4a181(0x2ce)](','),_0x47a45f=_0x312159+':'+_0x1dc16e;logger[_0xb4a181(0x24f)](_0xb4a181(0x2dc)+_0xb4a181(0x299)+'works'+_0xb4a181(0x243)+_0xb4a181(0x2d2)+'tion\x20'+_0xb4a181(0x20a)+_0xb4a181(0x251),{'count':_0x3965ce[_0xb4a181(0x222)+'h'],'confirmedIds':_0x312159}),_0x2ca8c3[_0xb4a181(0x237)]({..._0x4187c4[_0xb4a181(0x2d3)],'access_token':_0x47a45f,'first_team_id':_0x3965ce[0x0],'all_team_ids':_0x3965ce});return;}}catch(_0x9a205e){logger[_0xb4a181(0x218)](_0x15908f[_0xb4a181(0x2ba)],{'error':_0x9a205e[_0xb4a181(0x27b)+'ge']});}_0x2ca8c3['json'](_0x4187c4[_0xb4a181(0x2d3)]);}else logger[_0xb4a181(0x26f)]('Upstr'+_0xb4a181(0x1f5)+_0xb4a181(0x272)+_0xb4a181(0x2c8)+'nge\x20f'+_0xb4a181(0x21c)+'e',{'error':_0x4187c4[_0xb4a181(0x26f)]}),_0x2ca8c3[_0xb4a181(0x278)+'s'](0x1f4)[_0xb4a181(0x237)]({'error':_0x15908f['tORUl'],'details':_0x4187c4[_0xb4a181(0x26f)]});});export default router;
|
|
1
|
+
const a0_0x114b86=a0_0x5bad;(function(_0x49ab82,_0x1b8a6c){const _0x47e9e1=a0_0x5bad,_0x155851=_0x49ab82();while(!![]){try{const _0xd29e17=parseInt(_0x47e9e1(0x24b))/0x1+-parseInt(_0x47e9e1(0x231))/0x2*(parseInt(_0x47e9e1(0x1d3))/0x3)+-parseInt(_0x47e9e1(0x1a2))/0x4*(parseInt(_0x47e9e1(0x179))/0x5)+parseInt(_0x47e9e1(0x1cc))/0x6*(parseInt(_0x47e9e1(0x235))/0x7)+-parseInt(_0x47e9e1(0x193))/0x8*(-parseInt(_0x47e9e1(0x1f4))/0x9)+-parseInt(_0x47e9e1(0x182))/0xa*(-parseInt(_0x47e9e1(0x224))/0xb)+parseInt(_0x47e9e1(0x163))/0xc*(-parseInt(_0x47e9e1(0x18f))/0xd);if(_0xd29e17===_0x1b8a6c)break;else _0x155851['push'](_0x155851['shift']());}catch(_0x4fb6c3){_0x155851['push'](_0x155851['shift']());}}}(a0_0x1b92,0xc142f));import a0_0x166aae from'express';import a0_0x4885d9 from'../config.js';import{Logger}from'../logger.js';import{OAuthService}from'../services/oauth.js';import{clearTokenCache}from'../middleware/auth.js';function a0_0x5bad(_0x3fad8d,_0x1ecf73){_0x3fad8d=_0x3fad8d-0x157;const _0x1b92a7=a0_0x1b92();let _0x5badfe=_0x1b92a7[_0x3fad8d];if(a0_0x5bad['jSpzke']===undefined){var _0x4e5178=function(_0x42dfb2){const _0x362978='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x101173='',_0x357fce='';for(let _0x235698=0x0,_0x744c06,_0x4fc86a,_0x4192b3=0x0;_0x4fc86a=_0x42dfb2['charAt'](_0x4192b3++);~_0x4fc86a&&(_0x744c06=_0x235698%0x4?_0x744c06*0x40+_0x4fc86a:_0x4fc86a,_0x235698++%0x4)?_0x101173+=String['fromCharCode'](0xff&_0x744c06>>(-0x2*_0x235698&0x6)):0x0){_0x4fc86a=_0x362978['indexOf'](_0x4fc86a);}for(let _0x1e99b2=0x0,_0x667182=_0x101173['length'];_0x1e99b2<_0x667182;_0x1e99b2++){_0x357fce+='%'+('00'+_0x101173['charCodeAt'](_0x1e99b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x357fce);};a0_0x5bad['rqAdUI']=_0x4e5178,a0_0x5bad['wRcvhS']={},a0_0x5bad['jSpzke']=!![];}const _0xa3eeee=_0x1b92a7[0x0],_0x546ff5=_0x3fad8d+_0xa3eeee,_0x2a6ca5=a0_0x5bad['wRcvhS'][_0x546ff5];return!_0x2a6ca5?(_0x5badfe=a0_0x5bad['rqAdUI'](_0x5badfe),a0_0x5bad['wRcvhS'][_0x546ff5]=_0x5badfe):_0x5badfe=_0x2a6ca5,_0x5badfe;}import a0_0x4c80a2 from'axios';const router=a0_0x166aae['Route'+'r'](),logger=new Logger(a0_0x114b86(0x1de)+a0_0x114b86(0x203)+'s');import{createAuthRateLimitMiddleware}from'../middleware/security.js';const createAuthRateLimit=createAuthRateLimitMiddleware(),serverUrl=a0_0x4885d9['mcpSe'+'rverU'+'rl']||a0_0x114b86(0x208)+'//loc'+'alhos'+'t:'+(a0_0x4885d9[a0_0x114b86(0x157)]||0xc9f);router[a0_0x114b86(0x1d1)](a0_0x114b86(0x24a)+a0_0x114b86(0x1fa)+a0_0x114b86(0x1a9),createAuthRateLimit,(_0x335725,_0x1db42c)=>{const _0x3a59c4=a0_0x114b86,_0x39bfcb={'mPSyH':function(_0x1121ef,_0x340600){return _0x1121ef===_0x340600;},'gBYEV':_0x3a59c4(0x1e6)+_0x3a59c4(0x1c6),'hjqzq':'clien'+'t_sec'+_0x3a59c4(0x183)+_0x3a59c4(0x1d0)},{client_name:_0x404733,redirect_uris:_0x3fb22a}=_0x335725[_0x3a59c4(0x1ff)];logger['info'](_0x3a59c4(0x1de)+_0x3a59c4(0x226)+_0x3a59c4(0x249)+'gistr'+_0x3a59c4(0x1d4)+'\x20requ'+_0x3a59c4(0x20a),{'client_name':_0x404733,'redirect_uris':_0x3fb22a});if(!_0x3fb22a||!Array[_0x3a59c4(0x22d)+'ay'](_0x3fb22a)||_0x39bfcb[_0x3a59c4(0x199)](_0x3fb22a[_0x3a59c4(0x1f3)+'h'],0x0)){_0x1db42c['statu'+'s'](0x190)[_0x3a59c4(0x1cf)]({'error':_0x3a59c4(0x1b2)+_0x3a59c4(0x237)+_0x3a59c4(0x16b)+_0x3a59c4(0x1a6)+_0x3a59c4(0x19b),'error_description':_0x3a59c4(0x201)+_0x3a59c4(0x16a)+'ris\x20i'+_0x3a59c4(0x247)+_0x3a59c4(0x15a)});return;}try{const {clientId:_0x42a7a3,clientSecret:_0xfbdfac}=OAuthService[_0x3a59c4(0x159)+_0x3a59c4(0x219)+'gnedC'+_0x3a59c4(0x1c6)+'Id'](_0x3fb22a);_0x1db42c[_0x3a59c4(0x187)+'s'](0xc9)[_0x3a59c4(0x1cf)]({'client_id':_0x42a7a3,'client_secret':_0xfbdfac,'client_name':_0x404733||_0x39bfcb[_0x3a59c4(0x1c3)],'redirect_uris':_0x3fb22a,'grant_types':[_0x3a59c4(0x217)+_0x3a59c4(0x1b0)+_0x3a59c4(0x1bb)+'ode'],'response_types':['code'],'token_endpoint_auth_method':_0x39bfcb[_0x3a59c4(0x16d)]});}catch(_0x383222){logger[_0x3a59c4(0x1f7)](_0x3a59c4(0x1e0)+_0x3a59c4(0x241)+_0x3a59c4(0x236)+_0x3a59c4(0x1fb)+_0x3a59c4(0x15e)+_0x3a59c4(0x21f),{'error':_0x383222['messa'+'ge'],'redirect_uris':_0x3fb22a}),_0x1db42c['statu'+'s'](0x190)[_0x3a59c4(0x1cf)]({'error':_0x3a59c4(0x1b2)+'id_cl'+_0x3a59c4(0x16b)+'metad'+_0x3a59c4(0x19b),'error_description':_0x383222[_0x3a59c4(0x1c5)+'ge']});}}),router[a0_0x114b86(0x214)](a0_0x114b86(0x24a)+a0_0x114b86(0x21d)+'horiz'+'e',createAuthRateLimit,(_0x538908,_0x2b941a)=>{const _0x11a7d5=a0_0x114b86,_0x13c412={'whAQq':_0x11a7d5(0x1ec)+'ng\x20Cl'+_0x11a7d5(0x169)+'\x20Clie'+'nt\x20ID'+_0x11a7d5(0x1a7)+_0x11a7d5(0x221)+_0x11a7d5(0x1be)+'igura'+'tion','QZZGS':'Serve'+_0x11a7d5(0x1d9)+_0x11a7d5(0x20c)+_0x11a7d5(0x195)+'ion:\x20'+_0x11a7d5(0x1ec)+_0x11a7d5(0x15c)+_0x11a7d5(0x169)+_0x11a7d5(0x226)+_0x11a7d5(0x1c0),'wOEFv':_0x11a7d5(0x233),'fptyR':_0x11a7d5(0x213),'tCHbH':function(_0x31a534,_0x233472){return _0x31a534===_0x233472;},'BxcXT':'x-for'+_0x11a7d5(0x23d)+_0x11a7d5(0x1ed)+'to','KZjVM':_0x11a7d5(0x200)+_0x11a7d5(0x220)+'tate','QYCNo':function(_0x4444fb,_0x4e4198){return _0x4444fb*_0x4e4198;}},{response_type:_0x3dea6f,client_id:_0x277459,redirect_uri:_0x1d0190,state:_0x2f25ae,code_challenge:_0x2fdac5,code_challenge_method:_0x19cef4}=_0x538908['query'];logger[_0x11a7d5(0x1da)](_0x11a7d5(0x1de)+'\x20Auth'+'oriza'+_0x11a7d5(0x1fb)+_0x11a7d5(0x1a8)+_0x11a7d5(0x1d6)+_0x11a7d5(0x23c),{'response_type':_0x3dea6f,'client_id':_0x277459,'redirect_uri':_0x1d0190,'state':_0x2f25ae});if(_0x277459&&!OAuthService[_0x11a7d5(0x228)+_0x11a7d5(0x1f1)+'ntId'](_0x277459,_0x1d0190)){_0x2b941a[_0x11a7d5(0x187)+'s'](0x191)[_0x11a7d5(0x1ad)](_0x11a7d5(0x17d)+_0x11a7d5(0x218)+_0x11a7d5(0x1ba)+_0x11a7d5(0x15f)+'\x20Redi'+'rect\x20'+'URI\x20n'+_0x11a7d5(0x1a5)+_0x11a7d5(0x168));return;}const _0x220703=a0_0x4885d9[_0x11a7d5(0x222)+'upCli'+_0x11a7d5(0x1cb)];if(!_0x220703){logger[_0x11a7d5(0x1a0)](_0x13c412['whAQq']),_0x2b941a[_0x11a7d5(0x187)+'s'](0x1f4)[_0x11a7d5(0x1ad)](_0x13c412[_0x11a7d5(0x225)]);return;}const _0x586877=OAuthService[_0x11a7d5(0x159)+_0x11a7d5(0x16c)+_0x11a7d5(0x206)+'ate'](_0x1d0190,_0x2f25ae,_0x2fdac5,_0x19cef4),_0x11f9b5=new URL(a0_0x4885d9[_0x11a7d5(0x222)+_0x11a7d5(0x239)+_0x11a7d5(0x246)]+_0x11a7d5(0x1ab));_0x11f9b5[_0x11a7d5(0x1bd)+_0x11a7d5(0x1b3)+'ms'][_0x11a7d5(0x190)+'d'](_0x11a7d5(0x1ae)+_0x11a7d5(0x18e),_0x220703),_0x11f9b5[_0x11a7d5(0x1bd)+'hPara'+'ms'][_0x11a7d5(0x190)+'d'](_0x11a7d5(0x201)+'ect_u'+'ri',serverUrl+(_0x11a7d5(0x24a)+_0x11a7d5(0x1aa)+_0x11a7d5(0x1b4))),_0x11f9b5[_0x11a7d5(0x1bd)+_0x11a7d5(0x1b3)+'ms'][_0x11a7d5(0x190)+'d'](_0x11a7d5(0x1e3)+'nse_t'+_0x11a7d5(0x22e),_0x13c412[_0x11a7d5(0x1e1)]),_0x11f9b5[_0x11a7d5(0x1bd)+_0x11a7d5(0x1b3)+'ms'][_0x11a7d5(0x190)+'d'](_0x13c412['fptyR'],_0x586877);const _0x51c793=_0x538908[_0x11a7d5(0x1bc)+'e']||_0x13c412[_0x11a7d5(0x1d7)](_0x538908[_0x11a7d5(0x18a)+'rs'][_0x13c412[_0x11a7d5(0x1ac)]],'https'),_0x4dab98=_0x51c793?'__Hos'+_0x11a7d5(0x1bf)+_0x11a7d5(0x1b1)+'_stat'+'e':_0x13c412[_0x11a7d5(0x20b)];_0x2b941a[_0x11a7d5(0x1d2)+'e'](_0x4dab98,_0x586877,{'httpOnly':!![],'secure':_0x51c793,'sameSite':_0x11a7d5(0x177),'maxAge':_0x13c412[_0x11a7d5(0x178)](0xf*0x3c,0x3e8),'path':'/'}),_0x2b941a[_0x11a7d5(0x201)+_0x11a7d5(0x1c9)](_0x11f9b5[_0x11a7d5(0x227)+_0x11a7d5(0x1af)]());}),router[a0_0x114b86(0x214)](a0_0x114b86(0x24a)+a0_0x114b86(0x1aa)+a0_0x114b86(0x1b4),createAuthRateLimit,(_0x271b30,_0x2b5f35)=>{const _0x359366=a0_0x114b86,_0x474f02={'jDRYP':_0x359366(0x1ec)+'ng\x20co'+_0x359366(0x210)+_0x359366(0x1e7)+_0x359366(0x18c)+_0x359366(0x192)+_0x359366(0x1ee),'YKiGO':'x-for'+_0x359366(0x23d)+_0x359366(0x1ed)+'to','jrHbE':'https','XScoE':_0x359366(0x172)+_0x359366(0x1bf)+_0x359366(0x1b1)+_0x359366(0x18b)+'e','Trvuu':_0x359366(0x200)+_0x359366(0x220)+_0x359366(0x243),'nfJVv':function(_0x131fda,_0x55545a){return _0x131fda!==_0x55545a;},'kBRwy':function(_0x21d67e,_0x569f4d){return _0x21d67e===_0x569f4d;},'UlXNn':_0x359366(0x213),'qajnG':_0x359366(0x17d)+_0x359366(0x22f)+_0x359366(0x19f)+_0x359366(0x1f0)+_0x359366(0x19a)},{code:_0x7d0987,state:_0x462c20}=_0x271b30[_0x359366(0x22b)];if(!_0x7d0987||!_0x462c20){_0x2b5f35[_0x359366(0x187)+'s'](0x190)[_0x359366(0x1ad)](_0x474f02[_0x359366(0x1f8)]);return;}logger[_0x359366(0x1da)](_0x359366(0x1de)+_0x359366(0x196)+_0x359366(0x171)+'recei'+_0x359366(0x1b7),{'query':_0x271b30[_0x359366(0x22b)]});const _0x5bb913=_0x271b30[_0x359366(0x1bc)+'e']||_0x271b30['heade'+'rs'][_0x474f02[_0x359366(0x18d)]]===_0x474f02[_0x359366(0x230)],_0x2ebc14=_0x5bb913?_0x474f02['XScoE']:_0x474f02[_0x359366(0x1c4)],_0x330c82=_0x271b30[_0x359366(0x1d2)+'es']?.[_0x2ebc14];if(!_0x330c82||_0x474f02[_0x359366(0x1e4)](_0x330c82,_0x462c20)){logger[_0x359366(0x1f7)](_0x359366(0x1de)+_0x359366(0x1dc)+'\x20dete'+'ction'+_0x359366(0x180)+_0x359366(0x197)+_0x359366(0x1f2)+_0x359366(0x1df)+_0x359366(0x19c)+_0x359366(0x1cd)+_0x359366(0x1fd),{'hasCookie':!!_0x330c82,'cookieName':_0x2ebc14,'stateMatch':_0x474f02['kBRwy'](_0x330c82,_0x462c20)}),_0x2b5f35['statu'+'s'](0x193)[_0x359366(0x1ad)](_0x359366(0x1db)+'ntica'+_0x359366(0x1fb)+'faile'+_0x359366(0x1ce)+_0x359366(0x1f5)+'\x20time'+'out\x20o'+'r\x20CSR'+'F\x20det'+_0x359366(0x21b)+'.\x20Ple'+_0x359366(0x240)+_0x359366(0x20e)+_0x359366(0x1ef));return;}_0x2b5f35[_0x359366(0x1ea)+_0x359366(0x24c)+'e'](_0x2ebc14,{'path':'/'});try{const _0x137063=OAuthService[_0x359366(0x1d8)+_0x359366(0x23a)+_0x359366(0x209)+'e'](_0x462c20),_0xb4dea1=new URL(_0x137063[_0x359366(0x22c)+'nal_r'+_0x359366(0x158)+_0x359366(0x17c)+'i']),_0xa91bab=OAuthService['gener'+'ateSi'+_0x359366(0x204)+_0x359366(0x17a)+_0x359366(0x1eb)](_0x7d0987,_0x137063[_0x359366(0x19e)+_0x359366(0x20f)+'enge'],_0x137063['code_'+_0x359366(0x20f)+_0x359366(0x20d)+_0x359366(0x1a3)+'d']);_0xb4dea1[_0x359366(0x1bd)+_0x359366(0x1b3)+'ms']['appen'+'d'](_0x359366(0x233),_0xa91bab),_0xb4dea1['searc'+_0x359366(0x1b3)+'ms'][_0x359366(0x190)+'d'](_0x474f02[_0x359366(0x166)],_0x137063[_0x359366(0x22c)+_0x359366(0x1c7)+_0x359366(0x243)]),_0x2b5f35[_0x359366(0x201)+_0x359366(0x1c9)](_0xb4dea1[_0x359366(0x227)+_0x359366(0x1af)]());}catch(_0x1683b0){logger[_0x359366(0x1a0)]('Faile'+_0x359366(0x23b)+'parse'+_0x359366(0x191)+_0x359366(0x244)+'te',_0x1683b0),_0x2b5f35[_0x359366(0x187)+'s'](0x190)[_0x359366(0x1ad)](_0x474f02[_0x359366(0x21c)]);}}),router[a0_0x114b86(0x1d1)](a0_0x114b86(0x24a)+'h/tok'+'en',createAuthRateLimit,async(_0xfa4aca,_0x42165d)=>{const _0x45b3ea=a0_0x114b86,_0x2f9130={'ZcOjB':_0x45b3ea(0x1de)+_0x45b3ea(0x1b8)+_0x45b3ea(0x21e)+_0x45b3ea(0x22a)+_0x45b3ea(0x212)+_0x45b3ea(0x173)+_0x45b3ea(0x216)+')','gdlAQ':_0x45b3ea(0x17d)+'id\x20Cl'+_0x45b3ea(0x1ba)+_0x45b3ea(0x1fe)+'t','aYsaP':_0x45b3ea(0x17d)+_0x45b3ea(0x194)+_0x45b3ea(0x1ba)+_0x45b3ea(0x242)+_0x45b3ea(0x164)+'s','VFDyW':_0x45b3ea(0x17d)+_0x45b3ea(0x229)+_0x45b3ea(0x234)+_0x45b3ea(0x1eb),'yGyik':'Inval'+_0x45b3ea(0x1c2)+_0x45b3ea(0x1ca)+'zatio'+_0x45b3ea(0x1e5)+_0x45b3ea(0x207)+_0x45b3ea(0x215)+'ture','EvbZd':'inval'+_0x45b3ea(0x186)+_0x45b3ea(0x1e8),'cbOWP':'code_'+_0x45b3ea(0x228)+_0x45b3ea(0x185)+_0x45b3ea(0x247)+_0x45b3ea(0x15a)+_0x45b3ea(0x1fc)+_0x45b3ea(0x232),'bodjy':'PKCE\x20'+_0x45b3ea(0x228)+'icati'+_0x45b3ea(0x174)+'iled','lZGMi':'Embed'+_0x45b3ea(0x165)+'works'+_0x45b3ea(0x161)+'selec'+_0x45b3ea(0x1fb)+_0x45b3ea(0x211)+_0x45b3ea(0x1e2),'soBiQ':_0x45b3ea(0x245)+_0x45b3ea(0x23b)+_0x45b3ea(0x17b)+_0x45b3ea(0x17f)+_0x45b3ea(0x15d)+_0x45b3ea(0x160)+_0x45b3ea(0x167)+_0x45b3ea(0x16e)+_0x45b3ea(0x1c8)+'er'},{grant_type:_0xb42a2c,code:_0x5d3019,redirect_uri:_0x14efb4,client_id:_0x3e01f0,client_secret:_0xb4053,code_verifier:_0xacd36b}=_0xfa4aca[_0x45b3ea(0x1ff)];logger['info'](_0x2f9130[_0x45b3ea(0x23e)],{'grant_type':_0xb42a2c,'client_id':_0x3e01f0});if(_0x3e01f0&&_0xb4053){if(!OAuthService[_0x45b3ea(0x228)+_0x45b3ea(0x1f1)+'ntSec'+_0x45b3ea(0x1d5)](_0x3e01f0,_0xb4053)){logger[_0x45b3ea(0x1f7)](_0x2f9130['gdlAQ'],{'client_id':_0x3e01f0}),_0x42165d['statu'+'s'](0x191)[_0x45b3ea(0x1cf)]({'error':'inval'+_0x45b3ea(0x237)+_0x45b3ea(0x1f9),'error_description':_0x2f9130[_0x45b3ea(0x19d)]});return;}}const _0xf4160d=OAuthService[_0x45b3ea(0x228)+_0x45b3ea(0x181)+_0x45b3ea(0x248)+_0x45b3ea(0x216)+_0x45b3ea(0x1a1)](_0x5d3019);if(!_0xf4160d){logger['warn'](_0x2f9130[_0x45b3ea(0x189)],{'code':_0x5d3019}),_0x42165d['statu'+'s'](0x190)[_0x45b3ea(0x1cf)]({'error':_0x45b3ea(0x1b2)+'id_gr'+_0x45b3ea(0x1e8),'error_description':_0x2f9130[_0x45b3ea(0x198)]});return;}if(!_0xacd36b){_0x42165d[_0x45b3ea(0x187)+'s'](0x190)[_0x45b3ea(0x1cf)]({'error':_0x2f9130['EvbZd'],'error_description':_0x2f9130[_0x45b3ea(0x238)]});return;}if(!OAuthService[_0x45b3ea(0x228)+_0x45b3ea(0x1dd)](_0xacd36b,_0xf4160d['hc'],_0xf4160d['hm'])){logger[_0x45b3ea(0x1f7)](_0x2f9130[_0x45b3ea(0x1c1)],{'clickUpCode':_0xf4160d['c'],'verifier':_0xacd36b}),_0x42165d['statu'+'s'](0x190)['json']({'error':'inval'+_0x45b3ea(0x186)+_0x45b3ea(0x1e8),'error_description':_0x2f9130[_0x45b3ea(0x1c1)]});return;}const _0x206f1b=await OAuthService[_0x45b3ea(0x17b)+'ngeTo'+_0x45b3ea(0x170)+'thCli'+'ckUp'](_0xf4160d['c']);if(_0x206f1b[_0x45b3ea(0x17e)+'ss']){const _0x56fcb2=_0x206f1b[_0x45b3ea(0x1b6)][_0x45b3ea(0x162)+_0x45b3ea(0x1f6)+'en'];clearTokenCache(_0x56fcb2);try{const _0x3df7e0=await a0_0x4c80a2[_0x45b3ea(0x214)](a0_0x4885d9['click'+_0x45b3ea(0x1b5)+_0x45b3ea(0x246)]+_0x45b3ea(0x23f),{'headers':{'Authorization':_0x56fcb2},'timeout':0x2710}),_0x4bf496=_0x3df7e0[_0x45b3ea(0x1b6)]?.[_0x45b3ea(0x188)]||[];if(_0x4bf496[_0x45b3ea(0x1f3)+'h']>0x0){const _0x5ec7a9=_0x4bf496['map'](_0x4a1091=>String(_0x4a1091['id'])),_0xa1ba1d=_0x5ec7a9['join'](','),_0x10a5bb=_0xa1ba1d+':'+_0x56fcb2;logger[_0x45b3ea(0x1da)](_0x2f9130[_0x45b3ea(0x176)],{'count':_0x5ec7a9[_0x45b3ea(0x1f3)+'h'],'confirmedIds':_0xa1ba1d}),_0x42165d[_0x45b3ea(0x1cf)]({..._0x206f1b[_0x45b3ea(0x1b6)],'access_token':_0x10a5bb,'first_team_id':_0x5ec7a9[0x0],'all_team_ids':_0x5ec7a9});return;}}catch(_0x592a02){logger[_0x45b3ea(0x1f7)]('Faile'+_0x45b3ea(0x23b)+_0x45b3ea(0x205)+_0x45b3ea(0x175)+_0x45b3ea(0x15b)+'\x20embe'+_0x45b3ea(0x21a)+',\x20ret'+_0x45b3ea(0x223)+_0x45b3ea(0x202)+'\x20toke'+'n',{'error':_0x592a02[_0x45b3ea(0x1c5)+'ge']});}_0x42165d['json'](_0x206f1b[_0x45b3ea(0x1b6)]);}else logger['error'](_0x45b3ea(0x1a4)+_0x45b3ea(0x1b9)+_0x45b3ea(0x15d)+'excha'+_0x45b3ea(0x184)+_0x45b3ea(0x16f)+'e',{'error':_0x206f1b[_0x45b3ea(0x1a0)]}),_0x42165d[_0x45b3ea(0x187)+'s'](0x1f4)[_0x45b3ea(0x1cf)]({'error':_0x2f9130[_0x45b3ea(0x1e9)],'details':_0x206f1b[_0x45b3ea(0x1a0)]});});export default router;function a0_0x1b92(){const _0x3cb1a8=['mtqXody4mdLmuwn3CMq','yxbWzw4','ie9bDxq','BsbdBgK','odq1mZy4Bu51whDZ','AwqGy2W','z3vYyxq','ignHBgW','DguGBwK','EuD5AwS','BvbtEuG','DgvY','yxrH','BwLZC2K','yvLZyva','y29Kzv8','yxrLiha','zxjYB3i','q29Kzq','nfPLr1rAuW','Bwv0Ag8','vxbZDhi','B3qGywW','Bwv0ywq','igLUihm','CMvXDwu','Axn0zxi','Ac9JywW','l2fWAq','qNHJwfq','C2vUza','y2XPzw4','Aw5N','CML6yxq','x2f1DgG','Aw52ywW','AfbHCMe','BgjHy2S','DxbbCgK','zgf0yq','DMvK','ifrVA2u','zwfTihq','AwvUDca','Aw9Ux2m','C2vJDxi','C2vHCMm','ignVBMy','Dc1Ty3a','BNqGsuq','yM9KANK','AwqGyxu','z0jzrvy','vhj2Dxu','BwvZC2e','BgLLBNq','BMfSx3m','CM92Awq','zwn0','DgHVCMK','zw50swq','ndC1mdHuyKzTrKK','BMCGy28','zdOGC2u','ANnVBG','B3n0','Cg9ZDa','y29VA2K','mti2mtyYnNvdr2rxzG','yxrPB24','CMv0','C3qGkfa','DeniyKG','zgvJB2q','CIbnAxm','Aw5MBW','qxv0Agu','ientuKy','Evblq0u','t0f1DgG','AcbVCIa','q2XPzw4','D09frNy','Dg9Rzw4','CMvZCg8','BMzkvNy','BIbJB2q','tunqiem','ihn0yxq','yw50','C29cAve','y2XLyxi','B2rL','twLZC2K','zc1WCM8','y2TvCa','ywLUlG','yxjHBwu','EunSAwu','C21HDgm','BgvUz3q','mZzUtNjoDuG','C3nPB24','C190B2S','D2fYBG','AKrswva','AwvUDa','Ac9YzwC','DgLVBIa','igzVCIa','B2TPzq','u2vJCMu','yM9KEq','BwnWx2e','CMvKAxi','zYbYyxC','uM91Dgu','z25Lzfa','zMv0y2G','B3H5u3q','zsbVCIa','Ahr0CdO','Evn0yxq','zxn0','s1PQvK0','y29UzMK','zw5Nzv8','CNKGywC','y2HHBgW','zguGB3i','Aw50BYa','ihjLCxu','C3rHDgu','z2v0','C2LNBMe','uhjVEhK','yxv0Ag8','AwqGq2W','yxrLu2K','zgrPBMC','zwn0zwq','CwfQBKC','Ac9HDxq','BIbfEgm','DgvK','DxrOx3m','zxj2zxi','y2XPy2S','DxjUAw4','mJa5v3zJt0nw','uvPAr1m','ienSAwu','Dg9tDhi','DMvYAwy','AwqGuhi','AgfUz2u','CxvLCNK','B3jPz2K','AxnbCNi','ExbL','AwqGC3q','ANjiyKu','mK12z2fJDa','ueTdrq','y29Kzq','B3H5iem','otu5zhvLvhrY','Axn0CMe','AwrFy2W','y2jpv1a','DxbbCha','zvbYB3G','zcb0BYa','CM94EsK','D2fYzgu','wMnpAKi','l3rLyw0','yxnLihq','DcbszwC','y3jLzgu','Dgf0zq','AcbZDge','rMfPBgu','vxjS','CYbYzxe','zwnVzgu','BNqGuMu','l29HDxq','mti2ota1nhLZCfDAwa','q29VA2K','Cg9YDa','zwrPCMu','z2vUzxi','DwLYzwq','CYbMB3i','BMCGq2W','B2TLBIa','uMvQzwm','suqGB3i','D2L0Aca','CgfJzsa','ywnJzxm','mtjWsLH5s1C','BNrPywW','zgLUzYa','vwXytM4','DxbZDhi','Bg93zwq','AwnRvxa','zwn0x3u','AwvUDf8','yxrLuhi','AgPXENe','zwfTiha','ywLSDxi','A2vUv2K','yMfJAYa','x19iB3m','zxn0icG','B24GzMe','ihrLyw0','BfPhtwK','Bgf4','uvLdtM8','ntK3ota1nu9PDefhvW','CM94Eum','zxHJAge','y3rFDxi','sw52ywW','C3vJy2u','BMDLihq','oIbZDge','EufUzeq','mZGWmZKWrgHQqLrv','CMv0x3a','BMDLigy','AwvYigK','AwrFz3i','C3rHDhu','DgvHBxm','vKzeEvC','AgvHzgu','x3n0yxq','zsbMCM8','wuTPr08','Df9Pza'];a0_0x1b92=function(){return _0x3cb1a8;};return a0_0x1b92();}
|
package/build/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4ed7b7=a0_0x54dc;(function(_0x1943c6,_0x2bbe65){const _0xd4a4a2=a0_0x54dc,_0x22e89e=_0x1943c6();while(!![]){try{const _0x38b91c=-parseInt(_0xd4a4a2(0x16c))/0x1*(parseInt(_0xd4a4a2(0x1af))/0x2)+-parseInt(_0xd4a4a2(0x177))/0x3+-parseInt(_0xd4a4a2(0x17f))/0x4+-parseInt(_0xd4a4a2(0x194))/0x5*(-parseInt(_0xd4a4a2(0x19f))/0x6)+parseInt(_0xd4a4a2(0x19c))/0x7+-parseInt(_0xd4a4a2(0x170))/0x8*(parseInt(_0xd4a4a2(0x188))/0x9)+parseInt(_0xd4a4a2(0x19d))/0xa;if(_0x38b91c===_0x2bbe65)break;else _0x22e89e['push'](_0x22e89e['shift']());}catch(_0x4a8002){_0x22e89e['push'](_0x22e89e['shift']());}}}(a0_0x22b3,0x969ba));function a0_0x22b3(){const _0x2a540b=['As5JBgK','se9tva','reLtqui','zg9JDw0','AK1jzwe','zgLZywi','BgvUz3q','rvjst1i','Ahr0Chm','C3nLug8','Cg9YDa','yxjNDG','zxjdyxm','Dg9vCha','nMrvrePwza','BwfW','yxjPywi','zvn0zgK','u3rKzxi','v0fstG','y3jLDa','Dg9mB3C','AxjVBM0','s2v5','u1nfx1a','y2T1Cc4','y29Tl2e','tevex1q','revcvuC','vvbqt1i','Ag9ZDa','mJiYndCXrLnSCeHj','zw50ihy','zcbLBNy','DhjPBq','otzxq1DUALe','vfjbq0u','rv9tu0u','t1ju','vvbFveu','ChbVCNq','BgvKvg8','mZaYnte4mNfYy3btwa','DLLAExK','yM9zrxO','CxvPCMu','oI8Vyxa','twLoAhG','zw5HyMW','rvzfta','mti4odCYohruDhnIBq','zvntrq','sv9lrvK','y2XPy2S','DxbbCgK','ru5ux1m','q0Xjq0S','C2XPy2u','ru5bqKW','mJK1mtCZBfLMEM1U','BuLK','C3bSAxq','mc4WlJa','zMLSDgu','re9dvu0','Eg1kvfa','y29T','BMCGCMu','ls1LBNy','zwruB28','mZiZmq','ndq2odbdsgDTswG','vvbFqva','zMfSC2u','B2XZ','Dxbuzwe','su5gtW','zw50u3u','Bg9Ntgu','oda3mJq1nMfHAgTYwG','mty2nZu3otb4C1HftvG','CgKVDJi','mti2vNv1y0vK','C0fTBuO'];a0_0x22b3=function(){return _0x2a540b;};return a0_0x22b3();}const args=process[a0_0x4ed7b7(0x1ac)][a0_0x4ed7b7(0x186)](0x2),envArgs={};function a0_0x54dc(_0x43347a,_0xaaae42){_0x43347a=_0x43347a-0x166;const _0x22b36c=a0_0x22b3();let _0x54dcf6=_0x22b36c[_0x43347a];if(a0_0x54dc['QqKAUn']===undefined){var _0x80dc4b=function(_0x184378){const _0x5ee01a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53ab2b='',_0x7ac34b='';for(let _0x479f77=0x0,_0x7bc62a,_0x569291,_0x4b29c8=0x0;_0x569291=_0x184378['charAt'](_0x4b29c8++);~_0x569291&&(_0x7bc62a=_0x479f77%0x4?_0x7bc62a*0x40+_0x569291:_0x569291,_0x479f77++%0x4)?_0x53ab2b+=String['fromCharCode'](0xff&_0x7bc62a>>(-0x2*_0x479f77&0x6)):0x0){_0x569291=_0x5ee01a['indexOf'](_0x569291);}for(let _0x2d0cf0=0x0,_0x4be941=_0x53ab2b['length'];_0x2d0cf0<_0x4be941;_0x2d0cf0++){_0x7ac34b+='%'+('00'+_0x53ab2b['charCodeAt'](_0x2d0cf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7ac34b);};a0_0x54dc['ruWdZY']=_0x80dc4b,a0_0x54dc['waPvIA']={},a0_0x54dc['QqKAUn']=!![];}const _0x1aa12e=_0x22b36c[0x0],_0x418803=_0x43347a+_0x1aa12e,_0x316fdc=a0_0x54dc['waPvIA'][_0x418803];return!_0x316fdc?(_0x54dcf6=a0_0x54dc['ruWdZY'](_0x54dcf6),a0_0x54dc['waPvIA'][_0x418803]=_0x54dcf6):_0x54dcf6=_0x316fdc,_0x54dcf6;}for(let i=0x0;i<args['lengt'+'h'];i++){if(args[i]===a0_0x4ed7b7(0x191)&&i+0x1<args[a0_0x4ed7b7(0x1a7)+'h']){const [key,value]=args[i+0x1]['split']('=');if(key===a0_0x4ed7b7(0x185)+a0_0x4ed7b7(0x195)+a0_0x4ed7b7(0x181))envArgs[a0_0x4ed7b7(0x182)+a0_0x4ed7b7(0x183)+'Key']=value;if(key===a0_0x4ed7b7(0x185)+a0_0x4ed7b7(0x174)+'AM_ID')envArgs[a0_0x4ed7b7(0x182)+a0_0x4ed7b7(0x198)+a0_0x4ed7b7(0x189)]=value;if(key===a0_0x4ed7b7(0x18d)+a0_0x4ed7b7(0x184)+a0_0x4ed7b7(0x16a)+'T')envArgs[a0_0x4ed7b7(0x1a4)+a0_0x4ed7b7(0x19a)+'pport']=value;if(key==='LOG_L'+a0_0x4ed7b7(0x17e))envArgs['logLe'+'vel']=value;if(key===a0_0x4ed7b7(0x1a3)+a0_0x4ed7b7(0x168)+'OOLS')envArgs['disab'+'ledTo'+'ols']=value;if(key===a0_0x4ed7b7(0x187)+'ED_TO'+'OLS')envArgs['enabl'+a0_0x4ed7b7(0x192)+'ls']=value;if(key===a0_0x4ed7b7(0x187)+a0_0x4ed7b7(0x172))envArgs[a0_0x4ed7b7(0x17d)+a0_0x4ed7b7(0x180)]=value;if(key===a0_0x4ed7b7(0x1b9)+a0_0x4ed7b7(0x173))envArgs[a0_0x4ed7b7(0x1aa)+'rt']=value;if(key===a0_0x4ed7b7(0x187)+'E_STD'+'IO')envArgs[a0_0x4ed7b7(0x17d)+a0_0x4ed7b7(0x1b2)+'o']=value;if(key==='PORT')envArgs[a0_0x4ed7b7(0x1ab)]=value;if(key===a0_0x4ed7b7(0x1a2))envArgs[a0_0x4ed7b7(0x16b)]=value;i++;}}export var LogLevel;(function(_0xd759bc){const _0x36ddf8=a0_0x4ed7b7,_0x5e52a5={'tBBQm':_0x36ddf8(0x171),'xmJTP':'DEBUG','boYEz':_0x36ddf8(0x199),'sAmmJ':_0x36ddf8(0x1a8)};_0xd759bc[_0xd759bc[_0x5e52a5['tBBQm']]=0x0]=_0x36ddf8(0x171),_0xd759bc[_0xd759bc[_0x36ddf8(0x169)]=0x1]=_0x5e52a5[_0x36ddf8(0x18e)],_0xd759bc[_0xd759bc[_0x5e52a5[_0x36ddf8(0x179)]]=0x2]=_0x36ddf8(0x199),_0xd759bc[_0xd759bc['WARN']=0x3]=_0x36ddf8(0x1b4),_0xd759bc[_0xd759bc[_0x5e52a5[_0x36ddf8(0x1a0)]]=0x4]=_0x5e52a5[_0x36ddf8(0x1a0)];}(LogLevel||(LogLevel={})));const parseLogLevel=_0x270856=>{const _0x2272a1=a0_0x4ed7b7,_0x4cec99={'gfotX':'DEBUG','MiNhx':_0x2272a1(0x199),'vYZyy':_0x2272a1(0x1a8)};if(!_0x270856)return LogLevel[_0x2272a1(0x1a8)];switch(_0x270856[_0x2272a1(0x1ae)+_0x2272a1(0x1ad)+'e']()){case _0x2272a1(0x171):return LogLevel[_0x2272a1(0x171)];case _0x4cec99['gfotX']:return LogLevel[_0x2272a1(0x169)];case _0x4cec99[_0x2272a1(0x17c)]:return LogLevel[_0x2272a1(0x199)];case _0x2272a1(0x1b4):return LogLevel[_0x2272a1(0x1b4)];case _0x4cec99[_0x2272a1(0x178)]:return LogLevel[_0x2272a1(0x1a8)];default:return LogLevel[_0x2272a1(0x1a8)];}},parseBoolean=(_0x4b6e63,_0x35a42f)=>{const _0x112c82=a0_0x4ed7b7,_0x4ad880={'jMIea':function(_0x4cb978,_0x2c34e9){return _0x4cb978===_0x2c34e9;},'EKMEd':'true'};if(_0x4ad880[_0x112c82(0x1a5)](_0x4b6e63,undefined))return _0x35a42f;return _0x4b6e63[_0x112c82(0x1b6)+'erCas'+'e']()===_0x4ad880['EKMEd'];},parseInteger=(_0x2ee5c5,_0x7e7236)=>{const _0x1095e7={'dAyqY':function(_0x18aa8c,_0x2d9f9d){return _0x18aa8c===_0x2d9f9d;}};if(_0x1095e7['dAyqY'](_0x2ee5c5,undefined))return _0x7e7236;const _0x3e846e=parseInt(_0x2ee5c5,0xa);return isNaN(_0x3e846e)?_0x7e7236:_0x3e846e;},parseOrigins=(_0x41923a,_0x227281)=>{const _0x3ec289=a0_0x4ed7b7;if(!_0x41923a)return _0x227281;return _0x41923a[_0x3ec289(0x18a)](',')[_0x3ec289(0x1b0)](_0x3da199=>_0x3da199[_0x3ec289(0x16f)]())[_0x3ec289(0x18c)+'r'](_0x55e0fb=>_0x55e0fb!=='');},configuration={'clickupApiKey':envArgs[a0_0x4ed7b7(0x182)+'upApi'+'Key']||process.env.CLICKUP_API_KEY||'','clickupTeamId':envArgs[a0_0x4ed7b7(0x182)+a0_0x4ed7b7(0x198)+a0_0x4ed7b7(0x189)]||process.env.CLICKUP_TEAM_ID||'','documentSupport':envArgs[a0_0x4ed7b7(0x1a4)+a0_0x4ed7b7(0x19a)+a0_0x4ed7b7(0x175)]||process.env.DOCUMENT_SUPPORT||process.env.DOCUMENT_MODULE||process.env.DOCUMENT_MODEL||a0_0x4ed7b7(0x196),'logLevel':parseLogLevel(envArgs[a0_0x4ed7b7(0x19b)+'vel']||process.env.LOG_LEVEL),'logToStderr':parseBoolean(envArgs['logTo'+a0_0x4ed7b7(0x1b3)+'r']||process.env.LOG_TO_STDERR||process.env.RENDER,![]),'disabledTools':(envArgs[a0_0x4ed7b7(0x1a6)+a0_0x4ed7b7(0x176)+a0_0x4ed7b7(0x197)]||process.env.DISABLED_TOOLS||process.env.DISABLED_COMMANDS)?.['split'](',')[a0_0x4ed7b7(0x1b0)](_0x32824c=>_0x32824c[a0_0x4ed7b7(0x16f)]())[a0_0x4ed7b7(0x18c)+'r'](_0x3019e7=>_0x3019e7!=='')||[],'enabledTools':(envArgs[a0_0x4ed7b7(0x17d)+a0_0x4ed7b7(0x192)+'ls']||process.env.ENABLED_TOOLS)?.['split'](',')[a0_0x4ed7b7(0x1b0)](_0x352513=>_0x352513[a0_0x4ed7b7(0x16f)]())['filte'+'r'](_0x55e498=>_0x55e498!=='')||[],'enableSSE':parseBoolean(envArgs['enabl'+a0_0x4ed7b7(0x180)]||process.env.ENABLE_SSE||process.env.ENABLE_HTTP,![]),'ssePort':parseInteger(envArgs[a0_0x4ed7b7(0x1aa)+'rt']||process.env.SSE_PORT,0xbb8),'enableStdio':parseBoolean(envArgs[a0_0x4ed7b7(0x17d)+a0_0x4ed7b7(0x1b2)+'o']||process.env.ENABLE_STDIO,!![]),'port':envArgs['port']||process.env.PORT||a0_0x4ed7b7(0x193),'enableSecurityFeatures':parseBoolean(process.env.ENABLE_SECURITY_FEATURES,![]),'enableOriginValidation':parseBoolean(process.env.ENABLE_ORIGIN_VALIDATION,![]),'enableRateLimit':parseBoolean(process.env.ENABLE_RATE_LIMIT,![]),'enableCors':parseBoolean(process.env.ENABLE_CORS,![]),'allowedOrigins':parseOrigins(process.env.ALLOWED_ORIGINS,[]),'rateLimitMax':parseInteger(process.env.RATE_LIMIT_MAX,0x64),'rateLimitWindowMs':parseInteger(process.env.RATE_LIMIT_WINDOW_MS,0xea60),'maxRequestSize':process.env.MAX_REQUEST_SIZE||'10mb','host':envArgs[a0_0x4ed7b7(0x16b)]||process.env.HOST||a0_0x4ed7b7(0x18b)+'.0','clickupClientId':process.env.CLICKUP_CLIENT_ID,'clickupClientSecret':process.env.CLICKUP_CLIENT_SECRET,'mcpServerUrl':process.env.MCP_SERVER_URL,'redirectUriAllowlist':parseOrigins(process.env.REDIRECT_URI_ALLOWLIST,[]),'clickupAppUrl':process.env.CLICKUP_APP_URL||'https'+a0_0x4ed7b7(0x17b)+'p.cli'+a0_0x4ed7b7(0x166)+a0_0x4ed7b7(0x18f),'clickupApiUrl':process.env.CLICKUP_API_URL||a0_0x4ed7b7(0x1a9)+'://ap'+a0_0x4ed7b7(0x1a1)+a0_0x4ed7b7(0x166)+a0_0x4ed7b7(0x167)+a0_0x4ed7b7(0x19e),'proxySecret':process.env.CLICKUP_PROXY_SECRET||''};export const validateConfiguration=()=>{const _0x243ecf=a0_0x4ed7b7,_0x28fdd5=[_0x243ecf(0x182)+_0x243ecf(0x183)+_0x243ecf(0x1b8),'click'+_0x243ecf(0x198)+_0x243ecf(0x189)],_0x3fad45=_0x28fdd5[_0x243ecf(0x18c)+'r'](_0x269911=>!configuration[_0x269911]);if(_0x3fad45['lengt'+'h']>0x0){const _0x438dae=!!(configuration[_0x243ecf(0x182)+'upCli'+'entId']&&configuration['click'+'upCli'+'entSe'+_0x243ecf(0x1b5)]),_0xb690d9=!!process.env.CLICKUP_MCP_LICENSE_KEY;if(configuration[_0x243ecf(0x17d)+'eSSE']||_0x438dae||_0xb690d9){}else throw new Error('Missi'+_0x243ecf(0x190)+_0x243ecf(0x17a)+_0x243ecf(0x16e)+_0x243ecf(0x1b7)+_0x243ecf(0x16d)+_0x243ecf(0x1b1)+'les:\x20'+_0x3fad45['join'](',\x20'));}};export default configuration;
|