@integsec/mcp-pentester-cli 1.0.3 → 1.0.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 +201 -12
- package/dist/index.js +54 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +2 -2
- package/dist/mcp-client.js.map +1 -1
- package/dist/transport/http.d.ts +7 -2
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +57 -4
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/websocket.d.ts +7 -2
- package/dist/transport/websocket.d.ts.map +1 -1
- package/dist/transport/websocket.js +95 -4
- package/dist/transport/websocket.js.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/tui.d.ts +11 -1
- package/dist/ui/tui.d.ts.map +1 -1
- package/dist/ui/tui.js +334 -2
- package/dist/ui/tui.js.map +1 -1
- package/examples/http-basic-auth-config.json +9 -0
- package/examples/http-bearer-auth-config.json +8 -0
- package/examples/https-bearer-proxy-config.json +17 -0
- package/examples/https-client-cert-config.json +11 -0
- package/examples/https-custom-headers-config.json +12 -0
- package/examples/websocket-bearer-auth-config.json +8 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -13,10 +13,16 @@ A free, open-source interactive console tool for penetration testers to interact
|
|
|
13
13
|
- HTTP/HTTPS
|
|
14
14
|
- WebSocket (ws/wss)
|
|
15
15
|
|
|
16
|
+
- **Authentication Support**
|
|
17
|
+
- Bearer token authentication
|
|
18
|
+
- HTTP Basic authentication
|
|
19
|
+
- Custom header authentication
|
|
20
|
+
- Client certificate (mTLS) support
|
|
21
|
+
|
|
16
22
|
- **Proxy Support**
|
|
17
23
|
- HTTP/HTTPS proxies (Burp Suite, etc.)
|
|
18
24
|
- SOCKS5 proxies (Tor, etc.)
|
|
19
|
-
-
|
|
25
|
+
- Proxy authentication support
|
|
20
26
|
|
|
21
27
|
- **Interactive TUI**
|
|
22
28
|
- Graphical console interface using blessed
|
|
@@ -73,6 +79,31 @@ npm install -g .
|
|
|
73
79
|
|
|
74
80
|
After global installation, use the `mcp-pentester-cli` command as shown above.
|
|
75
81
|
|
|
82
|
+
## Connection Management
|
|
83
|
+
|
|
84
|
+
### Automatic Connection Saving
|
|
85
|
+
|
|
86
|
+
When you successfully connect to an MCP server, the connection configuration is automatically saved to a `.mcp-connection.json` file in the current directory. This allows you to easily reconnect to the same server later without typing all the connection details again.
|
|
87
|
+
|
|
88
|
+
**Saved connection files:**
|
|
89
|
+
- Format: `{server-name}-{timestamp}.mcp-connection.json`
|
|
90
|
+
- Location: Current working directory
|
|
91
|
+
- Compatible with the `--config` command-line option
|
|
92
|
+
|
|
93
|
+
### Switching Between Saved Connections
|
|
94
|
+
|
|
95
|
+
Press **F6** in the TUI to view a list of all saved connections in the current directory. You can:
|
|
96
|
+
- Navigate the list with ↑/↓
|
|
97
|
+
- Press **Enter** to switch to a selected connection
|
|
98
|
+
- Press **F4** or **ESC** to close the connection list
|
|
99
|
+
|
|
100
|
+
The connection list shows:
|
|
101
|
+
- Server name
|
|
102
|
+
- Connection timestamp
|
|
103
|
+
- Sorted by most recent first
|
|
104
|
+
|
|
105
|
+
**Example:** If you've connected to multiple servers, you can quickly switch between them without restarting the application.
|
|
106
|
+
|
|
76
107
|
## Quick Start
|
|
77
108
|
|
|
78
109
|
### Connect to an MCP server via stdio
|
|
@@ -115,17 +146,34 @@ mcp-pentester-cli connect --config examples/http-burp-config.json
|
|
|
115
146
|
mcp-pentester-cli connect [options]
|
|
116
147
|
|
|
117
148
|
Options:
|
|
118
|
-
-t, --transport <type>
|
|
119
|
-
-u, --url <url>
|
|
120
|
-
-c, --command <command>
|
|
121
|
-
-a, --args <args...>
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
--
|
|
125
|
-
--
|
|
126
|
-
--
|
|
127
|
-
-
|
|
128
|
-
|
|
149
|
+
-t, --transport <type> Transport type: stdio, http, https, ws, wss (default: "stdio")
|
|
150
|
+
-u, --url <url> URL for HTTP/WebSocket transports
|
|
151
|
+
-c, --command <command> Command for stdio transport
|
|
152
|
+
-a, --args <args...> Arguments for stdio command
|
|
153
|
+
|
|
154
|
+
Authentication:
|
|
155
|
+
--auth-type <type> Authentication type: bearer, basic, custom
|
|
156
|
+
--auth-token <token> Bearer token for authentication
|
|
157
|
+
--auth-user <username> Username for basic authentication
|
|
158
|
+
--auth-pass <password> Password for basic authentication
|
|
159
|
+
--header <header...> Custom headers (format: "Key: Value")
|
|
160
|
+
|
|
161
|
+
TLS/Certificates:
|
|
162
|
+
--cert <path> Path to client certificate file
|
|
163
|
+
--key <path> Path to client certificate key file
|
|
164
|
+
--ca <path> Path to CA certificate file
|
|
165
|
+
--cert-passphrase <passphrase> Passphrase for encrypted certificate key
|
|
166
|
+
--insecure Disable TLS certificate verification (dangerous)
|
|
167
|
+
|
|
168
|
+
Proxy:
|
|
169
|
+
--proxy-host <host> Proxy server host
|
|
170
|
+
--proxy-port <port> Proxy server port
|
|
171
|
+
--proxy-protocol <protocol> Proxy protocol: http, https, socks, socks5
|
|
172
|
+
--proxy-user <username> Proxy username
|
|
173
|
+
--proxy-pass <password> Proxy password
|
|
174
|
+
|
|
175
|
+
-f, --config <file> Load configuration from JSON file
|
|
176
|
+
-h, --help Display help for command
|
|
129
177
|
```
|
|
130
178
|
|
|
131
179
|
### Configuration File Format
|
|
@@ -134,6 +182,18 @@ Options:
|
|
|
134
182
|
{
|
|
135
183
|
"type": "https",
|
|
136
184
|
"url": "https://api.example.com/mcp",
|
|
185
|
+
"auth": {
|
|
186
|
+
"type": "bearer",
|
|
187
|
+
"token": "your-bearer-token"
|
|
188
|
+
},
|
|
189
|
+
"headers": {
|
|
190
|
+
"X-Custom-Header": "value"
|
|
191
|
+
},
|
|
192
|
+
"certificate": {
|
|
193
|
+
"cert": "/path/to/cert.pem",
|
|
194
|
+
"key": "/path/to/key.pem",
|
|
195
|
+
"ca": "/path/to/ca.pem"
|
|
196
|
+
},
|
|
137
197
|
"proxy": {
|
|
138
198
|
"host": "127.0.0.1",
|
|
139
199
|
"port": 8080,
|
|
@@ -146,6 +206,31 @@ Options:
|
|
|
146
206
|
}
|
|
147
207
|
```
|
|
148
208
|
|
|
209
|
+
**Available configuration options:**
|
|
210
|
+
|
|
211
|
+
- `type` - Transport type: `stdio`, `http`, `https`, `ws`, `wss`
|
|
212
|
+
- `url` - Server URL (for HTTP/WebSocket transports)
|
|
213
|
+
- `command` - Command to execute (for stdio transport)
|
|
214
|
+
- `args` - Command arguments array (for stdio transport)
|
|
215
|
+
- `env` - Environment variables object (for stdio transport)
|
|
216
|
+
- `auth` - Authentication configuration:
|
|
217
|
+
- `type` - Auth type: `bearer`, `basic`, or `custom`
|
|
218
|
+
- `token` - Bearer token (for bearer auth)
|
|
219
|
+
- `username`/`password` - Credentials (for basic auth)
|
|
220
|
+
- `headers` - Custom auth headers object (for custom auth)
|
|
221
|
+
- `headers` - Custom HTTP headers object
|
|
222
|
+
- `certificate` - TLS certificate configuration:
|
|
223
|
+
- `cert` - Path to client certificate
|
|
224
|
+
- `key` - Path to client private key
|
|
225
|
+
- `ca` - Path to CA certificate
|
|
226
|
+
- `passphrase` - Key passphrase (optional)
|
|
227
|
+
- `rejectUnauthorized` - Verify server certificate (default: true)
|
|
228
|
+
- `proxy` - Proxy configuration:
|
|
229
|
+
- `host` - Proxy server hostname
|
|
230
|
+
- `port` - Proxy server port
|
|
231
|
+
- `protocol` - Proxy protocol: `http`, `https`, `socks`, `socks5`
|
|
232
|
+
- `auth` - Proxy authentication (username/password)
|
|
233
|
+
|
|
149
234
|
### TUI Keyboard Shortcuts
|
|
150
235
|
|
|
151
236
|
**Function Keys:**
|
|
@@ -154,6 +239,7 @@ Options:
|
|
|
154
239
|
- **F3** - Focus traffic log panel
|
|
155
240
|
- **F4** - Close popup window
|
|
156
241
|
- **F5** - Refresh current view
|
|
242
|
+
- **F6** - Show saved connections (switch between previously saved connections)
|
|
157
243
|
- **F10** - Quit application
|
|
158
244
|
|
|
159
245
|
**Navigation:**
|
|
@@ -174,6 +260,109 @@ Options:
|
|
|
174
260
|
|
|
175
261
|
## Example Configurations
|
|
176
262
|
|
|
263
|
+
### Bearer Token Authentication (e.g., Docker Gateway)
|
|
264
|
+
|
|
265
|
+
```json
|
|
266
|
+
{
|
|
267
|
+
"type": "https",
|
|
268
|
+
"url": "https://api.example.com/mcp",
|
|
269
|
+
"auth": {
|
|
270
|
+
"type": "bearer",
|
|
271
|
+
"token": "juam4ckacyaedsxge6yt6pz1b0uq77a560x0t9f15bopsb3x7d"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
CLI equivalent:
|
|
277
|
+
```bash
|
|
278
|
+
mcp-pentester-cli connect --transport https --url "https://api.example.com/mcp" \
|
|
279
|
+
--auth-type bearer --auth-token "juam4ckacyaedsxge6yt6pz1b0uq77a560x0t9f15bopsb3x7d"
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### HTTP Basic Authentication
|
|
283
|
+
|
|
284
|
+
```json
|
|
285
|
+
{
|
|
286
|
+
"type": "https",
|
|
287
|
+
"url": "https://api.example.com/mcp",
|
|
288
|
+
"auth": {
|
|
289
|
+
"type": "basic",
|
|
290
|
+
"username": "admin",
|
|
291
|
+
"password": "secret"
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
CLI equivalent:
|
|
297
|
+
```bash
|
|
298
|
+
mcp-pentester-cli connect --transport https --url "https://api.example.com/mcp" \
|
|
299
|
+
--auth-type basic --auth-user admin --auth-pass secret
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Client Certificate Authentication (mTLS)
|
|
303
|
+
|
|
304
|
+
```json
|
|
305
|
+
{
|
|
306
|
+
"type": "https",
|
|
307
|
+
"url": "https://api.example.com/mcp",
|
|
308
|
+
"certificate": {
|
|
309
|
+
"cert": "/path/to/client-cert.pem",
|
|
310
|
+
"key": "/path/to/client-key.pem",
|
|
311
|
+
"ca": "/path/to/ca-cert.pem",
|
|
312
|
+
"passphrase": "optional-key-passphrase",
|
|
313
|
+
"rejectUnauthorized": true
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
CLI equivalent:
|
|
319
|
+
```bash
|
|
320
|
+
mcp-pentester-cli connect --transport https --url "https://api.example.com/mcp" \
|
|
321
|
+
--cert /path/to/client-cert.pem --key /path/to/client-key.pem \
|
|
322
|
+
--ca /path/to/ca-cert.pem --cert-passphrase "optional-key-passphrase"
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Custom Headers
|
|
326
|
+
|
|
327
|
+
```json
|
|
328
|
+
{
|
|
329
|
+
"type": "https",
|
|
330
|
+
"url": "https://api.example.com/mcp",
|
|
331
|
+
"headers": {
|
|
332
|
+
"X-API-Key": "your-api-key-here",
|
|
333
|
+
"X-Custom-Header": "custom-value"
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
CLI equivalent:
|
|
339
|
+
```bash
|
|
340
|
+
mcp-pentester-cli connect --transport https --url "https://api.example.com/mcp" \
|
|
341
|
+
--header "X-API-Key: your-api-key-here" --header "X-Custom-Header: custom-value"
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Bearer Auth + Proxy (Burp Suite)
|
|
345
|
+
|
|
346
|
+
```json
|
|
347
|
+
{
|
|
348
|
+
"type": "https",
|
|
349
|
+
"url": "https://api.example.com/mcp",
|
|
350
|
+
"auth": {
|
|
351
|
+
"type": "bearer",
|
|
352
|
+
"token": "juam4ckacyaedsxge6yt6pz1b0uq77a560x0t9f15bopsb3x7d"
|
|
353
|
+
},
|
|
354
|
+
"proxy": {
|
|
355
|
+
"host": "127.0.0.1",
|
|
356
|
+
"port": 8080,
|
|
357
|
+
"protocol": "http",
|
|
358
|
+
"auth": {
|
|
359
|
+
"username": "proxyuser",
|
|
360
|
+
"password": "proxypass"
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
177
366
|
### Testing a Local MCP Server with Burp Suite
|
|
178
367
|
|
|
179
368
|
```json
|
package/dist/index.js
CHANGED
|
@@ -39,11 +39,15 @@ const mcp_client_1 = require("./mcp-client");
|
|
|
39
39
|
const tui_1 = require("./ui/tui");
|
|
40
40
|
const fs = __importStar(require("fs"));
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
|
+
// Read version from package.json
|
|
43
|
+
const packageJsonPath = path.join(__dirname, '../package.json');
|
|
44
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
45
|
+
const version = packageJson.version || '1.0.0';
|
|
42
46
|
const program = new commander_1.Command();
|
|
43
47
|
program
|
|
44
48
|
.name('mcp-pentester-cli')
|
|
45
49
|
.description('Interactive console tool for pentesting MCP servers via JSON-RPC 2.0')
|
|
46
|
-
.version(
|
|
50
|
+
.version(version);
|
|
47
51
|
program
|
|
48
52
|
.command('connect')
|
|
49
53
|
.description('Connect to an MCP server')
|
|
@@ -56,6 +60,16 @@ program
|
|
|
56
60
|
.option('--proxy-protocol <protocol>', 'Proxy protocol: http, https, socks, socks5')
|
|
57
61
|
.option('--proxy-user <username>', 'Proxy username')
|
|
58
62
|
.option('--proxy-pass <password>', 'Proxy password')
|
|
63
|
+
.option('--auth-type <type>', 'Authentication type: bearer, basic, custom')
|
|
64
|
+
.option('--auth-token <token>', 'Bearer token for authentication')
|
|
65
|
+
.option('--auth-user <username>', 'Username for basic authentication')
|
|
66
|
+
.option('--auth-pass <password>', 'Password for basic authentication')
|
|
67
|
+
.option('--header <header...>', 'Custom headers (format: "Key: Value")')
|
|
68
|
+
.option('--cert <path>', 'Path to client certificate file')
|
|
69
|
+
.option('--key <path>', 'Path to client certificate key file')
|
|
70
|
+
.option('--ca <path>', 'Path to CA certificate file')
|
|
71
|
+
.option('--cert-passphrase <passphrase>', 'Passphrase for encrypted certificate key')
|
|
72
|
+
.option('--insecure', 'Disable TLS certificate verification (dangerous)')
|
|
59
73
|
.option('-f, --config <file>', 'Load configuration from JSON file')
|
|
60
74
|
.action(async (options) => {
|
|
61
75
|
let config;
|
|
@@ -96,6 +110,44 @@ program
|
|
|
96
110
|
};
|
|
97
111
|
}
|
|
98
112
|
}
|
|
113
|
+
// Authentication configuration
|
|
114
|
+
if (options.authType) {
|
|
115
|
+
config.auth = {
|
|
116
|
+
type: options.authType,
|
|
117
|
+
};
|
|
118
|
+
if (options.authType === 'bearer' && options.authToken) {
|
|
119
|
+
config.auth.token = options.authToken;
|
|
120
|
+
}
|
|
121
|
+
else if (options.authType === 'basic' && options.authUser && options.authPass) {
|
|
122
|
+
config.auth.username = options.authUser;
|
|
123
|
+
config.auth.password = options.authPass;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Custom headers
|
|
127
|
+
if (options.header) {
|
|
128
|
+
config.headers = {};
|
|
129
|
+
for (const header of options.header) {
|
|
130
|
+
const [key, ...valueParts] = header.split(':');
|
|
131
|
+
const value = valueParts.join(':').trim();
|
|
132
|
+
if (key && value) {
|
|
133
|
+
config.headers[key.trim()] = value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Certificate configuration
|
|
138
|
+
if (options.cert || options.key || options.ca || options.certPassphrase || options.insecure !== undefined) {
|
|
139
|
+
config.certificate = {};
|
|
140
|
+
if (options.cert)
|
|
141
|
+
config.certificate.cert = options.cert;
|
|
142
|
+
if (options.key)
|
|
143
|
+
config.certificate.key = options.key;
|
|
144
|
+
if (options.ca)
|
|
145
|
+
config.certificate.ca = options.ca;
|
|
146
|
+
if (options.certPassphrase)
|
|
147
|
+
config.certificate.passphrase = options.certPassphrase;
|
|
148
|
+
if (options.insecure !== undefined)
|
|
149
|
+
config.certificate.rejectUnauthorized = !options.insecure;
|
|
150
|
+
}
|
|
99
151
|
}
|
|
100
152
|
// Validate config
|
|
101
153
|
if (config.type === 'stdio' && !config.command) {
|
|
@@ -111,7 +163,7 @@ program
|
|
|
111
163
|
const tui = new tui_1.TUI();
|
|
112
164
|
// Create and connect client
|
|
113
165
|
const client = new mcp_client_1.MCPClient(config);
|
|
114
|
-
tui.setClient(client);
|
|
166
|
+
tui.setClient(client, config);
|
|
115
167
|
try {
|
|
116
168
|
// Add a timeout to prevent hanging forever
|
|
117
169
|
const connectPromise = client.connect();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EACL,eAAe,EAEf,OAAO,EACP,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,qBAAa,SAAU,SAAQ,YAAY;IAU7B,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,KAAK,CAMX;gBAEkB,MAAM,EAAE,eAAe;IAIrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EACL,eAAe,EAEf,OAAO,EACP,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,qBAAa,SAAU,SAAQ,YAAY;IAU7B,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,KAAK,CAMX;gBAEkB,MAAM,EAAE,eAAe;IAIrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAQnB,UAAU;IAqBlB,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAM/B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAOpD,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAMvC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvC,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMnC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAOrD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC,QAAQ,IAAI,cAAc;IAI1B,aAAa,IAAI,UAAU,EAAE;IAI7B,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,UAAU;CAcnB"}
|
package/dist/mcp-client.js
CHANGED
|
@@ -31,14 +31,14 @@ class MCPClient extends events_1.EventEmitter {
|
|
|
31
31
|
if (!this.config.url) {
|
|
32
32
|
throw new Error('URL required for HTTP transport');
|
|
33
33
|
}
|
|
34
|
-
this.transport = new http_1.HttpTransport(this.config.url, this.config.proxy);
|
|
34
|
+
this.transport = new http_1.HttpTransport(this.config.url, this.config.proxy, this.config.auth, this.config.certificate, this.config.headers);
|
|
35
35
|
break;
|
|
36
36
|
case 'ws':
|
|
37
37
|
case 'wss':
|
|
38
38
|
if (!this.config.url) {
|
|
39
39
|
throw new Error('URL required for WebSocket transport');
|
|
40
40
|
}
|
|
41
|
-
this.transport = new websocket_1.WebSocketTransport(this.config.url, this.config.proxy);
|
|
41
|
+
this.transport = new websocket_1.WebSocketTransport(this.config.url, this.config.proxy, this.config.auth, this.config.certificate, this.config.headers);
|
|
42
42
|
break;
|
|
43
43
|
default:
|
|
44
44
|
throw new Error(`Unsupported transport type: ${this.config.type}`);
|
package/dist/mcp-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,6CAAmD;AACnD,2CAAiD;AACjD,qDAA2D;AAW3D,MAAa,SAAU,SAAQ,qBAAY;IAUzC,YAAoB,MAAuB;QACzC,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAiB;QARnC,UAAK,GAAmB;YAC9B,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;SACf,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO;QACX,+BAA+B;QAC/B,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAc,CACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EACtB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CACtB,CAAC;gBACF,MAAM;YAER,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAa,
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
|
package/dist/transport/http.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { Transport } from './base';
|
|
2
|
-
import { JsonRpcRequest, JsonRpcNotification, ProxyConfig } from '../types';
|
|
2
|
+
import { JsonRpcRequest, JsonRpcNotification, ProxyConfig, AuthConfig, CertificateConfig } from '../types';
|
|
3
3
|
export declare class HttpTransport extends Transport {
|
|
4
4
|
private url;
|
|
5
5
|
private proxyConfig?;
|
|
6
|
+
private authConfig?;
|
|
7
|
+
private certificateConfig?;
|
|
6
8
|
private agent?;
|
|
7
9
|
private isHttps;
|
|
8
|
-
|
|
10
|
+
private authHeaders;
|
|
11
|
+
private customHeaders;
|
|
12
|
+
constructor(url: string, proxyConfig?: ProxyConfig | undefined, authConfig?: AuthConfig | undefined, certificateConfig?: CertificateConfig | undefined, customHeaders?: Record<string, string>);
|
|
13
|
+
private setupAuthHeaders;
|
|
9
14
|
private setupAgent;
|
|
10
15
|
connect(): Promise<void>;
|
|
11
16
|
disconnect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAmB,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE5H,qBAAa,aAAc,SAAQ,SAAS;IAOxC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,iBAAiB,CAAC;IAT5B,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAA8B;gBAGzC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,UAAU,CAAC,EAAE,UAAU,YAAA,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IASxC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;IA+CZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA+DtE"}
|
package/dist/transport/http.js
CHANGED
|
@@ -36,20 +36,71 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.HttpTransport = void 0;
|
|
37
37
|
const http = __importStar(require("http"));
|
|
38
38
|
const https = __importStar(require("https"));
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
39
40
|
const http_proxy_agent_1 = require("http-proxy-agent");
|
|
40
41
|
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
41
42
|
const socks_proxy_agent_1 = require("socks-proxy-agent");
|
|
42
43
|
const base_1 = require("./base");
|
|
43
44
|
class HttpTransport extends base_1.Transport {
|
|
44
|
-
constructor(url, proxyConfig) {
|
|
45
|
+
constructor(url, proxyConfig, authConfig, certificateConfig, customHeaders) {
|
|
45
46
|
super();
|
|
46
47
|
this.url = url;
|
|
47
48
|
this.proxyConfig = proxyConfig;
|
|
49
|
+
this.authConfig = authConfig;
|
|
50
|
+
this.certificateConfig = certificateConfig;
|
|
51
|
+
this.authHeaders = {};
|
|
52
|
+
this.customHeaders = {};
|
|
48
53
|
this.isHttps = url.startsWith('https://');
|
|
54
|
+
this.customHeaders = customHeaders || {};
|
|
55
|
+
this.setupAuthHeaders();
|
|
49
56
|
this.setupAgent();
|
|
50
57
|
}
|
|
58
|
+
setupAuthHeaders() {
|
|
59
|
+
if (!this.authConfig) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
switch (this.authConfig.type) {
|
|
63
|
+
case 'bearer':
|
|
64
|
+
if (this.authConfig.token) {
|
|
65
|
+
this.authHeaders['Authorization'] = `Bearer ${this.authConfig.token}`;
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
case 'basic':
|
|
69
|
+
if (this.authConfig.username && this.authConfig.password) {
|
|
70
|
+
const credentials = Buffer.from(`${this.authConfig.username}:${this.authConfig.password}`).toString('base64');
|
|
71
|
+
this.authHeaders['Authorization'] = `Basic ${credentials}`;
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
case 'custom':
|
|
75
|
+
if (this.authConfig.headers) {
|
|
76
|
+
this.authHeaders = { ...this.authHeaders, ...this.authConfig.headers };
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
51
81
|
setupAgent() {
|
|
82
|
+
const agentOptions = {};
|
|
83
|
+
if (this.certificateConfig) {
|
|
84
|
+
if (this.certificateConfig.cert) {
|
|
85
|
+
agentOptions.cert = fs.readFileSync(this.certificateConfig.cert);
|
|
86
|
+
}
|
|
87
|
+
if (this.certificateConfig.key) {
|
|
88
|
+
agentOptions.key = fs.readFileSync(this.certificateConfig.key);
|
|
89
|
+
}
|
|
90
|
+
if (this.certificateConfig.ca) {
|
|
91
|
+
agentOptions.ca = fs.readFileSync(this.certificateConfig.ca);
|
|
92
|
+
}
|
|
93
|
+
if (this.certificateConfig.passphrase) {
|
|
94
|
+
agentOptions.passphrase = this.certificateConfig.passphrase;
|
|
95
|
+
}
|
|
96
|
+
if (this.certificateConfig.rejectUnauthorized !== undefined) {
|
|
97
|
+
agentOptions.rejectUnauthorized = this.certificateConfig.rejectUnauthorized;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
52
100
|
if (!this.proxyConfig) {
|
|
101
|
+
if (Object.keys(agentOptions).length > 0 && this.isHttps) {
|
|
102
|
+
this.agent = new https.Agent(agentOptions);
|
|
103
|
+
}
|
|
53
104
|
return;
|
|
54
105
|
}
|
|
55
106
|
const proxyAuth = this.proxyConfig.auth
|
|
@@ -58,15 +109,15 @@ class HttpTransport extends base_1.Transport {
|
|
|
58
109
|
const proxyProtocol = this.proxyConfig.protocol || 'http';
|
|
59
110
|
if (proxyProtocol === 'socks' || proxyProtocol === 'socks5') {
|
|
60
111
|
const proxyUrl = `socks5://${proxyAuth}${this.proxyConfig.host}:${this.proxyConfig.port}`;
|
|
61
|
-
this.agent = new socks_proxy_agent_1.SocksProxyAgent(proxyUrl);
|
|
112
|
+
this.agent = new socks_proxy_agent_1.SocksProxyAgent(proxyUrl, agentOptions);
|
|
62
113
|
}
|
|
63
114
|
else {
|
|
64
115
|
const proxyUrl = `${proxyProtocol}://${proxyAuth}${this.proxyConfig.host}:${this.proxyConfig.port}`;
|
|
65
116
|
if (this.isHttps) {
|
|
66
|
-
this.agent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl);
|
|
117
|
+
this.agent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, agentOptions);
|
|
67
118
|
}
|
|
68
119
|
else {
|
|
69
|
-
this.agent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl);
|
|
120
|
+
this.agent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, agentOptions);
|
|
70
121
|
}
|
|
71
122
|
}
|
|
72
123
|
}
|
|
@@ -93,6 +144,8 @@ class HttpTransport extends base_1.Transport {
|
|
|
93
144
|
headers: {
|
|
94
145
|
'Content-Type': 'application/json',
|
|
95
146
|
'Content-Length': Buffer.byteLength(payload),
|
|
147
|
+
...this.customHeaders,
|
|
148
|
+
...this.authHeaders,
|
|
96
149
|
},
|
|
97
150
|
agent: this.agent,
|
|
98
151
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,6CAA+B;AAC/B,uDAAkD;AAClD,yDAAoD;AACpD,yDAAoD;AACpD,iCAAmC;AAGnC,MAAa,aAAc,SAAQ,gBAAS;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,6CAA+B;AAC/B,uCAAyB;AACzB,uDAAkD;AAClD,yDAAoD;AACpD,yDAAoD;AACpD,iCAAmC;AAGnC,MAAa,aAAc,SAAQ,gBAAS;IAM1C,YACU,GAAW,EACX,WAAyB,EACzB,UAAuB,EACvB,iBAAqC,EAC7C,aAAsC;QAEtC,KAAK,EAAE,CAAC;QANA,QAAG,GAAH,GAAG,CAAQ;QACX,gBAAW,GAAX,WAAW,CAAc;QACzB,eAAU,GAAV,UAAU,CAAa;QACvB,sBAAiB,GAAjB,iBAAiB,CAAoB;QAPvC,gBAAW,GAA2B,EAAE,CAAC;QACzC,kBAAa,GAA2B,EAAE,CAAC;QAUjD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxE,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9G,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACzE,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,YAAY,GAAuB,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAChC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBAC/B,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;gBAC9B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;gBACtC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC5D,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI;YACrC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,GAAG;YACxE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,MAAM,CAAC;QAE1D,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,YAAY,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1F,IAAI,CAAC,KAAK,GAAG,IAAI,mCAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,GAAG,aAAa,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACpG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,IAAI,mCAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAc,CAAC,QAAQ,EAAE,YAAiC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAA0C;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAE/C,MAAM,OAAO,GAAyB;gBACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC5C,GAAG,IAAI,CAAC,aAAa;oBACrB,GAAG,IAAI,CAAC,WAAW;iBACpB;gBACD,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;YAEF,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9C,IAAI,YAAY,GAAG,EAAE,CAAC;gBAEtB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,YAAY,IAAI,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC;gBAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC;wBACH,gEAAgE;wBAChE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;4BACzB,OAAO,EAAE,CAAC;4BACV,OAAO;wBACT,CAAC;wBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAE/B,IAAI,QAAQ,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAChD,IAAI,CAAC,cAAc,CAAC,QAA2B,CAAC,CAAC;wBACnD,CAAC;6BAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;4BACvD,IAAI,CAAC,kBAAkB,CAAC,QAA+B,CAAC,CAAC;wBAC3D,CAAC;wBAED,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC5E,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtKD,sCAsKC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { Transport } from './base';
|
|
2
|
-
import { JsonRpcRequest, JsonRpcNotification, ProxyConfig } from '../types';
|
|
2
|
+
import { JsonRpcRequest, JsonRpcNotification, ProxyConfig, AuthConfig, CertificateConfig } from '../types';
|
|
3
3
|
export declare class WebSocketTransport extends Transport {
|
|
4
4
|
private url;
|
|
5
5
|
private proxyConfig?;
|
|
6
|
+
private authConfig?;
|
|
7
|
+
private certificateConfig?;
|
|
6
8
|
private ws?;
|
|
7
9
|
private agent?;
|
|
8
|
-
|
|
10
|
+
private authHeaders;
|
|
11
|
+
private customHeaders;
|
|
12
|
+
constructor(url: string, proxyConfig?: ProxyConfig | undefined, authConfig?: AuthConfig | undefined, certificateConfig?: CertificateConfig | undefined, customHeaders?: Record<string, string>);
|
|
13
|
+
private setupAuthHeaders;
|
|
9
14
|
private setupAgent;
|
|
10
15
|
connect(): Promise<void>;
|
|
11
16
|
disconnect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/transport/websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/transport/websocket.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAmB,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE5H,qBAAa,kBAAmB,SAAQ,SAAS;IAO7C,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,iBAAiB,CAAC;IAT5B,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAM;IACpB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAA8B;gBAGzC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,UAAU,CAAC,EAAE,UAAU,YAAA,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQxC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;IAmDZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrE,OAAO,CAAC,aAAa;CAiBtB"}
|