@taazkareem/clickup-mcp-server 0.14.4 → 0.14.6
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 +203 -114
- 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/personas.js +1 -1
- package/build/prompts.js +1 -1
- package/build/server.js +1 -1
- package/build/services/clickup/audit-logs.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 -1
- 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 -1
- package/build/services/clickup/guest.js +1 -1
- 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/sprint.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 -1
- package/build/services/clickup/time.js +1 -1
- package/build/services/clickup/types.js +1 -1
- package/build/services/clickup/user-group.js +1 -1
- package/build/services/clickup/view.js +1 -1
- package/build/services/clickup/webhook.js +1 -1
- 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/attachment.js +1 -1
- package/build/tools/audit-logs.js +1 -1
- package/build/tools/categories.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 -1
- 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 -1
- package/build/tools/guest.js +1 -1
- package/build/tools/index.js +1 -1
- package/build/tools/list.js +1 -1
- package/build/tools/registry.js +1 -1
- package/build/tools/space.js +1 -1
- package/build/tools/sprint.js +1 -1
- package/build/tools/tag.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/utilities.js +1 -1
- package/build/tools/task/workspace-operations.js +1 -1
- package/build/tools/task-templates.js +1 -1
- package/build/tools/time_entries.js +1 -1
- package/build/tools/user-group.js +1 -1
- package/build/tools/utils.js +1 -1
- package/build/tools/view.js +1 -1
- package/build/tools/webhook.js +1 -1
- 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/context-utils.js +1 -1
- package/build/utils/date-utils.js +1 -1
- package/build/utils/log-sanitizer.js +1 -1
- package/build/utils/member-utils.js +1 -1
- package/build/utils/request-utils.js +1 -1
- 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 -1
package/README.md
CHANGED
|
@@ -26,9 +26,11 @@ The industry-standard ClickUp integration for AI.
|
|
|
26
26
|
|
|
27
27
|
## 📚 Table of Contents
|
|
28
28
|
|
|
29
|
-
| Links
|
|
30
|
-
|
|
|
31
|
-
| • [Features](#features)<br>• [Premium Access](#premium-access)<br>• [Available Tools](#available-tools)<br>• [Adv. Config](#advanced-configuration)<br>• [FAQ](#faq)<br>• [Disclaimer](#disclaimer) | <table border="0" style="border: none; border-collapse: collapse; width: 575px;"> <tr style="border: none;"> <td width="140" style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/
|
|
29
|
+
| Links | Quick Start & Installation |
|
|
30
|
+
| :--- | :--- |
|
|
31
|
+
| • [Features](#features)<br>• [Premium Access](#premium-access)<br>• [Available Tools](#available-tools)<br>• [Adv. Config](#advanced-configuration)<br>• [FAQ](#faq)<br>• [Disclaimer](#disclaimer) | <table border="0" style="border: none; border-collapse: collapse; width: 575px;"> <tr style="border: none;"> <td width="140" style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/antigravity.svg" height="16" style="vertical-align: middle;"> Antigravity](#antigravity-setup)</td> <td width="155" style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/antigravity.svg" height="16" style="vertical-align: middle;"> Agy CLI](#antigravity-cli-setup)</td> <td width="140" style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/images/hermes-logo.png" height="16" style="vertical-align: middle;"> Hermes](#hermes-setup)</td> <td width="140" style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/openclaw-logo.svg" height="16" style="vertical-align: middle;"> OpenClaw](#openclaw-setup)</td> </tr> <tr style="border: none;"> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/cursor-white.svg" height="16" style="vertical-align: middle;"> Cursor](#cursor-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/visual-studio-code.svg" height="16" style="vertical-align: middle;"> VS Code](#vscode-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/claude.svg" height="16" style="vertical-align: middle;"> Claude](#claude-desktop-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="https://cdn.simpleicons.org/anthropic/D97757" height="16" style="vertical-align: middle;"> ClaudeCode](#claude-code-setup)</td> </tr> <tr style="border: none;"> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="https://cdn.simpleicons.org/n8n/FF6D5A" height="16" style="vertical-align: middle;"> n8n](#n8n-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/openai-icon.svg" height="16" style="vertical-align: middle;"> Codex](#codex-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/openai-icon.svg" height="16" style="vertical-align: middle;"> ChatGPT](#chatgpt-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/augment-code.svg" height="16" style="vertical-align: middle;"> Augment](#augment-setup)</td> </tr> <tr style="border: none;"> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/augment-code.svg" height="16" style="vertical-align: middle;"> Auggie](#auggierun-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="./assets/logos/windsurf-white.svg" height="16" style="vertical-align: middle;"> Windsurf](#windsurf-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[<img src="https://avatars.githubusercontent.com/u/211522643?s=200&v=4" height="16" style="vertical-align: middle; border-radius: 4px;"> Roo Code](#roocode-setup)</td> <td style="border: none; vertical-align: middle; white-space: nowrap;">[➕ Add Agent](mailto:info@taazkareem.com?subject=Redirect%20URI%20Whitelist%20Request)</td> </tr> </table> |
|
|
32
|
+
|
|
33
|
+
|
|
32
34
|
|
|
33
35
|
---
|
|
34
36
|
|
|
@@ -136,57 +138,211 @@ A license grants full, unrestricted access to all features across your agents⎯
|
|
|
136
138
|
|
|
137
139
|
### 2. Choose your MCP Host & Transport
|
|
138
140
|
|
|
139
|
-
<a name="
|
|
141
|
+
<a name="antigravity-setup"></a>
|
|
140
142
|
|
|
141
143
|
<details>
|
|
142
|
-
<summary> <img src="./assets/logos/
|
|
144
|
+
<summary> <img src="./assets/logos/antigravity.svg" height="22" align="center"> <strong>Antigravity (IDE & 2.0)</strong></summary>
|
|
143
145
|
|
|
144
|
-
|
|
146
|
+
Download from [antigravity.google](https://antigravity.google). Covers **Antigravity IDE** (VS Code-based agentic editor) and **Antigravity 2.0** (standalone desktop agent orchestration app). Both share the same configuration file.
|
|
147
|
+
|
|
148
|
+
**Configuration Path:** `~/.gemini/config/mcp_config.json`
|
|
149
|
+
|
|
150
|
+
> **Tip:** Open the Agent Panel → **...** → **Manage MCP Servers** → **View raw config** to open this file directly. Or type `/mcp` in the prompt panel.
|
|
151
|
+
|
|
152
|
+
**Option A: Remote / Streamable HTTP (Recommended)**
|
|
145
153
|
|
|
146
154
|
```json
|
|
147
|
-
{
|
|
155
|
+
{
|
|
156
|
+
"mcpServers": {
|
|
157
|
+
"ClickUp": {
|
|
158
|
+
"serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
|
|
159
|
+
"headers": { "X-License-Key": "your-license-key" }
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
148
163
|
```
|
|
149
164
|
|
|
150
|
-
**
|
|
151
|
-
|
|
165
|
+
**Option B: Local / STDIO**
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"mcpServers": {
|
|
170
|
+
"ClickUp": {
|
|
171
|
+
"command": "npx",
|
|
172
|
+
"args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
|
|
173
|
+
"env": {
|
|
174
|
+
"CLICKUP_API_KEY": "your-api-key",
|
|
175
|
+
"CLICKUP_TEAM_ID": "your-team-id",
|
|
176
|
+
"CLICKUP_MCP_LICENSE_KEY": "your-license-key"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
</details>
|
|
184
|
+
|
|
185
|
+
<a name="antigravity-cli-setup"></a>
|
|
186
|
+
|
|
187
|
+
<details>
|
|
188
|
+
<summary> <img src="./assets/logos/antigravity.svg" height="22" align="center"> <strong>Antigravity CLI (agy)</strong></summary>
|
|
189
|
+
|
|
190
|
+
A lightweight terminal-based interface (TUI) for Antigravity agents. Install with:
|
|
152
191
|
|
|
153
192
|
```bash
|
|
154
|
-
|
|
155
|
-
|
|
193
|
+
curl -fsSL https://antigravity.google/cli/install.sh | bash
|
|
194
|
+
```
|
|
156
195
|
|
|
157
|
-
|
|
158
|
-
|
|
196
|
+
**Configuration Path:** `~/.gemini/antigravity-cli/mcp_config.json`
|
|
197
|
+
|
|
198
|
+
> **Tip:** Run `agy` and type `/mcp` in the interactive session to manage servers from within the TUI.
|
|
199
|
+
|
|
200
|
+
**Option A: Remote / Streamable HTTP (Recommended)**
|
|
201
|
+
|
|
202
|
+
```json
|
|
203
|
+
{
|
|
204
|
+
"mcpServers": {
|
|
205
|
+
"ClickUp": {
|
|
206
|
+
"serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
|
|
207
|
+
"headers": { "X-License-Key": "your-license-key" }
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Option B: Local / STDIO**
|
|
214
|
+
|
|
215
|
+
```json
|
|
216
|
+
{
|
|
217
|
+
"mcpServers": {
|
|
218
|
+
"ClickUp": {
|
|
219
|
+
"command": "npx",
|
|
220
|
+
"args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
|
|
221
|
+
"env": {
|
|
222
|
+
"CLICKUP_API_KEY": "your-api-key",
|
|
223
|
+
"CLICKUP_TEAM_ID": "your-team-id",
|
|
224
|
+
"CLICKUP_MCP_LICENSE_KEY": "your-license-key"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
</details>
|
|
232
|
+
|
|
233
|
+
<a name="hermes-setup"></a>
|
|
234
|
+
|
|
235
|
+
<details>
|
|
236
|
+
<summary> <img src="./assets/images/hermes-logo.png" height="22" align="center"> <strong>Hermes Agent</strong></summary>
|
|
237
|
+
|
|
238
|
+
**Single Agent Configuration Path:** `~/.hermes/config.yaml`
|
|
239
|
+
|
|
240
|
+
**Option A: Remote / Streamable HTTP**
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
hermes mcp add clickup \
|
|
244
|
+
--url https://clickup-mcp.taazkareem.com/mcp \
|
|
245
|
+
--auth oauth && \
|
|
246
|
+
hermes config set mcp_servers.clickup.headers.X-License-Key "your-license-key"
|
|
159
247
|
```
|
|
160
248
|
|
|
161
|
-
**
|
|
162
|
-
The most robust and flexible way to manage personas is to define multiple named configurations in your **agent-specific** `mcporter.json` file. This isolates credentials and policies per-agent.
|
|
249
|
+
**Option B: Local / STDIO**
|
|
163
250
|
|
|
164
251
|
```bash
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
--
|
|
168
|
-
--
|
|
169
|
-
|
|
170
|
-
|
|
252
|
+
hermes mcp add clickup \
|
|
253
|
+
--command npx \
|
|
254
|
+
--args -y @taazkareem/clickup-mcp-server@latest \
|
|
255
|
+
--env CLICKUP_API_KEY="your-api-key" \
|
|
256
|
+
CLICKUP_TEAM_ID="your-team-id" \
|
|
257
|
+
CLICKUP_MCP_LICENSE_KEY="your-license-key"
|
|
258
|
+
```
|
|
171
259
|
|
|
172
|
-
|
|
173
|
-
mcporter --config <agent-workspace-2>/config/mcporter.json config add ClickUp-Worker https://clickup-mcp.taazkareem.com/mcp \
|
|
174
|
-
--header "X-Persona=task_worker" \
|
|
175
|
-
--header "X-License-Key=your-license-key" \
|
|
176
|
-
--header "X-ClickUp-Key=your-api-key" \
|
|
177
|
-
--header "X-ClickUp-Team-Id=your-team-id"
|
|
260
|
+
- Run it: `hermes`
|
|
178
261
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
#### Multi-Agent Setup (Profiles + Personas)
|
|
265
|
+
|
|
266
|
+
Run a **team of specialized agents** on the same workspace (or separate). Each Hermes **profile** is an isolated agent with its own config and `SOUL.md` instructions. Configure each profile to match a **persona** (`X-Persona`) as needed. This will scope which ClickUp tools is in its context. **Guide with examples:**
|
|
182
267
|
|
|
183
|
-
|
|
184
|
-
|
|
268
|
+
**1. Create the profiles**
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
hermes profile create project_manager
|
|
272
|
+
hermes profile create task_worker
|
|
273
|
+
hermes profile create auditor
|
|
185
274
|
```
|
|
186
275
|
|
|
187
|
-
>
|
|
276
|
+
> Optional: Use `--clone` to copy the existing config.yaml/.env/SOUL.md, or re-run the commands from above.
|
|
188
277
|
|
|
189
|
-
|
|
278
|
+
**2. Set each profile's persona.** The profile has the MCP config now, so just add the matching persona:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
project_manager config set mcp_servers.clickup.headers.X-Persona "project_manager"
|
|
282
|
+
task_worker config set mcp_servers.clickup.headers.X-Persona "task_worker"
|
|
283
|
+
auditor config set mcp_servers.clickup.headers.X-Persona "auditor"
|
|
284
|
+
```
|
|
285
|
+
> See [→ Advanced Configuration ](#advanced-configuration) for more customized filtering options.
|
|
286
|
+
|
|
287
|
+
**3. Give each agent its instructions** in `~/.hermes/profiles/<name>/SOUL.md` (`auditor` shown):
|
|
288
|
+
|
|
289
|
+
```markdown
|
|
290
|
+
# ClickUp Auditor
|
|
291
|
+
|
|
292
|
+
You are a read-only project auditor. Observe and report — never change anything.
|
|
293
|
+
- Summarize task status, overdue items, and blockers concisely.
|
|
294
|
+
- Surface risks and recommend actions, but never execute them.
|
|
295
|
+
- If asked to create or modify a task, decline and explain you are read-only.
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Run any agent query by its profile (call by User or Agent):**
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
project_manager chat -q "Break the Q3 launch into a list with subtasks and owners"
|
|
302
|
+
auditor chat -q "Audit the Sprint board and report what's at risk"
|
|
303
|
+
```
|
|
304
|
+
-OR-
|
|
305
|
+
|
|
306
|
+
**Run a TUI or Gateway called by User:**
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
project_manager gateway start
|
|
310
|
+
auditor chat
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
**Other (Custom Agents, etc.)**
|
|
316
|
+
For most other MCP-compliant hosts:
|
|
317
|
+
|
|
318
|
+
- **Server URL:** `https://clickup-mcp.taazkareem.com/mcp`
|
|
319
|
+
- **Auth Header:** `X-License-Key: your-license-key`
|
|
320
|
+
|
|
321
|
+
</details>
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
<a name="openclaw-setup"></a>
|
|
325
|
+
|
|
326
|
+
<details>
|
|
327
|
+
<summary> <img src="./assets/logos/openclaw-logo.svg" height="22" align="center"> <strong>OpenClaw (via mcporter) </strong></summary>
|
|
328
|
+
|
|
329
|
+
**1. Enable** mcporter in `~/.openclaw/openclaw.json`:
|
|
330
|
+
|
|
331
|
+
```json
|
|
332
|
+
{ "skills": { "allowBundled": ["mcporter"] } }
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**2. Configure & Auth**
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# Add ClickUp as a remote server
|
|
339
|
+
mcporter config add ClickUp https://clickup-mcp.taazkareem.com/mcp --auth oauth --header "X-License-Key=your-license-key"
|
|
340
|
+
|
|
341
|
+
# Authenticate session
|
|
342
|
+
mcporter auth ClickUp
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
> **Pro Tip:** Use [Personas](#advanced-configuration) to define multiple isolated configurations (e.g., Auditor vs. Worker) in your agent's `mcporter.json`.
|
|
190
346
|
|
|
191
347
|
</details>
|
|
192
348
|
|
|
@@ -385,46 +541,6 @@ In n8n, use URL: `http://host.docker.internal:3231/mcp`
|
|
|
385
541
|
|
|
386
542
|
</details>
|
|
387
543
|
|
|
388
|
-
<a name="gemini-setup"></a>
|
|
389
|
-
|
|
390
|
-
<details>
|
|
391
|
-
<summary> <img src="https://cdn.simpleicons.org/googlegemini/8E75C2" height="22" align="center"> <strong>Gemini CLI</strong></summary>
|
|
392
|
-
|
|
393
|
-
**Configuration Path:** `~/.gemini/settings.json`
|
|
394
|
-
|
|
395
|
-
```json
|
|
396
|
-
{
|
|
397
|
-
"mcpServers": {
|
|
398
|
-
"ClickUp": {
|
|
399
|
-
"httpUrl": "https://clickup-mcp.taazkareem.com/mcp",
|
|
400
|
-
"headers": { "X-License-Key": "your-license-key" }
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
</details>
|
|
407
|
-
|
|
408
|
-
<a name="antigravity-setup"></a>
|
|
409
|
-
|
|
410
|
-
<details>
|
|
411
|
-
<summary> <img src="./assets/logos/antigravity.svg" height="22" align="center"> <strong>Antigravity</strong></summary>
|
|
412
|
-
|
|
413
|
-
**Configuration Path:** `~/.gemini/antigravity/mcp_config.json`
|
|
414
|
-
|
|
415
|
-
```json
|
|
416
|
-
{
|
|
417
|
-
"mcpServers": {
|
|
418
|
-
"ClickUp": {
|
|
419
|
-
"serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
|
|
420
|
-
"headers": { "X-License-Key": "your-license-key" }
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
</details>
|
|
427
|
-
|
|
428
544
|
<a name="codex-setup"></a>
|
|
429
545
|
|
|
430
546
|
<details>
|
|
@@ -561,44 +677,6 @@ auggie mcp add ClickUp --url https://clickup-mcp.taazkareem.com/mcp \
|
|
|
561
677
|
|
|
562
678
|
</details>
|
|
563
679
|
|
|
564
|
-
<a name="other-setup"></a>
|
|
565
|
-
|
|
566
|
-
<details>
|
|
567
|
-
<summary> <strong>Other (Custom Agents, etc.)</strong></summary>
|
|
568
|
-
|
|
569
|
-
For most MCP-compliant hosts (e.g. Smithery, MCP Inspector, custom GUIs):
|
|
570
|
-
|
|
571
|
-
- **Server URL:** `https://clickup-mcp.taazkareem.com/mcp`
|
|
572
|
-
- **Auth Header:** `X-License-Key: your-license-key` (Required for HTTP/SSE connections)
|
|
573
|
-
|
|
574
|
-
---
|
|
575
|
-
|
|
576
|
-
**Advanced: OpenAI Agents SDK**
|
|
577
|
-
For developers building custom agents.
|
|
578
|
-
|
|
579
|
-
**Python SDK:**
|
|
580
|
-
|
|
581
|
-
```python
|
|
582
|
-
from agents import Agent, Runner
|
|
583
|
-
from agents.mcp import MCPServerStreamableHttp
|
|
584
|
-
|
|
585
|
-
async with MCPServerStreamableHttp(
|
|
586
|
-
name="clickup",
|
|
587
|
-
params={
|
|
588
|
-
"url": "https://clickup-mcp.taazkareem.com/mcp",
|
|
589
|
-
"headers": {"X-License-Key": "your-license-key"},
|
|
590
|
-
},
|
|
591
|
-
) as server:
|
|
592
|
-
agent = Agent(
|
|
593
|
-
name="Assistant",
|
|
594
|
-
instructions="Use the ClickUp MCP tools when helpful.",
|
|
595
|
-
mcp_servers=[server],
|
|
596
|
-
)
|
|
597
|
-
result = await Runner.run(agent, "List my workspaces.")
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
</details>
|
|
601
|
-
|
|
602
680
|
### 3. Restart
|
|
603
681
|
|
|
604
682
|
Restart your MCP Host (e.g., Cursor IDE). The server will validate your License Key and start automatically.
|
|
@@ -782,6 +860,16 @@ _See [full documentation](docs/DOCUMENTATION.md) for parameters and advanced usa
|
|
|
782
860
|
"ENABLED_CATEGORIES": "task,time_tracking,workspace"
|
|
783
861
|
```
|
|
784
862
|
|
|
863
|
+
-or- **Hermes (YAML):**
|
|
864
|
+
|
|
865
|
+
```yaml
|
|
866
|
+
mcp_servers:
|
|
867
|
+
clickup:
|
|
868
|
+
env:
|
|
869
|
+
ENABLED_TOOLS: "tool_1,tool_2,tool_3"
|
|
870
|
+
ENABLED_CATEGORIES: "task,time_tracking,workspace"
|
|
871
|
+
```
|
|
872
|
+
|
|
785
873
|
-or- **Remote (Header):**
|
|
786
874
|
|
|
787
875
|
```json
|
|
@@ -899,10 +987,11 @@ Premium users get priority support. Please [open an issue](https://github.com/Ta
|
|
|
899
987
|
---
|
|
900
988
|
|
|
901
989
|
## <a name="disclaimer"></a>⚖️ Disclaimer
|
|
990
|
+
Originally developed as open source and refined during a consultancy with ClickUp, this project is now independently maintained.</sub>
|
|
902
991
|
|
|
903
|
-
|
|
992
|
+
This software makes use of third-party APIs and may reference trademarks or brands owned by third parties. The use of such APIs or references does not imply any affiliation with or endorsement by the respective companies. All trademarks and brand names are the property of their respective owners. This project is an independent work and is not officially associated with or sponsored by any third-party company mentioned.</sub>
|
|
904
993
|
|
|
905
|
-
|
|
994
|
+
By using this software, you agree to our [Terms of Service](TERMS_OF_SERVICE.md) and acknowledge our [Privacy Policy](PRIVACY.md).
|
|
906
995
|
|
|
907
996
|
<div align="center">
|
|
908
997
|
<sub>Created by <a href="https://github.com/taazkareem">taazkareem</a></sub>
|
package/build/auth/routes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x48e01f=a0_0x2ed5;(function(_0x1a189e,_0x62640d){const _0x4197a8=a0_0x2ed5,_0x53e5aa=_0x1a189e();while(!![]){try{const _0x5ce2db=-parseInt(_0x4197a8(0xf8))/0x1+-parseInt(_0x4197a8(0x113))/0x2*(-parseInt(_0x4197a8(0xbf))/0x3)+-parseInt(_0x4197a8(0xd5))/0x4*(parseInt(_0x4197a8(0x98))/0x5)+parseInt(_0x4197a8(0xfe))/0x6+-parseInt(_0x4197a8(0xbb))/0x7*(parseInt(_0x4197a8(0x130))/0x8)+-parseInt(_0x4197a8(0xea))/0x9+parseInt(_0x4197a8(0x10f))/0xa*(parseInt(_0x4197a8(0xb7))/0xb);if(_0x5ce2db===_0x62640d)break;else _0x53e5aa['push'](_0x53e5aa['shift']());}catch(_0x389004){_0x53e5aa['push'](_0x53e5aa['shift']());}}}(a0_0x1fdc,0x8d208));import a0_0x161301 from'express';import a0_0x437a6c from'../config.js';import{Logger}from'../logger.js';function a0_0x2ed5(_0x488637,_0x5e4269){_0x488637=_0x488637-0x8a;const _0x1fdcca=a0_0x1fdc();let _0x2ed549=_0x1fdcca[_0x488637];if(a0_0x2ed5['GbYJfA']===undefined){var _0x2a5557=function(_0x28e1e4){const _0xf35abd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f3df6='',_0x1dad41='';for(let _0x2190dc=0x0,_0x5b731b,_0x3b12a9,_0x5859d5=0x0;_0x3b12a9=_0x28e1e4['charAt'](_0x5859d5++);~_0x3b12a9&&(_0x5b731b=_0x2190dc%0x4?_0x5b731b*0x40+_0x3b12a9:_0x3b12a9,_0x2190dc++%0x4)?_0x3f3df6+=String['fromCharCode'](0xff&_0x5b731b>>(-0x2*_0x2190dc&0x6)):0x0){_0x3b12a9=_0xf35abd['indexOf'](_0x3b12a9);}for(let _0x35b501=0x0,_0x5873bc=_0x3f3df6['length'];_0x35b501<_0x5873bc;_0x35b501++){_0x1dad41+='%'+('00'+_0x3f3df6['charCodeAt'](_0x35b501)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1dad41);};a0_0x2ed5['zTTRbq']=_0x2a5557,a0_0x2ed5['szLkKp']={},a0_0x2ed5['GbYJfA']=!![];}const _0xd80e48=_0x1fdcca[0x0],_0x31fbfa=_0x488637+_0xd80e48,_0xf658f1=a0_0x2ed5['szLkKp'][_0x31fbfa];return!_0xf658f1?(_0x2ed549=a0_0x2ed5['zTTRbq'](_0x2ed549),a0_0x2ed5['szLkKp'][_0x31fbfa]=_0x2ed549):_0x2ed549=_0xf658f1,_0x2ed549;}import{OAuthService}from'../services/oauth.js';import{clearTokenCache}from'../middleware/auth.js';import a0_0x4a4df4 from'axios';const router=a0_0x161301[a0_0x48e01f(0xda)+'r'](),logger=new Logger(a0_0x48e01f(0x90)+'Route'+'s');import{createAuthRateLimitMiddleware}from'../middleware/security.js';const createAuthRateLimit=createAuthRateLimitMiddleware(),OAUTH_TOKEN_EXPIRY_HINT_SECONDS=0x1e*0x18*0x3c*0x3c,serverUrl=a0_0x437a6c[a0_0x48e01f(0x166)+a0_0x48e01f(0xc8)+'rl']||a0_0x48e01f(0xa4)+a0_0x48e01f(0xd8)+'alhos'+'t:'+(a0_0x437a6c[a0_0x48e01f(0xf7)]||0xc9f);function a0_0x1fdc(){const _0x212d99=['Bwv0Ag8','z0zgtLm','AwrFz3i','nde2nMLmtMfpuW','zxj2zxi','BgvUz3q','BMDLihq','Aw52ywW','D2L0Aca','zgf0yq','Ec1MB3i','EufUzeq','AwqGq2W','twLZC2K','DgvK','CM94EsK','B3H5u3q','zw50swq','zwn0x3u','y3rFDxi','EvzysNO','DhvYzq','BMfSx3m','yM9KEq','ueTdrq','vxjS','BwnWx2e','Axn0CMe','ywLSDxi','A2vUv2K','ignHBgW','rgrYrfq','ogDIr0DqBa','ihjLCxu','C21HDgm','ywnJzxm','D2fYBG','tunqiem','C2vHCMm','zguGB3i','BwvZC2e','l3rLyw0','lIbqBgu','ww9ZAfy','DguGBwK','D29YA3m','vvjjig4','BNrPy2e','AgfUz2u','y2XPzw4','AfbHCMe','DxjUAw4','y2XPy2S','CMvJzwK','DxbdBgK','Dc1Ty3a','q2XPzw4','Dfnitg8','zYbYyxC','CML6yxq','CxvLCNK','CMvZCg8','C3vJy2u','ihn0yxq','B2TLBIa','CYbMB3i','zwnVzgu','AcbVCIa','CgfYC2u','DgvHBxm','ihrVA2u','ifjLzgK','AxnbCNi','yw50','Bgf4','zcb0BYa','BNqGuMu','DcbszwC','AwvUDca','AcbZDge','zdOGC2u','AwnHDgK','Axn0zxi','x3n0yxq','B3jPEMe','AK1Vshy','BwnWu2u','Ag9YAxO','rMLiBue','sw52ywW','igrLDgu','C2vUza','Aw5N','BMDLvg8','zw5Nzv8','zxjYB3i','ie9bDxq','z2vUzxi','ief1DgG','C3nPB24','EunSAwu','yxrLu2K','AwrFy2W','rw1Izwq','DwLYzwq','BNqGsuq','zwfTihq','l2fWAq','B3qGywW','CNKGywC','zgLUzYa','z25Lzem','C3rHDgu','AwvYigK','AwD1CMe','BIbJB2q','t0f1DgG','zsbMCM8','q0XlqMq','CM92Awq','ignVBMy','y29VA2K','B2rL','CM94Eum','mJC5ndG1BhLWterA','y29Kzv8','x19iB3m','AwqGyxu','vwXfrMe','DgLVBIa','B3v0ig8','Cg9ZDa','zxHJAge','y2XLyxi','EMf0Aw8','rMfPBgu','Ahr0CdO','C3qGkfa','C3rHDhu','yxjHBwu','yxnLihq','yxrLuhi','Ahr0Chm','AwnRvxa','zxn0icG','BgjHy2S','CMv0','B24GzMe','rIbKzxq','DxbZDhi','yxrH','AwqGuhi','Dg9Rzw4','Bwv0ywq','BMfSx3i','mJC2mvPlALfHAW','EwriAwS','ifrVA2u','zvbYB3G','mJm4mdq5qxjcEhzR','DNbXv0i','z2v0','BMDLigy','mti5m0DsBKfICG','l29HDxq','Df9Zzwm','CMnOEfm','BMCGy28','BKnutw0','y3jLzgu','B2TPzq','zwn0','CNzLCLu','C2vJDxi','CMvKAxi','Aw9Ux2m','CIbnAxm','suqGB3i','Evblq0u','AM9PBG','lcbYzxq','yxbWzw4','BNrjza','ueTdrsa','Bg93zwq','nJHcruTsufi','Ac9JywW','y3H2ENa','lY9SB2m','y2HHBgW','uM91Dgu','u2vYDMu','ihrPBwu','zwrPCMu','uhjVEhK','AwqGy2W','Aw9UoIa','CMvJDca','BMCGq2W','x2f1DgG','BgLLBNq','CgfJzsa','DMvYAwy','ANnVBG','qxv0Agu','BwLZC2K','mZeYmZq1CxjvufDk','zwfTiha','AgvHzgu','r1zpC2y','y29Kzq','AwXLza','zxn0','CuP6q1q','ienSAwu','zMfPBgu','yKjcz1i','CYbYzxe','BKjssxG','Cg9YDa','nZCXmdGYtuvMCw5O','BIbfEgm','igvTyMu','BNnLx3q','B3jPz2K','Ac90B2S','ndG4mZC2nKjUwvDWDa','oIbZDge','yxrL','DgvY','BsbdBgK','zwLXy3C','D2LwAvu','AwqGC3q','Aw5MBW','Dgf0zq','vxbZDhi','y2TvCa','zhb4BM0','B3H5iem','DxbbCha','DgHVCMK','Df9Pza','mJyXntbuDfbXvLK'];a0_0x1fdc=function(){return _0x212d99;};return a0_0x1fdc();}router['post']('/oaut'+'h/reg'+a0_0x48e01f(0x162),createAuthRateLimit,(_0x20751b,_0x2192f3)=>{const _0x3e367d=a0_0x48e01f,_0x407664={'mMWNt':'OAuth'+_0x3e367d(0xf2)+_0x3e367d(0x15c)+'gistr'+'ation'+_0x3e367d(0x131)+_0x3e367d(0xf0),'DdrDT':_0x3e367d(0x117)+_0x3e367d(0x176)+'ient_'+_0x3e367d(0xb5)+_0x3e367d(0xb2),'gFFNS':_0x3e367d(0xee),'OqhYi':'clien'+_0x3e367d(0xc1)+'ret_p'+'ost'},{client_name:_0x55d873,redirect_uris:_0x194be8}=_0x20751b[_0x3e367d(0x127)];logger[_0x3e367d(0x106)](_0x407664['mMWNt'],{'client_name':_0x55d873,'redirect_uris':_0x194be8});if(!_0x194be8||!Array[_0x3e367d(0x158)+'ay'](_0x194be8)||_0x194be8['lengt'+'h']===0x0){_0x2192f3[_0x3e367d(0xa6)+'s'](0x190)[_0x3e367d(0xe7)]({'error':_0x407664[_0x3e367d(0x12f)],'error_description':_0x3e367d(0xca)+_0x3e367d(0x122)+'ris\x20i'+_0x3e367d(0xf5)+_0x3e367d(0x178)});return;}try{const {clientId:_0x138785,clientSecret:_0x394b9f}=OAuthService[_0x3e367d(0x171)+_0x3e367d(0x175)+_0x3e367d(0x8b)+_0x3e367d(0xe4)+'Id'](_0x194be8);_0x2192f3[_0x3e367d(0xa6)+'s'](0xc9)[_0x3e367d(0xe7)]({'client_id':_0x138785,'client_secret':_0x394b9f,'client_name':_0x55d873||_0x3e367d(0x135)+_0x3e367d(0xe4),'redirect_uris':_0x194be8,'grant_types':['autho'+_0x3e367d(0x14b)+_0x3e367d(0xcb)+_0x3e367d(0x96)],'response_types':[_0x407664[_0x3e367d(0x111)]],'token_endpoint_auth_method':_0x407664['OqhYi']});}catch(_0x360524){logger[_0x3e367d(0x134)](_0x3e367d(0x148)+_0x3e367d(0x15d)+_0x3e367d(0x12b)+_0x3e367d(0x9d)+'Rejec'+_0x3e367d(0x11e),{'error':_0x360524[_0x3e367d(0x138)+'ge'],'redirect_uris':_0x194be8}),_0x2192f3[_0x3e367d(0xa6)+'s'](0x190)['json']({'error':_0x407664['DdrDT'],'error_description':_0x360524[_0x3e367d(0x138)+'ge']});}}),router[a0_0x48e01f(0xbd)](a0_0x48e01f(0xc0)+'h/aut'+a0_0x48e01f(0x167)+'e',createAuthRateLimit,(_0x4bf0c8,_0x46581e)=>{const _0x1105d6=a0_0x48e01f,_0x280d4d={'jMoHv':_0x1105d6(0x11d)+_0x1105d6(0xe2)+_0x1105d6(0xab)+_0x1105d6(0xf2)+_0x1105d6(0x179)+'\x20in\x20s'+_0x1105d6(0x114)+_0x1105d6(0x94)+_0x1105d6(0x8e)+'tion','nBRIx':_0x1105d6(0xdb)+_0x1105d6(0xcc)+'confi'+'gurat'+_0x1105d6(0xe0)+'Missi'+_0x1105d6(0xe2)+_0x1105d6(0xab)+'\x20Clie'+_0x1105d6(0x179),'kxZIW':_0x1105d6(0x141)+_0x1105d6(0x10e),'UlEFa':_0x1105d6(0xee),'YoshV':_0x1105d6(0x8c),'ydHik':_0x1105d6(0x11a)+'warde'+'d-pro'+'to','rchxS':'https','ZAPOu':_0x1105d6(0x12a)+'uth_s'+_0x1105d6(0x107),'wiViU':_0x1105d6(0x15a),'HQtXa':function(_0x351dbd,_0x251650){return _0x351dbd*_0x251650;}},{response_type:_0x22eec1,client_id:_0x13d388,redirect_uri:_0x29e4b5,state:_0x14d09c,code_challenge:_0x1fd92a,code_challenge_method:_0x4a7ef0}=_0x4bf0c8['query'];logger[_0x1105d6(0x106)](_0x1105d6(0x90)+_0x1105d6(0x172)+_0x1105d6(0x164)+'tion\x20'+'reque'+_0x1105d6(0xa5)+_0x1105d6(0x11f),{'response_type':_0x22eec1,'client_id':_0x13d388,'redirect_uri':_0x29e4b5,'state':_0x14d09c});if(_0x13d388&&!OAuthService[_0x1105d6(0xe6)+_0x1105d6(0x174)+_0x1105d6(0xd2)](_0x13d388,_0x29e4b5)){_0x46581e[_0x1105d6(0xa6)+'s'](0x191)['send'](_0x1105d6(0x169)+_0x1105d6(0x11c)+_0x1105d6(0x15e)+_0x1105d6(0xcd)+_0x1105d6(0x157)+_0x1105d6(0xe1)+_0x1105d6(0x13e)+_0x1105d6(0x17c)+_0x1105d6(0xd4));return;}const _0x335b61=a0_0x437a6c[_0x1105d6(0x144)+_0x1105d6(0x146)+_0x1105d6(0x121)];if(!_0x335b61){logger[_0x1105d6(0x16f)](_0x280d4d[_0x1105d6(0x165)]),_0x46581e[_0x1105d6(0xa6)+'s'](0x1f4)[_0x1105d6(0x16b)](_0x280d4d[_0x1105d6(0xf6)]);return;}const _0x4bec54=OAuthService[_0x1105d6(0x171)+_0x1105d6(0xa9)+_0x1105d6(0x120)+_0x1105d6(0x100)](_0x29e4b5,_0x14d09c,_0x1fd92a,_0x4a7ef0),_0x3d3527=new URL(a0_0x437a6c[_0x1105d6(0x144)+_0x1105d6(0x10c)+_0x1105d6(0x129)]+_0x1105d6(0x17b));_0x3d3527[_0x1105d6(0x136)+_0x1105d6(0x142)+'ms'][_0x1105d6(0xd1)+'d'](_0x280d4d['kxZIW'],_0x335b61),_0x3d3527[_0x1105d6(0x136)+'hPara'+'ms']['appen'+'d'](_0x1105d6(0xca)+'ect_u'+'ri',serverUrl+(_0x1105d6(0xc0)+_0x1105d6(0xd6)+'lback')),_0x3d3527[_0x1105d6(0x136)+_0x1105d6(0x142)+'ms']['appen'+'d'](_0x1105d6(0x14d)+_0x1105d6(0xfb)+'ype',_0x280d4d[_0x1105d6(0x9c)]),_0x3d3527[_0x1105d6(0x136)+'hPara'+'ms']['appen'+'d'](_0x280d4d[_0x1105d6(0x13b)],_0x4bec54);const _0x41e37c=_0x4bf0c8[_0x1105d6(0xc9)+'e']||_0x4bf0c8['heade'+'rs'][_0x280d4d[_0x1105d6(0xb8)]]===_0x280d4d[_0x1105d6(0xc2)],_0x251860=_0x41e37c?'__Hos'+_0x1105d6(0x147)+_0x1105d6(0xe3)+_0x1105d6(0x163)+'e':_0x280d4d['ZAPOu'];_0x46581e['cooki'+'e'](_0x251860,_0x4bec54,{'httpOnly':!![],'secure':_0x41e37c,'sameSite':_0x280d4d[_0x1105d6(0x104)],'maxAge':_0x280d4d['HQtXa'](0xf*0x3c,0x3e8),'path':'/'}),_0x46581e['redir'+_0x1105d6(0xc7)](_0x3d3527['toStr'+_0x1105d6(0x16c)]());}),router['get'](a0_0x48e01f(0xc0)+'h/cal'+a0_0x48e01f(0xad),createAuthRateLimit,(_0xc21a05,_0x367585)=>{const _0x242dab=a0_0x48e01f,_0x1af49f={'bBBgR':function(_0xfb515,_0x1a4426){return _0xfb515||_0x1a4426;},'zBzaY':_0x242dab(0x11d)+_0x242dab(0xc3)+_0x242dab(0x137)+_0x242dab(0x14f)+_0x242dab(0x91)+_0x242dab(0x102)+_0x242dab(0x109),'CLKBd':_0x242dab(0x90)+_0x242dab(0x12e)+'back\x20'+_0x242dab(0x145)+'ved','cxvzp':function(_0x56b2e1,_0x27bd62){return _0x56b2e1===_0x27bd62;},'dpxnm':_0x242dab(0x9a)+_0x242dab(0x147)+_0x242dab(0xe3)+'_stat'+'e','yVXJz':_0x242dab(0x12a)+'uth_s'+_0x242dab(0x107),'HHkVz':function(_0xebd748,_0x515ea8){return _0xebd748!==_0x515ea8;},'CnlJf':'OAuth'+'\x20CSRF'+_0x242dab(0x16a)+'ction'+_0x242dab(0xff)+_0x242dab(0x13c)+_0x242dab(0x132)+_0x242dab(0x153)+_0x242dab(0xe9)+_0x242dab(0xc3)+_0x242dab(0xc6)},{code:_0x21aaa1,state:_0x1c3e73}=_0xc21a05[_0x242dab(0x14c)];if(_0x1af49f[_0x242dab(0xf4)](!_0x21aaa1,!_0x1c3e73)){_0x367585[_0x242dab(0xa6)+'s'](0x190)['send'](_0x1af49f['zBzaY']);return;}logger['info'](_0x1af49f[_0x242dab(0x92)],{'query':_0xc21a05[_0x242dab(0x14c)]});const _0x22f652=_0xc21a05[_0x242dab(0xc9)+'e']||_0x1af49f[_0x242dab(0xd7)](_0xc21a05[_0x242dab(0xec)+'rs'][_0x242dab(0x11a)+'warde'+'d-pro'+'to'],_0x242dab(0xaa)),_0x266547=_0x22f652?_0x1af49f[_0x242dab(0x10a)]:_0x1af49f[_0x242dab(0x124)],_0x30bab6=_0xc21a05[_0x242dab(0x95)+'es']?.[_0x266547];if(!_0x30bab6||_0x1af49f['HHkVz'](_0x30bab6,_0x1c3e73)){logger[_0x242dab(0x134)](_0x1af49f['CnlJf'],{'hasCookie':!!_0x30bab6,'cookieName':_0x266547,'stateMatch':_0x30bab6===_0x1c3e73}),_0x367585['statu'+'s'](0x193)[_0x242dab(0x16b)](_0x242dab(0xe8)+_0x242dab(0x13f)+_0x242dab(0x9d)+_0x242dab(0xf3)+_0x242dab(0x160)+_0x242dab(0x173)+_0x242dab(0xdc)+_0x242dab(0x9e)+'r\x20CSR'+_0x242dab(0xb0)+'ected'+_0x242dab(0x13a)+_0x242dab(0xa8)+_0x242dab(0x17d)+'ain.');return;}_0x367585[_0x242dab(0xa1)+'Cooki'+'e'](_0x266547,{'path':'/'});try{const _0x1332e5=OAuthService['decod'+_0x242dab(0xba)+'yStat'+'e'](_0x1c3e73),_0x3f183a=new URL(_0x1332e5[_0x242dab(0xfc)+_0x242dab(0xb6)+_0x242dab(0xdd)+_0x242dab(0x123)+'i']),_0x3c8397=OAuthService['gener'+_0x242dab(0x175)+'gnedP'+_0x242dab(0x97)+_0x242dab(0x96)](_0x21aaa1,_0x1332e5[_0x242dab(0x99)+_0x242dab(0xd9)+'enge'],_0x1332e5[_0x242dab(0x99)+_0x242dab(0xd9)+_0x242dab(0x16e)+_0x242dab(0x110)+'d']);_0x3f183a['searc'+_0x242dab(0x142)+'ms'][_0x242dab(0xd1)+'d'](_0x242dab(0xee),_0x3c8397),_0x3f183a['searc'+_0x242dab(0x142)+'ms'][_0x242dab(0xd1)+'d'](_0x242dab(0x8c),_0x1332e5[_0x242dab(0xfc)+_0x242dab(0x126)+'tate']),_0x367585[_0x242dab(0xca)+_0x242dab(0xc7)](_0x3f183a['toStr'+'ing']());}catch(_0x4c0d5b){logger[_0x242dab(0x16f)](_0x242dab(0xa3)+_0x242dab(0x15b)+_0x242dab(0x154)+_0x242dab(0x170)+_0x242dab(0x15f)+'te',_0x4c0d5b),_0x367585[_0x242dab(0xa6)+'s'](0x190)[_0x242dab(0x16b)](_0x242dab(0x169)+_0x242dab(0x105)+'ate\x20p'+_0x242dab(0xa7)+_0x242dab(0x101));}}),router[a0_0x48e01f(0x9f)](a0_0x48e01f(0xc0)+a0_0x48e01f(0xfd)+'en',createAuthRateLimit,async(_0x5ed357,_0x2ae147)=>{const _0x3a4f21=a0_0x48e01f,_0x116a37={'vpqWB':function(_0x10a7fa,_0x36233e){return _0x10a7fa&&_0x36233e;},'FiHmA':_0x3a4f21(0x169)+_0x3a4f21(0x11c)+_0x3a4f21(0x15e)+'Secre'+'t','eiqcw':_0x3a4f21(0x169)+_0x3a4f21(0xb3)+_0x3a4f21(0x10b)+_0x3a4f21(0x96),'nCTMm':_0x3a4f21(0x117)+_0x3a4f21(0x112)+'ant','qJzCT':_0x3a4f21(0x99)+_0x3a4f21(0xe6)+_0x3a4f21(0x8d)+_0x3a4f21(0xf5)+_0x3a4f21(0x178)+'\x20for\x20'+_0x3a4f21(0x128),'tSHLo':function(_0x232b01,_0x23703b){return _0x232b01>_0x23703b;},'dPquq':_0x3a4f21(0x177)+_0x3a4f21(0x8a)+_0x3a4f21(0x13d)+_0x3a4f21(0xe5)+'selec'+'tion\x20'+'into\x20'+_0x3a4f21(0xb4),'GVOsf':_0x3a4f21(0xa3)+_0x3a4f21(0x15b)+'fetch'+'\x20team'+_0x3a4f21(0x151)+_0x3a4f21(0xfa)+'dding'+_0x3a4f21(0xd0)+_0x3a4f21(0x143)+_0x3a4f21(0x14a)+_0x3a4f21(0x156)+'n'},{grant_type:_0x167112,code:_0x43fe3a,redirect_uri:_0x30f111,client_id:_0x5edaf3,client_secret:_0x39df1c,code_verifier:_0x559ae0}=_0x5ed357[_0x3a4f21(0x127)];logger[_0x3a4f21(0x106)]('OAuth'+_0x3a4f21(0xb9)+_0x3a4f21(0xf9)+_0x3a4f21(0x140)+_0x3a4f21(0x131)+_0x3a4f21(0xac)+_0x3a4f21(0xde)+')',{'grant_type':_0x167112,'client_id':_0x5edaf3});if(_0x116a37[_0x3a4f21(0xbc)](_0x5edaf3,_0x39df1c)){if(!OAuthService[_0x3a4f21(0xe6)+_0x3a4f21(0x174)+'ntSec'+_0x3a4f21(0xae)](_0x5edaf3,_0x39df1c)){logger[_0x3a4f21(0x134)](_0x116a37[_0x3a4f21(0x168)],{'client_id':_0x5edaf3}),_0x2ae147[_0x3a4f21(0xa6)+'s'](0x191)[_0x3a4f21(0xe7)]({'error':_0x3a4f21(0x117)+_0x3a4f21(0x176)+'ient','error_description':'Inval'+_0x3a4f21(0xdf)+_0x3a4f21(0x15e)+_0x3a4f21(0xc5)+'ntial'+'s'});return;}}const _0x11f16f=OAuthService[_0x3a4f21(0xe6)+_0x3a4f21(0x11b)+_0x3a4f21(0x152)+_0x3a4f21(0xde)+'Code'](_0x43fe3a);if(!_0x11f16f){logger['warn'](_0x116a37[_0x3a4f21(0x103)],{'code':_0x43fe3a}),_0x2ae147[_0x3a4f21(0xa6)+'s'](0x190)['json']({'error':_0x116a37[_0x3a4f21(0xc4)],'error_description':_0x3a4f21(0x169)+_0x3a4f21(0x9b)+_0x3a4f21(0x10d)+_0x3a4f21(0xa2)+_0x3a4f21(0x8f)+'e\x20or\x20'+'signa'+_0x3a4f21(0x125)});return;}if(!_0x559ae0){_0x2ae147[_0x3a4f21(0xa6)+'s'](0x190)[_0x3a4f21(0xe7)]({'error':_0x3a4f21(0x117)+_0x3a4f21(0x112)+'ant','error_description':_0x116a37[_0x3a4f21(0xf1)]});return;}if(!OAuthService[_0x3a4f21(0xe6)+_0x3a4f21(0xce)](_0x559ae0,_0x11f16f['hc'],_0x11f16f['hm'])){logger[_0x3a4f21(0x134)](_0x3a4f21(0xd3)+_0x3a4f21(0xe6)+_0x3a4f21(0x161)+'on\x20fa'+_0x3a4f21(0xef),{'clickUpCode':_0x11f16f['c'],'verifier':_0x559ae0}),_0x2ae147[_0x3a4f21(0xa6)+'s'](0x190)[_0x3a4f21(0xe7)]({'error':'inval'+'id_gr'+_0x3a4f21(0x159),'error_description':_0x3a4f21(0xd3)+_0x3a4f21(0xe6)+_0x3a4f21(0x161)+_0x3a4f21(0xaf)+_0x3a4f21(0xef)});return;}const _0xca4ecf=await OAuthService[_0x3a4f21(0xa0)+_0x3a4f21(0x16d)+_0x3a4f21(0x12d)+'thCli'+_0x3a4f21(0x109)](_0x11f16f['c']);if(_0xca4ecf[_0x3a4f21(0x14e)+'ss']){const _0x58a4f0=_0xca4ecf[_0x3a4f21(0x119)][_0x3a4f21(0x133)+'s_tok'+'en'];clearTokenCache(_0x58a4f0);try{const _0x2c7060=await a0_0x4a4df4['get'](a0_0x437a6c[_0x3a4f21(0x144)+'upApi'+'Url']+_0x3a4f21(0x139),{'headers':{'Authorization':_0x58a4f0},'timeout':0x2710}),_0x593beb=_0x2c7060['data']?.[_0x3a4f21(0x155)]||[];if(_0x116a37[_0x3a4f21(0x149)](_0x593beb[_0x3a4f21(0x115)+'h'],0x0)){const _0x410a58=_0x593beb['map'](_0x49291c=>String(_0x49291c['id'])),_0x569bef=_0x410a58[_0x3a4f21(0xcf)](','),_0x36f225=_0x569bef+':'+_0x58a4f0;logger['info'](_0x116a37['dPquq'],{'count':_0x410a58['lengt'+'h'],'confirmedIds':_0x569bef}),_0x2ae147['json']({..._0xca4ecf[_0x3a4f21(0x119)],'access_token':_0x36f225,'expires_in':OAUTH_TOKEN_EXPIRY_HINT_SECONDS,'first_team_id':_0x410a58[0x0],'all_team_ids':_0x410a58});return;}}catch(_0x5d1ac0){logger[_0x3a4f21(0x134)](_0x116a37[_0x3a4f21(0xed)],{'error':_0x5d1ac0[_0x3a4f21(0x138)+'ge']});}_0x2ae147[_0x3a4f21(0xe7)](_0xca4ecf[_0x3a4f21(0x119)]);}else logger[_0x3a4f21(0x16f)](_0x3a4f21(0x108)+_0x3a4f21(0x17a)+_0x3a4f21(0x150)+_0x3a4f21(0xa0)+_0x3a4f21(0xbe)+_0x3a4f21(0x12c)+'e',{'error':_0xca4ecf[_0x3a4f21(0x16f)]}),_0x2ae147[_0x3a4f21(0xa6)+'s'](0x1f4)[_0x3a4f21(0xe7)]({'error':_0x3a4f21(0xa3)+'d\x20to\x20'+_0x3a4f21(0xa0)+_0x3a4f21(0x116)+_0x3a4f21(0x150)+_0x3a4f21(0x118)+_0x3a4f21(0xb1)+_0x3a4f21(0xeb)+_0x3a4f21(0x93)+'er','details':_0xca4ecf[_0x3a4f21(0x16f)]});});export default router;
|
|
1
|
+
const a0_0x785b3b=a0_0x3bf1;function a0_0x3bf1(_0x518fff,_0x26f613){_0x518fff=_0x518fff-0x1be;const _0x3670ad=a0_0x3670();let _0x3bf1ed=_0x3670ad[_0x518fff];if(a0_0x3bf1['SBoeHm']===undefined){var _0x4f8449=function(_0x3d9c8c){const _0x532989='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2afbcb='',_0x882743='';for(let _0x20ea1f=0x0,_0x11fea9,_0x151081,_0x34778e=0x0;_0x151081=_0x3d9c8c['charAt'](_0x34778e++);~_0x151081&&(_0x11fea9=_0x20ea1f%0x4?_0x11fea9*0x40+_0x151081:_0x151081,_0x20ea1f++%0x4)?_0x2afbcb+=String['fromCharCode'](0xff&_0x11fea9>>(-0x2*_0x20ea1f&0x6)):0x0){_0x151081=_0x532989['indexOf'](_0x151081);}for(let _0x5e6835=0x0,_0x1615a3=_0x2afbcb['length'];_0x5e6835<_0x1615a3;_0x5e6835++){_0x882743+='%'+('00'+_0x2afbcb['charCodeAt'](_0x5e6835)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x882743);};a0_0x3bf1['OHZhFh']=_0x4f8449,a0_0x3bf1['evFnOQ']={},a0_0x3bf1['SBoeHm']=!![];}const _0x5654ea=_0x3670ad[0x0];a0_0x3bf1['nJTMzs']!==_0x5654ea&&(a0_0x3bf1['evFnOQ']={},a0_0x3bf1['nJTMzs']=_0x5654ea);const _0x5002af=a0_0x3bf1['evFnOQ'][_0x518fff];return _0x5002af===undefined?(_0x3bf1ed=a0_0x3bf1['OHZhFh'](_0x3bf1ed),a0_0x3bf1['evFnOQ'][_0x518fff]=_0x3bf1ed):_0x3bf1ed=_0x5002af,_0x3bf1ed;}(function(_0x7bbc15,_0x490f66){const _0x45cbb6=a0_0x3bf1,_0xb7d5db=_0x7bbc15();while(!![]){try{const _0x1b7bb4=parseInt(_0x45cbb6(0x1e6))/0x1*(parseInt(_0x45cbb6(0x28e))/0x2)+-parseInt(_0x45cbb6(0x270))/0x3+-parseInt(_0x45cbb6(0x26b))/0x4*(-parseInt(_0x45cbb6(0x218))/0x5)+-parseInt(_0x45cbb6(0x2ae))/0x6+parseInt(_0x45cbb6(0x22c))/0x7*(parseInt(_0x45cbb6(0x282))/0x8)+-parseInt(_0x45cbb6(0x2b7))/0x9*(-parseInt(_0x45cbb6(0x1c6))/0xa)+-parseInt(_0x45cbb6(0x249))/0xb*(parseInt(_0x45cbb6(0x266))/0xc);if(_0x1b7bb4===_0x490f66)break;else _0xb7d5db['push'](_0xb7d5db['shift']());}catch(_0x5e57d8){_0xb7d5db['push'](_0xb7d5db['shift']());}}}(a0_0x3670,0xedf41));import a0_0x8ff55c from'express';import a0_0x1b00e1 from'../config.js';import{Logger}from'../logger.js';import{OAuthService}from'../services/oauth.js';import{clearTokenCache}from'../middleware/auth.js';import a0_0x33799b from'axios';const router=a0_0x8ff55c['Route'+'r'](),logger=new Logger(a0_0x785b3b(0x1e3)+a0_0x785b3b(0x281)+'s');import{createAuthRateLimitMiddleware}from'../middleware/security.js';function a0_0x3670(){const _0x42b16a=['A2XNsK8','yxrH','ywXOB3m','yxrLuhi','Ahr0Chm','EMf0Aw8','y2XLyxi','zgrPBMC','suqGB3i','y2HHBgW','y29UzMK','DxbdBgK','yxrLiha','Ahr0CdO','BNrtzwm','zxn0icG','CIbnAxm','Dc1Ty3a','BMfSx3m','ihrVA2u','AwqGq2W','y29Kzv8','AcbZDge','zLLSCfq','z2LZDhi','Ac9HDxq','yxrLu2K','ExbL','zvbYB3G','AwXLza','y29Kzq','zgLUzYa','EunSAwu','sw52ywW','ignHBgW','y2rVALG','zxjYB3i','B3n0','CMvZCg8','z2vUzxi','nvjUCKHhuq','BgjHy2S','zwn0x3u','CYbYzxe','C2vHCMm','qxv0Agu','z2v0','BMDLvg8','BNrPy2e','yxrPB24','Aw5N','wuXsrxm','zguGB3i','qLjdvgu','uhjVEhK','Df9Zzwm','CM94Eum','yM9KEq','B2TPzq','Dg9tDhi','mJK4mNHADeH1Da','zgvJB2q','AwnHDgK','l3rLyw0','DgvY','C2vJDxi','BsbdBgK','B3H5iem','yxbWzw4','B3qGywW','C3qGkfa','sxzHqwS','zMfPBgu','ihrPBwu','ANfSq2e','CM94EsK','AwD1CMe','AwrFz3i','twLZC2K','zwn0zwq','CML6yxq','AwqGyxu','tunqiem','q29Kzq','zxj2zxi','CMLZigK','C2LNBMe','zcb0BYa','CxvLCNK','nJzIDLPyBLi','DgvK','Df9Pza','x2f1DgG','BNnLx3q','BgvUz3q','Bwv0ywq','rIbKzxq','AwqGC3q','D25MtNK','Aw9Ux2m','BgLLBNq','ientuKy','Ac90B2S','BIbJB2q','yw50','uMvQzwm','q29VA2K','u2vYDMu','DxbZDhi','y2TvCa','DMvYAwy','C3rHDhu','Aw50BYa','zgf0yq','BgDOt2G','AM9PBG','A2vUv2K','CMvKAxi','nJGWndK0oenKtfrbtq','C01gCNy','x3n0yxq','zw50swq','Dgf0zq','nZm4oteYnfbJCLfLAq','D2fYBG','ihn0yxq','Axn0CMe','rw1Izwq','mtiXmta1mNvIqu9QtG','zLzosuG','ywnJzxm','zdOGC2u','q2XPzw4','DxbbCha','CgfYC2u','B3H5u3q','y3rPB24','v2Pgtw0','CYbMB3i','DgvHBxm','AwqGuhi','igvTyMu','DcbszwC','quP1vg0','lcbYzxq','uM91Dgu','mtKYmtzfufnICvK','AwvYigK','DguGBwK','l29HDxq','CMv0','ie9bDxq','BMCGy28','y2XPy2S','DgLVBIa','y2XPzw4','BMfSx3i','D2L0Aca','nte1mg1qCMXjuG','u2vJCMu','B24GzMe','BNrjza','DwLYzwq','CMvJzwK','AcbVCIa','BMCGq2W','y3n5uui','AwvUDca','Aw5MBW','igrLDgu','Ec1MB3i','D29YA3m','yMnpquq','z25Lzem','BwnWx2e','x19iB3m','BNrPywW','Cg9ZDa','yMLqEhe','t29fEgi','DgLVBG','BwfW','yxrL','Dg9Rzw4','zwfTiha','AfbHCMe','B2rL','ANnVBG','C3vJy2u','Bvn3DgW','mtuYmZq1nhHtshP6CG','C21HDgm','ifrVA2u','AwnRvxa','AwvUDf8','CIbdu1i','B3v0ig8','DgHVCMK','DxjUAw4','mZmZowrSq1vNwa','yxjHBwu','CgfJzsa','ihrLyw0','BwvZC2e','lIbqBgu','zwn0','BwnWu2u','BMDLihq','AgvHzgu','mZa3mtbMtw9JtuO','BIbfEgm','BLzUChO','ywLUlG','ienSAwu','AgfUz2u','lY9SB2m','zwfTihq','yxnLihq','CMvXDwu','rMfPBgu','l2fWAq','AxnbCNi','DxrOx3m','BNqGuMu','zwrPCMu','C190B2S','CMvJDca','B2TLBIa','Evn0yxq','sejtBhe','zc1WCM8','vxjS','CNKGywC','y29VA2K','zxHJAge','B3jPz2K','zwnVzgu','C2vUza','t0f1DgG','ifjLzgK','C3rHDgu','mZK4D1LxtMLv','EufUzeq','AwrFy2W','y3jLzgu','vxbZDhi','ueTdrq','Be5owK0','Ac9YzwC','Aw52ywW','Cg9YDa'];a0_0x3670=function(){return _0x42b16a;};return a0_0x3670();}const createAuthRateLimit=createAuthRateLimitMiddleware(),OAUTH_TOKEN_EXPIRY_HINT_SECONDS=0x1e*0x18*0x3c*0x3c,serverUrl=a0_0x1b00e1[a0_0x785b3b(0x1c3)+'rverU'+'rl']||a0_0x785b3b(0x1fd)+a0_0x785b3b(0x1cc)+a0_0x785b3b(0x1f2)+'t:'+(a0_0x1b00e1[a0_0x785b3b(0x1ef)]||0xc9f);router[a0_0x785b3b(0x2a1)](a0_0x785b3b(0x285)+a0_0x785b3b(0x1ed)+'ister',createAuthRateLimit,(_0x1821dc,_0x8f6b10)=>{const _0x23a9da=a0_0x785b3b,_0x18001e={'jqlCa':_0x23a9da(0x265)+_0x23a9da(0x21a)+_0x23a9da(0x245)+_0x23a9da(0x21b)+_0x23a9da(0x292),'lNNZM':function(_0x18497d,_0x5bf69c){return _0x18497d||_0x5bf69c;},'lghOh':_0x23a9da(0x242)+_0x23a9da(0x254),'YLREs':'autho'+_0x23a9da(0x240)+_0x23a9da(0x253)+_0x23a9da(0x2aa),'AJuTm':_0x23a9da(0x274)+_0x23a9da(0x27e)+_0x23a9da(0x26e)+_0x23a9da(0x28a)+_0x23a9da(0x259)+_0x23a9da(0x24a),'klgJO':_0x23a9da(0x1ee)+'id_cl'+_0x23a9da(0x2b2)+_0x23a9da(0x24f)+_0x23a9da(0x1f1)},{client_name:_0x4ad798,redirect_uris:_0x31b5ee}=_0x1821dc[_0x23a9da(0x229)];logger[_0x23a9da(0x298)](_0x23a9da(0x1e3)+'\x20Clie'+_0x23a9da(0x1d4)+_0x23a9da(0x208)+_0x23a9da(0x221)+'\x20requ'+'est',{'client_name':_0x4ad798,'redirect_uris':_0x31b5ee});if(!_0x31b5ee||!Array[_0x23a9da(0x1d2)+'ay'](_0x31b5ee)||_0x31b5ee[_0x23a9da(0x24e)+'h']===0x0){_0x8f6b10[_0x23a9da(0x25f)+'s'](0x190)[_0x23a9da(0x2ab)]({'error':'inval'+_0x23a9da(0x1e8)+'ient_'+'metad'+_0x23a9da(0x1f1),'error_description':_0x18001e[_0x23a9da(0x23a)]});return;}try{const {clientId:_0x36845c,clientSecret:_0x595d7d}=OAuthService[_0x23a9da(0x217)+_0x23a9da(0x20a)+_0x23a9da(0x29d)+_0x23a9da(0x254)+'Id'](_0x31b5ee);_0x8f6b10[_0x23a9da(0x25f)+'s'](0xc9)['json']({'client_id':_0x36845c,'client_secret':_0x595d7d,'client_name':_0x18001e[_0x23a9da(0x1ec)](_0x4ad798,_0x18001e[_0x23a9da(0x262)]),'redirect_uris':_0x31b5ee,'grant_types':[_0x18001e[_0x23a9da(0x223)]],'response_types':['code'],'token_endpoint_auth_method':'clien'+_0x23a9da(0x227)+'ret_p'+_0x23a9da(0x215)});}catch(_0x2aaf6e){logger[_0x23a9da(0x26c)](_0x18001e[_0x23a9da(0x27f)],{'error':_0x2aaf6e[_0x23a9da(0x1c0)+'ge'],'redirect_uris':_0x31b5ee}),_0x8f6b10[_0x23a9da(0x25f)+'s'](0x190)[_0x23a9da(0x2ab)]({'error':_0x18001e[_0x23a9da(0x1f0)],'error_description':_0x2aaf6e['messa'+'ge']});}}),router[a0_0x785b3b(0x21e)](a0_0x785b3b(0x285)+a0_0x785b3b(0x209)+'horiz'+'e',createAuthRateLimit,(_0x3541c8,_0x6dfc92)=>{const _0x193ef9=a0_0x785b3b,_0x4c2e8f={'sMFrv':_0x193ef9(0x23e)+_0x193ef9(0x295)+_0x193ef9(0x2b1)+_0x193ef9(0x1ca)+'nt\x20ID'+'\x20in\x20s'+_0x193ef9(0x244)+'\x20conf'+_0x193ef9(0x23c)+_0x193ef9(0x2a4),'WjFMm':_0x193ef9(0x28b)+_0x193ef9(0x24b),'wYsBO':_0x193ef9(0x265)+_0x193ef9(0x21a)+'ri','nVnpz':_0x193ef9(0x20e),'qSYFE':_0x193ef9(0x1e5),'QnJbh':function(_0x660f38,_0x50fdd2){return _0x660f38===_0x50fdd2;},'HBSlq':'https','mSwtl':'__Hos'+_0x193ef9(0x201)+_0x193ef9(0x24c)+'_stat'+'e','txLxl':function(_0x31f396,_0x4990c4){return _0x31f396*_0x4990c4;}},{response_type:_0x103a29,client_id:_0x4b5fb2,redirect_uri:_0x360180,state:_0xe13c3d,code_challenge:_0x2d1c85,code_challenge_method:_0x315bb6}=_0x3541c8[_0x193ef9(0x248)];logger[_0x193ef9(0x298)](_0x193ef9(0x1e3)+'\x20Auth'+'oriza'+'tion\x20'+_0x193ef9(0x1cf)+_0x193ef9(0x236)+_0x193ef9(0x23b),{'response_type':_0x103a29,'client_id':_0x4b5fb2,'redirect_uri':_0x360180,'state':_0xe13c3d});if(_0x4b5fb2&&!OAuthService[_0x193ef9(0x25e)+_0x193ef9(0x210)+_0x193ef9(0x291)](_0x4b5fb2,_0x360180)){_0x6dfc92[_0x193ef9(0x25f)+'s'](0x191)[_0x193ef9(0x1e2)]('Inval'+_0x193ef9(0x204)+_0x193ef9(0x297)+_0x193ef9(0x1f8)+_0x193ef9(0x1e4)+_0x193ef9(0x1d7)+'URI\x20n'+_0x193ef9(0x235)+'lowed');return;}const _0x31f843=a0_0x1b00e1['click'+_0x193ef9(0x1fb)+_0x193ef9(0x269)];if(!_0x31f843){logger['error'](_0x4c2e8f[_0x193ef9(0x267)]),_0x6dfc92[_0x193ef9(0x25f)+'s'](0x1f4)['send'](_0x193ef9(0x25b)+_0x193ef9(0x200)+_0x193ef9(0x1fa)+'gurat'+'ion:\x20'+_0x193ef9(0x23e)+_0x193ef9(0x295)+_0x193ef9(0x2b1)+_0x193ef9(0x1ca)+'nt\x20ID');return;}const _0xbed051=OAuthService[_0x193ef9(0x217)+_0x193ef9(0x1f3)+_0x193ef9(0x277)+_0x193ef9(0x2a6)](_0x360180,_0xe13c3d,_0x2d1c85,_0x315bb6),_0x39d4f0=new URL(a0_0x1b00e1[_0x193ef9(0x289)+_0x193ef9(0x275)+_0x193ef9(0x1dc)]+_0x193ef9(0x1d1));_0x39d4f0[_0x193ef9(0x21c)+'hPara'+'ms']['appen'+'d'](_0x4c2e8f[_0x193ef9(0x279)],_0x31f843),_0x39d4f0[_0x193ef9(0x21c)+'hPara'+'ms']['appen'+'d'](_0x4c2e8f['wYsBO'],serverUrl+(_0x193ef9(0x285)+'h/cal'+_0x193ef9(0x219))),_0x39d4f0[_0x193ef9(0x21c)+_0x193ef9(0x2a9)+'ms'][_0x193ef9(0x234)+'d'](_0x193ef9(0x216)+_0x193ef9(0x24d)+_0x193ef9(0x20b),_0x4c2e8f[_0x193ef9(0x1c8)]),_0x39d4f0[_0x193ef9(0x21c)+_0x193ef9(0x2a9)+'ms'][_0x193ef9(0x234)+'d'](_0x4c2e8f['qSYFE'],_0xbed051);const _0x5e8431=_0x3541c8['secur'+'e']||_0x4c2e8f['QnJbh'](_0x3541c8[_0x193ef9(0x1c5)+'rs'][_0x193ef9(0x29a)+'warde'+_0x193ef9(0x1db)+'to'],_0x4c2e8f[_0x193ef9(0x1da)]),_0xce06f1=_0x5e8431?_0x4c2e8f[_0x193ef9(0x2ad)]:'mcp_a'+_0x193ef9(0x1d3)+_0x193ef9(0x26a);_0x6dfc92[_0x193ef9(0x1de)+'e'](_0xce06f1,_0xbed051,{'httpOnly':!![],'secure':_0x5e8431,'sameSite':'lax','maxAge':_0x4c2e8f['txLxl'](0xf*0x3c,0x3e8),'path':'/'}),_0x6dfc92[_0x193ef9(0x265)+_0x193ef9(0x1c2)](_0x39d4f0[_0x193ef9(0x22b)+'ing']());}),router[a0_0x785b3b(0x21e)]('/oaut'+'h/cal'+'lback',createAuthRateLimit,(_0x115023,_0x55d110)=>{const _0x19bdf1=a0_0x785b3b,_0x2535af={'BRCTe':_0x19bdf1(0x29a)+'warde'+_0x19bdf1(0x1db)+'to','csyQB':_0x19bdf1(0x29e)+_0x19bdf1(0x1d3)+_0x19bdf1(0x26a),'fVNIH':function(_0x5f2447,_0x2e4895){return _0x5f2447===_0x2e4895;},'IvaAk':_0x19bdf1(0x20e),'RSLfv':_0x19bdf1(0x1d0)+_0x19bdf1(0x247)+_0x19bdf1(0x276)+_0x19bdf1(0x287)+_0x19bdf1(0x206)+'te','biPxq':'Inval'+_0x19bdf1(0x251)+_0x19bdf1(0x1fc)+_0x19bdf1(0x2b8)+_0x19bdf1(0x230)},{code:_0x166f90,state:_0x540d90}=_0x115023[_0x19bdf1(0x248)];if(!_0x166f90||!_0x540d90){_0x55d110['statu'+'s'](0x190)['send']('Missi'+_0x19bdf1(0x288)+_0x19bdf1(0x224)+_0x19bdf1(0x26d)+'e\x20fro'+_0x19bdf1(0x232)+_0x19bdf1(0x25d));return;}logger['info']('OAuth'+_0x19bdf1(0x212)+'back\x20'+_0x19bdf1(0x293)+'ved',{'query':_0x115023['query']});const _0x50d672=_0x115023[_0x19bdf1(0x231)+'e']||_0x115023[_0x19bdf1(0x1c5)+'rs'][_0x2535af[_0x19bdf1(0x225)]]===_0x19bdf1(0x1f4),_0x240a35=_0x50d672?_0x19bdf1(0x29f)+'t-mcp'+'_auth'+_0x19bdf1(0x268)+'e':_0x2535af[_0x19bdf1(0x296)],_0x590c68=_0x115023['cooki'+'es']?.[_0x240a35];if(!_0x590c68||_0x590c68!==_0x540d90){logger[_0x19bdf1(0x26c)]('OAuth'+_0x19bdf1(0x255)+_0x19bdf1(0x299)+_0x19bdf1(0x278)+':\x20sta'+_0x19bdf1(0x284)+_0x19bdf1(0x2af)+_0x19bdf1(0x294)+'missi'+_0x19bdf1(0x288)+_0x19bdf1(0x22a),{'hasCookie':!!_0x590c68,'cookieName':_0x240a35,'stateMatch':_0x2535af[_0x19bdf1(0x271)](_0x590c68,_0x540d90)}),_0x55d110[_0x19bdf1(0x25f)+'s'](0x193)['send'](_0x19bdf1(0x21d)+_0x19bdf1(0x220)+_0x19bdf1(0x28a)+_0x19bdf1(0x238)+_0x19bdf1(0x273)+'ssion'+_0x19bdf1(0x239)+_0x19bdf1(0x2b4)+_0x19bdf1(0x2b3)+_0x19bdf1(0x250)+_0x19bdf1(0x23f)+_0x19bdf1(0x1c1)+_0x19bdf1(0x1ce)+_0x19bdf1(0x1dd)+_0x19bdf1(0x1c9));return;}_0x55d110[_0x19bdf1(0x1f6)+_0x19bdf1(0x25a)+'e'](_0x240a35,{'path':'/'});try{const _0x49b299=OAuthService[_0x19bdf1(0x22d)+_0x19bdf1(0x20c)+_0x19bdf1(0x1d9)+'e'](_0x540d90),_0x3a4f3b=new URL(_0x49b299[_0x19bdf1(0x1e0)+_0x19bdf1(0x28c)+_0x19bdf1(0x1d5)+'ct_ur'+'i']),_0x332a39=OAuthService[_0x19bdf1(0x217)+'ateSi'+'gnedP'+_0x19bdf1(0x228)+_0x19bdf1(0x2aa)](_0x166f90,_0x49b299[_0x19bdf1(0x205)+'chall'+'enge'],_0x49b299['code_'+_0x19bdf1(0x1f9)+'enge_'+'metho'+'d']);_0x3a4f3b[_0x19bdf1(0x21c)+_0x19bdf1(0x2a9)+'ms'][_0x19bdf1(0x234)+'d'](_0x2535af[_0x19bdf1(0x237)],_0x332a39),_0x3a4f3b['searc'+_0x19bdf1(0x2a9)+'ms']['appen'+'d'](_0x19bdf1(0x1e5),_0x49b299[_0x19bdf1(0x1e0)+_0x19bdf1(0x202)+_0x19bdf1(0x26a)]),_0x55d110[_0x19bdf1(0x265)+_0x19bdf1(0x1c2)](_0x3a4f3b[_0x19bdf1(0x22b)+_0x19bdf1(0x222)]());}catch(_0xfeb9b4){logger['error'](_0x2535af['RSLfv'],_0xfeb9b4),_0x55d110[_0x19bdf1(0x25f)+'s'](0x190)['send'](_0x2535af[_0x19bdf1(0x2a2)]);}}),router['post']('/oaut'+a0_0x785b3b(0x256)+'en',createAuthRateLimit,async(_0x2549d5,_0x405525)=>{const _0x5260ed=a0_0x785b3b,_0x1c9df8={'Fegmh':'OAuth'+_0x5260ed(0x2b0)+_0x5260ed(0x1c7)+_0x5260ed(0x1cb)+'\x20requ'+_0x5260ed(0x1ff)+_0x5260ed(0x226)+')','QMigt':'Inval'+_0x5260ed(0x27c)+_0x5260ed(0x233)+_0x5260ed(0x2aa),'cdojX':_0x5260ed(0x1ee)+'id_gr'+'ant','lfvlK':_0x5260ed(0x211)+_0x5260ed(0x241)+_0x5260ed(0x2b5)+_0x5260ed(0x1f5)+_0x5260ed(0x257)+'e\x20or\x20'+_0x5260ed(0x246)+'ture','fYlpT':_0x5260ed(0x205)+_0x5260ed(0x25e)+_0x5260ed(0x283)+'s\x20req'+'uired'+'\x20for\x20'+_0x5260ed(0x1eb),'bcOAD':'PKCE\x20'+_0x5260ed(0x25e)+_0x5260ed(0x22e)+_0x5260ed(0x290)+_0x5260ed(0x20d),'OoExb':function(_0x20bc87,_0x314213){return _0x20bc87(_0x314213);},'wnfNy':_0x5260ed(0x26f)+_0x5260ed(0x20f)+_0x5260ed(0x29b)+_0x5260ed(0x1be)+'selec'+'tion\x20'+_0x5260ed(0x260)+_0x5260ed(0x2a7),'ZENHi':_0x5260ed(0x1d0)+_0x5260ed(0x247)+'fetch'+_0x5260ed(0x1bf)+_0x5260ed(0x27a)+_0x5260ed(0x27d)+_0x5260ed(0x1f7)+_0x5260ed(0x280)+_0x5260ed(0x2b6)+'g\x20raw'+_0x5260ed(0x203)+'n'},{grant_type:_0x506de0,code:_0x13476b,redirect_uri:_0x324c17,client_id:_0x228e2d,client_secret:_0x556132,code_verifier:_0x38677d}=_0x2549d5[_0x5260ed(0x229)];logger[_0x5260ed(0x298)](_0x1c9df8['Fegmh'],{'grant_type':_0x506de0,'client_id':_0x228e2d});if(_0x228e2d&&_0x556132){if(!OAuthService[_0x5260ed(0x25e)+_0x5260ed(0x210)+_0x5260ed(0x1fe)+_0x5260ed(0x286)](_0x228e2d,_0x556132)){logger[_0x5260ed(0x26c)](_0x5260ed(0x211)+'id\x20Cl'+_0x5260ed(0x297)+_0x5260ed(0x28f)+'t',{'client_id':_0x228e2d}),_0x405525[_0x5260ed(0x25f)+'s'](0x191)['json']({'error':_0x5260ed(0x1ee)+'id_cl'+'ient','error_description':_0x5260ed(0x211)+'id\x20cl'+_0x5260ed(0x297)+_0x5260ed(0x1e9)+_0x5260ed(0x2a0)+'s'});return;}}const _0x302ab3=OAuthService[_0x5260ed(0x25e)+_0x5260ed(0x1e7)+_0x5260ed(0x1e1)+_0x5260ed(0x226)+_0x5260ed(0x243)](_0x13476b);if(!_0x302ab3){logger['warn'](_0x1c9df8['QMigt'],{'code':_0x13476b}),_0x405525[_0x5260ed(0x25f)+'s'](0x190)[_0x5260ed(0x2ab)]({'error':_0x1c9df8[_0x5260ed(0x213)],'error_description':_0x1c9df8['lfvlK']});return;}if(!_0x38677d){_0x405525[_0x5260ed(0x25f)+'s'](0x190)[_0x5260ed(0x2ab)]({'error':_0x5260ed(0x1ee)+_0x5260ed(0x23d)+_0x5260ed(0x258),'error_description':_0x1c9df8[_0x5260ed(0x207)]});return;}if(!OAuthService['verif'+'yPKCE'](_0x38677d,_0x302ab3['hc'],_0x302ab3['hm'])){logger[_0x5260ed(0x26c)](_0x1c9df8[_0x5260ed(0x29c)],{'clickUpCode':_0x302ab3['c'],'verifier':_0x38677d}),_0x405525[_0x5260ed(0x25f)+'s'](0x190)[_0x5260ed(0x2ab)]({'error':_0x1c9df8['cdojX'],'error_description':'PKCE\x20'+_0x5260ed(0x25e)+'icati'+'on\x20fa'+'iled'});return;}const _0x1c3463=await OAuthService['excha'+_0x5260ed(0x21f)+_0x5260ed(0x264)+'thCli'+_0x5260ed(0x25d)](_0x302ab3['c']);if(_0x1c3463[_0x5260ed(0x2ac)+'ss']){const _0x2548ed=_0x1c3463[_0x5260ed(0x261)][_0x5260ed(0x272)+_0x5260ed(0x1d6)+'en'];_0x1c9df8[_0x5260ed(0x2a3)](clearTokenCache,_0x2548ed);try{const _0x22ec46=await a0_0x33799b['get'](a0_0x1b00e1[_0x5260ed(0x289)+'upApi'+_0x5260ed(0x1dc)]+_0x5260ed(0x22f),{'headers':{'Authorization':_0x2548ed},'timeout':0x2710}),_0x5ca97f=_0x22ec46[_0x5260ed(0x261)]?.[_0x5260ed(0x27b)]||[];if(_0x5ca97f['lengt'+'h']>0x0){const _0x4ad594=_0x5ca97f[_0x5260ed(0x2a5)](_0x453841=>String(_0x453841['id'])),_0x308f11=_0x4ad594[_0x5260ed(0x263)](','),_0x1c53d9=_0x308f11+':'+_0x2548ed;logger[_0x5260ed(0x298)](_0x1c9df8[_0x5260ed(0x252)],{'count':_0x4ad594[_0x5260ed(0x24e)+'h'],'confirmedIds':_0x308f11}),_0x405525[_0x5260ed(0x2ab)]({..._0x1c3463[_0x5260ed(0x261)],'access_token':_0x1c53d9,'expires_in':OAUTH_TOKEN_EXPIRY_HINT_SECONDS,'first_team_id':_0x4ad594[0x0],'all_team_ids':_0x4ad594});return;}}catch(_0x496688){logger['warn'](_0x1c9df8['ZENHi'],{'error':_0x496688[_0x5260ed(0x1c0)+'ge']});}_0x405525[_0x5260ed(0x2ab)](_0x1c3463[_0x5260ed(0x261)]);}else logger[_0x5260ed(0x214)](_0x5260ed(0x1ea)+_0x5260ed(0x1cd)+'oken\x20'+'excha'+'nge\x20f'+'ailur'+'e',{'error':_0x1c3463[_0x5260ed(0x214)]}),_0x405525[_0x5260ed(0x25f)+'s'](0x1f4)[_0x5260ed(0x2ab)]({'error':_0x5260ed(0x1d0)+_0x5260ed(0x247)+_0x5260ed(0x1df)+_0x5260ed(0x1c4)+_0x5260ed(0x1d8)+_0x5260ed(0x28d)+_0x5260ed(0x25c)+_0x5260ed(0x2a8)+'rovid'+'er','details':_0x1c3463['error']});});export default router;
|
package/build/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3a39db=a0_0x48bb;(function(_0x181d3c,_0x477555){const _0x53f85e=a0_0x48bb,_0x3e2dd9=_0x181d3c();while(!![]){try{const _0x47c05f=parseInt(_0x53f85e(0x1d4))/0x1+-parseInt(_0x53f85e(0x1f0))/0x2+-parseInt(_0x53f85e(0x23e))/0x3+-parseInt(_0x53f85e(0x22f))/0x4+parseInt(_0x53f85e(0x1ec))/0x5*(-parseInt(_0x53f85e(0x1e5))/0x6)+-parseInt(_0x53f85e(0x206))/0x7*(parseInt(_0x53f85e(0x1e3))/0x8)+parseInt(_0x53f85e(0x214))/0x9*(parseInt(_0x53f85e(0x22e))/0xa);if(_0x47c05f===_0x477555)break;else _0x3e2dd9['push'](_0x3e2dd9['shift']());}catch(_0x24b9b9){_0x3e2dd9['push'](_0x3e2dd9['shift']());}}}(a0_0xb8ef,0xf037a));function a0_0xb8ef(){const _0x2b92a6=['zwruB28','DMvS','vevht1i','odC0mZq0uLf2zxrM','oI8Vyxa','s2v5','zMfSC2u','zvn0zgK','zwLsDKW','zvntrq','rfLcsK0','rurFve8','AwvZ','y29Tl2e','ru5ux1m','zxjdyxm','vvbqt1i','mtbTyG','u2LoCuu','tevex1q','tevex0m','ue9sva','AM9PBG','ru5bqKW','Dxbuzwe','n2TrC3b1rW','su5gtW','rv9tveq','zw50ihy','CgvYC28','DxbbCgK','zg9JDw0','qvrfr08','Dfz0yxG','zw5HyMW','Dhj1zq','Bezsv2W','BKHTt1m','yxjNDG','ndeYmMvbuhrrAW','rvjst1i','revcvuC','twLZC2K','vfjbq0u','reLtqui','zwDVCMK','DLnqt3i','qu1Fsuq','zwrdyxq','rvzfta','AeDduLC','BuLK','y2T1Cc4','Dg9vCha','zw50u3u','zgLZywi','zcbLBNy','v0fstG','DxbdBgK','BgvUz3q','sv9lrvK','t1ju','C3bSAxq','vvbFtum','BMCGCMu','nte4mZblvKzRtwO','mtq5mJCWogvxvwPsuG','Exjezxq','CuXMELO','yxjPywi','DhjPBq','uf9qrvi','mZiZmq','Bg9Ntgu','zvjvALa','suvt','y3jLDa','q0Xjq0S','ls1LBNy','B2XZ','C3nLug8','mJm2ndeXnhfTrK1AEa','se9tva','mtmWody2m1zjBwfwua','zw50u2u','DgvNB3i','CgKVDJi','ChbVCNq','vvbFveu','Fdj8mW','Ag9ZDa','zMLSDgu','Cg9YDa','Bg9Nvg8','BgvZoIa','y2XPy2S','v0TPv3K','BgvKq2e','mJy3ntiYnefVu1fXCG','As5JBgK','mte0yM1ttg5S','rurFq0e','BwfW','mxWWFdq','AxjVBM0','y29T','Cc5JBgK','mJaXnte1qKftzKvQ'];a0_0xb8ef=function(){return _0x2b92a6;};return a0_0xb8ef();}const args=process[a0_0x3a39db(0x213)]['slice'](0x2),envArgs={};for(let i=0x0;i<args[a0_0x3a39db(0x228)+'h'];i++){if(args[i]===a0_0x3a39db(0x23b)&&i+0x1<args[a0_0x3a39db(0x228)+'h']){const [key,value]=args[i+0x1][a0_0x3a39db(0x22b)]('=');if(key===a0_0x3a39db(0x23a)+'UP_AP'+a0_0x3a39db(0x229))envArgs[a0_0x3a39db(0x1e0)+'upApi'+a0_0x3a39db(0x1f2)]=value;if(key===a0_0x3a39db(0x23a)+a0_0x3a39db(0x1d9)+a0_0x3a39db(0x21c))envArgs['click'+a0_0x3a39db(0x205)+a0_0x3a39db(0x220)]=value;if(key===a0_0x3a39db(0x23a)+a0_0x3a39db(0x22c)+a0_0x3a39db(0x234)+'SONA')envArgs['perso'+'na']=value;if(key==='DOCUM'+a0_0x3a39db(0x1fb)+a0_0x3a39db(0x1fd)+'T')envArgs[a0_0x3a39db(0x20c)+a0_0x3a39db(0x223)+a0_0x3a39db(0x1d8)]=value;if(key==='LOG_L'+a0_0x3a39db(0x21e))envArgs[a0_0x3a39db(0x236)+a0_0x3a39db(0x1ee)]=value;if(key===a0_0x3a39db(0x219)+a0_0x3a39db(0x200)+'OOLS')envArgs[a0_0x3a39db(0x224)+'ledTo'+a0_0x3a39db(0x23c)]=value;if(key===a0_0x3a39db(0x204)+a0_0x3a39db(0x1f8)+'OLS')envArgs['enabl'+'edToo'+'ls']=value;if(key==='DISAB'+a0_0x3a39db(0x201)+a0_0x3a39db(0x20d)+'RIES')envArgs['disab'+'ledCa'+a0_0x3a39db(0x1d6)+'ies']=value;if(key===a0_0x3a39db(0x204)+a0_0x3a39db(0x1e6)+a0_0x3a39db(0x1ef)+a0_0x3a39db(0x238))envArgs[a0_0x3a39db(0x20f)+'edCat'+a0_0x3a39db(0x21a)+'es']=value;if(key===a0_0x3a39db(0x204)+'E_SSE')envArgs[a0_0x3a39db(0x20f)+a0_0x3a39db(0x1f6)]=value;if(key==='SSE_P'+a0_0x3a39db(0x22a))envArgs[a0_0x3a39db(0x23d)+'rt']=value;if(key==='ENABL'+a0_0x3a39db(0x208)+'IO')envArgs[a0_0x3a39db(0x20f)+a0_0x3a39db(0x1f4)+'o']=value;if(key===a0_0x3a39db(0x202))envArgs['port']=value;if(key===a0_0x3a39db(0x1d3))envArgs[a0_0x3a39db(0x1db)]=value;i++;}}function a0_0x48bb(_0x231709,_0x3837a8){_0x231709=_0x231709-0x1d3;const _0xb8efea=a0_0xb8ef();let _0x48bbba=_0xb8efea[_0x231709];if(a0_0x48bb['RFJgqq']===undefined){var _0x59dbd1=function(_0x217321){const _0x1c08df='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48e0d8='',_0x4e73a8='';for(let _0x149561=0x0,_0x328ed7,_0x3563bf,_0x448a7b=0x0;_0x3563bf=_0x217321['charAt'](_0x448a7b++);~_0x3563bf&&(_0x328ed7=_0x149561%0x4?_0x328ed7*0x40+_0x3563bf:_0x3563bf,_0x149561++%0x4)?_0x48e0d8+=String['fromCharCode'](0xff&_0x328ed7>>(-0x2*_0x149561&0x6)):0x0){_0x3563bf=_0x1c08df['indexOf'](_0x3563bf);}for(let _0x1e62e6=0x0,_0x18739b=_0x48e0d8['length'];_0x1e62e6<_0x18739b;_0x1e62e6++){_0x4e73a8+='%'+('00'+_0x48e0d8['charCodeAt'](_0x1e62e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e73a8);};a0_0x48bb['BniYqm']=_0x59dbd1,a0_0x48bb['LjnUnb']={},a0_0x48bb['RFJgqq']=!![];}const _0x1c35ab=_0xb8efea[0x0],_0x2b095a=_0x231709+_0x1c35ab,_0x3e2483=a0_0x48bb['LjnUnb'][_0x2b095a];return!_0x3e2483?(_0x48bbba=a0_0x48bb['BniYqm'](_0x48bbba),a0_0x48bb['LjnUnb'][_0x2b095a]=_0x48bbba):_0x48bbba=_0x3e2483,_0x48bbba;}export var LogLevel;(function(_0x344f01){const _0x342d18=a0_0x3a39db,_0x252f25={'qLfzZ':_0x342d18(0x1e8)+_0x342d18(0x1da),'WKiWy':_0x342d18(0x216),'ficWj':'TRACE','tVtax':_0x342d18(0x226),'yrDet':_0x342d18(0x215),'hGCRW':_0x342d18(0x207)},_0x224e47=_0x252f25[_0x342d18(0x231)]['split']('|');let _0x1263b1=0x0;while(!![]){switch(_0x224e47[_0x1263b1++]){case'0':_0x344f01[_0x344f01[_0x252f25[_0x342d18(0x1e1)]]=0x1]=_0x252f25[_0x342d18(0x1e1)];continue;case'1':_0x344f01[_0x344f01[_0x252f25['ficWj']]=0x0]=_0x342d18(0x218);continue;case'2':_0x344f01[_0x344f01[_0x342d18(0x226)]=0x3]=_0x252f25[_0x342d18(0x20e)];continue;case'3':_0x344f01[_0x344f01[_0x252f25[_0x342d18(0x230)]]=0x4]=_0x342d18(0x215);continue;case'4':_0x344f01[_0x344f01[_0x252f25[_0x342d18(0x21f)]]=0x2]=_0x252f25[_0x342d18(0x21f)];continue;}break;}}(LogLevel||(LogLevel={})));const parseLogLevel=_0x34797e=>{const _0x1597fb=a0_0x3a39db,_0x4b86cd={'lFRWl':'TRACE','eiRvL':'DEBUG','vSPOr':'INFO','SiNqE':'WARN'};if(!_0x34797e)return LogLevel[_0x1597fb(0x215)];switch(_0x34797e[_0x1597fb(0x222)+'erCas'+'e']()){case _0x4b86cd[_0x1597fb(0x211)]:return LogLevel[_0x1597fb(0x218)];case _0x4b86cd[_0x1597fb(0x1f5)]:return LogLevel['DEBUG'];case _0x4b86cd[_0x1597fb(0x21b)]:return LogLevel['INFO'];case _0x4b86cd[_0x1597fb(0x1ff)]:return LogLevel[_0x1597fb(0x226)];case _0x1597fb(0x215):return LogLevel[_0x1597fb(0x215)];default:return LogLevel['ERROR'];}},parseBoolean=(_0x37cca9,_0x112634)=>{const _0x4163b7=a0_0x3a39db,_0x2c10e7={'DYBJM':function(_0x1e1189,_0x1c08b6){return _0x1e1189===_0x1c08b6;},'DUCzZ':_0x4163b7(0x210)};if(_0x37cca9===undefined)return _0x112634;return _0x2c10e7[_0x4163b7(0x1f7)](_0x37cca9['toLow'+_0x4163b7(0x1fc)+'e'](),_0x2c10e7['DUCzZ']);},parseInteger=(_0x1393ab,_0x2c3a2c)=>{const _0x2483e1=a0_0x3a39db,_0x1d275a={'eRUjP':function(_0x2b7db9,_0xfbca8d){return _0x2b7db9===_0xfbca8d;},'oTTke':function(_0x2bb676,_0x15be0c){return _0x2bb676(_0x15be0c);}};if(_0x1d275a[_0x2483e1(0x237)](_0x1393ab,undefined))return _0x2c3a2c;const _0x2a2d71=parseInt(_0x1393ab,0xa);return _0x1d275a['oTTke'](isNaN,_0x2a2d71)?_0x2c3a2c:_0x2a2d71;},parseCommaSeparated=(_0x394aea,_0x1a4ed4)=>{const _0x371924=a0_0x3a39db;if(!_0x394aea)return _0x1a4ed4;return _0x394aea['split'](',')[_0x371924(0x1e7)](_0x116867=>_0x116867[_0x371924(0x233)]())[_0x371924(0x1dc)+'r'](_0x219fa1=>_0x219fa1!=='');},configuration={'clickupApiKey':envArgs[a0_0x3a39db(0x1e0)+'upApi'+a0_0x3a39db(0x1f2)]||process.env.CLICKUP_API_KEY||'','clickupTeamId':envArgs[a0_0x3a39db(0x1e0)+'upTea'+a0_0x3a39db(0x220)]||process.env.CLICKUP_TEAM_ID||'','documentSupport':envArgs['docum'+a0_0x3a39db(0x223)+a0_0x3a39db(0x1d8)]||process.env.DOCUMENT_SUPPORT||process.env.DOCUMENT_MODULE||process.env.DOCUMENT_MODEL||a0_0x3a39db(0x1f3),'logLevel':parseLogLevel(envArgs[a0_0x3a39db(0x236)+a0_0x3a39db(0x1ee)]||process.env.LOG_LEVEL),'logToStderr':parseBoolean(envArgs[a0_0x3a39db(0x1de)+'Stder'+'r']||process.env.LOG_TO_STDERR||process.env.RENDER,![]),'disabledTools':(envArgs[a0_0x3a39db(0x224)+'ledTo'+a0_0x3a39db(0x23c)]||process.env.DISABLED_TOOLS||process.env.DISABLED_COMMANDS)?.[a0_0x3a39db(0x22b)](',')[a0_0x3a39db(0x1e7)](_0x344a65=>_0x344a65['trim']())[a0_0x3a39db(0x1dc)+'r'](_0x2bc90d=>_0x2bc90d!=='')||[],'enabledTools':(envArgs['enabl'+a0_0x3a39db(0x1ed)+'ls']||process.env.ENABLED_TOOLS)?.[a0_0x3a39db(0x22b)](',')[a0_0x3a39db(0x1e7)](_0x91dc45=>_0x91dc45['trim']())[a0_0x3a39db(0x1dc)+'r'](_0x44e273=>_0x44e273!=='')||[],'disabledCategories':parseCommaSeparated(envArgs['disab'+a0_0x3a39db(0x1e2)+a0_0x3a39db(0x1d6)+a0_0x3a39db(0x1f9)]||process.env.DISABLED_CATEGORIES,[]),'enabledCategories':parseCommaSeparated(envArgs[a0_0x3a39db(0x20f)+a0_0x3a39db(0x21d)+a0_0x3a39db(0x21a)+'es']||process.env.ENABLED_CATEGORIES,[]),'enableSSE':parseBoolean(envArgs[a0_0x3a39db(0x20f)+a0_0x3a39db(0x1f6)]||process.env.ENABLE_SSE||process.env.ENABLE_HTTP,![]),'ssePort':parseInteger(envArgs[a0_0x3a39db(0x23d)+'rt']||process.env.SSE_PORT,0xbb8),'enableStdio':parseBoolean(envArgs[a0_0x3a39db(0x20f)+'eStdi'+'o']||process.env.ENABLE_STDIO,!![]),'port':envArgs[a0_0x3a39db(0x1dd)]||process.env.PORT||a0_0x3a39db(0x235),'persona':envArgs[a0_0x3a39db(0x20a)+'na']||process.env.CLICKUP_MCP_PERSONA||'','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':parseCommaSeparated(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||a0_0x3a39db(0x1fe),'host':envArgs[a0_0x3a39db(0x1db)]||process.env.HOST||'0.0.0'+'.0','clickupClientId':process.env.CLICKUP_CLIENT_ID,'clickupClientSecret':process.env.CLICKUP_CLIENT_SECRET,'mcpServerUrl':process.env.MCP_SERVER_URL,'redirectUriAllowlist':parseCommaSeparated(process.env.REDIRECT_URI_ALLOWLIST,[]),'clickupAppUrl':process.env.CLICKUP_APP_URL||'https'+a0_0x3a39db(0x1f1)+a0_0x3a39db(0x1eb)+a0_0x3a39db(0x221)+a0_0x3a39db(0x1ea),'clickupApiUrl':process.env.CLICKUP_API_URL||'https'+a0_0x3a39db(0x1f1)+a0_0x3a39db(0x1e4)+a0_0x3a39db(0x221)+a0_0x3a39db(0x1fa)+a0_0x3a39db(0x1d7),'proxySecret':process.env.CLICKUP_PROXY_SECRET||'','additionalApiKeys':parseCommaSeparated(process.env.CLICKUP_ADDITIONAL_API_KEYS,[])};export const validateConfiguration=()=>{const _0x5777d4=a0_0x3a39db,_0x43a8b6={'nHmOS':_0x5777d4(0x1e0)+_0x5777d4(0x20b)+'Key'},_0xf782a7=[_0x43a8b6[_0x5777d4(0x212)],_0x5777d4(0x1e0)+_0x5777d4(0x205)+'mId'],_0x6f7bde=_0xf782a7[_0x5777d4(0x1dc)+'r'](_0x33c301=>!configuration[_0x33c301]);if(_0x6f7bde[_0x5777d4(0x228)+'h']>0x0){const _0x27a722=!!(configuration[_0x5777d4(0x1e0)+_0x5777d4(0x227)+'entId']&&configuration[_0x5777d4(0x1e0)+_0x5777d4(0x227)+_0x5777d4(0x1d5)+_0x5777d4(0x239)]),_0x2539a0=!!process.env.CLICKUP_MCP_LICENSE_KEY;if(configuration[_0x5777d4(0x20f)+'eSSE']||_0x27a722||_0x2539a0){}else throw new Error(_0x5777d4(0x217)+_0x5777d4(0x22d)+'quire'+_0x5777d4(0x225)+_0x5777d4(0x1e9)+_0x5777d4(0x209)+_0x5777d4(0x232)+_0x5777d4(0x1df)+_0x6f7bde[_0x5777d4(0x203)](',\x20'));}};export default configuration;
|
|
1
|
+
function a0_0x2c29(_0x50b1cf,_0x28bfe4){_0x50b1cf=_0x50b1cf-0x149;const _0x130b2e=a0_0x130b();let _0x2c29c9=_0x130b2e[_0x50b1cf];if(a0_0x2c29['CVkqFd']===undefined){var _0x3e02cb=function(_0x33204f){const _0x11b198='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fc7ed='',_0x377765='';for(let _0x3a3bc6=0x0,_0x3441be,_0x51cf41,_0xcf3237=0x0;_0x51cf41=_0x33204f['charAt'](_0xcf3237++);~_0x51cf41&&(_0x3441be=_0x3a3bc6%0x4?_0x3441be*0x40+_0x51cf41:_0x51cf41,_0x3a3bc6++%0x4)?_0x4fc7ed+=String['fromCharCode'](0xff&_0x3441be>>(-0x2*_0x3a3bc6&0x6)):0x0){_0x51cf41=_0x11b198['indexOf'](_0x51cf41);}for(let _0x5bb229=0x0,_0x1c2d92=_0x4fc7ed['length'];_0x5bb229<_0x1c2d92;_0x5bb229++){_0x377765+='%'+('00'+_0x4fc7ed['charCodeAt'](_0x5bb229)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x377765);};a0_0x2c29['IdMBzw']=_0x3e02cb,a0_0x2c29['TMOlEU']={},a0_0x2c29['CVkqFd']=!![];}const _0x4ecad6=_0x130b2e[0x0];a0_0x2c29['NvVQrw']!==_0x4ecad6&&(a0_0x2c29['TMOlEU']={},a0_0x2c29['NvVQrw']=_0x4ecad6);const _0x2bd722=a0_0x2c29['TMOlEU'][_0x50b1cf];return _0x2bd722===undefined?(_0x2c29c9=a0_0x2c29['IdMBzw'](_0x2c29c9),a0_0x2c29['TMOlEU'][_0x50b1cf]=_0x2c29c9):_0x2c29c9=_0x2bd722,_0x2c29c9;}const a0_0x5d3f2d=a0_0x2c29;(function(_0xbf34c8,_0x2391b9){const _0x4f8b58=a0_0x2c29,_0x4bc7cc=_0xbf34c8();while(!![]){try{const _0x26c68d=parseInt(_0x4f8b58(0x162))/0x1+-parseInt(_0x4f8b58(0x1be))/0x2*(-parseInt(_0x4f8b58(0x1ae))/0x3)+parseInt(_0x4f8b58(0x1b0))/0x4*(parseInt(_0x4f8b58(0x15b))/0x5)+parseInt(_0x4f8b58(0x159))/0x6*(-parseInt(_0x4f8b58(0x157))/0x7)+-parseInt(_0x4f8b58(0x164))/0x8*(parseInt(_0x4f8b58(0x190))/0x9)+parseInt(_0x4f8b58(0x196))/0xa*(-parseInt(_0x4f8b58(0x14e))/0xb)+parseInt(_0x4f8b58(0x173))/0xc*(-parseInt(_0x4f8b58(0x177))/0xd);if(_0x26c68d===_0x2391b9)break;else _0x4bc7cc['push'](_0x4bc7cc['shift']());}catch(_0x9b99fe){_0x4bc7cc['push'](_0x4bc7cc['shift']());}}}(a0_0x130b,0x74d60));import a0_0x11bf01 from'dotenv';a0_0x11bf01['confi'+'g']();const args=process[a0_0x5d3f2d(0x153)][a0_0x5d3f2d(0x172)](0x2),envArgs={};for(let i=0x0;i<args['lengt'+'h'];i++){if(args[i]===a0_0x5d3f2d(0x185)&&i+0x1<args[a0_0x5d3f2d(0x15c)+'h']){const [key,value]=args[i+0x1][a0_0x5d3f2d(0x174)]('=');if(key===a0_0x5d3f2d(0x189)+a0_0x5d3f2d(0x158)+a0_0x5d3f2d(0x15e))envArgs[a0_0x5d3f2d(0x16e)+a0_0x5d3f2d(0x19e)+a0_0x5d3f2d(0x1c5)]=value;if(key===a0_0x5d3f2d(0x189)+a0_0x5d3f2d(0x181)+a0_0x5d3f2d(0x17b))envArgs[a0_0x5d3f2d(0x16e)+a0_0x5d3f2d(0x167)+a0_0x5d3f2d(0x19b)]=value;if(key===a0_0x5d3f2d(0x189)+a0_0x5d3f2d(0x178)+a0_0x5d3f2d(0x194)+'SONA')envArgs['perso'+'na']=value;if(key===a0_0x5d3f2d(0x169)+a0_0x5d3f2d(0x182)+'UPPOR'+'T')envArgs[a0_0x5d3f2d(0x1ab)+a0_0x5d3f2d(0x18a)+a0_0x5d3f2d(0x176)]=value;if(key===a0_0x5d3f2d(0x151)+'EVEL')envArgs[a0_0x5d3f2d(0x192)+a0_0x5d3f2d(0x1a8)]=value;if(key===a0_0x5d3f2d(0x152)+a0_0x5d3f2d(0x16f)+a0_0x5d3f2d(0x14f))envArgs[a0_0x5d3f2d(0x191)+a0_0x5d3f2d(0x168)+a0_0x5d3f2d(0x1a0)]=value;if(key===a0_0x5d3f2d(0x1c8)+a0_0x5d3f2d(0x1c2)+'OLS')envArgs[a0_0x5d3f2d(0x180)+a0_0x5d3f2d(0x16b)+'ls']=value;if(key===a0_0x5d3f2d(0x152)+a0_0x5d3f2d(0x1b8)+a0_0x5d3f2d(0x1a6)+a0_0x5d3f2d(0x170))envArgs[a0_0x5d3f2d(0x191)+a0_0x5d3f2d(0x171)+a0_0x5d3f2d(0x187)+a0_0x5d3f2d(0x14b)]=value;if(key===a0_0x5d3f2d(0x1c8)+a0_0x5d3f2d(0x1ac)+a0_0x5d3f2d(0x16d)+'IES')envArgs['enabl'+'edCat'+a0_0x5d3f2d(0x150)+'es']=value;if(key===a0_0x5d3f2d(0x1c8)+a0_0x5d3f2d(0x1c3))envArgs[a0_0x5d3f2d(0x180)+a0_0x5d3f2d(0x198)]=value;if(key===a0_0x5d3f2d(0x1a2)+'ORT')envArgs['ssePo'+'rt']=value;if(key===a0_0x5d3f2d(0x1c8)+'E_STD'+'IO')envArgs[a0_0x5d3f2d(0x180)+a0_0x5d3f2d(0x1a5)+'o']=value;key===a0_0x5d3f2d(0x189)+'UP_MC'+a0_0x5d3f2d(0x166)+'ENSE_'+a0_0x5d3f2d(0x1b7)&&(envArgs['click'+a0_0x5d3f2d(0x1c1)+'Licen'+a0_0x5d3f2d(0x17f)]=value,process.env.CLICKUP_MCP_LICENSE_KEY=value);key===a0_0x5d3f2d(0x189)+'UP_MC'+a0_0x5d3f2d(0x1bb)+a0_0x5d3f2d(0x155)+a0_0x5d3f2d(0x18e)+'T'&&(envArgs[a0_0x5d3f2d(0x16e)+a0_0x5d3f2d(0x1c1)+a0_0x5d3f2d(0x149)+'oxSec'+a0_0x5d3f2d(0x18d)]=value,process.env.CLICKUP_MCP_SANDBOX_SECRET=value);key==='CLICK'+a0_0x5d3f2d(0x165)+a0_0x5d3f2d(0x14d)+a0_0x5d3f2d(0x1bd)+a0_0x5d3f2d(0x1b5)+'YS'&&(envArgs['addit'+a0_0x5d3f2d(0x14c)+a0_0x5d3f2d(0x15d)+'ys']=value,process.env.CLICKUP_ADDITIONAL_API_KEYS=value);if(key==='PORT')envArgs['port']=value;if(key===a0_0x5d3f2d(0x163))envArgs[a0_0x5d3f2d(0x161)]=value;i++;}}export var LogLevel;(function(_0x46f610){const _0x53841b=a0_0x5d3f2d,_0x26fe74={'MNcEB':_0x53841b(0x183),'dyuBN':_0x53841b(0x1b6),'fSvvl':_0x53841b(0x17e),'MsbWU':'ERROR'};_0x46f610[_0x46f610[_0x26fe74['MNcEB']]=0x0]=_0x26fe74[_0x53841b(0x160)],_0x46f610[_0x46f610['DEBUG']=0x1]=_0x53841b(0x19c),_0x46f610[_0x46f610[_0x26fe74[_0x53841b(0x1bf)]]=0x2]=_0x53841b(0x1b6),_0x46f610[_0x46f610[_0x26fe74[_0x53841b(0x17a)]]=0x3]=_0x26fe74[_0x53841b(0x17a)],_0x46f610[_0x46f610[_0x26fe74[_0x53841b(0x18c)]]=0x4]=_0x26fe74[_0x53841b(0x18c)];}(LogLevel||(LogLevel={})));function a0_0x130b(){const _0x46d25e=['ChbVCNq','ntyYowDHt2rVva','vvbFtum','Dg9vCha','zLn2DMW','qu1Fsuq','Dg9mB3C','y29Tl2e','v0fstG','C2vlzxK','zw5HyMW','vvbFveu','ru5ux1m','vfjbq0u','C3nLug8','ls1LBNy','DhLoBfe','DgvNB3i','y2T1Cc4','q0Xjq0S','zw50u3u','zMLSDgu','txnIv1u','CMv0','u0vduKu','As5JBgK','ndK0mti2mvjpwNLvzG','zgLZywi','Bg9Ntgu','u3rKzxi','uf9qrvi','zw50ihy','ntKXmgPrEhHjzG','zxjdyxm','zvntrq','BgvZoIa','twLZC2K','BuLK','revcvuC','zw50u2u','DxbbCgK','AxjVBM0','B2XZ','v1rhDNa','u1nfx1a','zwrdyxq','uMXKELi','zvn0zgK','qvrfr08','CgvYC28','DMvS','Cg9YDa','zMfSC2u','zg9JDw0','rurFq0e','y3jLDa','ovHuu1f2AG','CxvPCMu','mtGXnZa4vLrMtxDz','zcbLBNy','AfjwuLe','mc4WlJa','Ahr0Chm','ueLFs0u','su5gtW','s0vz','tevex0m','sMzyCgu','CKDkqw8','uf9tqu4','DxbdBgK','tKfmx0e','ntu2ntaYEuHezgfO','zhL1qK4','Bg9Nvg8','Dxbny3a','rurFve8','rv9tu0u','rvjst1i','s2v5','CgKVDJi','qvLWrxm','ru5bqKW','u2fUzgi','tLLOEhK','AwvZ','Aw9UywW','reLusu8','otC2oe91AgnxEa','t09muW','zwDVCMK','te9hx0W','reLtqui','yxjNDG','DhjPBq','rejpwf8','BwfW','nJuXmdDfue9HEe4','vvbFqva','mtm4zLHhBevM','mZiZmq','nZbbwfLur2e','BgvUz3q','qxbPs2u','sv9lrvK','Dhj1zq','tu5Jrui','Ag9ZDa','nZu5nZy1C3zdrKfL','se9tva','oeXvAuTkAq','vvbFquq','uf9msum','Dxbuzwe','BgvKvg8','re9dvu0','Cc5JBgK','zwruB28','yxjPywi','vevht1i','y2XPy2S','tevex1q','uKLfuW','BgvKq2e','C2XPy2u','mti4nJrOzwn1sgC','C3bSAxq','zfjoqNG'];a0_0x130b=function(){return _0x46d25e;};return a0_0x130b();}const parseLogLevel=_0x429835=>{const _0xb0c081=a0_0x5d3f2d,_0x55aec5={'tyNlQ':_0xb0c081(0x183),'mcvNo':_0xb0c081(0x19c),'NYhxy':_0xb0c081(0x17e),'JfXpe':_0xb0c081(0x1c4)};if(!_0x429835)return LogLevel[_0xb0c081(0x1c4)];switch(_0x429835[_0xb0c081(0x179)+'erCas'+'e']()){case _0x55aec5[_0xb0c081(0x186)]:return LogLevel[_0xb0c081(0x183)];case _0x55aec5['mcvNo']:return LogLevel['DEBUG'];case'INFO':return LogLevel['INFO'];case _0x55aec5[_0xb0c081(0x14a)]:return LogLevel[_0xb0c081(0x17e)];case _0x55aec5[_0xb0c081(0x1b9)]:return LogLevel[_0xb0c081(0x1c4)];default:return LogLevel[_0xb0c081(0x1c4)];}},parseBoolean=(_0x2e7b8c,_0x324eb2)=>{const _0x22e568=a0_0x5d3f2d,_0x2b49d1={'rGJAo':function(_0x44ef22,_0x12d196){return _0x44ef22===_0x12d196;},'dRNBx':function(_0x5ae39c,_0x522d52){return _0x5ae39c===_0x522d52;},'hRVRQ':_0x22e568(0x15f)};if(_0x2b49d1[_0x22e568(0x1ba)](_0x2e7b8c,undefined))return _0x324eb2;return _0x2b49d1[_0x22e568(0x175)](_0x2e7b8c[_0x22e568(0x17c)+_0x22e568(0x197)+'e'](),_0x2b49d1[_0x22e568(0x1b2)]);},parseInteger=(_0x3ec852,_0x2990cb)=>{const _0x44417a=a0_0x5d3f2d,_0x7de3e8={'WTGvp':function(_0x1020d4,_0x5325d1){return _0x1020d4===_0x5325d1;},'RldzR':function(_0x2e13d1,_0x541609,_0xd69742){return _0x2e13d1(_0x541609,_0xd69742);}};if(_0x7de3e8[_0x44417a(0x1a1)](_0x3ec852,undefined))return _0x2990cb;const _0x441d81=_0x7de3e8[_0x44417a(0x1a4)](parseInt,_0x3ec852,0xa);return isNaN(_0x441d81)?_0x2990cb:_0x441d81;},parseCommaSeparated=(_0x23d5e6,_0x4690dc)=>{const _0xaaef0b=a0_0x5d3f2d;if(!_0x23d5e6)return _0x4690dc;return _0x23d5e6[_0xaaef0b(0x174)](',')[_0xaaef0b(0x156)](_0x175f7e=>_0x175f7e['trim']())[_0xaaef0b(0x18b)+'r'](_0x21741d=>_0x21741d!=='');},configuration={'clickupApiKey':envArgs[a0_0x5d3f2d(0x16e)+a0_0x5d3f2d(0x19e)+a0_0x5d3f2d(0x1c5)]||process.env.CLICKUP_API_KEY||'','clickupTeamId':envArgs[a0_0x5d3f2d(0x16e)+a0_0x5d3f2d(0x167)+'mId']||process.env.CLICKUP_TEAM_ID||'','documentSupport':envArgs[a0_0x5d3f2d(0x1ab)+a0_0x5d3f2d(0x18a)+'pport']||process.env.DOCUMENT_SUPPORT||process.env.DOCUMENT_MODULE||process.env.DOCUMENT_MODEL||a0_0x5d3f2d(0x1aa),'logLevel':parseLogLevel(envArgs[a0_0x5d3f2d(0x192)+'vel']||process.env.LOG_LEVEL),'logToStderr':parseBoolean(envArgs[a0_0x5d3f2d(0x1c0)+a0_0x5d3f2d(0x193)+'r']||process.env.LOG_TO_STDERR||process.env.RENDER,![]),'disabledTools':(envArgs['disab'+'ledTo'+a0_0x5d3f2d(0x1a0)]||process.env.DISABLED_TOOLS||process.env.DISABLED_COMMANDS)?.[a0_0x5d3f2d(0x174)](',')[a0_0x5d3f2d(0x156)](_0x1e948d=>_0x1e948d[a0_0x5d3f2d(0x154)]())[a0_0x5d3f2d(0x18b)+'r'](_0x2203ba=>_0x2203ba!=='')||[],'enabledTools':(envArgs[a0_0x5d3f2d(0x180)+a0_0x5d3f2d(0x16b)+'ls']||process.env.ENABLED_TOOLS)?.['split'](',')[a0_0x5d3f2d(0x156)](_0x536502=>_0x536502[a0_0x5d3f2d(0x154)]())[a0_0x5d3f2d(0x18b)+'r'](_0x4142a2=>_0x4142a2!=='')||[],'disabledCategories':parseCommaSeparated(envArgs[a0_0x5d3f2d(0x191)+a0_0x5d3f2d(0x171)+a0_0x5d3f2d(0x187)+'ies']||process.env.DISABLED_CATEGORIES,[]),'enabledCategories':parseCommaSeparated(envArgs[a0_0x5d3f2d(0x180)+a0_0x5d3f2d(0x1a3)+a0_0x5d3f2d(0x150)+'es']||process.env.ENABLED_CATEGORIES,[]),'enableSSE':parseBoolean(envArgs['enabl'+a0_0x5d3f2d(0x198)]||process.env.ENABLE_SSE||process.env.ENABLE_HTTP,![]),'ssePort':parseInteger(envArgs[a0_0x5d3f2d(0x184)+'rt']||process.env.SSE_PORT,0xbb8),'enableStdio':parseBoolean(envArgs[a0_0x5d3f2d(0x180)+a0_0x5d3f2d(0x1a5)+'o']||process.env.ENABLE_STDIO,!![]),'port':envArgs[a0_0x5d3f2d(0x1a9)]||process.env.PORT||a0_0x5d3f2d(0x15a),'persona':envArgs[a0_0x5d3f2d(0x1a7)+'na']||process.env.CLICKUP_MCP_PERSONA||'','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':parseCommaSeparated(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_0x5d3f2d(0x161)]||process.env.HOST||a0_0x5d3f2d(0x1b3)+'.0','clickupClientId':process.env.CLICKUP_CLIENT_ID,'clickupClientSecret':process.env.CLICKUP_CLIENT_SECRET,'mcpServerUrl':process.env.MCP_SERVER_URL,'redirectUriAllowlist':parseCommaSeparated(process.env.REDIRECT_URI_ALLOWLIST,[]),'clickupAppUrl':process.env.CLICKUP_APP_URL||a0_0x5d3f2d(0x1b4)+'://ap'+a0_0x5d3f2d(0x16a)+a0_0x5d3f2d(0x188)+'com','clickupApiUrl':process.env.CLICKUP_API_URL||a0_0x5d3f2d(0x1b4)+'://ap'+a0_0x5d3f2d(0x18f)+'ckup.'+a0_0x5d3f2d(0x17d)+a0_0x5d3f2d(0x1c6),'proxySecret':process.env.CLICKUP_PROXY_SECRET||'','additionalApiKeys':parseCommaSeparated(process.env.CLICKUP_ADDITIONAL_API_KEYS,[])};export const validateConfiguration=()=>{const _0x3bf2f0=a0_0x5d3f2d,_0x4d8bf9={'BrNwn':_0x3bf2f0(0x16e)+'upApi'+_0x3bf2f0(0x1c5),'AYpEs':_0x3bf2f0(0x16e)+_0x3bf2f0(0x167)+_0x3bf2f0(0x19b)},_0x4e3786=[_0x4d8bf9['BrNwn'],_0x4d8bf9[_0x3bf2f0(0x1c7)]],_0x5c82a8=_0x4e3786[_0x3bf2f0(0x18b)+'r'](_0x11666e=>!configuration[_0x11666e]);if(_0x5c82a8['lengt'+'h']>0x0){const _0x50f2e5=!!(configuration[_0x3bf2f0(0x16e)+_0x3bf2f0(0x1bc)+'entId']&&configuration['click'+_0x3bf2f0(0x1bc)+_0x3bf2f0(0x19d)+_0x3bf2f0(0x1ad)]),_0xc363e8=!!process.env.CLICKUP_MCP_LICENSE_KEY;if(configuration[_0x3bf2f0(0x180)+_0x3bf2f0(0x198)]||_0x50f2e5||_0xc363e8){}else throw new Error(_0x3bf2f0(0x19a)+'ng\x20re'+_0x3bf2f0(0x1af)+_0x3bf2f0(0x1b1)+_0x3bf2f0(0x19f)+_0x3bf2f0(0x195)+_0x3bf2f0(0x16c)+_0x3bf2f0(0x199)+_0x5c82a8['join'](',\x20'));}};export default configuration;
|