@taazkareem/clickup-mcp-server 0.14.4 → 0.14.5
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 +205 -116
- 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 +1 -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
|
|
|
@@ -102,9 +104,9 @@ A license grants full, unrestricted access to all features across your agents⎯
|
|
|
102
104
|
|
|
103
105
|
<br>
|
|
104
106
|
|
|
105
|
-
| [**Monthly**](https://buy.polar.sh/polar_cl_3xQojQLgzQXKCLzsxc49YfL6z8hzSBBqh9ivy1qZdwW?utm_source=github&utm_medium=readme) $9/mo | [**Annual**](https://buy.polar.sh/polar_cl_3a8a3055T4CHIoVlSQPsNshOJLUwsM8AHAiIR3y9wTZ?utm_source=github&utm_medium=readme) $59/yr | [**Lifetime**](https://buy.polar.sh/polar_cl_4ha3uVyJTu4iPZJS1QbBYNTI1MKTvaXXCkZTb45vPPF?utm_source=github&utm_medium=readme) <!--LIFETIME_HEADER-->$
|
|
107
|
+
| [**Monthly**](https://buy.polar.sh/polar_cl_3xQojQLgzQXKCLzsxc49YfL6z8hzSBBqh9ivy1qZdwW?utm_source=github&utm_medium=readme) $9/mo | [**Annual**](https://buy.polar.sh/polar_cl_3a8a3055T4CHIoVlSQPsNshOJLUwsM8AHAiIR3y9wTZ?utm_source=github&utm_medium=readme) $59/yr | [**Lifetime**](https://buy.polar.sh/polar_cl_4ha3uVyJTu4iPZJS1QbBYNTI1MKTvaXXCkZTb45vPPF?utm_source=github&utm_medium=readme) <!--LIFETIME_HEADER-->$89 w/ code<!--/LIFETIME_HEADER--> |
|
|
106
108
|
| :--------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
107
|
-
| • Pay-as-you-go flexibility<br>• 3 device activations<br>• Cancel anytime | • **Save 45%** ($4.92/mo)<br>• 3 device activations<br>• Priority support all year | • **Best Value** — One payment<br>• 3 device activations<br>• <!--LIFETIME_DETAIL
|
|
109
|
+
| • Pay-as-you-go flexibility<br>• 3 device activations<br>• Cancel anytime | • **Save 45%** ($4.92/mo)<br>• 3 device activations<br>• Priority support all year | • **Best Value** — One payment<br>• 3 device activations<br>• <!--LIFETIME_DETAIL-->**25% OFF** code: `AUG25`<!--/LIFETIME_DETAIL--> |
|
|
108
110
|
|
|
109
111
|
<br>
|
|
110
112
|
|
|
@@ -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_0x2a09ff=a0_0x18eb;function a0_0x1a71(){const _0x519320=['odDUtePkuNi','yxjHBwu','BNnLx3q','CMvKAxi','y29Kzq','yMfJAYa','DgvY','rIbKzxq','Aw9Ux2m','Aw5MBW','zxHJAge','CxvLCNK','CMvJzwK','lcbYzxq','yxrL','igzVCIa','v2HPBeG','mJKYntiWzuTvuevk','BsbdBgK','zcb0BYa','mtiXndrOCMXwAeq','zw50swq','ywnJzxm','AwrFz3i','CYbMB3i','C2LNBMe','Dg9tDhi','otC2oejuEwLvzG','AwD1CMe','Evblq0u','t0f1DgG','y3rFDxi','C3qGkfa','zxjYB3i','ueTdrq','DxbdBgK','BMDLigy','DgHVCMK','CM94Eum','Ahr0Chm','ifrVA2u','yxv0Ag8','Ac9YzwC','x3n0yxq','C190B2S','yxrLiha','BMDLihq','twLZC2K','DxrOx3m','zwn0x3u','DxbbCha','BNqGsuq','BvHJwKu','z2v0','qK1sr1a','l2fWAq','nZe2oda5mhbTqKriwG','mtrmue1Muha','BMfSx3m','vxjS','DgLVBG','l29HDxq','y2XPzw4','ihrLyw0','yxrPB24','z1DXue4','BNrPywW','CML6yxq','DguGBwK','yxnLihq','AwvUDca','C3bvBee','B3qGywW','B3n0','zw5Nzq','q29VA2K','sw52ywW','y2XPy2S','mZvOBwjOufa','C3rHDgu','CMv0','CMLZigK','Dc1Ty3a','AwnHDgK','Bwv0Ag8','z2vUzxi','DMvK','y29UzMK','zxn0icG','BgvUz3q','CMvJDca','y29Kzv8','Ec1MB3i','zsbVCIa','AwqGy2W','AcbZDge','odC1mZCWrvDXtLLe','AwqGq2W','AwXLza','mZi2mZjXz0rHB0K','BMzIt3y','zc1WCM8','AwvUDf8','AgvHzgu','EMf0Aw8','zwnVzgu','wfvLCKG','Axn0CMe','Df9Pza','Aw5N','ignHBgW','ANnVBG','vxbZDhi','tunqiem','rMfPBgu','CMvXDwu','B2TPzq','C2vHCMm','ientuKy','B3H5iem','D2fYBG','Ag9YAxO','B3jPz2K','CYbYzxe','CMv0x3a','ywLSDxi','uMvQzwm','CM94EsK','D2fYzgu','BgjHy2S','B3v0ig8','yxbWzw4','s3bysfG','zgrPBMC','C21HDgm','DxbbCgK','AMrmtvG','BwnWu2u','Dg9Rzw4','C3vJy2u','zMfPBgu','C3rHDhu','B24GzMe','zwfTihq','ie9bDxq','C3nPB24','Ce9Zvxq','Bg93zwq','ExbL','BwnWx2e','AcbVCIa','BMfSx3i','DgvHBxm','ywLUlG','DxjUAw4','zgf0yq','BwrHD2i','ywXOB3m','BMDLvg8','Dhzfq3a','zwn0zwq','zYbYyxC','BwvZC2e','zdOGC2u','ihrVA2u','DwLYzwq','Dgf0zq','AfbHCMe','Aw52ywW','zxn0','yxrLuhi','zwn0','yw50','C2vUza','ienSAwu','C2vSzwm','EunSAwu','zw5Nzv8','AgfUz2u','mtbOu2rIvwG','AwrFy2W','igvTyMu','Dg5fuvO','CMvZCg8','yxrH','ifjLzgK','yxrLu2K','y2TvCa','AwqGC3q','B2rL','zMv0y2G','rw1Izwq','ounKvxjTBW','ignVBMy','oIbZDge','mty0nda0ntb3CfbKy3e','DgLVBIa','ihn0yxq','Bwv0ywq','Axn0zxi','ueTdrsa','AwnRvxa','sLPoBMq','BwLZC2K','Aw9UoIa','A2vUv2K','D2L0Aca','BIbJB2q','y3jLzgu','EgLPzui','yM9KEq','y29VA2K','Ac9JywW','CIbdu1i','CNKGywC','D29YA3m','x2f1DgG','BNrjza','lY9SB2m','y2XLyxi','DgvK','suqGB3i','B3jPEMe','DgHdBgK','BMCGy28','q29Kzq','ihjLCxu','Cg9ZDa','u2vJCMu','mtiWnJrLwxf2AMi','DKPZB2i','AwvUDa','uhjVEhK','Ew1OvLa','BgLLBNq','zwX0wMO','DxbZDhi','DMvYAwy','x19iB3m','BNrtzwm','BfL0seK','yLPLy1e','uM91Dgu','zwfTiha','AwvYigK','C2vJDxi','u2vYDMu'];a0_0x1a71=function(){return _0x519320;};return a0_0x1a71();}(function(_0x4a258a,_0x27855e){const _0x5dc3c5=a0_0x18eb,_0x52b3a5=_0x4a258a();while(!![]){try{const _0x2a3d07=parseInt(_0x5dc3c5(0x1b5))/0x1*(-parseInt(_0x5dc3c5(0x200))/0x2)+parseInt(_0x5dc3c5(0x1c7))/0x3*(parseInt(_0x5dc3c5(0x22a))/0x4)+parseInt(_0x5dc3c5(0x27a))/0x5*(parseInt(_0x5dc3c5(0x227))/0x6)+parseInt(_0x5dc3c5(0x215))/0x7*(-parseInt(_0x5dc3c5(0x1d8))/0x8)+-parseInt(_0x5dc3c5(0x287))/0x9*(-parseInt(_0x5dc3c5(0x1ff))/0xa)+-parseInt(_0x5dc3c5(0x1db))/0xb*(-parseInt(_0x5dc3c5(0x1e2))/0xc)+-parseInt(_0x5dc3c5(0x28a))/0xd;if(_0x2a3d07===_0x27855e)break;else _0x52b3a5['push'](_0x52b3a5['shift']());}catch(_0x30ddb9){_0x52b3a5['push'](_0x52b3a5['shift']());}}}(a0_0x1a71,0x9564a));import a0_0x22db5b from'express';import a0_0x24001f from'../config.js';import{Logger}from'../logger.js';import{OAuthService}from'../services/oauth.js';import{clearTokenCache}from'../middleware/auth.js';import a0_0x49f869 from'axios';const router=a0_0x22db5b['Route'+'r'](),logger=new Logger(a0_0x2a09ff(0x1e5)+a0_0x2a09ff(0x1c2)+'s');import{createAuthRateLimitMiddleware}from'../middleware/security.js';const createAuthRateLimit=createAuthRateLimitMiddleware(),OAUTH_TOKEN_EXPIRY_HINT_SECONDS=0x1e*0x18*0x3c*0x3c,serverUrl=a0_0x24001f[a0_0x2a09ff(0x250)+'rverU'+'rl']||'http:'+a0_0x2a09ff(0x2a1)+a0_0x2a09ff(0x264)+'t:'+(a0_0x24001f['port']||0xc9f);function a0_0x18eb(_0x1fabce,_0x694897){_0x1fabce=_0x1fabce-0x1b0;const _0x1a711a=a0_0x1a71();let _0x18ebb4=_0x1a711a[_0x1fabce];if(a0_0x18eb['EuQwKc']===undefined){var _0x3d5a86=function(_0x14cd71){const _0x5aac78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3a66e='',_0x2c1dd3='';for(let _0x49cbaa=0x0,_0x18233a,_0x1b447e,_0x4fb0d7=0x0;_0x1b447e=_0x14cd71['charAt'](_0x4fb0d7++);~_0x1b447e&&(_0x18233a=_0x49cbaa%0x4?_0x18233a*0x40+_0x1b447e:_0x1b447e,_0x49cbaa++%0x4)?_0xe3a66e+=String['fromCharCode'](0xff&_0x18233a>>(-0x2*_0x49cbaa&0x6)):0x0){_0x1b447e=_0x5aac78['indexOf'](_0x1b447e);}for(let _0x3bf304=0x0,_0xe01421=_0xe3a66e['length'];_0x3bf304<_0xe01421;_0x3bf304++){_0x2c1dd3+='%'+('00'+_0xe3a66e['charCodeAt'](_0x3bf304)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c1dd3);};a0_0x18eb['otEQVc']=_0x3d5a86,a0_0x18eb['TvnLvu']={},a0_0x18eb['EuQwKc']=!![];}const _0x17c6e6=_0x1a711a[0x0],_0x54b216=_0x1fabce+_0x17c6e6,_0x117586=a0_0x18eb['TvnLvu'][_0x54b216];return!_0x117586?(_0x18ebb4=a0_0x18eb['otEQVc'](_0x18ebb4),a0_0x18eb['TvnLvu'][_0x54b216]=_0x18ebb4):_0x18ebb4=_0x117586,_0x18ebb4;}router['post'](a0_0x2a09ff(0x204)+a0_0x2a09ff(0x1f1)+a0_0x2a09ff(0x28e),createAuthRateLimit,(_0xfa0782,_0x8ceda6)=>{const _0x407df4=a0_0x2a09ff,_0xd80104={'EQMGC':'OAuth'+_0x407df4(0x275)+'nt\x20Re'+'gistr'+_0x407df4(0x207)+'\x20requ'+_0x407df4(0x270),'QukmL':_0x407df4(0x26f)+'id_cl'+_0x407df4(0x22d)+_0x407df4(0x28d)+'ata','bZecQ':'redir'+_0x407df4(0x1f8)+_0x407df4(0x218)+_0x407df4(0x242)+_0x407df4(0x26c),'mdawb':_0x407df4(0x1cb)},{client_name:_0x4c2cb6,redirect_uris:_0x1708aa}=_0xfa0782[_0x407df4(0x299)];logger[_0x407df4(0x1d0)](_0xd80104['EQMGC'],{'client_name':_0x4c2cb6,'redirect_uris':_0x1708aa});if(!_0x1708aa||!Array['isArr'+'ay'](_0x1708aa)||_0x1708aa[_0x407df4(0x220)+'h']===0x0){_0x8ceda6[_0x407df4(0x254)+'s'](0x190)['json']({'error':_0xd80104['QukmL'],'error_description':_0xd80104[_0x407df4(0x1c1)]});return;}try{const {clientId:_0x5bac4a,clientSecret:_0x4ab46f}=OAuthService[_0x407df4(0x21c)+_0x407df4(0x281)+'gnedC'+_0x407df4(0x1ba)+'Id'](_0x1708aa);_0x8ceda6[_0x407df4(0x254)+'s'](0xc9)['json']({'client_id':_0x5bac4a,'client_secret':_0x4ab46f,'client_name':_0x4c2cb6||_0x407df4(0x238)+'lient','redirect_uris':_0x1708aa,'grant_types':[_0x407df4(0x1f0)+_0x407df4(0x20a)+_0x407df4(0x1cf)+'ode'],'response_types':[_0xd80104[_0x407df4(0x263)]],'token_endpoint_auth_method':_0x407df4(0x205)+'t_sec'+_0x407df4(0x243)+_0x407df4(0x210)});}catch(_0x40f88f){logger[_0x407df4(0x23f)]('Clien'+'t\x20Reg'+_0x407df4(0x232)+_0x407df4(0x28b)+_0x407df4(0x245)+_0x407df4(0x2a3),{'error':_0x40f88f[_0x407df4(0x269)+'ge'],'redirect_uris':_0x1708aa}),_0x8ceda6['statu'+'s'](0x190)[_0x407df4(0x236)]({'error':'inval'+'id_cl'+_0x407df4(0x22d)+_0x407df4(0x28d)+_0x407df4(0x27f),'error_description':_0x40f88f[_0x407df4(0x269)+'ge']});}}),router[a0_0x2a09ff(0x1fc)](a0_0x2a09ff(0x204)+'h/aut'+a0_0x2a09ff(0x240)+'e',createAuthRateLimit,(_0x1bba3e,_0x188eb5)=>{const _0x2fc032=a0_0x2a09ff,_0x2e2096={'lYtHI':'OAuth'+'\x20Auth'+_0x2fc032(0x2a5)+_0x2fc032(0x28b)+_0x2fc032(0x23a)+_0x2fc032(0x1e7)+_0x2fc032(0x246),'nfbOv':'Inval'+_0x2fc032(0x228)+_0x2fc032(0x20d)+_0x2fc032(0x2a4)+_0x2fc032(0x280)+_0x2fc032(0x221)+'URI\x20n'+_0x2fc032(0x20f)+_0x2fc032(0x25a),'tvECp':_0x2fc032(0x1c6)+'r\x20Mis'+_0x2fc032(0x21e)+'gurat'+_0x2fc032(0x293)+'Missi'+'ng\x20Cl'+_0x2fc032(0x290)+_0x2fc032(0x275)+'nt\x20ID','XUerH':_0x2fc032(0x1ca)+_0x2fc032(0x1f8)+'ri','xmqCI':_0x2fc032(0x27e)+_0x2fc032(0x1c9)+_0x2fc032(0x25b),'KpXHX':function(_0x33de4a,_0x2db0e9){return _0x33de4a===_0x2db0e9;},'nAQzX':_0x2fc032(0x223)+_0x2fc032(0x247)+_0x2fc032(0x22c)+'to','WhilH':'lax','BMRGP':function(_0x4cc9be,_0x556f98){return _0x4cc9be*_0x556f98;}},{response_type:_0x2b5fa7,client_id:_0x13893c,redirect_uri:_0x28bb76,state:_0xa9f4f6,code_challenge:_0x1c5cc6,code_challenge_method:_0x248a32}=_0x1bba3e['query'];logger[_0x2fc032(0x1d0)](_0x2e2096[_0x2fc032(0x1c0)],{'response_type':_0x2b5fa7,'client_id':_0x13893c,'redirect_uri':_0x28bb76,'state':_0xa9f4f6});if(_0x13893c&&!OAuthService[_0x2fc032(0x1bd)+_0x2fc032(0x277)+_0x2fc032(0x2a0)](_0x13893c,_0x28bb76)){_0x188eb5[_0x2fc032(0x254)+'s'](0x191)['send'](_0x2e2096[_0x2fc032(0x22b)]);return;}const _0x2ea3a5=a0_0x24001f[_0x2fc032(0x214)+_0x2fc032(0x1ea)+_0x2fc032(0x1dc)];if(!_0x2ea3a5){logger[_0x2fc032(0x1e8)]('Missi'+'ng\x20Cl'+_0x2fc032(0x290)+_0x2fc032(0x275)+_0x2fc032(0x1fa)+'\x20in\x20s'+'erver'+_0x2fc032(0x288)+_0x2fc032(0x1e3)+_0x2fc032(0x203)),_0x188eb5[_0x2fc032(0x254)+'s'](0x1f4)[_0x2fc032(0x274)](_0x2e2096[_0x2fc032(0x266)]);return;}const _0x4e3e2c=OAuthService[_0x2fc032(0x21c)+_0x2fc032(0x271)+'oxySt'+_0x2fc032(0x1d5)](_0x28bb76,_0xa9f4f6,_0x1c5cc6,_0x248a32),_0xd76b6e=new URL(a0_0x24001f[_0x2fc032(0x214)+_0x2fc032(0x1f9)+_0x2fc032(0x202)]+_0x2fc032(0x1fe));_0xd76b6e['searc'+_0x2fc032(0x26e)+'ms'][_0x2fc032(0x24a)+'d']('clien'+_0x2fc032(0x233),_0x2ea3a5),_0xd76b6e['searc'+_0x2fc032(0x26e)+'ms'][_0x2fc032(0x24a)+'d'](_0x2e2096[_0x2fc032(0x231)],serverUrl+(_0x2fc032(0x204)+_0x2fc032(0x29b)+_0x2fc032(0x248))),_0xd76b6e[_0x2fc032(0x23c)+_0x2fc032(0x26e)+'ms'][_0x2fc032(0x24a)+'d'](_0x2e2096['xmqCI'],'code'),_0xd76b6e[_0x2fc032(0x23c)+_0x2fc032(0x26e)+'ms'][_0x2fc032(0x24a)+'d'](_0x2fc032(0x216),_0x4e3e2c);const _0x458b80=_0x1bba3e[_0x2fc032(0x1c5)+'e']||_0x2e2096[_0x2fc032(0x24b)](_0x1bba3e[_0x2fc032(0x22e)+'rs'][_0x2e2096['nAQzX']],_0x2fc032(0x1ee)),_0x4c9e01=_0x458b80?_0x2fc032(0x1be)+_0x2fc032(0x219)+_0x2fc032(0x29f)+_0x2fc032(0x1f2)+'e':_0x2fc032(0x25c)+_0x2fc032(0x1f7)+_0x2fc032(0x26d);_0x188eb5[_0x2fc032(0x29a)+'e'](_0x4c9e01,_0x4e3e2c,{'httpOnly':!![],'secure':_0x458b80,'sameSite':_0x2e2096[_0x2fc032(0x1d7)],'maxAge':_0x2e2096[_0x2fc032(0x1fd)](0xf,0x3c)*0x3e8,'path':'/'}),_0x188eb5[_0x2fc032(0x1ca)+'ect'](_0xd76b6e['toStr'+_0x2fc032(0x234)]());}),router[a0_0x2a09ff(0x1fc)](a0_0x2a09ff(0x204)+a0_0x2a09ff(0x29b)+a0_0x2a09ff(0x248),createAuthRateLimit,(_0x221172,_0x2b007d)=>{const _0x901cb3=a0_0x2a09ff,_0x3cad3e={'vJsob':_0x901cb3(0x223)+_0x901cb3(0x247)+_0x901cb3(0x22c)+'to','gWqPN':_0x901cb3(0x25c)+_0x901cb3(0x1f7)+_0x901cb3(0x26d),'jdLMX':function(_0xef0179,_0x30b5da){return _0xef0179!==_0x30b5da;},'ymhVP':function(_0x450b60,_0x5acde7){return _0x450b60===_0x5acde7;},'bYReQ':'Authe'+'ntica'+'tion\x20'+_0x901cb3(0x253)+_0x901cb3(0x26a)+_0x901cb3(0x258)+'\x20time'+_0x901cb3(0x249)+_0x901cb3(0x29c)+_0x901cb3(0x1ce)+_0x901cb3(0x267)+'.\x20Ple'+_0x901cb3(0x20c)+_0x901cb3(0x29d)+_0x901cb3(0x260),'tnEQZ':_0x901cb3(0x1cb),'eltZj':_0x901cb3(0x216),'pOsUt':'Faile'+_0x901cb3(0x1da)+'parse'+_0x901cb3(0x257)+_0x901cb3(0x226)+'te'},{code:_0x3054e9,state:_0x26e0e1}=_0x221172[_0x901cb3(0x1d2)];if(!_0x3054e9||!_0x26e0e1){_0x2b007d[_0x901cb3(0x254)+'s'](0x190)[_0x901cb3(0x274)](_0x901cb3(0x1f6)+_0x901cb3(0x1b0)+'de\x20or'+_0x901cb3(0x28c)+'e\x20fro'+_0x901cb3(0x1d9)+_0x901cb3(0x282));return;}logger[_0x901cb3(0x1d0)](_0x901cb3(0x1e5)+_0x901cb3(0x235)+_0x901cb3(0x1cc)+_0x901cb3(0x1d3)+_0x901cb3(0x21d),{'query':_0x221172[_0x901cb3(0x1d2)]});const _0x5b4fb3=_0x221172[_0x901cb3(0x1c5)+'e']||_0x221172[_0x901cb3(0x22e)+'rs'][_0x3cad3e[_0x901cb3(0x1b6)]]==='https',_0x2d3a02=_0x5b4fb3?_0x901cb3(0x1be)+_0x901cb3(0x219)+'_auth'+_0x901cb3(0x1f2)+'e':_0x3cad3e[_0x901cb3(0x208)],_0x3578d6=_0x221172[_0x901cb3(0x29a)+'es']?.[_0x2d3a02];if(!_0x3578d6||_0x3cad3e[_0x901cb3(0x24f)](_0x3578d6,_0x26e0e1)){logger['warn'](_0x901cb3(0x1e5)+_0x901cb3(0x23d)+'\x20dete'+'ction'+_0x901cb3(0x289)+_0x901cb3(0x20b)+_0x901cb3(0x24d)+_0x901cb3(0x25d)+_0x901cb3(0x292)+_0x901cb3(0x1b0)+_0x901cb3(0x23b),{'hasCookie':!!_0x3578d6,'cookieName':_0x2d3a02,'stateMatch':_0x3cad3e[_0x901cb3(0x1b9)](_0x3578d6,_0x26e0e1)}),_0x2b007d['statu'+'s'](0x193)[_0x901cb3(0x274)](_0x3cad3e['bYReQ']);return;}_0x2b007d[_0x901cb3(0x2a2)+_0x901cb3(0x212)+'e'](_0x2d3a02,{'path':'/'});try{const _0x471ec3=OAuthService['decod'+'eProx'+'yStat'+'e'](_0x26e0e1),_0x245177=new URL(_0x471ec3[_0x901cb3(0x241)+_0x901cb3(0x25e)+'edire'+_0x901cb3(0x1e6)+'i']),_0x4a5656=OAuthService[_0x901cb3(0x21c)+_0x901cb3(0x281)+'gnedP'+_0x901cb3(0x1ed)+_0x901cb3(0x284)](_0x3054e9,_0x471ec3[_0x901cb3(0x222)+'chall'+_0x901cb3(0x211)],_0x471ec3[_0x901cb3(0x222)+'chall'+_0x901cb3(0x278)+_0x901cb3(0x21b)+'d']);_0x245177['searc'+_0x901cb3(0x26e)+'ms'][_0x901cb3(0x24a)+'d'](_0x3cad3e[_0x901cb3(0x27d)],_0x4a5656),_0x245177['searc'+'hPara'+'ms'][_0x901cb3(0x24a)+'d'](_0x3cad3e[_0x901cb3(0x1bb)],_0x471ec3[_0x901cb3(0x241)+_0x901cb3(0x201)+_0x901cb3(0x26d)]),_0x2b007d[_0x901cb3(0x1ca)+_0x901cb3(0x272)](_0x245177[_0x901cb3(0x1e1)+_0x901cb3(0x234)]());}catch(_0x5a9100){logger[_0x901cb3(0x1e8)](_0x3cad3e[_0x901cb3(0x259)],_0x5a9100),_0x2b007d[_0x901cb3(0x254)+'s'](0x190)[_0x901cb3(0x274)](_0x901cb3(0x213)+_0x901cb3(0x283)+_0x901cb3(0x1f4)+_0x901cb3(0x1c8)+_0x901cb3(0x1cd));}}),router[a0_0x2a09ff(0x1b3)](a0_0x2a09ff(0x204)+'h/tok'+'en',createAuthRateLimit,async(_0x5e8493,_0x1c3890)=>{const _0x2e652e=a0_0x2a09ff,_0x377c9f={'spUlA':_0x2e652e(0x1e5)+_0x2e652e(0x1ef)+'n\x20Exc'+_0x2e652e(0x279)+_0x2e652e(0x1b2)+_0x2e652e(0x21f)+'Proxy'+')','mXcZE':_0x2e652e(0x213)+_0x2e652e(0x228)+_0x2e652e(0x20d)+_0x2e652e(0x1b4)+'t','pEoyF':_0x2e652e(0x213)+'id\x20Pr'+_0x2e652e(0x23e)+_0x2e652e(0x284),'JZNnd':'inval'+'id_gr'+_0x2e652e(0x273),'xiieB':'PKCE\x20'+'verif'+'icati'+_0x2e652e(0x255)+_0x2e652e(0x229),'xUlHl':function(_0x224b2e,_0x4ec2de){return _0x224b2e(_0x4ec2de);},'vEFiP':_0x2e652e(0x239)+'d\x20to\x20'+_0x2e652e(0x1d1)+_0x2e652e(0x1f5)+'oken\x20'+_0x2e652e(0x295)+_0x2e652e(0x1bc)+_0x2e652e(0x1c3)+'rovid'+'er'},{grant_type:_0x18435c,code:_0x2836fa,redirect_uri:_0xbde145,client_id:_0x16e3b0,client_secret:_0x3c37c1,code_verifier:_0x518ad4}=_0x5e8493[_0x2e652e(0x299)];logger[_0x2e652e(0x1d0)](_0x377c9f[_0x2e652e(0x20e)],{'grant_type':_0x18435c,'client_id':_0x16e3b0});if(_0x16e3b0&&_0x3c37c1){if(!OAuthService[_0x2e652e(0x1bd)+_0x2e652e(0x277)+_0x2e652e(0x1bf)+_0x2e652e(0x217)](_0x16e3b0,_0x3c37c1)){logger[_0x2e652e(0x23f)](_0x377c9f[_0x2e652e(0x1fb)],{'client_id':_0x16e3b0}),_0x1c3890['statu'+'s'](0x191)['json']({'error':_0x2e652e(0x26f)+_0x2e652e(0x27b)+_0x2e652e(0x1b7),'error_description':_0x2e652e(0x213)+_0x2e652e(0x225)+_0x2e652e(0x20d)+_0x2e652e(0x297)+_0x2e652e(0x209)+'s'});return;}}const _0x1312d7=OAuthService[_0x2e652e(0x1bd)+'yAndD'+_0x2e652e(0x230)+_0x2e652e(0x1b8)+_0x2e652e(0x1b1)](_0x2836fa);if(!_0x1312d7){logger[_0x2e652e(0x23f)](_0x377c9f['pEoyF'],{'code':_0x2836fa}),_0x1c3890[_0x2e652e(0x254)+'s'](0x190)[_0x2e652e(0x236)]({'error':_0x2e652e(0x26f)+_0x2e652e(0x1de)+_0x2e652e(0x273),'error_description':_0x2e652e(0x213)+'id\x20au'+_0x2e652e(0x1ec)+_0x2e652e(0x22f)+_0x2e652e(0x296)+_0x2e652e(0x224)+_0x2e652e(0x1e0)+'ture'});return;}if(!_0x518ad4){_0x1c3890['statu'+'s'](0x190)['json']({'error':_0x2e652e(0x26f)+_0x2e652e(0x1de)+_0x2e652e(0x273),'error_description':_0x2e652e(0x222)+'verif'+_0x2e652e(0x1c4)+_0x2e652e(0x242)+_0x2e652e(0x26c)+_0x2e652e(0x1d6)+_0x2e652e(0x1e9)});return;}if(!OAuthService['verif'+_0x2e652e(0x1e4)](_0x518ad4,_0x1312d7['hc'],_0x1312d7['hm'])){logger[_0x2e652e(0x23f)](_0x2e652e(0x28f)+_0x2e652e(0x1bd)+_0x2e652e(0x21a)+_0x2e652e(0x255)+_0x2e652e(0x229),{'clickUpCode':_0x1312d7['c'],'verifier':_0x518ad4}),_0x1c3890['statu'+'s'](0x190)[_0x2e652e(0x236)]({'error':_0x377c9f[_0x2e652e(0x291)],'error_description':_0x377c9f[_0x2e652e(0x298)]});return;}const _0x47d869=await OAuthService[_0x2e652e(0x1d1)+_0x2e652e(0x265)+_0x2e652e(0x294)+_0x2e652e(0x2a6)+'ckUp'](_0x1312d7['c']);if(_0x47d869[_0x2e652e(0x252)+'ss']){const _0xecaafa=_0x47d869[_0x2e652e(0x262)][_0x2e652e(0x1dd)+_0x2e652e(0x1f3)+'en'];_0x377c9f['xUlHl'](clearTokenCache,_0xecaafa);try{const _0x38fa9d=await a0_0x49f869[_0x2e652e(0x1fc)](a0_0x24001f[_0x2e652e(0x214)+_0x2e652e(0x24e)+_0x2e652e(0x202)]+'/team',{'headers':{'Authorization':_0xecaafa},'timeout':0x2710}),_0x4bbf8c=_0x38fa9d['data']?.[_0x2e652e(0x25f)]||[];if(_0x4bbf8c[_0x2e652e(0x220)+'h']>0x0){const _0x485e24=_0x4bbf8c['map'](_0x43f084=>String(_0x43f084['id'])),_0x301e0f=_0x485e24['join'](','),_0x571370=_0x301e0f+':'+_0xecaafa;logger['info'](_0x2e652e(0x286)+'ding\x20'+_0x2e652e(0x29e)+'pace\x20'+_0x2e652e(0x276)+'tion\x20'+'into\x20'+_0x2e652e(0x251),{'count':_0x485e24[_0x2e652e(0x220)+'h'],'confirmedIds':_0x301e0f}),_0x1c3890[_0x2e652e(0x236)]({..._0x47d869[_0x2e652e(0x262)],'access_token':_0x571370,'expires_in':OAUTH_TOKEN_EXPIRY_HINT_SECONDS,'first_team_id':_0x485e24[0x0],'all_team_ids':_0x485e24});return;}}catch(_0x135946){logger[_0x2e652e(0x23f)](_0x2e652e(0x239)+_0x2e652e(0x1da)+_0x2e652e(0x285)+_0x2e652e(0x206)+_0x2e652e(0x1df)+_0x2e652e(0x27c)+_0x2e652e(0x24c)+_0x2e652e(0x1d4)+_0x2e652e(0x261)+_0x2e652e(0x268)+_0x2e652e(0x26b)+'n',{'error':_0x135946[_0x2e652e(0x269)+'ge']});}_0x1c3890[_0x2e652e(0x236)](_0x47d869['data']);}else logger['error'](_0x2e652e(0x237)+_0x2e652e(0x256)+'oken\x20'+_0x2e652e(0x1d1)+_0x2e652e(0x1eb)+_0x2e652e(0x244)+'e',{'error':_0x47d869[_0x2e652e(0x1e8)]}),_0x1c3890[_0x2e652e(0x254)+'s'](0x1f4)['json']({'error':_0x377c9f['vEFiP'],'details':_0x47d869[_0x2e652e(0x1e8)]});});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_0x837d(){const _0x5477b8=['Fdj8mq','uf9qrvi','twLZC2K','CMv0','Aw9UywW','yxjPywi','zw50swq','mtbTyG','tevex0m','BgvUz3q','C3nLug8','CgKVDJi','zxjdyxm','Dg9vCha','BwfW','yKjVD1y','As5JBgK','zcbLBNy','uf9tqu4','mte2nJe5Be1YD1fJ','su5gtW','y2T1Cc4','t1ju','rvjst1i','wKLore0','Ag9ZDa','Dxbuzwe','Dhj1zq','mZiZmq','y29Tl2e','zvntrq','u09oqq','C2XPy2u','s2v5','mJeWnde5meL4BhLuwG','y3jLDa','BMCGCMu','zMfSC2u','ue9sva','zw50u2u','nJuWmdy5mwfRAwrnwG','tgLJzw4','DMvS','sv9lrvK','t0Xt','rvzfta','t09muW','DgvNB3i','C3bSAxq','BgvZoIa','mJrfAfjTBeq','u0vduKu','Ahr0Chm','vuTztNu','ndyXmJeXmvnRrMHTCa','ru5trv8','ChbVCNq','ueLFs0u','Dxbny3a','s0vz','vvbFqva','Bg9Nvg8','rv9tu0u','mJi5nte1zg9Xvhnw','Bg9Ntgu','q0Xjq0S','zg9JDw0','CgvYC28','ru5ux1m','vvbFveu','BuLK','nMvtqu9ouW','DhjPBq','DxbbCgK','vvbqt1i','BgvKq2e','BgvKvg8','zMLSDgu','rv9tveq','zwruB28','uNDkCha','suvt','v3DcD1u','se9tva','vfjbq0u','u3rKzxi','vvbFtum','v0fstG','y2XPy2S','ogrWBeT4tq','zw5HyMW','r1vYA28','mtu4z0DLvhLb','nZa1odu1v0zOBvP3','zwrdyxq','ls1LBNy','zwDVCMK','u1nfx1a','CxvPCMu','qu1Fsuq','qwjNz2e','AxjVBM0','revcvuC','uKLfuW','B2XZ','u2fUzgi','qvrfr08','oI8Vyxa','u2TyEeu','re9dvu0','Cc5JBgK','vevht1i','nJuWne5dDvn6zG','te9hx0W','rurFve8','AM9PBG','ru5bqKW','zw50u3u','yxjNDG','ywrKAxq','tevex1q','AwvZ','zvn0zgK','mta4C1DVthrx','C2vlzxK','zgLZywi','reLtqui'];a0_0x837d=function(){return _0x5477b8;};return a0_0x837d();}const a0_0x4bf0c7=a0_0x285b;(function(_0x10b09f,_0x30bdab){const _0x4e2fa7=a0_0x285b,_0x10cb3d=_0x10b09f();while(!![]){try{const _0x979443=-parseInt(_0x4e2fa7(0x184))/0x1+-parseInt(_0x4e2fa7(0x14e))/0x2*(-parseInt(_0x4e2fa7(0x162))/0x3)+-parseInt(_0x4e2fa7(0x1a3))/0x4*(-parseInt(_0x4e2fa7(0x14f))/0x5)+-parseInt(_0x4e2fa7(0x139))/0x6*(-parseInt(_0x4e2fa7(0x1a7))/0x7)+parseInt(_0x4e2fa7(0x14b))/0x8*(-parseInt(_0x4e2fa7(0x199))/0x9)+-parseInt(_0x4e2fa7(0x193))/0xa+parseInt(_0x4e2fa7(0x1b0))/0xb*(-parseInt(_0x4e2fa7(0x16d))/0xc);if(_0x979443===_0x30bdab)break;else _0x10cb3d['push'](_0x10cb3d['shift']());}catch(_0x1c4644){_0x10cb3d['push'](_0x10cb3d['shift']());}}}(a0_0x837d,0x6b6f1));function a0_0x285b(_0x5f51b2,_0x3a56a8){_0x5f51b2=_0x5f51b2-0x136;const _0x837d6b=a0_0x837d();let _0x285b78=_0x837d6b[_0x5f51b2];if(a0_0x285b['BvkLKc']===undefined){var _0x33c6d5=function(_0x30f1be){const _0x2bca6f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25ce9d='',_0x26fde5='';for(let _0x374892=0x0,_0x42216b,_0x384c6f,_0x25c998=0x0;_0x384c6f=_0x30f1be['charAt'](_0x25c998++);~_0x384c6f&&(_0x42216b=_0x374892%0x4?_0x42216b*0x40+_0x384c6f:_0x384c6f,_0x374892++%0x4)?_0x25ce9d+=String['fromCharCode'](0xff&_0x42216b>>(-0x2*_0x374892&0x6)):0x0){_0x384c6f=_0x2bca6f['indexOf'](_0x384c6f);}for(let _0x1ec4a2=0x0,_0x43fae8=_0x25ce9d['length'];_0x1ec4a2<_0x43fae8;_0x1ec4a2++){_0x26fde5+='%'+('00'+_0x25ce9d['charCodeAt'](_0x1ec4a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26fde5);};a0_0x285b['PlIltb']=_0x33c6d5,a0_0x285b['tQoNgN']={},a0_0x285b['BvkLKc']=!![];}const _0x315444=_0x837d6b[0x0],_0x3b5518=_0x5f51b2+_0x315444,_0xe4803f=a0_0x285b['tQoNgN'][_0x3b5518];return!_0xe4803f?(_0x285b78=a0_0x285b['PlIltb'](_0x285b78),a0_0x285b['tQoNgN'][_0x3b5518]=_0x285b78):_0x285b78=_0xe4803f,_0x285b78;}import a0_0x2241d0 from'dotenv';a0_0x2241d0['confi'+'g']();const args=process[a0_0x4bf0c7(0x168)][a0_0x4bf0c7(0x191)](0x2),envArgs={};for(let i=0x0;i<args[a0_0x4bf0c7(0x17a)+'h'];i++){if(args[i]===a0_0x4bf0c7(0x151)&&i+0x1<args[a0_0x4bf0c7(0x17a)+'h']){const [key,value]=args[i+0x1][a0_0x4bf0c7(0x1a1)]('=');if(key===a0_0x4bf0c7(0x1b2)+a0_0x4bf0c7(0x1ad)+a0_0x4bf0c7(0x19c))envArgs['click'+'upApi'+a0_0x4bf0c7(0x192)]=value;if(key===a0_0x4bf0c7(0x1b2)+a0_0x4bf0c7(0x137)+a0_0x4bf0c7(0x155))envArgs[a0_0x4bf0c7(0x14a)+'upTea'+a0_0x4bf0c7(0x138)]=value;if(key==='CLICK'+a0_0x4bf0c7(0x148)+a0_0x4bf0c7(0x172)+a0_0x4bf0c7(0x190))envArgs[a0_0x4bf0c7(0x1b4)+'na']=value;if(key===a0_0x4bf0c7(0x15f)+a0_0x4bf0c7(0x136)+a0_0x4bf0c7(0x13c)+'T')envArgs[a0_0x4bf0c7(0x1b3)+'entSu'+a0_0x4bf0c7(0x1a9)]=value;if(key===a0_0x4bf0c7(0x163)+a0_0x4bf0c7(0x19e))envArgs[a0_0x4bf0c7(0x1b1)+a0_0x4bf0c7(0x19b)]=value;if(key===a0_0x4bf0c7(0x170)+a0_0x4bf0c7(0x16a)+a0_0x4bf0c7(0x19f))envArgs[a0_0x4bf0c7(0x16f)+a0_0x4bf0c7(0x13e)+a0_0x4bf0c7(0x15a)]=value;if(key==='ENABL'+a0_0x4bf0c7(0x164)+a0_0x4bf0c7(0x19d))envArgs[a0_0x4bf0c7(0x14c)+a0_0x4bf0c7(0x141)+'ls']=value;if(key==='DISAB'+a0_0x4bf0c7(0x179)+a0_0x4bf0c7(0x15c)+a0_0x4bf0c7(0x159))envArgs[a0_0x4bf0c7(0x16f)+a0_0x4bf0c7(0x13d)+a0_0x4bf0c7(0x1a0)+a0_0x4bf0c7(0x16b)]=value;if(key===a0_0x4bf0c7(0x166)+'ED_CA'+a0_0x4bf0c7(0x161)+a0_0x4bf0c7(0x143))envArgs[a0_0x4bf0c7(0x14c)+a0_0x4bf0c7(0x150)+'egori'+'es']=value;if(key===a0_0x4bf0c7(0x166)+a0_0x4bf0c7(0x1af))envArgs[a0_0x4bf0c7(0x14c)+'eSSE']=value;if(key===a0_0x4bf0c7(0x153)+a0_0x4bf0c7(0x187))envArgs[a0_0x4bf0c7(0x17b)+'rt']=value;if(key===a0_0x4bf0c7(0x166)+a0_0x4bf0c7(0x140)+'IO')envArgs[a0_0x4bf0c7(0x14c)+a0_0x4bf0c7(0x16c)+'o']=value;key===a0_0x4bf0c7(0x1b2)+'UP_MC'+'P_LIC'+a0_0x4bf0c7(0x1a8)+a0_0x4bf0c7(0x1ac)&&(envArgs[a0_0x4bf0c7(0x14a)+'upMcp'+a0_0x4bf0c7(0x19a)+a0_0x4bf0c7(0x16e)]=value,process.env.CLICKUP_MCP_LICENSE_KEY=value);key===a0_0x4bf0c7(0x1b2)+a0_0x4bf0c7(0x148)+a0_0x4bf0c7(0x183)+'DBOX_'+a0_0x4bf0c7(0x1a4)+'T'&&(envArgs['click'+a0_0x4bf0c7(0x1ab)+a0_0x4bf0c7(0x15b)+'oxSec'+a0_0x4bf0c7(0x174)]=value,process.env.CLICKUP_MCP_SANDBOX_SECRET=value);key===a0_0x4bf0c7(0x1b2)+'UP_AD'+'DITIO'+'NAL_A'+a0_0x4bf0c7(0x1aa)+'YS'&&(envArgs[a0_0x4bf0c7(0x169)+a0_0x4bf0c7(0x175)+'ApiKe'+'ys']=value,process.env.CLICKUP_ADDITIONAL_API_KEYS=value);if(key===a0_0x4bf0c7(0x197))envArgs['port']=value;if(key===a0_0x4bf0c7(0x145))envArgs[a0_0x4bf0c7(0x18a)]=value;i++;}}export var LogLevel;(function(_0x668c5c){const _0x34490f=a0_0x4bf0c7,_0x28a5f6={'fbBNq':'0|4|3'+_0x34490f(0x171),'yvymv':'TRACE','ZINDM':'ERROR','WwBwU':_0x34490f(0x158)},_0x120574=_0x28a5f6['fbBNq'][_0x34490f(0x1a1)]('|');let _0x1635a9=0x0;while(!![]){switch(_0x120574[_0x1635a9++]){case'0':_0x668c5c[_0x668c5c[_0x28a5f6['yvymv']]=0x0]=_0x28a5f6['yvymv'];continue;case'1':_0x668c5c[_0x668c5c[_0x28a5f6[_0x34490f(0x189)]]=0x4]=_0x34490f(0x188);continue;case'2':_0x668c5c[_0x668c5c[_0x34490f(0x149)]=0x3]=_0x34490f(0x149);continue;case'3':_0x668c5c[_0x668c5c['INFO']=0x2]=_0x34490f(0x185);continue;case'4':_0x668c5c[_0x668c5c[_0x34490f(0x158)]=0x1]=_0x28a5f6[_0x34490f(0x144)];continue;}break;}}(LogLevel||(LogLevel={})));const parseLogLevel=_0x4a14a5=>{const _0x278c21=a0_0x4bf0c7,_0x1edabb={'wBLMr':_0x278c21(0x146),'bBowV':_0x278c21(0x158)};if(!_0x4a14a5)return LogLevel[_0x278c21(0x188)];switch(_0x4a14a5[_0x278c21(0x17e)+_0x278c21(0x17d)+'e']()){case _0x1edabb['wBLMr']:return LogLevel[_0x278c21(0x146)];case _0x1edabb[_0x278c21(0x180)]:return LogLevel['DEBUG'];case _0x278c21(0x185):return LogLevel[_0x278c21(0x185)];case _0x278c21(0x149):return LogLevel[_0x278c21(0x149)];case'ERROR':return LogLevel[_0x278c21(0x188)];default:return LogLevel[_0x278c21(0x188)];}},parseBoolean=(_0x37d2f0,_0x1cfee3)=>{const _0x3f27eb=a0_0x4bf0c7,_0x1213dd={'RwJpp':function(_0x4a1087,_0x304c3d){return _0x4a1087===_0x304c3d;},'UKYNu':function(_0x306ea3,_0x52bb86){return _0x306ea3===_0x52bb86;},'GUrko':_0x3f27eb(0x18c)};if(_0x1213dd[_0x3f27eb(0x142)](_0x37d2f0,undefined))return _0x1cfee3;return _0x1213dd[_0x3f27eb(0x1a6)](_0x37d2f0['toLow'+'erCas'+'e'](),_0x1213dd[_0x3f27eb(0x14d)]);},parseInteger=(_0x23c440,_0x4e1fb2)=>{const _0x170c80=a0_0x4bf0c7,_0x211077={'Abgga':function(_0x417d6e,_0x541969){return _0x417d6e(_0x541969);}};if(_0x23c440===undefined)return _0x4e1fb2;const _0x4d6d5e=parseInt(_0x23c440,0xa);return _0x211077[_0x170c80(0x156)](isNaN,_0x4d6d5e)?_0x4e1fb2:_0x4d6d5e;},parseCommaSeparated=(_0x2181da,_0x547697)=>{const _0x1f15c3=a0_0x4bf0c7;if(!_0x2181da)return _0x547697;return _0x2181da[_0x1f15c3(0x1a1)](',')[_0x1f15c3(0x17f)](_0x25c892=>_0x25c892[_0x1f15c3(0x13a)]())[_0x1f15c3(0x13f)+'r'](_0xd493bf=>_0xd493bf!=='');},configuration={'clickupApiKey':envArgs['click'+a0_0x4bf0c7(0x13b)+a0_0x4bf0c7(0x192)]||process.env.CLICKUP_API_KEY||'','clickupTeamId':envArgs['click'+'upTea'+'mId']||process.env.CLICKUP_TEAM_ID||'','documentSupport':envArgs[a0_0x4bf0c7(0x1b3)+a0_0x4bf0c7(0x167)+a0_0x4bf0c7(0x1a9)]||process.env.DOCUMENT_SUPPORT||process.env.DOCUMENT_MODULE||process.env.DOCUMENT_MODEL||a0_0x4bf0c7(0x196),'logLevel':parseLogLevel(envArgs[a0_0x4bf0c7(0x1b1)+a0_0x4bf0c7(0x19b)]||process.env.LOG_LEVEL),'logToStderr':parseBoolean(envArgs[a0_0x4bf0c7(0x1ae)+a0_0x4bf0c7(0x147)+'r']||process.env.LOG_TO_STDERR||process.env.RENDER,![]),'disabledTools':(envArgs['disab'+a0_0x4bf0c7(0x13e)+a0_0x4bf0c7(0x15a)]||process.env.DISABLED_TOOLS||process.env.DISABLED_COMMANDS)?.[a0_0x4bf0c7(0x1a1)](',')[a0_0x4bf0c7(0x17f)](_0x543fb7=>_0x543fb7['trim']())[a0_0x4bf0c7(0x13f)+'r'](_0x53ff9d=>_0x53ff9d!=='')||[],'enabledTools':(envArgs[a0_0x4bf0c7(0x14c)+a0_0x4bf0c7(0x141)+'ls']||process.env.ENABLED_TOOLS)?.[a0_0x4bf0c7(0x1a1)](',')[a0_0x4bf0c7(0x17f)](_0x2bea52=>_0x2bea52[a0_0x4bf0c7(0x13a)]())[a0_0x4bf0c7(0x13f)+'r'](_0x191692=>_0x191692!=='')||[],'disabledCategories':parseCommaSeparated(envArgs['disab'+'ledCa'+'tegor'+a0_0x4bf0c7(0x16b)]||process.env.DISABLED_CATEGORIES,[]),'enabledCategories':parseCommaSeparated(envArgs[a0_0x4bf0c7(0x14c)+a0_0x4bf0c7(0x150)+a0_0x4bf0c7(0x152)+'es']||process.env.ENABLED_CATEGORIES,[]),'enableSSE':parseBoolean(envArgs[a0_0x4bf0c7(0x14c)+a0_0x4bf0c7(0x18f)]||process.env.ENABLE_SSE||process.env.ENABLE_HTTP,![]),'ssePort':parseInteger(envArgs['ssePo'+'rt']||process.env.SSE_PORT,0xbb8),'enableStdio':parseBoolean(envArgs[a0_0x4bf0c7(0x14c)+'eStdi'+'o']||process.env.ENABLE_STDIO,!![]),'port':envArgs['port']||process.env.PORT||a0_0x4bf0c7(0x18d),'persona':envArgs[a0_0x4bf0c7(0x1b4)+'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_0x4bf0c7(0x178),'host':envArgs[a0_0x4bf0c7(0x18a)]||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||a0_0x4bf0c7(0x1a5)+a0_0x4bf0c7(0x15d)+a0_0x4bf0c7(0x160)+a0_0x4bf0c7(0x186)+'com','clickupApiUrl':process.env.CLICKUP_API_URL||'https'+a0_0x4bf0c7(0x15d)+a0_0x4bf0c7(0x181)+'ckup.'+a0_0x4bf0c7(0x18e)+a0_0x4bf0c7(0x17c),'proxySecret':process.env.CLICKUP_PROXY_SECRET||'','additionalApiKeys':parseCommaSeparated(process.env.CLICKUP_ADDITIONAL_API_KEYS,[])};export const validateConfiguration=()=>{const _0x37c6e1=a0_0x4bf0c7,_0x2762eb={'SkXxE':function(_0x2583bb,_0x2693d3){return _0x2583bb>_0x2693d3;}},_0x3e5cf8=[_0x37c6e1(0x14a)+_0x37c6e1(0x13b)+'Key',_0x37c6e1(0x14a)+_0x37c6e1(0x18b)+_0x37c6e1(0x138)],_0x891c90=_0x3e5cf8[_0x37c6e1(0x13f)+'r'](_0x1debf8=>!configuration[_0x1debf8]);if(_0x2762eb[_0x37c6e1(0x15e)](_0x891c90[_0x37c6e1(0x17a)+'h'],0x0)){const _0x2d9092=!!(configuration['click'+'upCli'+_0x37c6e1(0x177)]&&configuration['click'+'upCli'+_0x37c6e1(0x198)+_0x37c6e1(0x194)]),_0x277de1=!!process.env.CLICKUP_MCP_LICENSE_KEY;if(configuration[_0x37c6e1(0x14c)+_0x37c6e1(0x18f)]||_0x2d9092||_0x277de1){}else throw new Error(_0x37c6e1(0x173)+_0x37c6e1(0x195)+_0x37c6e1(0x154)+_0x37c6e1(0x182)+_0x37c6e1(0x157)+'ent\x20v'+_0x37c6e1(0x176)+_0x37c6e1(0x1a2)+_0x891c90[_0x37c6e1(0x165)](',\x20'));}};export default configuration;
|