@kryptosai/mcp-observatory 0.3.1 → 0.3.3
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 +96 -140
- package/dist/src/checks/resources.js +1 -1
- package/dist/src/checks/resources.js.map +1 -1
- package/dist/src/checks/tools-invoke.js +1 -1
- package/dist/src/checks/tools-invoke.js.map +1 -1
- package/dist/src/cli.js +231 -121
- package/dist/src/cli.js.map +1 -1
- package/dist/src/diff.js +8 -8
- package/dist/src/diff.js.map +1 -1
- package/dist/src/environment.d.ts +9 -0
- package/dist/src/environment.js +226 -0
- package/dist/src/environment.js.map +1 -0
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.js +242 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/validate.js +2 -0
- package/dist/src/validate.js.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -1,134 +1,135 @@
|
|
|
1
1
|
# MCP Observatory
|
|
2
2
|
|
|
3
|
+
```
|
|
4
|
+
███╗ ███╗ ██████╗██████╗
|
|
5
|
+
████╗ ████║██╔════╝██╔══██╗
|
|
6
|
+
██╔████╔██║██║ ██████╔╝
|
|
7
|
+
██║╚██╔╝██║██║ ██╔═══╝
|
|
8
|
+
██║ ╚═╝ ██║╚██████╗██║
|
|
9
|
+
╚═╝ ╚═╝ ╚═════╝╚═╝
|
|
10
|
+
O B S E R V A T O R Y
|
|
11
|
+
```
|
|
12
|
+
|
|
3
13
|
[](https://github.com/KryptosAI/mcp-observatory/actions/workflows/ci.yml)
|
|
4
|
-
[](https://github.com/KryptosAI/mcp-observatory/actions/workflows/real-server-matrix.yml)
|
|
5
14
|
[](https://www.npmjs.com/package/@kryptosai/mcp-observatory)
|
|
6
|
-
[](https://github.com/KryptosAI/mcp-observatory/releases)
|
|
7
15
|
[](./LICENSE)
|
|
8
16
|
[](./package.json)
|
|
17
|
+
[](https://glama.ai/mcp/servers/KryptosAI/mcp-observatory)
|
|
18
|
+
|
|
19
|
+
Find problems in your MCP servers before your users do.
|
|
20
|
+
|
|
21
|
+
You update a server, a tool silently breaks, and your agent starts failing. MCP Observatory catches that. It connects to your servers, checks every capability, actually calls tools to make sure they work, and diffs runs to catch what changed.
|
|
22
|
+
|
|
23
|
+
<p align="center">
|
|
24
|
+
<img src="./docs/demo.svg" alt="MCP Observatory scan output" width="820">
|
|
25
|
+
</p>
|
|
9
26
|
|
|
10
|
-
|
|
27
|
+
## Quick Start
|
|
11
28
|
|
|
12
|
-
|
|
29
|
+
Scan every MCP server in your Claude config:
|
|
13
30
|
|
|
14
31
|
```bash
|
|
15
32
|
npx @kryptosai/mcp-observatory
|
|
16
33
|
```
|
|
17
34
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
To check a specific server, pass the command directly:
|
|
35
|
+
Check a specific server:
|
|
21
36
|
|
|
22
37
|
```bash
|
|
23
38
|
npx @kryptosai/mcp-observatory run -- npx -y @modelcontextprotocol/server-everything
|
|
24
|
-
npx @kryptosai/mcp-observatory run --invoke-tools -- npx -y @modelcontextprotocol/server-everything
|
|
25
|
-
npx @kryptosai/mcp-observatory check tools -- npx -y @modelcontextprotocol/server-filesystem .
|
|
26
39
|
```
|
|
27
40
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"targetId": "filesystem-server",
|
|
33
|
-
"adapter": "local-process",
|
|
34
|
-
"command": "npx",
|
|
35
|
-
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
|
|
36
|
-
"timeoutMs": 15000
|
|
37
|
-
}
|
|
38
|
-
```
|
|
41
|
+
Add it to Claude Code as an MCP server:
|
|
39
42
|
|
|
40
43
|
```bash
|
|
41
|
-
npx @kryptosai/mcp-observatory
|
|
44
|
+
claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
|
|
42
45
|
```
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
Works with **~95% of the MCP server ecosystem** across both standard transports:
|
|
47
|
+
Or add it manually to your config:
|
|
47
48
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"mcp-observatory": {
|
|
53
|
+
"command": "npx",
|
|
54
|
+
"args": ["-y", "@kryptosai/mcp-observatory", "serve"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
53
59
|
|
|
54
|
-
|
|
60
|
+
## What It Does
|
|
55
61
|
|
|
56
|
-
|
|
62
|
+
**Check capabilities** — connects to a server and verifies tools, prompts, and resources respond correctly.
|
|
57
63
|
|
|
58
|
-
|
|
59
|
-
- `diff`: compare two runs and classify regressions, recoveries, and schema drift
|
|
60
|
-
- `report`: turn a saved run artifact into readable terminal, JSON, or Markdown output
|
|
61
|
-
- `scan`: auto-discover MCP servers from local config files and check them all (default command)
|
|
62
|
-
- `check`: run a single capability check (tools, prompts, resources, or tools-invoke)
|
|
64
|
+
**Invoke tools** — goes beyond listing. Actually calls safe tools (no required params / readOnlyHint) and reports which ones work and which ones crash.
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
```bash
|
|
67
|
+
npx @kryptosai/mcp-observatory scan --invoke-tools
|
|
68
|
+
```
|
|
65
69
|
|
|
66
|
-
|
|
70
|
+
**Detect schema drift** — diffs two runs and surfaces added/removed fields, type changes, and breaking parameter changes.
|
|
67
71
|
|
|
68
72
|
```bash
|
|
69
|
-
mcp-observatory
|
|
70
|
-
mcp-observatory scan
|
|
71
|
-
mcp-observatory scan --config ~/.claude.json
|
|
72
|
-
mcp-observatory scan --invoke-tools
|
|
73
|
+
npx @kryptosai/mcp-observatory diff --base run-a.json --head run-b.json
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
|
|
76
|
-
- `~/.claude.json` (Claude Code)
|
|
77
|
-
- `~/Library/Application Support/Claude/claude_desktop_config.json` (Claude Desktop, macOS)
|
|
78
|
-
- `%APPDATA%/Claude/claude_desktop_config.json` (Claude Desktop, Windows)
|
|
79
|
-
- `.claude.json` (current directory)
|
|
80
|
-
- `.mcp.json` (current directory)
|
|
76
|
+
**Recommend servers** — scans your project for languages, frameworks, databases, and cloud providers, then cross-references the [MCP registry](https://registry.modelcontextprotocol.io) to suggest servers you're missing. Ask your agent "what MCP servers should I add?" and it figures out the rest.
|
|
81
77
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
Run a single capability check for faster iteration:
|
|
78
|
+
**Watch for regressions** — re-runs checks on an interval and alerts when something changes.
|
|
85
79
|
|
|
86
80
|
```bash
|
|
87
|
-
mcp-observatory
|
|
88
|
-
mcp-observatory check prompts --target ./my-server.json
|
|
89
|
-
mcp-observatory check resources --target ./my-server.json
|
|
90
|
-
mcp-observatory check tools-invoke --target ./my-server.json
|
|
81
|
+
npx @kryptosai/mcp-observatory run --watch -- npx -y @modelcontextprotocol/server-filesystem .
|
|
91
82
|
```
|
|
92
83
|
|
|
93
|
-
##
|
|
84
|
+
## Commands
|
|
94
85
|
|
|
95
|
-
|
|
86
|
+
| Command | What it does |
|
|
87
|
+
|---------|-------------|
|
|
88
|
+
| `scan` | Auto-discover servers from config files and check them all (default) |
|
|
89
|
+
| `run` | Check one server and save a run artifact |
|
|
90
|
+
| `check` | Run a single capability check (tools, prompts, resources, tools-invoke) |
|
|
91
|
+
| `diff` | Compare two runs — regressions, recoveries, schema drift |
|
|
92
|
+
| `report` | Render a run as terminal, JSON, markdown, or HTML |
|
|
93
|
+
| `serve` | Run as an MCP server — exposes scan, check, diff, suggest as tools |
|
|
96
94
|
|
|
97
|
-
|
|
98
|
-
mcp-observatory scan --invoke-tools
|
|
99
|
-
mcp-observatory run --target ./my-server.json --invoke-tools
|
|
100
|
-
mcp-observatory check tools-invoke --target ./my-server.json
|
|
101
|
-
```
|
|
95
|
+
### Scan locations
|
|
102
96
|
|
|
103
|
-
|
|
97
|
+
When you run `scan`, it looks for MCP configs in:
|
|
104
98
|
|
|
105
|
-
|
|
99
|
+
- `~/.claude.json` (Claude Code)
|
|
100
|
+
- `~/Library/Application Support/Claude/claude_desktop_config.json` (Claude Desktop, macOS)
|
|
101
|
+
- `%APPDATA%/Claude/claude_desktop_config.json` (Claude Desktop, Windows)
|
|
102
|
+
- `.claude.json` and `.mcp.json` (current directory)
|
|
106
103
|
|
|
107
|
-
|
|
108
|
-
mcp-observatory diff --base run-a.json --head run-b.json
|
|
109
|
-
```
|
|
104
|
+
## MCP Server Mode
|
|
110
105
|
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
Schema Drift:
|
|
114
|
-
- search (tools): added required field 'limit', changed 'query' type from 'number' to 'string'
|
|
115
|
-
- old-tool (tools): removed
|
|
116
|
-
```
|
|
106
|
+
When running as an MCP server (`serve`), your AI agent gets five tools:
|
|
117
107
|
|
|
118
|
-
|
|
108
|
+
| Tool | What it does |
|
|
109
|
+
|------|-------------|
|
|
110
|
+
| `scan` | Discover and check all configured servers |
|
|
111
|
+
| `check_server` | Check a specific server by command |
|
|
112
|
+
| `diff_runs` | Compare two saved run artifacts |
|
|
113
|
+
| `get_last_run` | Return the most recent run for a target |
|
|
114
|
+
| `suggest_servers` | Scan your environment and recommend servers you're missing |
|
|
119
115
|
|
|
120
|
-
|
|
116
|
+
An AI tool that checks other AI tools. It's a tool testing tools that serve tools.*
|
|
121
117
|
|
|
122
|
-
|
|
123
|
-
mcp-observatory run --target ./my-server.json --watch
|
|
124
|
-
mcp-observatory run --target ./my-server.json --watch --interval 60
|
|
125
|
-
```
|
|
118
|
+
<sub>* I'm a dude playing a dude disguised as another dude.</sub>
|
|
126
119
|
|
|
127
|
-
|
|
120
|
+
## Compatibility
|
|
128
121
|
|
|
129
|
-
|
|
122
|
+
Works with any MCP server that uses standard transports:
|
|
130
123
|
|
|
131
|
-
|
|
124
|
+
| Transport | Examples | Adapter |
|
|
125
|
+
|-----------|----------|---------|
|
|
126
|
+
| **stdio** (most servers) | [filesystem](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem), [memory](https://www.npmjs.com/package/@modelcontextprotocol/server-memory), [context7](https://www.npmjs.com/package/@upstash/context7-mcp), [brave-search](https://www.npmjs.com/package/@modelcontextprotocol/server-brave-search), [sentry](https://www.npmjs.com/package/@sentry/mcp-server), [notion](https://www.npmjs.com/package/@notionhq/notion-mcp-server), [stripe](https://www.npmjs.com/package/@stripe/mcp) | `local-process` |
|
|
127
|
+
| **HTTP/SSE** (remote) | [Cloudflare](https://developers.cloudflare.com/mcp/), [Exa](https://exa.ai), [Tavily](https://tavily.com) | `http` |
|
|
128
|
+
| **Docker** | All `@modelcontextprotocol/server-*` images | `local-process` via `docker run -i` |
|
|
129
|
+
|
|
130
|
+
Servers needing API keys work via `env` in the target config. Python servers work via `uvx`. See the [full compatibility matrix](./docs/compatibility.md) for tested servers and known issues.
|
|
131
|
+
|
|
132
|
+
### HTTP / SSE targets
|
|
132
133
|
|
|
133
134
|
```json
|
|
134
135
|
{
|
|
@@ -140,75 +141,30 @@ In addition to local-process stdio, you can check remote MCP servers over HTTP (
|
|
|
140
141
|
}
|
|
141
142
|
```
|
|
142
143
|
|
|
143
|
-
|
|
144
|
-
mcp-observatory run --target ./remote-target.json
|
|
145
|
-
mcp-observatory run --target ./remote-target.json --invoke-tools
|
|
146
|
-
```
|
|
144
|
+
### Target config files
|
|
147
145
|
|
|
148
|
-
|
|
146
|
+
For more control (env vars, metadata, custom timeout):
|
|
149
147
|
|
|
150
|
-
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"targetId": "filesystem-server",
|
|
151
|
+
"adapter": "local-process",
|
|
152
|
+
"command": "npx",
|
|
153
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
|
|
154
|
+
"timeoutMs": 15000
|
|
155
|
+
}
|
|
156
|
+
```
|
|
151
157
|
|
|
152
158
|
```bash
|
|
153
|
-
mcp-observatory
|
|
154
|
-
mcp-observatory diff --base run-a.json --head run-b.json --format html --output diff.html
|
|
159
|
+
npx @kryptosai/mcp-observatory run --target ./target.json
|
|
155
160
|
```
|
|
156
161
|
|
|
157
|
-
Open the file in any browser — no server required, shareable via Slack/email/GitHub comments.
|
|
158
|
-
|
|
159
162
|
## Limitations
|
|
160
163
|
|
|
161
164
|
- Servers requiring interactive OAuth (e.g., Google Drive) need pre-authentication before Observatory can connect
|
|
162
165
|
- Custom WebSocket transports (e.g., BrowserTools MCP) are not supported
|
|
163
166
|
- A few servers time out or close before init — see [known issues](./docs/known-issues.md) and [compatibility](./docs/compatibility.md)
|
|
164
167
|
|
|
165
|
-
## Repo-Local Validation
|
|
166
|
-
|
|
167
|
-
If you do want the repo-local path, use the fixture flow:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
npm install
|
|
171
|
-
npm run cli -- run --target tests/fixtures/sample-target-config.json
|
|
172
|
-
npm run cli -- diff --base tests/fixtures/sample-run-a.json --head tests/fixtures/sample-run-b.json
|
|
173
|
-
npm run cli -- report --run tests/fixtures/sample-run-b.json --format markdown --output examples/results/sample-report.md
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
This path exists to validate the repo itself. It is not the only way to use the tool.
|
|
177
|
-
|
|
178
|
-
## Artifact Contract
|
|
179
|
-
|
|
180
|
-
Every artifact is versioned and intentionally boring:
|
|
181
|
-
|
|
182
|
-
- `artifactType`: `run` or `diff`
|
|
183
|
-
- `schemaVersion`: currently `1.0.0`
|
|
184
|
-
- `gate`: `pass` or `fail`
|
|
185
|
-
|
|
186
|
-
Compatibility rules:
|
|
187
|
-
|
|
188
|
-
- additive changes stay within `1.x`
|
|
189
|
-
- breaking artifact changes require a major schema bump
|
|
190
|
-
|
|
191
|
-
Published schemas:
|
|
192
|
-
|
|
193
|
-
- [schemas/run-artifact.schema.json](./schemas/run-artifact.schema.json)
|
|
194
|
-
- [schemas/diff-artifact.schema.json](./schemas/diff-artifact.schema.json)
|
|
195
|
-
|
|
196
|
-
Validate checked-in artifacts locally:
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
npm run validate:artifacts
|
|
200
|
-
```
|
|
201
|
-
|
|
202
168
|
## Contributing
|
|
203
169
|
|
|
204
|
-
See [CONTRIBUTING.md](./CONTRIBUTING.md) for
|
|
205
|
-
|
|
206
|
-
The fastest way to contribute something credible is to add evidence:
|
|
207
|
-
|
|
208
|
-
- a real passing target with a distinct capability shape
|
|
209
|
-
- a clearer report surface
|
|
210
|
-
- a cleaner startup diagnosis
|
|
211
|
-
|
|
212
|
-
## Known Issues
|
|
213
|
-
|
|
214
|
-
See [docs/known-issues.md](./docs/known-issues.md) for the difference between `unsupported` and `failed`, and [docs/compatibility.md](./docs/compatibility.md) for the full compatibility matrix including servers that don't work and why.
|
|
170
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines. The fastest way to contribute is to add a real passing target with a distinct capability shape, a clearer report surface, or a cleaner startup diagnosis.
|
|
@@ -152,7 +152,7 @@ export async function runResourcesCheck(context) {
|
|
|
152
152
|
message =
|
|
153
153
|
"Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.";
|
|
154
154
|
}
|
|
155
|
-
else
|
|
155
|
+
else {
|
|
156
156
|
message = `Advertised capability responded with the minimal expected shape (${itemCount} items).`;
|
|
157
157
|
}
|
|
158
158
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/checks/resources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/checks/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,eAAe,EAGhB,MAAM,WAAW,CAAC;AAEnB,SAAS,uBAAuB,CAAC,QAAkB;IACjD,OAAO,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA0B;IACzD,OAAO,CACL,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACxC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACjC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAqB;IAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAEnF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,WAAW,EAAE;gBACX,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,KAAK;gBAChB,mBAAmB,EAAE,KAAK;gBAC1B,QAAQ,EAAE,2CAA2C;gBACrD,WAAW,EAAE,EAAE;aAChB;YACD,MAAM,EAAE,eAAe,CACrB,WAAW,EACX,aAAa,EACb,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,EAC7B,6CAA6C,EAC7C;gBACE;oBACE,QAAQ,EAAE,2CAA2C;oBACrD,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,KAAK;oBAChB,mBAAmB,EAAE,KAAK;oBAC1B,WAAW,EAAE,EAAE;iBAChB;aACF,CACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG,EAAuC,CAAC;IACjE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;YAClE,OAAO,EAAE,OAAO,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,kBAAkB,IAAI,CAAC,CAAC;QACxB,MAAM,mBAAmB,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,gBAAgB,CAAC,IAAI,CACnB,YAAY,CACV;YACE,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,mBAAmB;YACnB,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YACzC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpE,WAAW,EAAE,EAAE;SAChB,EACD,OAAO,CAAC,WAAW,CACpB,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,WAAW,CAAC,IAAI,CACd,mBAAmB,OAAO,EAAE,CAC7B,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,oBAAoB,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,gBAAgB,CAAC,IAAI,CACnB,YAAY,CACV;YACE,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,KAAK;YAChB,mBAAmB,EAAE,KAAK;YAC1B,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,EACD,OAAO,CAAC,WAAW,CACpB,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE;YAC1E,OAAO,EAAE,OAAO,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,SAAS,IAAI,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACpD,MAAM,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAC7D,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CACnC,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACzC,kBAAkB,IAAI,CAAC,CAAC;QACxB,MAAM,mBAAmB,GACvB,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,gBAAgB,CAAC,IAAI,CACnB,YAAY,CACV;YACE,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,mBAAmB;YACnB,QAAQ,EAAE,0BAA0B;YACpC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,MAAM;YACjD,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,EAAE;SAChB,EACD,OAAO,CAAC,WAAW,CACpB,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,WAAW,CAAC,IAAI,CACd,6BAA6B,OAAO,EAAE,CACvC,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,oBAAoB,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,gBAAgB,CAAC,IAAI,CACnB,YAAY,CACV;YACE,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,KAAK;YAChB,mBAAmB,EAAE,KAAK;YAC1B,QAAQ,EAAE,0BAA0B;YACpC,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,EACD,OAAO,CAAC,WAAW,CACpB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,GAAG,CAAC,CAAC;IACzC,MAAM,mBAAmB,GAAG,SAAS,IAAI,aAAa,KAAK,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,WAAoB;QAChC,UAAU,EAAE,IAAI;QAChB,SAAS;QACT,mBAAmB;QACnB,QAAQ,EAAE,2CAA2C;QACrD,SAAS;QACT,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,SAAS;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,oBAAoB,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC;IAEb,IAAI,OAAO,GAAG,kEAAkE,CAAC;IACjF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,GAAG,qDAAqD,CAAC;IAClE,CAAC;SAAM,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,0FAA0F,CAAC;IAC/F,CAAC;SAAM,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,wGAAwG,CAAC;IAC7G,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,0HAA0H,CAAC;IAC/H,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,oEAAoE,SAAS,UAAU,CAAC;IACpG,CAAC;IAED,OAAO;QACL,WAAW;QACX,MAAM,EAAE,eAAe,CACrB,WAAW,EACX,MAAM,EACN,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,EAC7B,OAAO,EACP,gBAAgB,CACjB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-invoke.js","sourceRoot":"","sources":["../../../src/checks/tools-invoke.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools-invoke.js","sourceRoot":"","sources":["../../../src/checks/tools-invoke.ts"],"names":[],"mappings":"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"}
|