@groundtruth-mcp/gt-mcp 2.5.0 → 2.5.2
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 +74 -31
- package/dist/constants.js +1 -1
- package/dist/index.js +1 -1
- package/dist/services/cache.js +1 -1
- package/dist/services/fetcher.js +1 -1
- package/dist/sources/registry.js +1 -1
- package/dist/tools/audit.js +1 -1
- package/dist/tools/auto-scan.js +1 -1
- package/dist/tools/best-practices.js +1 -1
- package/dist/tools/changelog.js +1 -1
- package/dist/tools/compare.js +1 -1
- package/dist/tools/compat.js +1 -1
- package/dist/tools/docs.js +1 -1
- package/dist/tools/examples.js +1 -1
- package/dist/tools/resolve.js +1 -1
- package/dist/tools/search.js +1 -1
- package/dist/utils/extract.js +1 -1
- package/dist/utils/guard.js +1 -1
- package/dist/utils/lockfile.js +1 -1
- package/dist/utils/sanitize.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/dist/utils/watermark.js +1 -1
- package/package.json +16 -5
- package/dist/constants.d.ts +0 -15
- package/dist/index.d.ts +0 -2
- package/dist/services/cache.d.ts +0 -30
- package/dist/services/fetcher.d.ts +0 -29
- package/dist/sources/registry.d.ts +0 -16
- package/dist/tools/audit.d.ts +0 -32
- package/dist/tools/auto-scan.d.ts +0 -7
- package/dist/tools/best-practices.d.ts +0 -2
- package/dist/tools/changelog.d.ts +0 -2
- package/dist/tools/compare.d.ts +0 -2
- package/dist/tools/compat.d.ts +0 -2
- package/dist/tools/docs.d.ts +0 -2
- package/dist/tools/examples.d.ts +0 -2
- package/dist/tools/resolve.d.ts +0 -2
- package/dist/tools/search.d.ts +0 -6
- package/dist/types.d.ts +0 -99
- package/dist/utils/extract.d.ts +0 -9
- package/dist/utils/guard.d.ts +0 -36
- package/dist/utils/lockfile.d.ts +0 -7
- package/dist/utils/sanitize.d.ts +0 -9
- package/dist/utils/version-check.d.ts +0 -6
- package/dist/utils/watermark.d.ts +0 -62
package/README.md
CHANGED
|
@@ -1,43 +1,45 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
</
|
|
1
|
+
<div align="center">
|
|
2
|
+
<table><tr><td>
|
|
3
|
+
<pre>
|
|
4
|
+
██████╗ ████████╗ ███╗ ███╗ ██████╗ ██████╗
|
|
5
|
+
██╔════╝ ╚══██╔══╝ ████╗ ████║ ██╔════╝ ██╔══██╗
|
|
6
|
+
██║ ███╗ ██║ ██╔████╔██║ ██║ ██████╔╝
|
|
7
|
+
██║ ██║ ██║ ██║╚██╔╝██║ ██║ ██╔═══╝
|
|
8
|
+
╚██████╔╝ ██║ ██║ ╚═╝ ██║ ╚██████╗ ██║
|
|
9
|
+
</pre>
|
|
10
|
+
</td></tr></table>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<h3 align="center">Your AI assistant just mass-produced deprecated code again.<br/>You merged it because the formatting was clean.<br/><br/>GroundTruth fixes that.</h3>
|
|
11
14
|
|
|
12
15
|
<p align="center">
|
|
13
16
|
<a href="https://www.npmjs.com/package/@groundtruth-mcp/gt-mcp"><img src="https://img.shields.io/npm/v/@groundtruth-mcp/gt-mcp?color=00d4aa&label=npm" alt="npm version" /></a>
|
|
14
17
|
<a href="https://github.com/rm-rf-prod/GroundTruth-MCP/actions/workflows/ci.yml"><img src="https://github.com/rm-rf-prod/GroundTruth-MCP/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
15
18
|
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-ELv2-orange" alt="Elastic License 2.0" /></a>
|
|
16
|
-
<img src="https://img.shields.io/badge/libraries-363%2B-teal" alt="
|
|
19
|
+
<img src="https://img.shields.io/badge/libraries-363%2B-teal" alt="Unlimited libraries" />
|
|
17
20
|
<img src="https://img.shields.io/badge/audit_patterns-100%2B-red" alt="100+ audit patterns" />
|
|
18
|
-
<img src="https://img.shields.io/badge/tests-
|
|
21
|
+
<img src="https://img.shields.io/badge/tests-704-brightgreen" alt="704 tests" />
|
|
19
22
|
<img src="https://img.shields.io/badge/node-%3E%3D24-green" alt="Node 24+" />
|
|
20
23
|
<img src="https://img.shields.io/badge/status-active%20development-blue" alt="Active Development" />
|
|
21
24
|
</p>
|
|
22
25
|
|
|
23
|
-
<
|
|
24
|
-
<b>Actively maintained. New libraries, audit patterns, and features ship regularly.</b><br/>
|
|
25
|
-
GroundTruth checks for updates on startup and notifies you when a new version is available.
|
|
26
|
-
</p>
|
|
26
|
+
<h4 align="center">Self-hosted MCP server. 363+ curated libraries. 100+ audit patterns. No rate limits. No API keys.<br/>Ships updates continuously — your MCP client picks them up on restart.</h4>
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
## The problem
|
|
30
|
+
## The problem (it's you, but also the model)
|
|
31
|
+
|
|
32
|
+
Your AI assistant just mass-produced seven files of deprecated code and you merged all of it because the formatting was nice and the variable names were clean. We've all been there. Some of us are still there. Some of us are in production there.
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
Here's what happened: React shipped v19 and killed `forwardRef`. Next.js made `cookies()` async. Tailwind moved to v4 and nuked `@tailwind` directives. Your model didn't get the memo. It's still writing patterns from the before times with absolute confidence and zero hesitation.
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
And the security stuff — that's the part that should keep you up at night but doesn't because you don't know about it yet. The model will hand you SQL injection dressed up as a query builder, pass user input to `innerHTML` like it's a feature, and use `any` in TypeScript with the same energy as someone who puts ketchup on steak. It learned from real code. Real code that real people got real fired over.
|
|
35
37
|
|
|
36
|
-
Context7
|
|
38
|
+
Context7 is one solution. Cloud-hosted. Rate-limited. Covers about 130 libraries. Works great until you burn through the quota at 11pm debugging a production outage and it serves you a 429 while your Slack is lighting up.
|
|
37
39
|
|
|
38
|
-
**GroundTruth runs on your machine.**
|
|
40
|
+
**GroundTruth runs on your machine.** No quota to hit. No cloud to go down. Fetches docs from the source — `llms.txt`, Jina Reader, GitHub — right when you ask. 363+ curated libraries, plus npm, PyPI, crates.io, and pkg.go.dev as fallback. Any public package. Any ecosystem.
|
|
39
41
|
|
|
40
|
-
The audit tool
|
|
42
|
+
The audit tool reads your actual files, finds issues at exact `file:line` locations, and fetches the current fix from the real spec. Not a Medium article. Not a 2019 ESLint plugin. The OWASP cheat sheet that was updated last month.
|
|
41
43
|
|
|
42
44
|
---
|
|
43
45
|
|
|
@@ -84,7 +86,7 @@ Since the install uses `npx -y @groundtruth-mcp/gt-mcp@latest`, restarting your
|
|
|
84
86
|
|
|
85
87
|
### Optional: GitHub token
|
|
86
88
|
|
|
87
|
-
GroundTruth fetches README files, release notes,
|
|
89
|
+
GroundTruth fetches README files, release notes, migration guides, and code examples from GitHub. Unauthenticated requests are rate-limited to 60/hr. If you build anything with more than a couple dependencies, you'll hit that by lunch.
|
|
88
90
|
|
|
89
91
|
```bash
|
|
90
92
|
# Claude Code
|
|
@@ -112,15 +114,16 @@ Ten tools. Each does one thing and stops there.
|
|
|
112
114
|
|
|
113
115
|
| Tool | What it does |
|
|
114
116
|
|---|---|
|
|
115
|
-
| `gt_resolve_library` | Find a library by name — gets the registry entry and docs URL |
|
|
117
|
+
| `gt_resolve_library` | Find a library by name — gets the registry entry and docs URL. Falls back to npm, PyPI, crates.io, and pkg.go.dev |
|
|
116
118
|
| `gt_get_docs` | Fetch live docs for a specific topic (not whatever was cached six months ago) |
|
|
117
119
|
| `gt_best_practices` | Get patterns, anti-patterns, and config guidance for any library |
|
|
118
|
-
| `gt_auto_scan` | Read `package.json` / `requirements.txt`, fetch best practices for everything in it |
|
|
120
|
+
| `gt_auto_scan` | Read `package.json` / `requirements.txt`, detect lockfile versions, fetch best practices for everything in it |
|
|
119
121
|
| `gt_search` | Search OWASP, MDN, web.dev, W3C, official language docs, and AI provider docs |
|
|
120
122
|
| `gt_audit` | Scan your source files — finds real issues at exact `file:line` with live fixes attached |
|
|
121
123
|
| `gt_changelog` | Fetch release notes before you run `npm update` and regret it |
|
|
122
124
|
| `gt_compat` | Check browser and runtime compatibility — before Safari breaks your launch |
|
|
123
125
|
| `gt_compare` | Compare 2-3 libraries side-by-side so you can finally pick one and move on |
|
|
126
|
+
| `gt_examples` | Search GitHub for real-world code examples of any library or usage pattern |
|
|
124
127
|
|
|
125
128
|
---
|
|
126
129
|
|
|
@@ -234,6 +237,21 @@ gt_compare({ libraries: ["react", "solid-js"], criteria: "performance rendering"
|
|
|
234
237
|
|
|
235
238
|
---
|
|
236
239
|
|
|
240
|
+
## `gt_examples` — see how other people actually use it
|
|
241
|
+
|
|
242
|
+
Searches GitHub for real-world usage examples of any library or pattern. Returns code snippets from popular open-source projects with file paths and repository attribution. Useful when the docs tell you what an API does but not how anyone actually uses it in production.
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
gt_examples({ library: "drizzle-orm" })
|
|
246
|
+
gt_examples({ library: "tanstack/query", pattern: "useMutation" })
|
|
247
|
+
gt_examples({ library: "fastapi", pattern: "middleware", language: "python" })
|
|
248
|
+
gt_examples({ library: "hono", pattern: "auth guard", maxResults: 10 })
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Requires `GT_GITHUB_TOKEN` for higher rate limits. Without a token, GitHub Code Search allows 10 requests per minute.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
237
255
|
## `gt_search` — anything that isn't a specific library
|
|
238
256
|
|
|
239
257
|
For questions not tied to a particular package. Pulls from OWASP, MDN, web.dev, W3C, official language docs, AI provider docs, Google developer docs, and everything else in the topic map below. Good for when you know what you need but not which library page it lives on.
|
|
@@ -320,6 +338,7 @@ gt_audit({ projectPath: ".", categories: ["security", "accessibility"] })
|
|
|
320
338
|
gt_changelog({ libraryId: "vercel/next.js", version: "15" })
|
|
321
339
|
gt_compat({ feature: "CSS container queries", environments: ["safari"] })
|
|
322
340
|
gt_compare({ libraries: ["prisma", "drizzle-orm"], criteria: "TypeScript support" })
|
|
341
|
+
gt_examples({ library: "hono", pattern: "middleware" })
|
|
323
342
|
```
|
|
324
343
|
|
|
325
344
|
---
|
|
@@ -335,13 +354,13 @@ For every library docs request, GroundTruth tries sources in this order and stop
|
|
|
335
354
|
1. **`llms.txt` / `llms-full.txt`** — context files published by the project maintainer specifically for LLM consumption. More reliable than scraping the docs site.
|
|
336
355
|
2. **Jina Reader** (`r.jina.ai`) — converts the official docs page to clean markdown. Handles JS-rendered sites that would return nothing via a plain fetch.
|
|
337
356
|
3. **GitHub README / releases** — latest release notes and README from the project repository.
|
|
338
|
-
4. **npm / PyPI
|
|
357
|
+
4. **npm / PyPI / crates.io / pkg.go.dev** — fallback for packages outside the curated registry, with automatic `llms.txt` probing on discovered homepages.
|
|
339
358
|
|
|
340
359
|
---
|
|
341
360
|
|
|
342
|
-
## Library coverage —
|
|
361
|
+
## Library coverage — unlimited
|
|
343
362
|
|
|
344
|
-
|
|
363
|
+
363+ curated entries in the registry, plus automatic fallback to npm, PyPI, crates.io, and pkg.go.dev. Any public package in any major ecosystem is resolvable — the registry gives you curated quality, the fallbacks give you universal reach.
|
|
345
364
|
|
|
346
365
|
| Ecosystem | Libraries |
|
|
347
366
|
|---|---|
|
|
@@ -396,7 +415,9 @@ Context7 is solid. Here's why I reach for this instead.
|
|
|
396
415
|
| Changelog lookup | Yes — GitHub Releases, CHANGELOG.md, docs site | No |
|
|
397
416
|
| Browser compatibility | Yes — MDN + caniuse.com | No |
|
|
398
417
|
| Library comparison | Yes — 2-3 libraries side-by-side, any criteria | No |
|
|
399
|
-
|
|
|
418
|
+
| Code examples | Yes — GitHub Code Search for real-world usage | No |
|
|
419
|
+
| Lockfile detection | Yes — reads exact versions from lockfiles | No |
|
|
420
|
+
| Libraries | Unlimited — 363+ curated + npm/PyPI/crates.io/Go fallback | ~130 |
|
|
400
421
|
| AI coverage | Claude, OpenAI, Gemini, Mistral, Cohere, Groq, LangChain, LlamaIndex, CrewAI, 20+ more | Limited |
|
|
401
422
|
| Google APIs | Full coverage — Maps, Analytics, Ads, Cloud, Firebase, Vertex AI, 30+ services | Partial |
|
|
402
423
|
| Python / Rust / Go | Yes | Limited |
|
|
@@ -409,7 +430,7 @@ The two tools approach the same problem from different angles. Context7 embeds d
|
|
|
409
430
|
|
|
410
431
|
## Tests
|
|
411
432
|
|
|
412
|
-
|
|
433
|
+
704 tests across 22 files. Every audit pattern has a test. Every manifest parser has a test. If a pattern ships without a test, the CI pipeline says no before any human has to.
|
|
413
434
|
|
|
414
435
|
```bash
|
|
415
436
|
npm test # run all tests
|
|
@@ -424,12 +445,26 @@ npm run typecheck # TypeScript strict check (no emit)
|
|
|
424
445
|
| `src/tools/auto-scan.test.ts` | All 8 manifest parsers using temp directories (package.json, requirements.txt, pyproject.toml, Cargo.toml, go.mod, pom.xml, composer.json, build.gradle) |
|
|
425
446
|
| `src/utils/extract.test.ts` | Topic relevance ranking, truncation, document order preservation |
|
|
426
447
|
| `src/utils/sanitize.test.ts` | Prompt injection stripping, `<script>`/`<style>` removal, navigation link cleanup |
|
|
448
|
+
| `src/utils/lockfile.test.ts` | Lockfile version detection for package-lock, pnpm-lock, yarn.lock, Cargo.lock |
|
|
449
|
+
| `src/tools/examples.test.ts` | GitHub Code Search, caching, rate limit handling, error states |
|
|
427
450
|
| `src/utils/version-check.test.ts` | Version comparison, update notification formatting, pending update state |
|
|
428
451
|
|
|
429
452
|
Tests run in CI on every push and pull request to `main`. See `.github/workflows/ci.yml`.
|
|
430
453
|
|
|
431
454
|
---
|
|
432
455
|
|
|
456
|
+
## Environment variables
|
|
457
|
+
|
|
458
|
+
All optional. GroundTruth works out of the box with zero configuration.
|
|
459
|
+
|
|
460
|
+
| Variable | Purpose | Default |
|
|
461
|
+
|---|---|---|
|
|
462
|
+
| `GT_GITHUB_TOKEN` | GitHub API auth — raises rate limit from 60 to 5000 req/hr | none |
|
|
463
|
+
| `GT_CACHE_DIR` | Disk cache location for persistent cross-session caching | `~/.gt-mcp-cache` |
|
|
464
|
+
| `GT_CONCURRENCY` | Parallel fetch limit in `gt_auto_scan` | `6` |
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
433
468
|
## Requirements
|
|
434
469
|
|
|
435
470
|
- Node.js 24+
|
|
@@ -441,7 +476,7 @@ That's it. No Docker. No config files. No environment variables unless you want
|
|
|
441
476
|
|
|
442
477
|
## Active development
|
|
443
478
|
|
|
444
|
-
GroundTruth is under active development. New
|
|
479
|
+
GroundTruth is under active development. New curated registry entries, audit patterns, search topics, and features are added regularly. The registry covers 363+ libraries with deep curated metadata, and automatic fallback to npm, PyPI, crates.io, and pkg.go.dev means any public package is resolvable out of the box.
|
|
445
480
|
|
|
446
481
|
Recent additions include comprehensive coverage for Google Gemini API, Anthropic Claude API (tool use, prompt caching, vision, extended thinking, computer use, streaming, batches), OpenAI API (chat, responses, function calling, structured output, embeddings, fine-tuning, realtime, agents), and 20+ additional AI providers and frameworks.
|
|
447
482
|
|
|
@@ -460,6 +495,14 @@ Issues and requests: [github.com/rm-rf-prod/GroundTruth-MCP/issues](https://gith
|
|
|
460
495
|
|
|
461
496
|
---
|
|
462
497
|
|
|
498
|
+
## Full documentation
|
|
499
|
+
|
|
500
|
+
Want the full technical breakdown? Architecture, every tool's input schema, every audit pattern, the fetch pipeline, caching internals, the obfuscation build, and how the registry works?
|
|
501
|
+
|
|
502
|
+
**[Read the full docs](./docs/DOCUMENTATION.md)** — everything in one place, for the people who actually read documentation before using a tool.
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
463
506
|
## Star history
|
|
464
507
|
|
|
465
508
|
<a href="https://star-history.com/#rm-rf-prod/GroundTruth-MCP&Date">
|
package/dist/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2166fc=a0_0x3b92;(function(_0x2cece4,_0x5187ce){const _0x315f0c=a0_0x3b92,_0x52f3cd=_0x2cece4();while(!![]){try{const _0x20454b=-parseInt(_0x315f0c(0x1fa,'3^n3'))/0x1+parseInt(_0x315f0c(0x1ed,'VGVL'))/0x2*(-parseInt(_0x315f0c(0x1fd,'ryAg'))/0x3)+parseInt(_0x315f0c(0x1f6,'e4$x'))/0x4*(parseInt(_0x315f0c(0x1f8,'aE8&'))/0x5)+-parseInt(_0x315f0c(0x1f2,'DVji'))/0x6+-parseInt(_0x315f0c(0x201,'IbMm'))/0x7+-parseInt(_0x315f0c(0x204,'3i(@'))/0x8+parseInt(_0x315f0c(0x1fc,'*1[U'))/0x9;if(_0x20454b===_0x5187ce)break;else _0x52f3cd['push'](_0x52f3cd['shift']());}catch(_0x54b6ef){_0x52f3cd['push'](_0x52f3cd['shift']());}}}(a0_0x33de,0x4fb4c));export const SERVER_NAME=a0_0x2166fc(0x206,'HRBE')+'h';export const SERVER_VERSION=a0_0x2166fc(0x1ee,'Yo$!');export const REGISTRY_BADGE_SIZE=0x16b;export const CHARS_PER_TOKEN=3.8;export const DISK_CACHE_DIR=process.env.GT_CACHE_DIR??(process.env.HOME?process.env.HOME+(a0_0x2166fc(0x1eb,'xY4C')+a0_0x2166fc(0x1f3,'rCG]')):a0_0x2166fc(0x1ec,'Yo$!')+a0_0x2166fc(0x1e9,'&QzH'));export const DEFAULT_TOKEN_LIMIT=0x1f40;export const MAX_TOKEN_LIMIT=0x4e20;export const CACHE_TTL_MS=0x1e*0x3c*0x3e8;export const FETCH_TIMEOUT_MS=0x3a98;function a0_0x33de(){const _0x3d0299=['WRBcO8oK','i8onWP0jWPpdJGddHWSQ','mSoHWPSOcCo5WQvnW6FcRq','W4ddJxtdGmkWew8','l8k7W4n2fa','kSkpWR7cS2lcJq','uCkXW6HrWR7cQeddHwzu','pSowWRapW5pdItxdVG','sSkzW7BdQSogDN/dMSkZW7dcICkhWPm','W7tcJSkPFW','xCknWOCGdCkzWQ3dGuqbWOSwW5G','cMRcG8kFlCkvWPRdU0fl','zaTUwmoJit82WOJcKHjP','W4RdOmkJcdj9ESkYWPVcMG','WOJcVmohfs1Wa8kl','uCkXW6HrWR7cQeddHxvb','sX/cJJ4TW5XpW6r1nCkCra','ACkrWPKsW5ddLWBdMvjN','ptFcV8oOW43dJCkRbZjeDafq','sJ8sz8kqCmkMkrbzW57cNmkC','ndNcVmoVW4ldGSo+nqvVzqK','nmovW4HjWOFcLfRdNhmZW7nGW5G','fs/dIc01WPJdNq','gCkYbSoKW4RdVSoccSkTadve','W70UW5jmW7qKW5bwWPq4','h2xcJSosff4cWRPRWOy','W57dT8kpFCo0WRvnWQv/WPJcM2O','xmoTeG5jWPelWOldU8kVD0O','WQ4uWONcJZVcQ8kMWO7cMcO','h8oNB8kiWPJcMCo+','WRK/dmkRWPDMFM3dTMy','eqpdM2DSWOrzW7mHiq','WOesWPlcIIBdTCoDW5pcNZ8','WPNdHfpcUgBcKtq7'];a0_0x33de=function(){return _0x3d0299;};return a0_0x33de();}export const JINA_BASE_URL=a0_0x2166fc(0x1e6,'hvpI')+a0_0x2166fc(0x200,'NqWj');export const NPM_REGISTRY_URL=a0_0x2166fc(0x1f9,'P42s')+a0_0x2166fc(0x203,'1Bh4')+a0_0x2166fc(0x1ef,'ZewO');export const PYPI_URL=a0_0x2166fc(0x1f5,'ezPQ')+a0_0x2166fc(0x1f7,'aE8&')+'i';function a0_0x3b92(_0x36b64e,_0x1d78fb){_0x36b64e=_0x36b64e-0x1e5;const _0x33dedc=a0_0x33de();let _0x3b92a1=_0x33dedc[_0x36b64e];if(a0_0x3b92['xoyOAu']===undefined){var _0x73c908=function(_0x26dc4c){const _0x180163='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x182c17='',_0x43004='';for(let _0x5ea32b=0x0,_0x201783,_0x2acbd8,_0x2e0873=0x0;_0x2acbd8=_0x26dc4c['charAt'](_0x2e0873++);~_0x2acbd8&&(_0x201783=_0x5ea32b%0x4?_0x201783*0x40+_0x2acbd8:_0x2acbd8,_0x5ea32b++%0x4)?_0x182c17+=String['fromCharCode'](0xff&_0x201783>>(-0x2*_0x5ea32b&0x6)):0x0){_0x2acbd8=_0x180163['indexOf'](_0x2acbd8);}for(let _0x22d0be=0x0,_0x38b966=_0x182c17['length'];_0x22d0be<_0x38b966;_0x22d0be++){_0x43004+='%'+('00'+_0x182c17['charCodeAt'](_0x22d0be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43004);};const _0x4fba0d=function(_0x3521c5,_0x406b83){let _0x487209=[],_0x2b2904=0x0,_0x27ca3e,_0x19e2d4='';_0x3521c5=_0x73c908(_0x3521c5);let _0x2907e1;for(_0x2907e1=0x0;_0x2907e1<0x100;_0x2907e1++){_0x487209[_0x2907e1]=_0x2907e1;}for(_0x2907e1=0x0;_0x2907e1<0x100;_0x2907e1++){_0x2b2904=(_0x2b2904+_0x487209[_0x2907e1]+_0x406b83['charCodeAt'](_0x2907e1%_0x406b83['length']))%0x100,_0x27ca3e=_0x487209[_0x2907e1],_0x487209[_0x2907e1]=_0x487209[_0x2b2904],_0x487209[_0x2b2904]=_0x27ca3e;}_0x2907e1=0x0,_0x2b2904=0x0;for(let _0x465cdb=0x0;_0x465cdb<_0x3521c5['length'];_0x465cdb++){_0x2907e1=(_0x2907e1+0x1)%0x100,_0x2b2904=(_0x2b2904+_0x487209[_0x2907e1])%0x100,_0x27ca3e=_0x487209[_0x2907e1],_0x487209[_0x2907e1]=_0x487209[_0x2b2904],_0x487209[_0x2b2904]=_0x27ca3e,_0x19e2d4+=String['fromCharCode'](_0x3521c5['charCodeAt'](_0x465cdb)^_0x487209[(_0x487209[_0x2907e1]+_0x487209[_0x2b2904])%0x100]);}return _0x19e2d4;};a0_0x3b92['UROpVK']=_0x4fba0d,a0_0x3b92['rrBOqd']={},a0_0x3b92['xoyOAu']=!![];}const _0x1186c1=_0x33dedc[0x0],_0x40204f=_0x36b64e+_0x1186c1,_0x328a08=a0_0x3b92['rrBOqd'][_0x40204f];return!_0x328a08?(a0_0x3b92['DnlvoL']===undefined&&(a0_0x3b92['DnlvoL']=!![]),_0x3b92a1=a0_0x3b92['UROpVK'](_0x3b92a1,_0x1d78fb),a0_0x3b92['rrBOqd'][_0x40204f]=_0x3b92a1):_0x3b92a1=_0x328a08,_0x3b92a1;}export const GITHUB_API_URL=a0_0x2166fc(0x1f0,'P42s')+a0_0x2166fc(0x1e7,'3^n3')+'om';export const GITHUB_RAW_URL=a0_0x2166fc(0x1e8,'HRBE')+a0_0x2166fc(0x202,'^p9K')+a0_0x2166fc(0x1fb,'xY4C')+a0_0x2166fc(0x1ea,'7z%5');export const INJECTION_PATTERNS=[/ignore\s+(all\s+)?(previous|prior|above)\s+instructions?/gi,/you\s+(are|must|should|will|have\s+to)\s+now/gi,/\bSYSTEM\s*:/g,/\bASSISTANT\s*:/g,/\b(JAILBREAK|DAN|DO ANYTHING NOW)\b/gi,/<\s*(?:system|instructions?)\s*>/gi,/forget\s+(everything|all)\s+(you|your)/gi,/new\s+instructions?.*?:/gi,/override\s+(your\s+)?(previous\s+)?instructions?/gi,/<!--[\s\S]*?-->/g,/[\u202A-\u202E\u2066-\u2069]/g,/\bact\s+as\b.{0,50}(?:you are|you're|an?\s+ai|a\s+model)/gi,/\bpretend\s+(?:you\s+are|to\s+be)\b/gi,/\bfrom\s+now\s+on\b.{0,30}(?:you|ignore|forget)/gi];
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a1_0x30fa36=a1_0xb70f;(function(_0xe4da40,_0x2076f4){const _0x3f18be=a1_0xb70f,_0x4df69c=_0xe4da40();while(!![]){try{const _0x15ee4c=parseInt(_0x3f18be(0x168,'Cn#I'))/0x1*(-parseInt(_0x3f18be(0x19f,'ZWQd'))/0x2)+-parseInt(_0x3f18be(0x1c0,'rd52'))/0x3*(-parseInt(_0x3f18be(0x17f,'h7H)'))/0x4)+parseInt(_0x3f18be(0x1b5,'B%3g'))/0x5*(parseInt(_0x3f18be(0x98,'gh&#'))/0x6)+-parseInt(_0x3f18be(0xcd,'8tM)'))/0x7+-parseInt(_0x3f18be(0xce,'YfEV'))/0x8*(parseInt(_0x3f18be(0x19b,'SWst'))/0x9)+-parseInt(_0x3f18be(0x187,'6OSy'))/0xa+parseInt(_0x3f18be(0x18e,'8tM)'))/0xb;if(_0x15ee4c===_0x2076f4)break;else _0x4df69c['push'](_0x4df69c['shift']());}catch(_0xf5a8dc){_0x4df69c['push'](_0x4df69c['shift']());}}}(a1_0x4a1e,0x4524d));import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{SERVER_NAME,SERVER_VERSION}from'./constants.js';import{getInstallId}from'./utils/watermark.js';import{checkForUpdate,formatUpdateNotice,setPendingUpdate}from'./utils/version-check.js';import{z}from'zod';import{registerResolveTool}from'./tools/resolve.js';import{registerDocsTool}from'./tools/docs.js';import{registerBestPracticesTool}from'./tools/best-practices.js';import{registerAutoScanTool}from'./tools/auto-scan.js';import{registerSearchTool}from'./tools/search.js';function a1_0xb70f(_0x42b2d5,_0x3ba1c3){_0x42b2d5=_0x42b2d5-0x89;const _0x4a1ee5=a1_0x4a1e();let _0xb70f6c=_0x4a1ee5[_0x42b2d5];if(a1_0xb70f['GNkfsl']===undefined){var _0x125624=function(_0x268d8f){const _0x1df27b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x504f26='',_0x4ff965='';for(let _0x14b1c5=0x0,_0x5c27a5,_0x4e0c15,_0x50e531=0x0;_0x4e0c15=_0x268d8f['charAt'](_0x50e531++);~_0x4e0c15&&(_0x5c27a5=_0x14b1c5%0x4?_0x5c27a5*0x40+_0x4e0c15:_0x4e0c15,_0x14b1c5++%0x4)?_0x504f26+=String['fromCharCode'](0xff&_0x5c27a5>>(-0x2*_0x14b1c5&0x6)):0x0){_0x4e0c15=_0x1df27b['indexOf'](_0x4e0c15);}for(let _0x136be9=0x0,_0x2dee72=_0x504f26['length'];_0x136be9<_0x2dee72;_0x136be9++){_0x4ff965+='%'+('00'+_0x504f26['charCodeAt'](_0x136be9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ff965);};const _0x1baec6=function(_0x37791f,_0x477fcb){let _0x261cbe=[],_0x205dc0=0x0,_0x63cfeb,_0x547a3b='';_0x37791f=_0x125624(_0x37791f);let _0x4ed2ac;for(_0x4ed2ac=0x0;_0x4ed2ac<0x100;_0x4ed2ac++){_0x261cbe[_0x4ed2ac]=_0x4ed2ac;}for(_0x4ed2ac=0x0;_0x4ed2ac<0x100;_0x4ed2ac++){_0x205dc0=(_0x205dc0+_0x261cbe[_0x4ed2ac]+_0x477fcb['charCodeAt'](_0x4ed2ac%_0x477fcb['length']))%0x100,_0x63cfeb=_0x261cbe[_0x4ed2ac],_0x261cbe[_0x4ed2ac]=_0x261cbe[_0x205dc0],_0x261cbe[_0x205dc0]=_0x63cfeb;}_0x4ed2ac=0x0,_0x205dc0=0x0;for(let _0x382d38=0x0;_0x382d38<_0x37791f['length'];_0x382d38++){_0x4ed2ac=(_0x4ed2ac+0x1)%0x100,_0x205dc0=(_0x205dc0+_0x261cbe[_0x4ed2ac])%0x100,_0x63cfeb=_0x261cbe[_0x4ed2ac],_0x261cbe[_0x4ed2ac]=_0x261cbe[_0x205dc0],_0x261cbe[_0x205dc0]=_0x63cfeb,_0x547a3b+=String['fromCharCode'](_0x37791f['charCodeAt'](_0x382d38)^_0x261cbe[(_0x261cbe[_0x4ed2ac]+_0x261cbe[_0x205dc0])%0x100]);}return _0x547a3b;};a1_0xb70f['BVMQHL']=_0x1baec6,a1_0xb70f['qMVktj']={},a1_0xb70f['GNkfsl']=!![];}const _0x5d984d=_0x4a1ee5[0x0],_0x2ea36f=_0x42b2d5+_0x5d984d,_0x37639e=a1_0xb70f['qMVktj'][_0x2ea36f];return!_0x37639e?(a1_0xb70f['oCINcZ']===undefined&&(a1_0xb70f['oCINcZ']=!![]),_0xb70f6c=a1_0xb70f['BVMQHL'](_0xb70f6c,_0x3ba1c3),a1_0xb70f['qMVktj'][_0x2ea36f]=_0xb70f6c):_0xb70f6c=_0x37639e,_0xb70f6c;}import{registerAuditTool}from'./tools/audit.js';import{registerChangelogTool}from'./tools/changelog.js';import{registerCompatTool}from'./tools/compat.js';import{registerCompareTool}from'./tools/compare.js';import{registerExamplesTool}from'./tools/examples.js';function a1_0x4a1e(){const _0x5b99be=['WOxcLSkwumkwW6biWPRdQbK','W47cO8ohgZjMb0zlW6uL','gbX5Amk4FmoFnCoWWRq','Bq/cKmkVWQpcSZhdKgRdSa','cmozFdldMmktlHddQCkiuW','tSkiogVcGmkShW','m8khW4JdS38BpSong8ku','WRlcL8kqvSkoW6bCWPddTLW','WPVdSSkFtsW+uGqrW6S','mCkkpKNdHh3dOmoTmmoR','WPRdO8oAWRfIW4r4FmkvW7y','WORcOCk8WOKubND1W4OT','ymkCW7/cVJpdQMlcUmoJkSks','o8oksmoWW4OWdmkSEsG','W5T+W6RcMSk/WRpdVCoNWQ0j','fMZdVmoxWPldG0WLWOW','W55hW7FcN8klp8oYWRZdL0C','W4SOWQ94mrrzWPmbpW','B8oLW4lcOCoiaSoWj8kuzG','WR3cKMpdPX7dIWvVgf8','W7VcNgpdI13dGqfYcXq','wmkkpINdICkmhqVdH8oL','vtxcVmokW5dcSvO0WR/cTW','pmocluJdTWtdKCk4W51s','lCo8lu/cUHVdNSkPW5pIGAy','BrVcIrFdNhhdJLNcRxW','W5bTWRH+','uJNcU8ktWP3dV193WRRcTW','W7xdQu5gimod','rMlcMSkN','f8kNW77dScfuArn0W5W','kbXOAmk9BCoZiSk/WQK','mGRcHmoBoCk+pwxcTSkZ','lCkGWRZcU8oxaSk2DCksBG','WQWPF8o+wCkgWOZcImoCWR4','lmohdCo4','FKhdQCkMW7HwmCo3fa','W6/dPs3cSxtdM8kRWODocG','tmkzlxFcImkMhv7dKmkJ','BZixeSkZWQ/cTZpdGLO','WPtcJmkgxmkhWQLcWPZdRKa','WOlcKSkugCofWQrCWPZdOem','hmoOW4dcTq','nSk2W7tcPSkkhCoKo8kjDq','kZLjqSkFWO/dVSk+WQaf','F1FdNG7cQSkfxCkRpLm','jY9KyCorWQ3dVIdcGtu','wmkhmYxcMCkJdaFdLSk5','WPS3DCo4f+kdTSo4WRZdGmkK','A8kUW5lcTSopWPHrWRVcM8ot','pJbHwSojW4/dKsq','CCokWQBdUYldNehcSSoDca','W6uxmSo/WO9mDHDlba','dmoqdZK7iJhdOdue','WQG0FCoMvSopWQVcN8ozWQS','WQGPWPDojmkoW6v2rSkz','eMVcI8kXWO09WRGZW73cJW','dCo/W4RcRIW','WRdcHCopWRPsrYD1W50N','W47cKhBdIH7dI0rokhS','W6SmFmo3WO9sDH9deG','W4fZWQC9WRVcTqbwW7Sy','W7fhWRlcL8kFFmo7W6ldJq4','W6NcQIxdShJdLCoTWOHedW','eYBcGmkooSkJfI7cPCoY','FmoEhKtdGMlcTCopmmk/','WPZcI8oRW7X6WRjwWPlcUdC','Dg1frSo4W78','wmkAlYxcH8kTdbBdGmoR','uCoj4OgEjCkVWRaDfSovWQq','or3cU8ktWQ4E','WPdcKCoDtSkyW6KKW5FdR0O','W6ywkmkuW5aBDHXwoq','fmkmeSotD8kuj8oEW4hdRq','yCkRW4pdTCot','WOj+lSkTmSk+sqldHCoh','W6GayCoQW4XfjbPbeG','l8kDWRhcGrrEjmkaWPO0','fXWHAmkoymoCjmkdWQC','W7Gwnq','ELtcImkJWQNdTN3dLwFdOq','W6fPpSkRumkwWOFcNComWR4','yCkLW5RdPSoAWOuuW7lcKSoz','r3tcH8kH','iwTAvCkfW4RIGOtdQSoseG','smklW7/dLmkVWQ1SWOJdRqy','Cw1Oxmo0W6/dPs/cMsK','W5TJW55xCCkBW6e6fCke','gSoOW5VcPdaGpfRdSwC','WQZdVh7dOYlcHSoMWQjReCkvW40','WQ1Gg8oEWR3cGSoTW5XnuCkQrSoz','ymkpWOZdN0i6ySkvf8oh','W53dNUkeI8k1ACk/jCoxWPiZ','a8oyWOlcNmkvWQKPW5ZdPWy','W4D7n8o7rCklWQVcL8oiW60','gCk4W7hdRcexAq','bCo9W5tcPc1EfMNdUgC','rIFcGmk2WOWOW6OQW6RcNq','nmoNWOlcNmkdWRSGWPdcPrC','WOBcSmoPWPGErq0TWPbK','eSofsIW2lsVdRJ8z','W43dQqBcKgS','WPSYC8owfCoc4OwkW5RdJSk+','hSokW4hdJmkSWR8/W5ZdQGu','WONcP8o5W4OubsD1WP4Y','g8kmsMGWkt3dVtaz','aSojWQRdVhddKKdcOSkzhq','fCkjgKmZEmkMW7BcNX4','WP7dRHSZWR7dSmo7zCoRW58','ACoXW5e+WP/cMCo9W5jwaG','ndRcJ8olpSkJ','W7qkW5O1WPyHWQyXmgW','A2fvqSo8W7/dRHpdIxa','WRxcImoTm8kBimoZWQmHWRW','eCkjcKm1DCk6WRtcNXW','WQldUa0ZWRddQSkeySoMW5C','W4ddVeHoiSkeW5NcV8kWWQq','BuRdLGVdO8kft8oUmu8','WOTKW4vkCCkoW6j2vSkc','Fu/cKX3dNwFdG13cUYm','W53dSSoZWRD/W5aOCCkoW7e','dCoSW4VcPh46C1ZdSxG','DSk+W5ldPmovW5L7W5xcQCoF','W7tdTeXBySkeW7lcOSkMWQ4','W5JdQrVcKMLG','W5zZkmk4jmoWsWJdMCkE','WPRdPmojWQDKWP0OySkDW7C','WRdcL0/dUSojW73cQmoQFSks','dWrRjmk1BSoFE8oAW6y','rSoCW4NdNSoGWQK4WP3dQWC','BaBcJb3dJxVdJLNcRxW','cCkKW7BdOc0yDa9OWOm','W4C6kCk4jmkKabFdMCof','W47dTmonWRb1W5i+DSkpWRG','WPdcJSoWW7ztW6LAW4/dG1G','iCoEnKtdHs7cS8odoSoO','WPtdN8ksqCofWQzbWOFcUMi','hmkSW5e2WPNdPSoRW5Psda','kCoriuRcSGJdI8knWPig','vokfTv5fnupcT8k/W4Wo','vmkeeuW1ECk7WQ7cNXm','lh1Eb8kvWPNdO8k/W6ue','e8oyW4NdJG','rgDAqmo8W7/dSM7cNYC','xokcTKOmmse1W6GOdW','sSoUW5dcPd0/phpdOgq','WO7cPCk8WPKpd257WP4F','sZpcR8kt4OoOWRf9mSkOWRe','W7L0qSkbW63dG8k+W6fCyW','cCoUW4ZcQd0XBW/cUcS','bmosWOhdJ8kPWR4PW5lcJ1i','hCk2W4rNW5/cISk8W61lnGZcJK0','dr1IjCkQBq','cmkYW6ZdRsGcEcr9W4y','CaJdQmorWPNdOK93WQZcOa','qmoUW5eHWP/dLSoKW4Dqfq','W7nvW6dcH8ozm8oOWRtdNay','BSkxW7tcNarfCCkjWObU','WOKPDCoQxmklWRBcNCkjWQK','W514WQuQDW9eWO8aDG','W5/dVCkuxMfCsKzyW7O','WOldPmo6WOmddNq0W5G2','sqRcLftdMNFcNe3cP2a','aSooW5/dN8kYWRmUWPK','BLFdLrddTSor','WQBdVbXyk8ogWPZcJmksWOi','BXNcGr3dLwpcJfpcPYi','WRxdJCoTpSkDDmk/WQm5WRu','g8o5W4RcQdaZ','4OECW5hdTSkCof80WPBcHNq','jXVcRCktWRO0DSoKmmkk','wmkCpMRcTSkXgXldNCoR','nmoBWQBdU2NdIbJdU8ooda','W4nOmSo9oCkXqaldMmki','WOZcN8o1WRvkWQqzW4FcHZC','uqVcJXFdIIlIG7OFWOrR','lGZcIbhdMMNdGH/cPYa','mmolcd0/pJZcQs4f','zfPOD8oCWOldTCkRW6qs','W4mKxmkjW6ZdHCk2W7bqDq','WO/cT1tdMgTXbK9qoW','pSoagSoZWOm9gCk4kY8','xqZcGrRcMxBcHLBcSs4','t8oQW5e4WP7dISo7W4Ctfq','CmkZWPNcNmkpW5LrWRJcISoV','zmkNW6CGpCkawNGpDa','W6uDW5T2WODUW6a+iwC','k8okoLNdTX/dKmkTWPOr','omoFW6NdUxddLf7cVSoAhq','W4D/W6ZdJ8kRWRxdU8k+W7ip','e2NdVSoJWPddUxyqWPC','i8onWQRdVwVdMfhcQmkzdW','W457kCkXmSo+','vmkHg1yIDmo1WRBdNG4','W6FdSeXdk8oxWPZcQ8kWWQq','tCoUW5e1WOldMSo9','WP7cKmo9WRvSWRKFW5pcGtS','WP3cM8ovvSkkWQrlW5xdV0e','zgbsqSkZWOFcNq3cHcy','WOiO4OgyW653WRXebCozW4u','WPNcLSkgfCkdWQLCWOBdRHC','W5e6o8kVomk6satdN8ke','W5PUW67dJSkWWRpdOCoNWR4c','lgXjrmkzWPNcSokdNSkGgq','WOaOWRNdU8k1WQ/dQmk2WP4','W5/dR8kEwMTxrcacWQi','v8oazcxcR8kTcLpdLSkQ','WQlcNSoSm8klDSoZ4OwqBCk3','oCkm4OoDWQLxW5vDWQ3dNbS','W4FcTSo5WOWEgwj6W50H','cSocW47dJSkHWQG1','rmkgWQJcJW7dTZnMm1q','W6uuW6hcM8kAkCoOW73dMb4','jSk3W7dcSmomaCo2DCkCpa','WO97uSoUrmkwW7JcQSoBWQS','CSkrjqRdOL3cK8klm8o6','iSoTW43dUCoFW5TrWQNcN8oC','W74kmSoTWOjuofTwdG','rd3cVmoqWPq','kcBdHCozomo3oIxcOSoM','WOVcH8k5W7P8W6SjW5FcIsC','kdlcGmocmSkWAtNcOSkZ','W7tdPtVcPhBdN8oUW4ftfa','WPlcRCo4WOSvcgi0W58Q','tCkkiIxcHCkRdHBcK8kP','WO3dUSksxMTxd1KrW6O','W6DrW6BcNCkrFmoUW7ZdIuC','WQldGCk5nCkxmmk2W6iOWQG','W514W6ddJSo1W7ZdTSkYWQ9l','WOrLWQuQzGHqWPvelG','k8kDW7tcNGzdjCofWQPo','EWpcJHhdI2pcJfBcRMC','WPxcRCo5WPLBgg5WW5TP','sZxcVSowW5ZdT0K4WRhdSG','Bq/cH8k+WQ7dSdJdIIJIGPy','uColeCoKDmkfDmojW7BdVa','amksdeDTpmk0WRtdM1O','lYBdHCoEl8k4iYJcRSoN','mZefbmkVWRtcPWxcGHNdUNNdUW','W7/cVeRdSmkhWQ/cRmk2ymoH','pCoDdSo5W5eLcmkXoIS','s8oVWQNcS3qMCbDRW4y1','iSkBjuZdJNZcRCoko8o8','W5/dTmoEWRTI','nSo4WOhdL8oxWOqwWQ7cVW','CI/cRCktWPVdPwq2WQNcPG','mxHjxSoCWOpdVSoQW7qF','W7xcR0G','n8oDsmoZW4iRaCoXu3S','W6uuW6dcM8kymmk3W6pdGXu','kXNcR8kAW7fnxmozoCof','WOqey8oOvSkmW7JcJSogW6O','pCkmD0VcGwlcQCojj8o+','W4T5lSkUESkJtGBdHq','EWFcKmoQ4OotWRmoW5PPW6W','w2NcHmkHWP4VWR4OW63cNW','WPBdPqWZWRhdU8kVCSoRWPy','mSkXWRhcM8oYlSocbCoDEW','yCkNW7tcSSokhCo0DCkiBa','WPRcT8ors2fxd1LcW6u','CSk4W5JdU8olWOm','d8ozWOZdL8kLWQnSWPJdRau','A1FdKWNdV8kfsSkHpLu','wSoTsaXHE8kHWOxdNG8','W5tdOCojWRa8WP0WECkBW7W','fSohdvyGCSkXWRVdJr4','sSkwWPldJGZdQZvAkbC','hCkYW4u1WOpdQ8o5W5bJ','DSoxW43dPG','WO/dQCkEqgDxhGPxW6m','W5z/m8kP','uCkAWPFdT8ovWPnrWQZcM8ot','WPxdN8kzxmkwWRqoWPJdS14','WPdcK8k5W7POWQ0tW5hcGZm','BaxdMrldOSoadSkNlLu','CMZdL8kAB8oUEqBcPmoAaHNcOq','dmoSW4ZcPh4WC0VdOwy','qmkOW6PHlmkacxLCyq','e8oyW4NcNmkNWQ5UW5ZIHjDd','fmkmeSotDmkemmodW6RcVq','W61qWRlcI8kjomo7W6ddIuK','nSoHWQZdUNhdMLpcVG','WQZdVxddPIlcGSk9WOXEl8k+W5tdMa','a8ohW4NdNCkZWR9SWPldQHC','W5T2W55lnmoxW68VgmkE','qtNcUSowWPldSL4KW7ddSG','W7qeWPjMWOCVW7q0mtG','WOJdVHxcNhe0cejbpa','WOxcNmkDfCkqWRadWOhdTrq','AcHuwmo8W6pdScVdIZe','W6KNs8kA','W53dQbhcJq','CSkyofJcGq','gCkijghdICkJfGRcK8k5','WOVcM8oHW6e','WRH6W73cS8kde8or','rSoFW4NdN8kOWRqLWO3dSay','eCokkuJcUWldMmk1WODs','E1BdJLddTSoxt8kTku8','tCoFkeGvxSktWRa','BSkfW77dIazdCCkSWQ04','umkciHSkhgNcQrK5','WO7dRSkuwhSosGHQW7G','tCoVWQFcThffkXzOW6yEsmol','pCofWQ7dOxBcM1xcTCoasq','W6DfvCo3WPv9iXKcaa','WRddPhtdKmoQW4JdOmk0j8k/','pr3cJmkLWRdcSZddNcJdPW','mSkXW6pcVColca','nmopWRZdU2VdJ03dU8krjG','tSoWWPaJWPtcMCoGW4nEba','EXZcHqy','WPBdVSkccMnAdGPxW6K','W7pcRvFdSmod','sCoWWOjRW43dLCoNW4bbaa','ECoGjKxcTadcN8k/WOeD','W7b0sSkhW6ZdGSoXWPKcka','vhZcRSowWOJdSLmYWRJdSG','vmkgefTHAmk6WQRdLHK','jSkwmGRdJw/cTmoojSoR'];a1_0x4a1e=function(){return _0x5b99be;};return a1_0x4a1e();}const server=new McpServer({'name':SERVER_NAME,'version':SERVER_VERSION},{'instructions':a1_0x30fa36(0x96,'zW9l')+a1_0x30fa36(0x144,'rd52')+a1_0x30fa36(0x122,'mGRU')+a1_0x30fa36(0x13e,'5HE(')+a1_0x30fa36(0x14a,'zW9l')+a1_0x30fa36(0x1bd,'gH63')+a1_0x30fa36(0x13a,'wJKg')+a1_0x30fa36(0x1ae,'h7H)')+'ries,\x20fram'+a1_0x30fa36(0x120,'rd52')+a1_0x30fa36(0x17d,'ZWQd')+a1_0x30fa36(0xcf,']Sas')+a1_0x30fa36(0x1a9,'rd52')+a1_0x30fa36(0xae,'DkQS')+a1_0x30fa36(0x9c,'o%*l')+a1_0x30fa36(0x1a6,'R2Sf')+a1_0x30fa36(0x164,'5Vu)')+a1_0x30fa36(0x1a1,'f^7I')+a1_0x30fa36(0xab,'MV0d')+a1_0x30fa36(0xdf,'ZWQd')+'atabases,\x20'+a1_0x30fa36(0x173,'u24P')+a1_0x30fa36(0x160,'ZWQd')+a1_0x30fa36(0x11e,'gh&#')+a1_0x30fa36(0xbc,'Kfn^')+a1_0x30fa36(0x10d,'p&fE')+a1_0x30fa36(0xc8,'0aJp')+a1_0x30fa36(0xe9,'lPp0')+a1_0x30fa36(0x1aa,'h7H)')+a1_0x30fa36(0x1a0,'r^04')+'and\x20docs\x20U'+a1_0x30fa36(0xd6,'CsL%')+a1_0x30fa36(0x13c,'o%*l')+a1_0x30fa36(0xc5,'zW9l')+a1_0x30fa36(0x123,'AGMQ')+a1_0x30fa36(0x194,'o%*l')+a1_0x30fa36(0x188,'oh@8')+a1_0x30fa36(0xe6,'ZWQd')+'iltered\x20by'+a1_0x30fa36(0x141,'B%3g')+a1_0x30fa36(0xbd,'g5xO')+a1_0x30fa36(0x15e,'Qj%O')+a1_0x30fa36(0x135,'ZWQd')+a1_0x30fa36(0x1b6,'zDJ6')+a1_0x30fa36(0x155,'B%3g')+a1_0x30fa36(0x170,'gH63')+a1_0x30fa36(0x12c,'Cn#I')+a1_0x30fa36(0x11f,'WSN7')+'—\x20Detect\x20a'+a1_0x30fa36(0x10f,'h7H)')+'\x20dependenc'+a1_0x30fa36(0x1ac,'B%3g')+a1_0x30fa36(0x12d,'Bbmr')+a1_0x30fa36(0x133,'rd52')+a1_0x30fa36(0x16c,'5Vu)')+a1_0x30fa36(0xb1,'@jVU')+a1_0x30fa36(0xb9,'WSN7')+a1_0x30fa36(0x192,'l6M#')+a1_0x30fa36(0xf5,'CsL%')+a1_0x30fa36(0xa1,'lPp0')+a1_0x30fa36(0x8a,'LOWf')+a1_0x30fa36(0xf7,'p&fE')+a1_0x30fa36(0x1b2,'ZWQd')+a1_0x30fa36(0x17b,'ZWQd')+a1_0x30fa36(0x172,'Qj%O')+'\x20project\x20c'+a1_0x30fa36(0x1c2,'5HE(')+a1_0x30fa36(0xc1,'r^04')+a1_0x30fa36(0x114,'B%3g')+a1_0x30fa36(0x115,'DkQS')+a1_0x30fa36(0x185,'mGRU')+a1_0x30fa36(0x1b0,'YfEV')+a1_0x30fa36(0x1c7,'IDgf')+a1_0x30fa36(0x107,'LOWf')+a1_0x30fa36(0xa0,'0aJp')+a1_0x30fa36(0x18f,'CsL%')+a1_0x30fa36(0xd1,'CsL%')+a1_0x30fa36(0x129,'5Vu)')+a1_0x30fa36(0x1bc,'B%3g')+a1_0x30fa36(0x8c,'cbe#')+a1_0x30fa36(0x1af,'cbe#')+a1_0x30fa36(0x9f,'nlD#')+a1_0x30fa36(0x1bf,'DkQS')+a1_0x30fa36(0xf6,'AGMQ')+a1_0x30fa36(0x119,'h@Oa')+a1_0x30fa36(0x14b,'gH63')+a1_0x30fa36(0xd7,'DkQS')+a1_0x30fa36(0xec,'fnGv')+a1_0x30fa36(0x104,'f^7I')+a1_0x30fa36(0x13b,'vqak')+a1_0x30fa36(0x15c,'DkQS')+a1_0x30fa36(0x10a,'CsL%')+a1_0x30fa36(0xfd,'h7H)')+a1_0x30fa36(0xa4,'zW9l')+a1_0x30fa36(0x16d,'SWst')+a1_0x30fa36(0x139,'o%*l')+a1_0x30fa36(0x136,'h@Oa')+a1_0x30fa36(0x1a5,'Kfn^')+a1_0x30fa36(0xa8,'Kfn^')+a1_0x30fa36(0x110,'SWst')+(a1_0x30fa36(0xee,'Cn#I')+a1_0x30fa36(0xf4,'zDJ6')+a1_0x30fa36(0x18a,'CsL%')+a1_0x30fa36(0x17e,'2id1')+a1_0x30fa36(0xbb,'o%*l')+a1_0x30fa36(0xfc,'o%*l')+a1_0x30fa36(0xe4,'wJKg')+a1_0x30fa36(0x11d,'r^04')+a1_0x30fa36(0xca,'wJKg')+a1_0x30fa36(0xff,'ZWQd')+a1_0x30fa36(0x127,'YfEV')+'\x0a\x22find\x20and'+a1_0x30fa36(0xcb,'MV0d')+a1_0x30fa36(0x143,'rcuX')+a1_0x30fa36(0x94,'6OSy')+a1_0x30fa36(0xfe,'cbe#')+a1_0x30fa36(0x9b,'wJKg')+a1_0x30fa36(0x105,'oh@8')+a1_0x30fa36(0xda,'zW9l')+a1_0x30fa36(0x1c4,'SWst')+a1_0x30fa36(0x1a2,'B%3g')+a1_0x30fa36(0xfa,'mGRU')+a1_0x30fa36(0x1a7,'Qj%O')+a1_0x30fa36(0xdb,'CsL%')+a1_0x30fa36(0xf3,'R2Sf')+a1_0x30fa36(0xd0,'mGRU')+a1_0x30fa36(0xd4,'oh@8')+a1_0x30fa36(0x100,'ZWQd')+a1_0x30fa36(0x1b1,'LOWf')+a1_0x30fa36(0x15d,'LOWf')+'official\x20s'+a1_0x30fa36(0x13f,'0aJp')+a1_0x30fa36(0x152,'8tM)')+a1_0x30fa36(0xb0,'Kfn^')+'a.')});registerResolveTool(server),registerDocsTool(server),registerBestPracticesTool(server),registerAutoScanTool(server),registerSearchTool(server),registerAuditTool(server),registerChangelogTool(server),registerCompatTool(server),registerCompareTool(server),registerExamplesTool(server),server[a1_0x30fa36(0x178,'Cn#I')]('audit-my-p'+a1_0x30fa36(0xe2,'6OSy'),a1_0x30fa36(0x12a,'AGMQ')+a1_0x30fa36(0x181,'B%3g')+a1_0x30fa36(0x186,'lPp0')+a1_0x30fa36(0x8f,'LOWf')+a1_0x30fa36(0x154,'WSN7')+a1_0x30fa36(0x19e,'lPp0')+a1_0x30fa36(0x1c1,'5Vu)')+a1_0x30fa36(0xb3,'8tM)')+a1_0x30fa36(0x137,'h7H)'),()=>({'messages':[{'role':a1_0x30fa36(0x102,'CsL%'),'content':{'type':a1_0x30fa36(0x8e,'BS[^'),'text':a1_0x30fa36(0x189,'Bbmr')+a1_0x30fa36(0x18b,'g5xO')+a1_0x30fa36(0x14d,'Kfn^')+a1_0x30fa36(0x130,'rd52')+'\x20for\x20all\x20c'+a1_0x30fa36(0x101,'0aJp')+a1_0x30fa36(0x1ba,']Sas')+a1_0x30fa36(0x166,'gH63')+a1_0x30fa36(0x177,'B%3g')+'bility,\x20se'+a1_0x30fa36(0xb6,'mGRU')+a1_0x30fa36(0x89,'WSN7')+a1_0x30fa36(0xc2,'zDJ6')+a1_0x30fa36(0xef,'h@Oa')+'.js,\x20Pytho'+a1_0x30fa36(0x142,'WSN7')+a1_0x30fa36(0x12b,'h7H)')+a1_0x30fa36(0x113,'BS[^')+a1_0x30fa36(0x111,'r^04')+a1_0x30fa36(0xf8,'vqak')+a1_0x30fa36(0x12e,'l6M#')+a1_0x30fa36(0xfb,'gH63')+a1_0x30fa36(0x159,'BS[^')+a1_0x30fa36(0x195,'wJKg')+a1_0x30fa36(0x99,'8tM)')+a1_0x30fa36(0xc4,'Qj%O')+'ation.'}}]})),server[a1_0x30fa36(0xf0,'0n6t')](a1_0x30fa36(0x9a,'WSN7')+a1_0x30fa36(0x16b,'R2Sf'),a1_0x30fa36(0x1bb,'o%*l')+a1_0x30fa36(0xb8,'WSN7')+a1_0x30fa36(0x138,'mGRU')+a1_0x30fa36(0xd8,'f^7I')+a1_0x30fa36(0x176,'nlD#')+a1_0x30fa36(0x149,'nlD#')+a1_0x30fa36(0x146,'CsL%'),{'library':z[a1_0x30fa36(0x11c,'oh@8')]()['describe'](a1_0x30fa36(0x125,'f^7I')+a1_0x30fa36(0x124,'AGMQ')+a1_0x30fa36(0xdd,'f^7I')+a1_0x30fa36(0x128,'0n6t')+a1_0x30fa36(0xd2,'zW9l'))},({library:_0x1df27b})=>({'messages':[{'role':a1_0x30fa36(0x197,'0n6t'),'content':{'type':a1_0x30fa36(0x91,'u24P'),'text':a1_0x30fa36(0xb4,'6OSy')+a1_0x30fa36(0x151,'6OSy')+a1_0x30fa36(0x156,'SWst')+a1_0x30fa36(0xcc,'oh@8')+a1_0x30fa36(0xed,'oh@8')+a1_0x30fa36(0x198,'gH63')+_0x1df27b+(a1_0x30fa36(0x1c6,'nlD#')+a1_0x30fa36(0x15f,'g5xO')+a1_0x30fa36(0x17c,'fnGv')+a1_0x30fa36(0x1a4,'rd52')+a1_0x30fa36(0x112,'zW9l')+'hanges,\x20an'+a1_0x30fa36(0x184,'o%*l')+'ration\x20ste'+a1_0x30fa36(0xb2,'SWst')+a1_0x30fa36(0x134,'vqak'))}}]})),server[a1_0x30fa36(0x118,'lPp0')](a1_0x30fa36(0xc0,'Kfn^')+a1_0x30fa36(0x171,'vqak'),a1_0x30fa36(0x116,'AGMQ')+a1_0x30fa36(0xd5,'u24P')+a1_0x30fa36(0x8d,'AGMQ')+a1_0x30fa36(0x1be,'fnGv')+a1_0x30fa36(0x16a,'0aJp')+a1_0x30fa36(0x161,'6OSy'),()=>({'messages':[{'role':a1_0x30fa36(0x196,'YfEV'),'content':{'type':a1_0x30fa36(0x9e,'oh@8'),'text':a1_0x30fa36(0x169,'LOWf')+a1_0x30fa36(0x16f,'zW9l')+a1_0x30fa36(0xe5,'rcuX')+a1_0x30fa36(0xbf,'vqak')+a1_0x30fa36(0xe0,'hAGc')+a1_0x30fa36(0x13d,'vqak')+a1_0x30fa36(0x174,'hAGc')+a1_0x30fa36(0x1b3,'gH63')+a1_0x30fa36(0xf2,'fnGv')+a1_0x30fa36(0x1b4,'o%*l')+a1_0x30fa36(0x8b,'cbe#')+a1_0x30fa36(0x19d,'cbe#')+a1_0x30fa36(0xa3,'WSN7')+a1_0x30fa36(0x14f,'6OSy')+a1_0x30fa36(0x18c,'SWst')}}]})),server['prompt'](a1_0x30fa36(0xc6,'Cn#I')+'braries',a1_0x30fa36(0x103,'wJKg')+a1_0x30fa36(0x1c5,'BS[^')+a1_0x30fa36(0xac,'u24P')+a1_0x30fa36(0x190,'MV0d')+a1_0x30fa36(0xa5,'Cn#I')+a1_0x30fa36(0x147,'2id1')+'one\x20to\x20use',{'libraries':z[a1_0x30fa36(0x1a8,'nlD#')]()['describe'](a1_0x30fa36(0xaa,'zW9l')+a1_0x30fa36(0x1b7,'Qj%O')+a1_0x30fa36(0x121,'vqak')+'\x20e.g.\x20\x27pri'+a1_0x30fa36(0x9d,'o%*l')+a1_0x30fa36(0x95,'nlD#')+a1_0x30fa36(0x14c,'Cn#I')+a1_0x30fa36(0x158,'5HE('))},({libraries:_0x504f26})=>({'messages':[{'role':a1_0x30fa36(0x1ab,'AGMQ'),'content':{'type':a1_0x30fa36(0x182,'vqak'),'text':a1_0x30fa36(0x93,'zDJ6')+a1_0x30fa36(0xea,'MV0d')+a1_0x30fa36(0x92,'p&fE')+a1_0x30fa36(0x108,'YfEV')+a1_0x30fa36(0xeb,'AGMQ')+a1_0x30fa36(0xba,'gh&#')+_0x504f26+(a1_0x30fa36(0xc9,'CsL%')+a1_0x30fa36(0x179,'CsL%')+a1_0x30fa36(0x191,'LOWf')+a1_0x30fa36(0xf9,'fnGv')+'\x20and\x20which'+'\x20use\x20cases'+a1_0x30fa36(0x193,'0n6t')+a1_0x30fa36(0x1c8,'IDgf'))}}]})),server[a1_0x30fa36(0x10c,'zDJ6')](a1_0x30fa36(0x131,'5HE(')+'heck',a1_0x30fa36(0xaf,'IDgf')+a1_0x30fa36(0x183,'Cn#I')+a1_0x30fa36(0x17a,'lPp0')+a1_0x30fa36(0xa7,'rd52')+a1_0x30fa36(0xdc,'DkQS')+a1_0x30fa36(0x15b,'AGMQ')+a1_0x30fa36(0x150,'mGRU')+a1_0x30fa36(0x12f,'cbe#'),{'topic':z[a1_0x30fa36(0x90,'h@Oa')]()[a1_0x30fa36(0x117,'CsL%')](a1_0x30fa36(0xde,'rd52')+a1_0x30fa36(0x163,'R2Sf')+a1_0x30fa36(0xa2,'wJKg')+'ction\x27,\x20\x27J'+a1_0x30fa36(0x10e,'LOWf')+a1_0x30fa36(0x109,'oh@8')+a1_0x30fa36(0x126,'0aJp')+a1_0x30fa36(0xc3,'Kfn^'))},({topic:_0x4ff965})=>({'messages':[{'role':a1_0x30fa36(0xc7,'u24P'),'content':{'type':a1_0x30fa36(0x19a,'mGRU'),'text':a1_0x30fa36(0xe7,'hAGc')+a1_0x30fa36(0xe3,'l6M#')+a1_0x30fa36(0x11b,'rcuX')+a1_0x30fa36(0x175,'nlD#')+a1_0x30fa36(0x153,'DkQS')+a1_0x30fa36(0x148,'SWst')+a1_0x30fa36(0xf2,'fnGv')+a1_0x30fa36(0xf1,'vqak')+'\x20'+_0x4ff965+(a1_0x30fa36(0xb5,'gH63')+a1_0x30fa36(0xa9,'f^7I')+a1_0x30fa36(0x19c,'CsL%')+a1_0x30fa36(0x157,'rcuX')+a1_0x30fa36(0x16e,'gh&#')+a1_0x30fa36(0x11a,'AGMQ')+a1_0x30fa36(0x199,'WSN7')+a1_0x30fa36(0x15a,'r^04')+a1_0x30fa36(0xe1,'h7H)')+a1_0x30fa36(0x145,'DkQS')+'s.')}}]}));async function main(){const _0x1c3a78=a1_0x30fa36,_0x14b1c5=new StdioServerTransport();await server[_0x1c3a78(0xd3,'p&fE')](_0x14b1c5),console[_0x1c3a78(0xd9,'0n6t')](SERVER_NAME+'\x20v'+SERVER_VERSION+('\x20running\x20v'+_0x1c3a78(0x106,'DkQS'))+getInstallId()+']'),checkForUpdate()[_0x1c3a78(0x97,'5Vu)')](_0x5c27a5=>{const _0x41b9de=_0x1c3a78;if(_0x5c27a5){setPendingUpdate(_0x5c27a5);const _0x4e0c15=formatUpdateNotice(_0x5c27a5);console[_0x41b9de(0xad,'oh@8')](_0x4e0c15),server[_0x41b9de(0xb7,'wJKg')]['sendLoggin'+_0x41b9de(0x18d,'rd52')]({'level':_0x41b9de(0x1b9,'WSN7'),'data':_0x4e0c15})[_0x41b9de(0x14e,'LOWf')](()=>{});}})[_0x1c3a78(0xbe,'Cn#I')](()=>{});}main()[a1_0x30fa36(0x1ad,'R2Sf')](_0x50e531=>{const _0x4fd1fb=a1_0x30fa36;console[_0x4fd1fb(0x167,'fnGv')](_0x4fd1fb(0xe8,'h@Oa')+'r:',_0x50e531),process[_0x4fd1fb(0x180,']Sas')](0x1);});
|
|
2
|
+
const a1_0x5a2c15=a1_0x126f;function a1_0x3f62(){const _0x313b97=['axLkWR3cOCkBcSk1WOqe','W6O3iCk7WONdTYZcTCoarW','W7pcTmkDW5yHrmoF','i8kRW7ddKG','WPfiW4NcUmkpWPqoACk5gW','tmk5nMZdUuNdKCkyW4VdTG','gI8cqWddKLWFWO8v','ngGzW6zbp8oygCogkG','bvxdSWjEk8kxEmoWWOe','gCoWW5xdK33dL8o3p1dcHG','bmkEbXaIW7XG','e2xIGyBdKatcL8kDWQxdHZK','uN9mWRZcJSkFqCoYWOHe','dCoSCJ3cOGVcImojW6hdLmk2WRBcONS','hrDwWQbNr0tcRSofoW','W5zHDZJcHCo3zxXvW6S','W6i4EI4hy8kvWQFcVSkptaiF','W7vMo8kBW4q2tmogW53dNa','qutdJYWjWQlcNu8YDW','tZWfu1NcK1yjW4Wu','W70bDImqWQddU2KCzq','WPKUWOBcMSkaW6fzoSoRW7W','WQxcOSkHW6WMzmkzcefu','c3jfWRNdLSkpW59jWQb9','wvOmlCoeWPynW7hdGCos','WPi5W5xcMmkCW7eBmW','DKilWPj/WPXyW6JdKtK','W4m6AttdI8oMkJbzW6C','u8k4isRdV0JdJ8kmW4ddPG','W4NdNSk8WONcO28ir8osWRC','W4vvW5xcPa','WOBdOSkwW4q','DxXnWRmfeSkpmmo2m8ku','W5H8W7xcK8kbW69ziSoQW7S','W7RcKSoScSkyW7ddP8o5nmkm','oaRcLmkqW6ldPerVWQhdLa','W5bEW4NdSmkMW5ZdN2mCW7G','W7GcW4RcO8opW7OKs8k4cq','W5i3oZJcMmoHmhvjWQq','WPCnWQldU8oTaSoyW4uZW4i','W7RdSmkyaSk4kq','hSoVWQJdO8kJeGmyWPDW','WPJdH8odgbG3ACkZWPZcTW','DCowWRLuW4C0gJPYja','W7tdIhxdIrCU','c0vuWR16','rXBcQ1ebDmont8o4W6FcQXu/','W70jnmkTWOu','aCoGjvpcMmopvWJdN8k6','WPpdSSkAW5/dMf7cPmo3ivy','yNvpWQJcO8kcq8k1WPvD','jmk5W6FdMCkbq0BdPYVdNW','sokdO0uHlmoJACoonZq','B8k5jxJdTvpcNmk2W7ldLa','W4dcTmoEWOBcTHVdSCoEaYZdLxC6','iMBcSmoasGtdQqBcUWi','WR/cGSoCjCkFW43dTq','dKxdMcWeWR/dLokaQMD8','W6BcTCkNW6e3CSoxoGrj','yHddT13dKrhcRCogsdm','y2xdTCobWRldImkAW71Ylq','ecSAW63dSmocACoXWOzpWPPs','ASoZW5NdLc/dN8oVkLdcKq','WPVcTmoDWRi4EG','beFdUrrEjmkBF8kP4Ok5','eK/dTaCztCogiSkPW4O','oh7dK8k8WQGGW4uYFIe','cSoGWRldR8kYfHjwW5C5','e1/dH28oWQRcKLCKEW','cGP2W4ldPIW','W6/cK8kNxmkOW63dTSkWoCkh','WOBdSSkCW5xcQW3cPSo4k1y','W5WaW6xcPmocW7jXtSkZtq','WPxcTCkPW6fJy8orj1Ca','WOxcHSoecr17ymo6WORcTW','WQeGW7JcVSkob8oBW4PMW5S','W67cHCo9gCkEW6RcS8oXn8ko','smk0dqCGW6u5W403pG','AeimWPmYW45hW4FcKNq','WPRcP8kCW5xdPeJcQCoIBWq','W5nzW4hcUCk0W4dcI2yBWQO','WQJdV8kUW7NcT8oSFhZcIK8','hmk6k3JcTG','W5vvW57cS8kYW5ddIwu','E8kLWOFcLZNcJCkWbqhcUfddMZC','W50qW4NcV8kJW4RcHqPdW7y','W5/cLSkQW6RdN8khDthdIvW','aSoMWRxcPSk4huefWPnW','cXDrWRPPwqhcRSozEG','FZ43WPffWONcJCoNW4e3','WO/dJmksW4pdU8kJke3cIfG','WPlcMZNcHrv0pJlcRWm','t8k1ig/cRbS','W73cK8oSdSosW6ZdPSo+l8kl','oCk1W5FdIgVcNSoWlH/cHq','tLiiWRuMdqBcVCodCG','CauwEbG','nCoUw8odW6/dJx3cM0TO','oxpcJSoErKBdRW/cRaG','dwP5dYVcRSkiW5pdUeC','WPzjW5JdQUkcTCk+v0NcTWm','yrqmnWH0W61BWRWf','WOJdNSo1WO/cVM0j','WP7dKmkzW4JdRmkKlZhdIuG','gJCgWR3dHSomW5XvWQeU','nYKjW61BjCkF','W5TcWQajW6S','eXddIsafWQNdLfC0yq','gwtdLCo5WRX0W7WUAwa','W5nFWQadWRCQkSoiFrW','WPnsW5xdQSopW79Pt8kLqq','WPefWRRdT8k5h8kBWOy1W4O','W7bVjNPqkmobW6pcOSk2','WOCjWQ7dQG','bbddJtTbWQRcM0XNsq','raFdS0q','je0lWPuWW5qEW7BdMsi','ymohWQnlW540','gIDfWRFdH8omW4LFWRbH','WPnLjN9uESowWQBcU8kJ','cZGyvaVcM1Ov','W77dMsVdH8owmmo6nJBcGW','A2zOtJddPSkmW5xcQLW','WRXKjhrlESofWQ3cRSoM','a0ldIZ0yW6ZcML8QDW','DKOnWPu6W59BW6NcKdi','W5rCW4JcPSkHW5FdNYa3WO4','W6pcJmo9gCkpW7VdT8kWoCkB','sGCwDGLLW7DmW7Kg','WPnkW6OXW7LhWOKOsCou','vxjhWRy','lYvBW6XulCkrcSoDkG','FSkCW6igW6GVetO/cG','imksW5hcILiDW4u/z34','vvXIzh4dsZVcPsS','A1tdO8kjW7TOW4y8Agq','frfJWOVIGPXRWQBdMJVdKq','gLPAlSoFWPDiW67cImow','WQRcH8o9i8kFW7VdOmoKbmks','a1/IHiGqW5DiWOhdHKaZ','WPm9W4xcK8ooW7Cxm8kSWR4','eCoGm0G','zXyqFGv/WR5CW6Gq','AGFcNCkoWQ3dTei8W4/cLW','W7TiiSkRWP7dQNxdRCojbG','zSoQWPWTjIDyW67dPMC','E3BdPmonW7tdQCkkW6TIlW','wvCmiSoEWP0DW6FdGCoa','WPRdL8k2WP7cO2Cov8kAWQC','cCoXWQFdTmkOu+kbTvhcQxW','qgi8tdpcQ8kzW4BcRfO','fw/dIsamWRZcLuPN4Ocg','lMxdKCkRWRjLW5a','xfzyomknWOWnW7hcLCkA','W7ajFZisWQBdRwKsBq','tr/cNSocWQxdT25NWRddGq','WQb/lhfplG','tWVdU0tdMvpcSmkdwtW','W5xdPSkydmk7FEkaPCons00','FGZdV1hdGL/cTSklq3i','WP0lWRpdSSkIaCkxW5iPWO8','dcGzxG3cIXrqWR4d','lMlcPmoasGRcL1FdSfe','adKaWRZcMComW5jtWRr8','ev7IGjdcI8oDjCkjW4KQW4a','WP0XAh3dI8ocpgrsW6C','iZWsW6bxomoyd8oBoq','WQHpAc0AW6/cVJ8CzW','WP3dKCk9W4VcPh5xwSoyW6K','w2PtW6JcGSk1W41JWPfSgG','a1xdV0bqm8oClokeM8kn','k8oHW5FdHg7dJCoMnvZdKG','W6ldGokcNvZcU8oSW7BdTt3cJq','bvxdRWvezCoE4OAEWQNdIG','ySo3WPOcAINIH4ddHmowFa','F8otWQPpW40PaNz6ga','ESkKW5L9zITYWPNcMai','W4eYBYJdH8kYjhnzW60','W7b5ldXEnmkeWORcK8oM','kCo6W5JdIgRdNCo3','FGNcICkhWQZdOfr1W6NcLq','W7b9mxnvp8ohWRFdT8kL','wXGXC3ajsNRcSJC','4Ow7WPlcSSkFWO58h13dMmkO','b8oNp1NcN8kgxqJdK8kM','WRX1o8khW4qTtmoJW6tdSW','whr5xq','xZT1WPnwWPtcNSkIW5yS','f8oNjfpcLmob','gmoSWQRdSmk0uWbrWPDW','nSkWfmokW6xdIMZcM0H/','W716F8oqW4m9cCodW5/dKW','W6KCEY0qW60','ca1WpYrvhLhcMteCW5ZdUq','d8kfbayQW6b+WO8KCq','W5jeW4NcUSoeW7bGt8k4dG','WQRcLmoMdmkuW73cVCkAAmom','bY1fWQJdH8kdW5bFWRbG','WRvHjN1mp8keWQ3cUmkY','bh7dL8kXWRDPW4q1Ece','WQBcOSk/o8kCdr3dJu57','DwxdUCkcW7JcH8kkWR1XlW','jCoXW5pcHMNdKCoXzGlcLW','tv06CW','x2O8xdNcP8kBW4tcSaK','WOldH8ozgHLKkCo6WP/cQW','W5RcImkxgGHiymkIWP/cQa','WRf+jJXrnCoqWQBcPmoM','d15iWRTMsGhcQCoqBW','cf7dJd0aWR/cGeWYCq','vJq+','cfjsWRfGdvxcPCouoW','WQhcQ8ooW5hdSLNcR8k2pai','d1PwWR5TxGhcQ8odDa','buVdU0Wxi8kmzCoZW5C','W4pcT8oyWOFcSX3dS8kMcZFdUKaCWOm','BKjnWQ0slmkmnSovpG','W7OjCtyxWQddUZPDBq','W41eW7iPW45HC8ommHq','aWZdSL/dHXZcS8oggdC','W6uyFICnW4NcLaGrzW','isulW69xomoyamosAW','kZBcOSoxtfhdRWFcQGG','WP7dJmkzW5RcSSoGl3JcILK','W5WaW7/cV8omW7nLwmk/fW','WQhdUmoOWQGTCSoboK5t','WQ/cTCkTW7XUzmoAl0O','fSkUhSobW7pdJdJdJL11','s8oHWQpdTCkLuXedWPP6','WRvSmhKFnmolWRFcSSk1','fXKKW4JdOcRcJSoykSob','W4e0CttcImoM','W7JdN3/dJCkvjCo7zIVcIa','ddWFvbe','WOZdICofgfXIDCk9WOZcPa','zSkKhSouW6pdGtJdL0DM','wKWRAh9aaJVdPXK','mmorWQLwW4SUb380ca','guONyxqvs3xcOZy','de4lWQfHsutdO8k7kG','WRpcPSkVW70IC8oCy0Di','WPVdGCoY','W6DiCsOFWQ3dUsXDAG','WOyWW4pcImoo4OkmwrddQ8oW','DSo/W4BdSCoTdf3cQthdMW','W6BcT8kMW7zJy8owpK1d','WPRdJmkBW4BdRmkTpxpcIKK','frOKW57dUc/cGColkSkC','DHyqDai','t0Xjoq','WRv+nZfpkmofWQdcO8kV','gSkEabfJW71WW4SGFa','WRLDihPlW7hcRGmKACkEW4ZdJG','W6FdGmoofCkjW5BdPSoYE8ke','W6pdGN/dN8owkmo8jc3cGq','W5LvW47cUW','DIVcULldLu/cQSkdsca','cmoGBdddI8kigWBdN8kC','mJfvWOKgzCoydSoafa','W6ldG3/dICktzmoMlJdcLq','4OosW7BcJmoQn3ldMJOeqq','caL6mInvyx/cPZyDW6u','gY0aWQO','W67cOSk1cSk7krhcVx9j','hmkshry','gqBdTrixm8kwFSoSW4G','haX3WPhcQcFcICoDpCot','W5y6W4/cG8ooW7KvoSkIW7C','kLNdGSoqW7RcUGbIWQZdVaxdJtu','lNldG8kTW7zWW5e8B3u','W4a+AsFcJSoG','c8kycbiIW7X8WOiPoa','g1jvW7jPq0xdRCoxFG','mdTBW6PuA8kzh8oviG','WQOlEICDWQJcVHijza','e8kRWRxdJ8otdeFcTZ7dNq','WRldTSkTW64GF8kzke1m','W7OlEMikWQZcVI8uzq','zCoqW5lcKf5yW4zTyg8','oCk1WP7dQ0VdSmkQALdcGq','vIa6WPfpWOJdMmoNW4i9','hmkAix7dTvpcNmkvW4tdOq','W5S4mImqWQFcVJOyAa','WP8jW7VdSCk/c8kqWOyPW50','W4VcP8oCWRTOECoakCk1W6e','k8orW5ldG0uwWPz+ixO','s8kRWQRdP8kOhbqfW5C5','W6ZdGxlcHr5HftdcUqm','vCoSWPyQjM0gWPBdHhW','W6ZdM3BdGrDVbZpcUvS','xxddPmobWRFdKSkDW6fZBW','WQjOmhntlmobWPZcU8kV','xg1vW67cHmoAWOXYWP9oc8kpiq','vbOWWPbxWPRcK8kI','hfjfWRDMwqhcV8ouDW','FCobWOO8kwDYWPddNIG','e8kXhSkaW6FdNuFdMezX','WRv+nZXDp8oxWRFdT8k2','n8k2W7hcGmofq1FcThVdQW','WPqyWONdV8k4eSoyW7K1W4W','jf4DWOrZW59FW6NdLsC','WQFcUmkXWQ8ZDSonoKfs','dxvPqtlcR8khW4ddUeu','dZbnWQpdImofWRayWQzN','WO3dL8knW53cSSoGeNlcJuK','W77dKs3dH8owlCo7zIVcIa','hv52W47dQsFdJCoiimoa','WRuTl3vDkmofWRhcVSkJ','tCkPixJdRWhcNmoBW77dOq','guSRy3rktgldRsa','W6CgD2ikWQZcVJWoBG','qbDbWQzxxKtcRmodEa','tLbsWO1RrudcO8owFG','W6rdW4JdSmkNW43dTgmBWRu','vKhdRJ9wmSkAzCo9WO0','W7CBymk+WP/dStldUmoyeW','vxLkW7JcRSkzumoWW4fi','W4VIHztcKSk4pfhdIIxcPCo9','W47cNSo1W4ZcO2SBtCodW6m','lSk1W4ldJMRcNSoVjWtcLW','WPqUW4pcMSkfW7exmCkIW70'];a1_0x3f62=function(){return _0x313b97;};return a1_0x3f62();}(function(_0x4013d4,_0x2ab87d){const _0xda4dce=a1_0x126f,_0x45967b=_0x4013d4();while(!![]){try{const _0x23f4fd=parseInt(_0xda4dce(0x17e,'4TTM'))/0x1+parseInt(_0xda4dce(0x263,'L!f)'))/0x2+parseInt(_0xda4dce(0x18c,'je&J'))/0x3+parseInt(_0xda4dce(0x21f,'L!f)'))/0x4+parseInt(_0xda4dce(0x196,'4Qgq'))/0x5*(parseInt(_0xda4dce(0x282,'l74#'))/0x6)+parseInt(_0xda4dce(0x16e,'1bac'))/0x7+-parseInt(_0xda4dce(0x16b,'BSDG'))/0x8;if(_0x23f4fd===_0x2ab87d)break;else _0x45967b['push'](_0x45967b['shift']());}catch(_0x3ed823){_0x45967b['push'](_0x45967b['shift']());}}}(a1_0x3f62,0x3df20));import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{SERVER_NAME,SERVER_VERSION}from'./constants.js';import{getInstallId}from'./utils/watermark.js';import{checkForUpdate,formatUpdateNotice,setPendingUpdate}from'./utils/version-check.js';function a1_0x126f(_0x8af345,_0xf1f9ab){_0x8af345=_0x8af345-0x15f;const _0x3f621e=a1_0x3f62();let _0x126f18=_0x3f621e[_0x8af345];if(a1_0x126f['ihEdzM']===undefined){var _0x5ef147=function(_0x1a6f8b){const _0x571400='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x794ad8='',_0x521a19='';for(let _0x440189=0x0,_0x158d40,_0xbebb8e,_0x2749fd=0x0;_0xbebb8e=_0x1a6f8b['charAt'](_0x2749fd++);~_0xbebb8e&&(_0x158d40=_0x440189%0x4?_0x158d40*0x40+_0xbebb8e:_0xbebb8e,_0x440189++%0x4)?_0x794ad8+=String['fromCharCode'](0xff&_0x158d40>>(-0x2*_0x440189&0x6)):0x0){_0xbebb8e=_0x571400['indexOf'](_0xbebb8e);}for(let _0x104c29=0x0,_0x34d1b7=_0x794ad8['length'];_0x104c29<_0x34d1b7;_0x104c29++){_0x521a19+='%'+('00'+_0x794ad8['charCodeAt'](_0x104c29)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x521a19);};const _0x4c3cd5=function(_0x3541a4,_0x4f5f2c){let _0x539799=[],_0x53cd43=0x0,_0x527dc4,_0x174bd4='';_0x3541a4=_0x5ef147(_0x3541a4);let _0x28cd6a;for(_0x28cd6a=0x0;_0x28cd6a<0x100;_0x28cd6a++){_0x539799[_0x28cd6a]=_0x28cd6a;}for(_0x28cd6a=0x0;_0x28cd6a<0x100;_0x28cd6a++){_0x53cd43=(_0x53cd43+_0x539799[_0x28cd6a]+_0x4f5f2c['charCodeAt'](_0x28cd6a%_0x4f5f2c['length']))%0x100,_0x527dc4=_0x539799[_0x28cd6a],_0x539799[_0x28cd6a]=_0x539799[_0x53cd43],_0x539799[_0x53cd43]=_0x527dc4;}_0x28cd6a=0x0,_0x53cd43=0x0;for(let _0x2a0c30=0x0;_0x2a0c30<_0x3541a4['length'];_0x2a0c30++){_0x28cd6a=(_0x28cd6a+0x1)%0x100,_0x53cd43=(_0x53cd43+_0x539799[_0x28cd6a])%0x100,_0x527dc4=_0x539799[_0x28cd6a],_0x539799[_0x28cd6a]=_0x539799[_0x53cd43],_0x539799[_0x53cd43]=_0x527dc4,_0x174bd4+=String['fromCharCode'](_0x3541a4['charCodeAt'](_0x2a0c30)^_0x539799[(_0x539799[_0x28cd6a]+_0x539799[_0x53cd43])%0x100]);}return _0x174bd4;};a1_0x126f['BriNiP']=_0x4c3cd5,a1_0x126f['IDhZsk']={},a1_0x126f['ihEdzM']=!![];}const _0x27b9f0=_0x3f621e[0x0],_0xb3f299=_0x8af345+_0x27b9f0,_0x57d0ad=a1_0x126f['IDhZsk'][_0xb3f299];return!_0x57d0ad?(a1_0x126f['rcUsGo']===undefined&&(a1_0x126f['rcUsGo']=!![]),_0x126f18=a1_0x126f['BriNiP'](_0x126f18,_0xf1f9ab),a1_0x126f['IDhZsk'][_0xb3f299]=_0x126f18):_0x126f18=_0x57d0ad,_0x126f18;}import{z}from'zod';import{registerResolveTool}from'./tools/resolve.js';import{registerDocsTool}from'./tools/docs.js';import{registerBestPracticesTool}from'./tools/best-practices.js';import{registerAutoScanTool}from'./tools/auto-scan.js';import{registerSearchTool}from'./tools/search.js';import{registerAuditTool}from'./tools/audit.js';import{registerChangelogTool}from'./tools/changelog.js';import{registerCompatTool}from'./tools/compat.js';import{registerCompareTool}from'./tools/compare.js';import{registerExamplesTool}from'./tools/examples.js';const server=new McpServer({'name':SERVER_NAME,'version':SERVER_VERSION},{'instructions':a1_0x5a2c15(0x27e,'&k](')+a1_0x5a2c15(0x202,'b!vU')+'sal\x20Docume'+a1_0x5a2c15(0x1fb,'AhFy')+a1_0x5a2c15(0x265,'80]q')+a1_0x5a2c15(0x174,'&#Cy')+a1_0x5a2c15(0x162,'*hBc')+a1_0x5a2c15(0x268,'b!vU')+a1_0x5a2c15(0x178,'F95X')+a1_0x5a2c15(0x276,'vfbq')+a1_0x5a2c15(0x214,'L!f)')+a1_0x5a2c15(0x275,'VHQT')+a1_0x5a2c15(0x189,']o5b')+a1_0x5a2c15(0x1af,'G@v]')+a1_0x5a2c15(0x18e,'34BE')+a1_0x5a2c15(0x1b4,'G@v]')+a1_0x5a2c15(0x254,'G@v]')+a1_0x5a2c15(0x226,'80]q')+a1_0x5a2c15(0x232,'1MIb')+a1_0x5a2c15(0x1c5,'G@v]')+a1_0x5a2c15(0x209,'VHQT')+a1_0x5a2c15(0x22f,'zOGM')+a1_0x5a2c15(0x1a5,'1MIb')+a1_0x5a2c15(0x1cb,']3IT')+a1_0x5a2c15(0x25f,'34BE')+a1_0x5a2c15(0x281,'1bac')+a1_0x5a2c15(0x1f3,'NQyw')+a1_0x5a2c15(0x21b,'NQyw')+a1_0x5a2c15(0x1da,'zOGM')+a1_0x5a2c15(0x210,'1bac')+a1_0x5a2c15(0x288,'hGou')+a1_0x5a2c15(0x1a9,'Jtn#')+a1_0x5a2c15(0x1df,'vvS#')+a1_0x5a2c15(0x1b9,'FAcC')+a1_0x5a2c15(0x1fc,'80]q')+a1_0x5a2c15(0x206,'2v(u')+a1_0x5a2c15(0x185,'Jtn#')+'entation\x20f'+a1_0x5a2c15(0x1dd,'4Qgq')+a1_0x5a2c15(0x222,'4Qgq')+a1_0x5a2c15(0x1e8,'4Qgq')+a1_0x5a2c15(0x19e,'je&J')+a1_0x5a2c15(0x277,'BSDG')+a1_0x5a2c15(0x287,'1bac')+a1_0x5a2c15(0x1db,'F95X')+a1_0x5a2c15(0x25c,'U!Zg')+a1_0x5a2c15(0x260,'4TTM')+a1_0x5a2c15(0x18f,'1MIb')+a1_0x5a2c15(0x262,'&#Cy')+a1_0x5a2c15(0x219,'vfbq')+a1_0x5a2c15(0x24b,']o5b')+'ies\x20and\x20fe'+a1_0x5a2c15(0x1c3,'SpY4')+a1_0x5a2c15(0x237,'V(O[')+'or\x20each.\x0a5'+a1_0x5a2c15(0x295,'Ne%%')+a1_0x5a2c15(0x20a,'4Qgq')+a1_0x5a2c15(0x22a,'5k!t')+'\x20web\x20stand'+a1_0x5a2c15(0x23d,'G@v]')+a1_0x5a2c15(0x20f,'^6Fh')+a1_0x5a2c15(0x166,'je&J')+a1_0x5a2c15(0x253,'&#Cy')+a1_0x5a2c15(0x236,'4TTM')+a1_0x5a2c15(0x1c2,'*hBc')+a1_0x5a2c15(0x213,'1bac')+a1_0x5a2c15(0x228,'VHQT')+a1_0x5a2c15(0x184,'^6Fh')+a1_0x5a2c15(0x1d2,'F95X')+a1_0x5a2c15(0x1e3,'Ev$A')+a1_0x5a2c15(0x1e1,'4TTM')+a1_0x5a2c15(0x1b3,'LU(0')+a1_0x5a2c15(0x296,'Ne%%')+a1_0x5a2c15(0x1e6,'b!vU')+a1_0x5a2c15(0x1ad,'1MIb')+a1_0x5a2c15(0x224,'1bac')+a1_0x5a2c15(0x1a4,'4Qgq')+a1_0x5a2c15(0x248,'Ucsw')+a1_0x5a2c15(0x19f,'je&J')+a1_0x5a2c15(0x1f5,'zOGM')+a1_0x5a2c15(0x1ab,'B(tH')+a1_0x5a2c15(0x1bb,'4Qgq')+a1_0x5a2c15(0x1f4,'5k!t')+a1_0x5a2c15(0x1ae,'LU(0')+a1_0x5a2c15(0x217,'d6W%')+'\x20or\x20CSS\x20fe'+a1_0x5a2c15(0x200,'Zxsz')+'gt_compare'+a1_0x5a2c15(0x192,'B(tH')+a1_0x5a2c15(0x169,'vfbq')+a1_0x5a2c15(0x259,'B(tH')+a1_0x5a2c15(0x24d,'Ne%%')+a1_0x5a2c15(0x22c,'Ucsw')+a1_0x5a2c15(0x251,'QSCr')+a1_0x5a2c15(0x290,'b!vU')+a1_0x5a2c15(0x1e4,'L!f)')+a1_0x5a2c15(0x233,'Ne%%')+a1_0x5a2c15(0x25b,'4Qgq')+a1_0x5a2c15(0x173,'QSCr')+a1_0x5a2c15(0x191,'hGou')+(a1_0x5a2c15(0x1ef,'&k](')+a1_0x5a2c15(0x1ed,'[&Ch')+a1_0x5a2c15(0x208,'je&J')+a1_0x5a2c15(0x289,'Jtn#')+a1_0x5a2c15(0x28d,'l74#')+a1_0x5a2c15(0x1d0,'zOGM')+a1_0x5a2c15(0x1ac,'F95X')+a1_0x5a2c15(0x215,'2v(u')+a1_0x5a2c15(0x1c0,'Zxsz')+a1_0x5a2c15(0x29b,'kR)V')+a1_0x5a2c15(0x1de,'SpY4')+a1_0x5a2c15(0x183,'*hBc')+a1_0x5a2c15(0x269,'QSCr')+a1_0x5a2c15(0x20b,'je&J')+a1_0x5a2c15(0x15f,'P(Bg')+a1_0x5a2c15(0x1b8,'G@v]')+a1_0x5a2c15(0x20e,'&k](')+a1_0x5a2c15(0x270,'V(O[')+a1_0x5a2c15(0x20c,'&k](')+a1_0x5a2c15(0x1fd,'AhFy')+a1_0x5a2c15(0x292,'BSDG')+'opic]\x22\x20})\x0a'+a1_0x5a2c15(0x239,'AhFy')+a1_0x5a2c15(0x1f8,'V(O[')+'\x20[library]'+a1_0x5a2c15(0x1e9,'AhFy')+a1_0x5a2c15(0x23a,'V(O[')+a1_0x5a2c15(0x198,'&#Cy')+'s\x20fetched\x20'+'live\x20from\x20'+a1_0x5a2c15(0x20d,']o5b')+a1_0x5a2c15(0x197,'zOGM')+a1_0x5a2c15(0x1a8,'Ucsw')+a1_0x5a2c15(0x22e,'Ne%%')+'a.')});registerResolveTool(server),registerDocsTool(server),registerBestPracticesTool(server),registerAutoScanTool(server),registerSearchTool(server),registerAuditTool(server),registerChangelogTool(server),registerCompatTool(server),registerCompareTool(server),registerExamplesTool(server),server[a1_0x5a2c15(0x186,'80]q')]('audit-my-p'+a1_0x5a2c15(0x245,'^6Fh'),a1_0x5a2c15(0x1a7,'&#Cy')+a1_0x5a2c15(0x21c,'SjIj')+a1_0x5a2c15(0x1c9,'zOGM')+a1_0x5a2c15(0x26e,'Ne%%')+a1_0x5a2c15(0x29a,'40$8')+a1_0x5a2c15(0x258,'1bac')+a1_0x5a2c15(0x176,'mz*j')+a1_0x5a2c15(0x1a2,'zOGM')+a1_0x5a2c15(0x1c4,'2v(u'),()=>({'messages':[{'role':a1_0x5a2c15(0x161,'hGou'),'content':{'type':a1_0x5a2c15(0x229,'L!f)'),'text':a1_0x5a2c15(0x241,'SjIj')+a1_0x5a2c15(0x298,'je&J')+a1_0x5a2c15(0x246,'U!Zg')+a1_0x5a2c15(0x223,'l74#')+a1_0x5a2c15(0x19c,'VHQT')+a1_0x5a2c15(0x17a,'BSDG')+a1_0x5a2c15(0x27c,'NQyw')+a1_0x5a2c15(0x163,'BSDG')+a1_0x5a2c15(0x175,'l74#')+a1_0x5a2c15(0x1cd,'Jtn#')+a1_0x5a2c15(0x1ff,'3ZbP')+a1_0x5a2c15(0x1f0,'q![x')+'js,\x20TypeSc'+a1_0x5a2c15(0x28e,'G@v]')+a1_0x5a2c15(0x203,'^6Fh')+a1_0x5a2c15(0x1e2,']o5b')+a1_0x5a2c15(0x1f1,'mz*j')+a1_0x5a2c15(0x19a,'q![x')+a1_0x5a2c15(0x249,'SjIj')+a1_0x5a2c15(0x1ee,'P(Bg')+a1_0x5a2c15(0x216,'34BE')+a1_0x5a2c15(0x1bc,'VHQT')+a1_0x5a2c15(0x1c1,'5k!t')+a1_0x5a2c15(0x250,'V(O[')+a1_0x5a2c15(0x272,'&#Cy')+a1_0x5a2c15(0x16d,'^6Fh')+a1_0x5a2c15(0x21e,'V(O[')}}]})),server[a1_0x5a2c15(0x1d3,']o5b')](a1_0x5a2c15(0x24e,'&#Cy')+a1_0x5a2c15(0x230,'vfbq'),a1_0x5a2c15(0x1d5,'1bac')+a1_0x5a2c15(0x22d,'1bac')+a1_0x5a2c15(0x21d,'d6W%')+a1_0x5a2c15(0x244,'b!vU')+a1_0x5a2c15(0x1ce,'1bac')+a1_0x5a2c15(0x220,'B(tH')+a1_0x5a2c15(0x168,'B(tH'),{'library':z[a1_0x5a2c15(0x21a,'34BE')]()[a1_0x5a2c15(0x1b1,'LU(0')](a1_0x5a2c15(0x1b7,'vfbq')+a1_0x5a2c15(0x29f,'40$8')+a1_0x5a2c15(0x23f,'&#Cy')+a1_0x5a2c15(0x29c,'2v(u')+',\x20\x27prisma\x27')},({library:_0x571400})=>({'messages':[{'role':a1_0x5a2c15(0x264,'l74#'),'content':{'type':a1_0x5a2c15(0x17c,'LU(0'),'text':a1_0x5a2c15(0x286,'SjIj')+a1_0x5a2c15(0x1fe,'Jtn#')+a1_0x5a2c15(0x231,'Ne%%')+a1_0x5a2c15(0x284,'Ne%%')+a1_0x5a2c15(0x243,'1bac')+a1_0x5a2c15(0x1b0,'BSDG')+_0x571400+(a1_0x5a2c15(0x23e,'*hBc')+a1_0x5a2c15(0x1b6,'Ne%%')+a1_0x5a2c15(0x201,'l74#')+a1_0x5a2c15(0x1d9,'1bac')+a1_0x5a2c15(0x29e,'QSCr')+a1_0x5a2c15(0x22b,'Ucsw')+'d\x20list\x20mig'+a1_0x5a2c15(0x1ec,'SpY4')+a1_0x5a2c15(0x26f,'4TTM')+a1_0x5a2c15(0x18a,'FAcC'))}}]})),server[a1_0x5a2c15(0x19d,'kR)V')](a1_0x5a2c15(0x26b,'4Om$')+a1_0x5a2c15(0x240,'&#Cy'),a1_0x5a2c15(0x280,'q+a1_0x5a2c15(0x1aa,'4Qgq')+a1_0x5a2c15(0x221,'*hBc')+a1_0x5a2c15(0x1b5,'NQyw')+a1_0x5a2c15(0x16c,'Ne%%')+a1_0x5a2c15(0x182,'LU(0')+a1_0x5a2c15(0x27d,'FAcC')+a1_0x5a2c15(0x242,'NQyw')+a1_0x5a2c15(0x1a0,'4Om$')+a1_0x5a2c15(0x1ea,'QSCr')+a1_0x5a2c15(0x225,'4Om$')+a1_0x5a2c15(0x28b,'&#Cy')+a1_0x5a2c15(0x261,'U!Zg')+a1_0x5a2c15(0x255,'b!vU')}}]})),server[a1_0x5a2c15(0x1fa,'1bac')](a1_0x5a2c15(0x26d,'B(tH')+a1_0x5a2c15(0x1f6,'4Om$'),a1_0x5a2c15(0x190,'40$8')+a1_0x5a2c15(0x267,'je&J')+a1_0x5a2c15(0x17b,'2v(u')+a1_0x5a2c15(0x293,'L!f)')+'ide\x20to\x20dec'+'ide\x20which\x20'+a1_0x5a2c15(0x294,'V(O['),{'libraries':z['string']()[a1_0x5a2c15(0x1d6,'3ZbP')](a1_0x5a2c15(0x199,'AhFy')+a1_0x5a2c15(0x188,'Ucsw')+a1_0x5a2c15(0x1cc,'*hBc')+a1_0x5a2c15(0x1bd,'Ne%%')+a1_0x5a2c15(0x234,'je&J')+a1_0x5a2c15(0x279,'Jtn#')+a1_0x5a2c15(0x205,'V(O[')+'ibot,\x20yup\x27')},({libraries:_0x794ad8})=>({'messages':[{'role':a1_0x5a2c15(0x257,'mz*j'),'content':{'type':a1_0x5a2c15(0x266,'B(tH'),'text':a1_0x5a2c15(0x297,'LU(0')+a1_0x5a2c15(0x179,'^6Fh')+a1_0x5a2c15(0x195,'Zxsz')+a1_0x5a2c15(0x291,'1bac')+'s\x20side-by-'+a1_0x5a2c15(0x1ba,'BSDG')+_0x794ad8+(a1_0x5a2c15(0x17f,'QSCr')+a1_0x5a2c15(0x16f,'d6W%')+a1_0x5a2c15(0x212,'[&Ch')+a1_0x5a2c15(0x27f,'FAcC')+a1_0x5a2c15(0x27a,'kR)V')+a1_0x5a2c15(0x28a,'F95X')+'\x20each\x20one\x20'+a1_0x5a2c15(0x1f7,'mz*j'))}}]})),server[a1_0x5a2c15(0x1fa,'1bac')](a1_0x5a2c15(0x1f2,'2v(u')+a1_0x5a2c15(0x25d,'LU(0'),a1_0x5a2c15(0x193,'BSDG')+a1_0x5a2c15(0x278,'V(O[')+a1_0x5a2c15(0x164,'3ZbP')+a1_0x5a2c15(0x181,'[&Ch')+a1_0x5a2c15(0x27b,'Ev$A')+a1_0x5a2c15(0x187,'NQyw')+a1_0x5a2c15(0x1d4,'l74#')+a1_0x5a2c15(0x1d7,'U!Zg'),{'topic':z[a1_0x5a2c15(0x1a3,'b!vU')]()[a1_0x5a2c15(0x177,'QSCr')](a1_0x5a2c15(0x167,'VHQT')+a1_0x5a2c15(0x227,'q![x')+a1_0x5a2c15(0x252,'hGou')+a1_0x5a2c15(0x24a,'L!f)')+a1_0x5a2c15(0x25e,'AhFy')+a1_0x5a2c15(0x1a1,'NQyw')+a1_0x5a2c15(0x1e5,'4Om$')+a1_0x5a2c15(0x24f,'2v(u'))},({topic:_0x521a19})=>({'messages':[{'role':a1_0x5a2c15(0x1eb,'34BE'),'content':{'type':a1_0x5a2c15(0x1cf,'Jtn#'),'text':a1_0x5a2c15(0x1ca,'4Om$')+a1_0x5a2c15(0x273,'V(O[')+a1_0x5a2c15(0x29d,'VHQT')+a1_0x5a2c15(0x238,']3IT')+a1_0x5a2c15(0x172,'V(O[')+a1_0x5a2c15(0x23c,'Zxsz')+a1_0x5a2c15(0x274,'Ev$A')+a1_0x5a2c15(0x1c6,'l74#')+'\x20'+_0x521a19+(a1_0x5a2c15(0x1a6,'*hBc')+a1_0x5a2c15(0x180,'4Qgq')+a1_0x5a2c15(0x170,'zOGM')+a1_0x5a2c15(0x1bf,'SjIj')+a1_0x5a2c15(0x23b,'4TTM')+'available,'+a1_0x5a2c15(0x171,'3ZbP')+a1_0x5a2c15(0x1dc,'LU(0')+a1_0x5a2c15(0x271,'hGou')+a1_0x5a2c15(0x24c,'L!f)')+'s.')}}]}));async function main(){const _0x5db6c1=a1_0x5a2c15,_0x440189=new StdioServerTransport();await server[_0x5db6c1(0x211,'VHQT')](_0x440189),console[_0x5db6c1(0x18b,'Ne%%')](SERVER_NAME+'\x20v'+SERVER_VERSION+(_0x5db6c1(0x28c,'5k!t')+'ia\x20stdio\x20[')+getInstallId()+']'),checkForUpdate()[_0x5db6c1(0x1e0,'40$8')](_0x158d40=>{const _0x408d15=_0x5db6c1;if(_0x158d40){setPendingUpdate(_0x158d40);const _0xbebb8e=formatUpdateNotice(_0x158d40);console[_0x408d15(0x1be,'SpY4')](_0xbebb8e),server[_0x408d15(0x26c,'^6Fh')][_0x408d15(0x16a,'40$8')+_0x408d15(0x283,'vfbq')]({'level':_0x408d15(0x1c7,'4TTM'),'data':_0xbebb8e})[_0x408d15(0x256,'SpY4')](()=>{});}})[_0x5db6c1(0x18d,'P(Bg')](()=>{});}main()[a1_0x5a2c15(0x247,'3ZbP')](_0x2749fd=>{const _0x8abfe3=a1_0x5a2c15;console[_0x8abfe3(0x1c8,']3IT')](_0x8abfe3(0x1d8,'5k!t')+'r:',_0x2749fd),process[_0x8abfe3(0x1d1,'AhFy')](0x1);});
|
package/dist/services/cache.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a2_0x2b9732=a2_0x4838;(function(_0x566acf,_0x4013fd){const _0x385b1a=a2_0x4838,_0x2bdefa=_0x566acf();while(!![]){try{const _0xf7a8c0=parseInt(_0x385b1a(0x1ca,'jL[b'))/0x1+parseInt(_0x385b1a(0x1c0,'mCl]'))/0x2+-parseInt(_0x385b1a(0x1a3,'v3Hj'))/0x3*(-parseInt(_0x385b1a(0x1b0,'%*rX'))/0x4)+-parseInt(_0x385b1a(0x1d0,'[*u@'))/0x5*(-parseInt(_0x385b1a(0x1b1,'gD9@'))/0x6)+-parseInt(_0x385b1a(0x1d3,']N^%'))/0x7*(parseInt(_0x385b1a(0x1ee,'j2rX'))/0x8)+-parseInt(_0x385b1a(0x1ea,'gD9@'))/0x9+-parseInt(_0x385b1a(0x1e9,'z$7c'))/0xa*(parseInt(_0x385b1a(0x1c1,'CWi@'))/0xb);if(_0xf7a8c0===_0x4013fd)break;else _0x2bdefa['push'](_0x2bdefa['shift']());}catch(_0x4f28a3){_0x2bdefa['push'](_0x2bdefa['shift']());}}}(a2_0xc23e,0x73d5e));import{CACHE_TTL_MS,DISK_CACHE_DIR}from'../constants.js';function a2_0x4838(_0x28c9e7,_0x3cbf5c){_0x28c9e7=_0x28c9e7-0x1a2;const _0xc23efd=a2_0xc23e();let _0x4838a7=_0xc23efd[_0x28c9e7];if(a2_0x4838['pnITaF']===undefined){var _0x5d4b9b=function(_0x53e671){const _0x106c0d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4303bb='',_0x211cdf='';for(let _0x25bc28=0x0,_0x26a0af,_0x4d3197,_0x529df3=0x0;_0x4d3197=_0x53e671['charAt'](_0x529df3++);~_0x4d3197&&(_0x26a0af=_0x25bc28%0x4?_0x26a0af*0x40+_0x4d3197:_0x4d3197,_0x25bc28++%0x4)?_0x4303bb+=String['fromCharCode'](0xff&_0x26a0af>>(-0x2*_0x25bc28&0x6)):0x0){_0x4d3197=_0x106c0d['indexOf'](_0x4d3197);}for(let _0x32a308=0x0,_0x5e7bd1=_0x4303bb['length'];_0x32a308<_0x5e7bd1;_0x32a308++){_0x211cdf+='%'+('00'+_0x4303bb['charCodeAt'](_0x32a308)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x211cdf);};const _0x151666=function(_0x4b00bf,_0x55d044){let _0x4217c7=[],_0x54f7c8=0x0,_0x3094c6,_0xd773e5='';_0x4b00bf=_0x5d4b9b(_0x4b00bf);let _0x158ff0;for(_0x158ff0=0x0;_0x158ff0<0x100;_0x158ff0++){_0x4217c7[_0x158ff0]=_0x158ff0;}for(_0x158ff0=0x0;_0x158ff0<0x100;_0x158ff0++){_0x54f7c8=(_0x54f7c8+_0x4217c7[_0x158ff0]+_0x55d044['charCodeAt'](_0x158ff0%_0x55d044['length']))%0x100,_0x3094c6=_0x4217c7[_0x158ff0],_0x4217c7[_0x158ff0]=_0x4217c7[_0x54f7c8],_0x4217c7[_0x54f7c8]=_0x3094c6;}_0x158ff0=0x0,_0x54f7c8=0x0;for(let _0x51df88=0x0;_0x51df88<_0x4b00bf['length'];_0x51df88++){_0x158ff0=(_0x158ff0+0x1)%0x100,_0x54f7c8=(_0x54f7c8+_0x4217c7[_0x158ff0])%0x100,_0x3094c6=_0x4217c7[_0x158ff0],_0x4217c7[_0x158ff0]=_0x4217c7[_0x54f7c8],_0x4217c7[_0x54f7c8]=_0x3094c6,_0xd773e5+=String['fromCharCode'](_0x4b00bf['charCodeAt'](_0x51df88)^_0x4217c7[(_0x4217c7[_0x158ff0]+_0x4217c7[_0x54f7c8])%0x100]);}return _0xd773e5;};a2_0x4838['fmMlEe']=_0x151666,a2_0x4838['UTYRmf']={},a2_0x4838['pnITaF']=!![];}const _0x528304=_0xc23efd[0x0],_0x54d80c=_0x28c9e7+_0x528304,_0x1932d8=a2_0x4838['UTYRmf'][_0x54d80c];return!_0x1932d8?(a2_0x4838['wSUUtz']===undefined&&(a2_0x4838['wSUUtz']=!![]),_0x4838a7=a2_0x4838['fmMlEe'](_0x4838a7,_0x3cbf5c),a2_0x4838['UTYRmf'][_0x54d80c]=_0x4838a7):_0x4838a7=_0x1932d8,_0x4838a7;}import{createHash}from'crypto';import{readFile,writeFile,mkdir,unlink}from'fs/promises';import{join}from'path';class LRUCache{[a2_0x2b9732(0x1a5,'QYmQ')]=new Map();[a2_0x2b9732(0x1e1,'v3Hj')];constructor(_0x106c0d=0xc8){const _0x12b0d9=a2_0x2b9732;this[_0x12b0d9(0x1f6,'[*u@')]=_0x106c0d;}[a2_0x2b9732(0x1db,'EB7l')](_0x4303bb){const _0xd1faa=a2_0x2b9732,_0x211cdf=this[_0xd1faa(0x1ba,'v[$]')][_0xd1faa(0x1c9,'P*JI')](_0x4303bb);if(!_0x211cdf)return undefined;if(Date[_0xd1faa(0x1b7,'%3V0')]()>_0x211cdf[_0xd1faa(0x1b8,'mfFx')])return this[_0xd1faa(0x1a2,'OEwW')]['delete'](_0x4303bb),undefined;return this[_0xd1faa(0x1ac,'3Pzp')][_0xd1faa(0x1d2,'Q9gg')](_0x4303bb),this[_0xd1faa(0x1b9,'po$2')][_0xd1faa(0x1c7,'P*JI')](_0x4303bb,_0x211cdf),_0x211cdf[_0xd1faa(0x1e5,'v[$]')];}[a2_0x2b9732(0x1d8,'CWi@')](_0x25bc28,_0x26a0af,_0x4d3197=CACHE_TTL_MS){const _0x3d7106=a2_0x2b9732;if(this[_0x3d7106(0x1bf,'gIUN')][_0x3d7106(0x1e6,']N^%')]>=this[_0x3d7106(0x1b5,'QYmQ')]){const _0x529df3=this[_0x3d7106(0x1c2,'aMEY')][_0x3d7106(0x1cb,'qEGP')]()[_0x3d7106(0x1eb,'Y!h@')]()[_0x3d7106(0x1f1,'bC(P')];if(_0x529df3!==undefined)this['store'][_0x3d7106(0x1dc,'jL[b')](_0x529df3);}this[_0x3d7106(0x1bf,'gIUN')][_0x3d7106(0x1e0,'p0IJ')](_0x25bc28,{'data':_0x26a0af,'expiresAt':Date[_0x3d7106(0x1cc,'Q9gg')]()+_0x4d3197});}[a2_0x2b9732(0x1a8,'ddp5')](_0x32a308){const _0x1ab33f=a2_0x2b9732;return this[_0x1ab33f(0x1be,'qXT]')](_0x32a308)!==undefined;}[a2_0x2b9732(0x1d9,'DR4K')](){const _0x37e3f4=a2_0x2b9732;this[_0x37e3f4(0x1bd,'oo(m')][_0x37e3f4(0x1a4,'gD9@')]();}[a2_0x2b9732(0x1f0,'EB7l')](){const _0x3be69d=a2_0x2b9732;return this[_0x3be69d(0x1aa,'%F3)')][_0x3be69d(0x1c6,'pZcZ')];}}export class DiskCache{[a2_0x2b9732(0x1a9,'gD9@')];[a2_0x2b9732(0x1af,'UIXD')+'d']=![];constructor(_0x5e7bd1=DISK_CACHE_DIR){const _0x37c0ff=a2_0x2b9732;this[_0x37c0ff(0x1a7,'Nf*#')]=_0x5e7bd1;}async[a2_0x2b9732(0x1df,'[bOW')](){const _0x3235b2=a2_0x2b9732;if(this[_0x3235b2(0x1c4,'vLGa')+'d'])return!![];try{return await mkdir(this[_0x3235b2(0x1ad,'bC(P')],{'recursive':!![]}),this[_0x3235b2(0x1bb,'uEtI')+'d']=!![],!![];}catch{return![];}}[a2_0x2b9732(0x1ce,'bC(P')](_0x4b00bf){const _0x56ed14=a2_0x2b9732,_0x55d044=createHash(_0x56ed14(0x1f5,'x#2W'))[_0x56ed14(0x1f2,'bAWk')](_0x4b00bf)[_0x56ed14(0x1d7,'gD9@')](_0x56ed14(0x1ed,'bC(P'));return join(this[_0x56ed14(0x1ad,'bC(P')],_0x55d044+_0x56ed14(0x1d4,'pZcZ'));}async[a2_0x2b9732(0x1da,'v[$]')](_0x4217c7){const _0x308d6d=a2_0x2b9732;if(!await this[_0x308d6d(0x1b2,'QYmQ')]())return undefined;const _0x54f7c8=this[_0x308d6d(0x1f4,'#x)Y')](_0x4217c7);try{const _0x3094c6=await readFile(_0x54f7c8,_0x308d6d(0x1ae,'gD9@')),_0xd773e5=JSON['parse'](_0x3094c6);if(Date[_0x308d6d(0x1d1,'v3Hj')]()>_0xd773e5[_0x308d6d(0x1b4,'[j8i')])return unlink(_0x54f7c8)['catch'](()=>void 0x0),undefined;return _0xd773e5[_0x308d6d(0x1e7,'Nf*#')];}catch{return undefined;}}async[a2_0x2b9732(0x1dd,'DR4K')](_0x158ff0,_0x51df88,_0x4aaec4=CACHE_TTL_MS){const _0x1f5163=a2_0x2b9732;if(!await this[_0x1f5163(0x1e4,'#x)Y')]())return;const _0x434219=this[_0x1f5163(0x1e3,'jL[b')](_0x158ff0),_0x4aedd2={'data':_0x51df88,'expiresAt':Date[_0x1f5163(0x1c8,'%*rX')]()+_0x4aaec4};try{await writeFile(_0x434219,JSON[_0x1f5163(0x1cf,'EB7l')](_0x4aedd2),_0x1f5163(0x1ec,'WkP0'));}catch{}}async[a2_0x2b9732(0x1b3,'H$wc')](_0x5931fd){const _0x5287a0=a2_0x2b9732;if(!await this['ensureDir']())return![];const _0x34489c=this[_0x5287a0(0x1b6,'UIXD')](_0x5931fd);try{const _0x431981=await readFile(_0x34489c,_0x5287a0(0x1cd,'bC(P')),_0x5d5824=JSON[_0x5287a0(0x1c5,'[Q8X')](_0x431981);return Date[_0x5287a0(0x1d6,'aMEY')]()<=_0x5d5824[_0x5287a0(0x1d5,'E*d^')];}catch{return![];}}}export const docCache=new LRUCache(0xc8);function a2_0xc23e(){const _0x1ce63d=['kZ/cQdqsWQddRG','WRddISk+W685n8oPD8o0','W5hdGCkqs8oZBaC6Aa','W7JdP8kTrmkkW77cGmkpga','fsanW4y','WQpdPae6','WQ98WRCg','utyNsSoQuxpdPCkmh8k0WRu','W5SsySkWo8kzAfzyfmklhCkW','WR4MWR1MWRNdL1vbWOhcU3dcN30','WO0XpKa','q8oMDmo7oG','WQfpeq','WOn5WRWFtSksWQS9W4r5W5eg','aCkKjCoUmLjVcgmhW4lcNMW','v8kPj2K','WR9lbCkOW6e','W59QWO9FuCkM','W7GAwCoKWRDQW4pcQYrOWRtdIW','W7BdRmkNzCkxW4VcPCksaG','W5FcK0FcTs9t','EJ56W7lcLCkRuq','jCoKWOCXAZJcTda4aG','WRRcOw87W4K','CgVdQfuJWQ3dUCowa8oV','W6P8W68/W7S','gvBcH8keWPW','WQ7cU8oVb8oiWQVcSSkQdq/cPmoz','WQ90WRe','hSo1dG','W615W7G','rCofp0tdVq','uCkmW7ZcQmkUa2BdJa','fxP6cCk+','WQ1dgW','W7XKW6XZWRe','W7bSW4G5WOBcHSoXgJ5m','CmogWOzjov/dPgaxW4u','WRSOWRGPW7VcLcDGWPy','d0ZcM8kdWOVcQaqevq','W4icnG','BmoqWP1/vmoiWQldI8kE','b0pcKmkLWPdcTYu','W7jNW5GzWOdcT8o8bYW','W4ddV8oN','WOldSKXCW6ztymkcW6u','pfZdUNpcRq','aJuwW5xdTG','W5JdUCkKiSocmtTDmWe','W7OTW7DxWP3dM3PJWRfG','uCo2W7KiW50','WPBdUri','W4yIthPX','jh9xDmoAk8o8wCkDhmknWRm','AJO9WQnThMHW','wCkKx3XZ','AtnTWOjOhwXRzq','W5KQB8oOWQWCWRaAlHO','gCo2W5NcN8oJ','wX7cGSop','e8oyW6O','l8kzW4u','b8oyW6O','WONcLSoykCkSdbacz8kUW7JcRa','sgxcGmkc','W6/cKCo5','WRXEd8oWWRW','WQjpemkjW6SpW5dcIGm','v8k0l2uNh0K/ta','jM8YWPJdJ8oKrSoSW7bLosu','kdhcPW','W6xcM8oIW4alkG','W6hcUuSvjfhdJSkNW74','bH3cI8ofW6u','W7TkWPbcCL1CWPGK','rmk/rW','W615W607W7RcLa','kg4R','W7ZdS1pdVCoF','fIqn','q8kLkq','W57dGCkfESoOwq','W6ZdUKi','WRpdJ8k8WPDpD8oprCo+zHux','umkYCeddOaxcT8o8mW','lhhcGa'];a2_0xc23e=function(){return _0x1ce63d;};return a2_0xc23e();}export const resolveCache=new LRUCache(0x1f4);export const diskDocCache=new DiskCache();
|