@wunderio/wdrmcp 0.1.11 → 0.1.12
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 +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -6
- package/dist/config.js.map +1 -1
- package/dist/executors/command.d.ts +9 -4
- package/dist/executors/command.d.ts.map +1 -1
- package/dist/executors/command.js +62 -31
- package/dist/executors/command.js.map +1 -1
- package/dist/executors/mcp-proxy.d.ts +22 -5
- package/dist/executors/mcp-proxy.d.ts.map +1 -1
- package/dist/executors/mcp-proxy.js +163 -31
- package/dist/executors/mcp-proxy.js.map +1 -1
- package/dist/executors/ssh.js +1 -1
- package/dist/executors/ssh.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7 -2
- package/dist/registry.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +9 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Built with the [official MCP TypeScript SDK](https://github.com/modelcontextprot
|
|
|
8
8
|
|
|
9
9
|
- **YAML-driven tool definitions** — define tools declaratively, no code changes needed
|
|
10
10
|
- **Docker container execution** — run commands in Docker containers with security validation
|
|
11
|
-
- **MCP server proxying** — proxy tool calls to remote MCP servers via HTTP JSON-RPC
|
|
11
|
+
- **MCP server proxying** — proxy tool calls to remote MCP servers via HTTP JSON-RPC / Streamable HTTP MCP
|
|
12
12
|
- **Dynamic tool discovery** — automatically fetch and expose tools from remote MCP servers
|
|
13
13
|
- **Security** — container ownership validation, command injection prevention, argument validation
|
|
14
14
|
- **DDEV integration** — built-in support for DDEV container naming and project scoping
|
|
@@ -122,6 +122,10 @@ tools:
|
|
|
122
122
|
auth_token: "${REMOTE_MCP_TOKEN}"
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
Notes:
|
|
126
|
+
- `wdrmcp` supports both plain JSON-RPC HTTP MCP endpoints and Streamable HTTP MCP endpoints.
|
|
127
|
+
- For Streamable HTTP servers, `wdrmcp` performs `initialize` and `notifications/initialized`, keeps `mcp-session-id`, and sends `Accept: application/json, text/event-stream`.
|
|
128
|
+
|
|
125
129
|
## Architecture
|
|
126
130
|
|
|
127
131
|
```
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4D/C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CA2EtD"}
|
package/dist/config.js
CHANGED
|
@@ -9,14 +9,19 @@ function readSshUserFromFile(filePath) {
|
|
|
9
9
|
if (!existsSync(filePath)) {
|
|
10
10
|
return undefined;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
try {
|
|
13
|
+
const raw = readFileSync(filePath, "utf-8");
|
|
14
|
+
for (const line of raw.split("\n")) {
|
|
15
|
+
const trimmed = line.trim();
|
|
16
|
+
if (trimmed.startsWith("DDEV_SSH_USER=")) {
|
|
17
|
+
const value = trimmed.slice("DDEV_SSH_USER=".length).trim();
|
|
18
|
+
return value || undefined;
|
|
19
|
+
}
|
|
18
20
|
}
|
|
19
21
|
}
|
|
22
|
+
catch {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
20
25
|
return undefined;
|
|
21
26
|
}
|
|
22
27
|
function loadEnvFileIfExists(filePath) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;AAEtE,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* CommandToolExecutor — executes shell commands via SSH
|
|
3
3
|
* with argument substitution ({placeholder} syntax).
|
|
4
4
|
*/
|
|
5
|
-
import type { ToolExecutionResult, ToolExecutor, ValidationRule, ContainerExecutor } from "../types.js";
|
|
5
|
+
import type { ToolExecutionResult, ToolExecutor, ValidationRule, DisallowedCommand, ContainerExecutor } from "../types.js";
|
|
6
6
|
export interface CommandExecutorOptions {
|
|
7
7
|
commandTemplate: string;
|
|
8
8
|
host: string;
|
|
@@ -10,8 +10,8 @@ export interface CommandExecutorOptions {
|
|
|
10
10
|
sshUser?: string;
|
|
11
11
|
shell?: string;
|
|
12
12
|
workingDir?: string;
|
|
13
|
-
defaultArgs?: Record<string, string>;
|
|
14
|
-
disallowedCommands?: string[];
|
|
13
|
+
defaultArgs?: Record<string, string | string[]>;
|
|
14
|
+
disallowedCommands?: (string | DisallowedCommand)[];
|
|
15
15
|
validationRules?: ValidationRule[];
|
|
16
16
|
maxArgLength?: number;
|
|
17
17
|
}
|
|
@@ -29,9 +29,14 @@ export declare class CommandToolExecutor implements ToolExecutor {
|
|
|
29
29
|
constructor(options: CommandExecutorOptions);
|
|
30
30
|
execute(args: Record<string, unknown>): Promise<ToolExecutionResult>;
|
|
31
31
|
validateArguments(args: Record<string, unknown>): void;
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Check validation rules against a value. Returns error message or null.
|
|
34
|
+
* When fieldName is provided, only rules targeting that field (or all fields) apply.
|
|
35
|
+
* When fieldName is omitted (rendered command check), only non-field-specific rules apply.
|
|
36
|
+
*/
|
|
33
37
|
private checkRules;
|
|
34
38
|
private escapeShellArg;
|
|
35
39
|
private matchesDisallowed;
|
|
40
|
+
private formatBlockedMessage;
|
|
36
41
|
}
|
|
37
42
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/executors/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/executors/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3H,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;IACpD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,EAAE,sBAAsB;IAerC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoG1E,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA+BtD;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,oBAAoB;CAM7B"}
|
|
@@ -22,7 +22,7 @@ export class CommandToolExecutor {
|
|
|
22
22
|
this.shell = options.shell ?? "/bin/bash";
|
|
23
23
|
this.workingDir = options.workingDir;
|
|
24
24
|
this.defaultArgs = options.defaultArgs ?? {};
|
|
25
|
-
this.disallowedCommands =
|
|
25
|
+
this.disallowedCommands = (options.disallowedCommands ?? []).map((d) => typeof d === "string" ? { pattern: d } : d);
|
|
26
26
|
this.validationRules = options.validationRules ?? [];
|
|
27
27
|
this.maxArgLength = options.maxArgLength ?? 4096;
|
|
28
28
|
}
|
|
@@ -36,9 +36,15 @@ export class CommandToolExecutor {
|
|
|
36
36
|
}
|
|
37
37
|
// Check disallowed patterns against all provided string arguments.
|
|
38
38
|
for (const value of Object.values(mergedArgs)) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
const strings = Array.isArray(value)
|
|
40
|
+
? value.filter((v) => typeof v === "string")
|
|
41
|
+
: typeof value === "string" ? [value] : [];
|
|
42
|
+
for (const str of strings) {
|
|
43
|
+
const blocked = this.matchesDisallowed(str);
|
|
44
|
+
if (blocked) {
|
|
45
|
+
log.warn(`Blocked disallowed command in arguments`);
|
|
46
|
+
return { content: this.formatBlockedMessage(blocked), isError: true };
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
// Substitute arguments into template.
|
|
@@ -48,10 +54,20 @@ export class CommandToolExecutor {
|
|
|
48
54
|
log.debug(`Command template: ${this.commandTemplate}`);
|
|
49
55
|
}
|
|
50
56
|
cmdStr = this.commandTemplate.replace(/\{(\w+)\}/g, (_match, key) => {
|
|
51
|
-
if (key in mergedArgs)
|
|
52
|
-
|
|
57
|
+
if (key in mergedArgs) {
|
|
58
|
+
const raw = mergedArgs[key];
|
|
59
|
+
// Array values: escape each element individually, join with spaces.
|
|
60
|
+
if (Array.isArray(raw)) {
|
|
61
|
+
const parts = raw.map(String).filter(Boolean);
|
|
62
|
+
return parts.map((p) => this.escapeShellArg(p)).join(" ");
|
|
63
|
+
}
|
|
64
|
+
const val = String(raw);
|
|
65
|
+
return val === "" ? "" : this.escapeShellArg(val);
|
|
66
|
+
}
|
|
53
67
|
throw new Error(`Missing required argument: ${key}`);
|
|
54
68
|
});
|
|
69
|
+
// Collapse extra whitespace left by empty placeholders.
|
|
70
|
+
cmdStr = cmdStr.replace(/ +/g, " ").trim();
|
|
55
71
|
if (log.isVerbose()) {
|
|
56
72
|
log.debug(`Rendered command: ${cmdStr}`);
|
|
57
73
|
}
|
|
@@ -66,9 +82,10 @@ export class CommandToolExecutor {
|
|
|
66
82
|
log.warn(`Validation failed: ${ruleError}`);
|
|
67
83
|
return { content: `Validation error: ${ruleError}`, isError: true };
|
|
68
84
|
}
|
|
69
|
-
|
|
85
|
+
const blocked = this.matchesDisallowed(cmdStr);
|
|
86
|
+
if (blocked) {
|
|
70
87
|
log.warn(`Blocked disallowed command in rendered template`);
|
|
71
|
-
return { content:
|
|
88
|
+
return { content: this.formatBlockedMessage(blocked), isError: true };
|
|
72
89
|
}
|
|
73
90
|
// Execute via injected executor (SSH or other).
|
|
74
91
|
try {
|
|
@@ -105,15 +122,17 @@ export class CommandToolExecutor {
|
|
|
105
122
|
validateArguments(args) {
|
|
106
123
|
// Check validation rules and max-length against each string argument value.
|
|
107
124
|
for (const [key, value] of Object.entries(args)) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
const strings = Array.isArray(value)
|
|
126
|
+
? value.filter((v) => typeof v === "string")
|
|
127
|
+
: typeof value === "string" ? [value] : [];
|
|
128
|
+
for (const str of strings) {
|
|
129
|
+
if (str.length > this.maxArgLength) {
|
|
130
|
+
throw new Error(`Argument '${key}' exceeds max length of ${this.maxArgLength}`);
|
|
131
|
+
}
|
|
132
|
+
const ruleError = this.checkRules(str, key);
|
|
133
|
+
if (ruleError) {
|
|
134
|
+
throw new Error(ruleError);
|
|
135
|
+
}
|
|
117
136
|
}
|
|
118
137
|
}
|
|
119
138
|
// Verify required placeholders are provided.
|
|
@@ -124,9 +143,19 @@ export class CommandToolExecutor {
|
|
|
124
143
|
throw new Error(`Missing required arguments: ${missing.join(", ")}`);
|
|
125
144
|
}
|
|
126
145
|
}
|
|
127
|
-
/**
|
|
128
|
-
|
|
146
|
+
/**
|
|
147
|
+
* Check validation rules against a value. Returns error message or null.
|
|
148
|
+
* When fieldName is provided, only rules targeting that field (or all fields) apply.
|
|
149
|
+
* When fieldName is omitted (rendered command check), only non-field-specific rules apply.
|
|
150
|
+
*/
|
|
151
|
+
checkRules(value, fieldName) {
|
|
129
152
|
for (const rule of this.validationRules) {
|
|
153
|
+
// Field-specific rules only match the named field.
|
|
154
|
+
// Non-field rules match everything (individual args + rendered command).
|
|
155
|
+
if (rule.field) {
|
|
156
|
+
if (fieldName !== rule.field)
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
130
159
|
if (rule.pattern && new RegExp(rule.pattern).test(value)) {
|
|
131
160
|
return rule.message ?? `Validation failed for pattern: ${rule.pattern}`;
|
|
132
161
|
}
|
|
@@ -137,21 +166,23 @@ export class CommandToolExecutor {
|
|
|
137
166
|
return `'${value.replace(/'/g, `'"'"'`)}'`;
|
|
138
167
|
}
|
|
139
168
|
matchesDisallowed(value) {
|
|
140
|
-
for (const
|
|
141
|
-
|
|
169
|
+
for (const entry of this.disallowedCommands) {
|
|
170
|
+
const pat = entry.pattern?.trim();
|
|
171
|
+
if (!pat)
|
|
142
172
|
continue;
|
|
143
|
-
}
|
|
144
|
-
const
|
|
145
|
-
if (
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
const escaped = trimmed.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
149
|
-
const pattern = new RegExp(`(?:^|[\\s;&|()])${escaped}(?:$|[\\s;&|()])`, "i");
|
|
150
|
-
if (pattern.test(value)) {
|
|
151
|
-
return true;
|
|
173
|
+
const escaped = pat.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
174
|
+
const regex = new RegExp(`(?:^|[\\s;&|()])${escaped}(?:$|[\\s;&|()])`, "i");
|
|
175
|
+
if (regex.test(value)) {
|
|
176
|
+
return entry;
|
|
152
177
|
}
|
|
153
178
|
}
|
|
154
|
-
return
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
formatBlockedMessage(match) {
|
|
182
|
+
const base = `Error: Command contains blocked pattern '${match.pattern}'`;
|
|
183
|
+
return match.suggested_tool
|
|
184
|
+
? `${base}. Use the '${match.suggested_tool}' tool instead.`
|
|
185
|
+
: base;
|
|
155
186
|
}
|
|
156
187
|
}
|
|
157
188
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/executors/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgBzC,MAAM,OAAO,mBAAmB;IACb,eAAe,CAAS;IACxB,IAAI,CAAS;IACb,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,KAAK,CAAS;IACd,UAAU,CAAU;IACpB,WAAW,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/executors/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgBzC,MAAM,OAAO,mBAAmB;IACb,eAAe,CAAS;IACxB,IAAI,CAAS;IACb,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,KAAK,CAAS;IACd,UAAU,CAAU;IACpB,WAAW,CAAoC;IAC/C,kBAAkB,CAAsB;IACxC,eAAe,CAAmB;IAClC,YAAY,CAAS;IAEtC,YAAY,OAA+B;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAC3C,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,uBAAuB;QACvB,MAAM,UAAU,GAA4B,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7E,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;QAED,mEAAmE;QACnE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAa,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5C,CAAC,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBACxE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;oBACpD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBAClE,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC5B,oEAAoE;oBACpE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAI,GAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC7D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5D,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACxB,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,wDAAwD;YACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,iCAAkC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,UAAW,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;QAED,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,qBAAqB,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxE,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;YACrI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACzC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,KAAK,QAAQ,KAAK,CAAC,CAAC;YAEvD,wCAAwC;YACxC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;YACnE,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,QAAQ,GAAI,CAAW,CAAC,OAAO,CAAC;YACtC,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,KAAK,QAAQ,eAAe,QAAQ,EAAE,CAAC,CAAC;YAC3E,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,mBAAmB,QAAQ,EAAE;gBACtC,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAA6B;QAC7C,4EAA4E;QAC5E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAa,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5C,CAAC,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBACxE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,2BAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,KAAa,EAAE,SAAkB;QAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,mDAAmD;YACnD,yEAAyE;YACzE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK;oBAAE,SAAS;YACzC,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC,OAAO,IAAI,kCAAkC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,mBAAmB,OAAO,kBAAkB,EAAE,GAAG,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB,CAAC,KAAwB;QACnD,MAAM,IAAI,GAAG,4CAA4C,KAAK,CAAC,OAAO,GAAG,CAAC;QAC1E,OAAO,KAAK,CAAC,cAAc;YACzB,CAAC,CAAC,GAAG,IAAI,cAAc,KAAK,CAAC,cAAc,iBAAiB;YAC5D,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;CACF"}
|
|
@@ -26,7 +26,10 @@ export declare class McpProxyExecutor implements ToolExecutor {
|
|
|
26
26
|
private readonly forwardArgs;
|
|
27
27
|
private readonly timeout;
|
|
28
28
|
private readonly headers;
|
|
29
|
-
private
|
|
29
|
+
private client;
|
|
30
|
+
/** null = untried, true = SDK connected, false = fallback to raw fetch */
|
|
31
|
+
private sdkAvailable;
|
|
32
|
+
private connectPromise;
|
|
30
33
|
constructor(options: McpProxyOptions);
|
|
31
34
|
/** Fetch available tools from the remote MCP server via tools/list. */
|
|
32
35
|
fetchRemoteTools(): Promise<RemoteToolDefinition[]>;
|
|
@@ -38,10 +41,24 @@ export declare class McpProxyExecutor implements ToolExecutor {
|
|
|
38
41
|
*/
|
|
39
42
|
callTool(args: Record<string, unknown>, toolName?: string): Promise<ToolExecutionResult>;
|
|
40
43
|
validateArguments(_args: Record<string, unknown>): void;
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Lazily connect to the remote server via MCP SDK.
|
|
46
|
+
* On failure, sets sdkAvailable=false so callers fall back to raw fetch.
|
|
47
|
+
* Deduplicates concurrent connection attempts.
|
|
48
|
+
*/
|
|
49
|
+
private ensureConnected;
|
|
50
|
+
private doConnect;
|
|
51
|
+
/**
|
|
52
|
+
* Simplified fallback for non-MCP servers: plain JSON-RPC 2.0 POST.
|
|
53
|
+
* No session tracking, no SSE parsing, no notifications.
|
|
54
|
+
*/
|
|
55
|
+
private rawFetchRpc;
|
|
56
|
+
/** Map SDK CallToolResult to project's ToolExecutionResult. */
|
|
57
|
+
private mapSdkResult;
|
|
58
|
+
/** Extract tool definitions from a raw JSON-RPC response. */
|
|
59
|
+
private extractToolsFromRawResponse;
|
|
60
|
+
/** Parse a raw JSON-RPC response into a ToolExecutionResult. */
|
|
61
|
+
private parseRawResponse;
|
|
45
62
|
}
|
|
46
63
|
/**
|
|
47
64
|
* A thin wrapper that binds a specific remote tool name to a McpProxyExecutor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-proxy.d.ts","sourceRoot":"","sources":["../../src/executors/mcp-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"mcp-proxy.d.ts","sourceRoot":"","sources":["../../src/executors/mcp-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErE,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,MAAM,CAAuB;IACrC,0EAA0E;IAC1E,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAA8B;gBAExC,OAAO,EAAE,eAAe;IAyBpC,uEAAuE;IACjE,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA6BzD,gDAAgD;IAC1C,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI1E;;;OAGG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC;IAuC/B,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvD;;;;OAIG;YACW,eAAe;YAiBf,SAAS;IA6CvB;;;OAGG;YACW,WAAW;IAyCzB,+DAA+D;IAC/D,OAAO,CAAC,YAAY;IA6BpB,6DAA6D;IAC7D,OAAO,CAAC,2BAA2B;IAenC,gEAAgE;IAChE,OAAO,CAAC,gBAAgB;CA0CzB;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAExD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,MAAM;IAGnC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI1E,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAGxD"}
|
|
@@ -5,18 +5,27 @@
|
|
|
5
5
|
* BoundRemoteToolExecutor: a thin wrapper that binds a specific remote tool
|
|
6
6
|
* name, so the registry doesn't need special-case logic for proxied tools.
|
|
7
7
|
*/
|
|
8
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
9
|
+
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
8
10
|
import { getLogger } from "../logger.js";
|
|
9
11
|
export class McpProxyExecutor {
|
|
10
12
|
serverUrl;
|
|
11
13
|
forwardArgs;
|
|
12
14
|
timeout;
|
|
13
15
|
headers;
|
|
14
|
-
|
|
16
|
+
client = null;
|
|
17
|
+
/** null = untried, true = SDK connected, false = fallback to raw fetch */
|
|
18
|
+
sdkAvailable = null;
|
|
19
|
+
connectPromise = null;
|
|
15
20
|
constructor(options) {
|
|
16
21
|
this.serverUrl = options.serverUrl;
|
|
17
22
|
this.forwardArgs = options.forwardArgs ?? true;
|
|
18
23
|
this.timeout = (options.timeout ?? 10) * 1000;
|
|
19
|
-
this.headers = {
|
|
24
|
+
this.headers = {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
Accept: "application/json, text/event-stream",
|
|
27
|
+
"User-Agent": "wdrmcp/0.1",
|
|
28
|
+
};
|
|
20
29
|
if (options.authToken) {
|
|
21
30
|
if (options.authTokenBasic) {
|
|
22
31
|
const encoded = Buffer.from(options.authToken).toString("base64");
|
|
@@ -36,20 +45,20 @@ export class McpProxyExecutor {
|
|
|
36
45
|
const log = getLogger();
|
|
37
46
|
log.info(`Fetching remote tools from ${this.serverUrl}`);
|
|
38
47
|
try {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
tools = result
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
else {
|
|
50
|
-
log.warn(`Unexpected response format from ${this.serverUrl}`);
|
|
51
|
-
return [];
|
|
48
|
+
await this.ensureConnected();
|
|
49
|
+
if (this.sdkAvailable && this.client) {
|
|
50
|
+
const result = await this.client.listTools();
|
|
51
|
+
const tools = result.tools.map((t) => ({
|
|
52
|
+
name: t.name,
|
|
53
|
+
description: t.description,
|
|
54
|
+
inputSchema: t.inputSchema,
|
|
55
|
+
}));
|
|
56
|
+
log.info(`Fetched ${tools.length} tools from ${this.serverUrl}`);
|
|
57
|
+
return tools;
|
|
52
58
|
}
|
|
59
|
+
// Fallback: raw JSON-RPC
|
|
60
|
+
const result = await this.rawFetchRpc("tools/list", {});
|
|
61
|
+
const tools = this.extractToolsFromRawResponse(result);
|
|
53
62
|
log.info(`Fetched ${tools.length} tools from ${this.serverUrl}`);
|
|
54
63
|
return tools;
|
|
55
64
|
}
|
|
@@ -68,18 +77,32 @@ export class McpProxyExecutor {
|
|
|
68
77
|
*/
|
|
69
78
|
async callTool(args, toolName) {
|
|
70
79
|
try {
|
|
71
|
-
|
|
80
|
+
await this.ensureConnected();
|
|
81
|
+
// SDK path: use client.callTool for named tool calls
|
|
82
|
+
if (this.sdkAvailable && this.client && toolName) {
|
|
83
|
+
const result = await this.client.callTool({
|
|
84
|
+
name: toolName,
|
|
85
|
+
arguments: args,
|
|
86
|
+
});
|
|
87
|
+
return this.mapSdkResult(result);
|
|
88
|
+
}
|
|
89
|
+
// Fallback: raw JSON-RPC
|
|
90
|
+
let method;
|
|
91
|
+
let params;
|
|
72
92
|
if (toolName) {
|
|
73
|
-
|
|
93
|
+
method = "tools/call";
|
|
94
|
+
params = { name: toolName, arguments: args };
|
|
74
95
|
}
|
|
75
96
|
else if (typeof args.method === "string") {
|
|
76
|
-
|
|
97
|
+
method = args.method;
|
|
98
|
+
params = args.params ?? {};
|
|
77
99
|
}
|
|
78
100
|
else {
|
|
79
|
-
|
|
101
|
+
method = "tools/call";
|
|
102
|
+
params = this.forwardArgs ? args : {};
|
|
80
103
|
}
|
|
81
|
-
const result = await this.
|
|
82
|
-
return this.
|
|
104
|
+
const result = await this.rawFetchRpc(method, params);
|
|
105
|
+
return this.parseRawResponse(result);
|
|
83
106
|
}
|
|
84
107
|
catch (e) {
|
|
85
108
|
if (e.name === "AbortError") {
|
|
@@ -92,29 +115,138 @@ export class McpProxyExecutor {
|
|
|
92
115
|
validateArguments(_args) {
|
|
93
116
|
// Remote servers handle their own validation.
|
|
94
117
|
}
|
|
95
|
-
/**
|
|
96
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Lazily connect to the remote server via MCP SDK.
|
|
120
|
+
* On failure, sets sdkAvailable=false so callers fall back to raw fetch.
|
|
121
|
+
* Deduplicates concurrent connection attempts.
|
|
122
|
+
*/
|
|
123
|
+
async ensureConnected() {
|
|
124
|
+
if (this.sdkAvailable !== null) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (this.connectPromise) {
|
|
128
|
+
return this.connectPromise;
|
|
129
|
+
}
|
|
130
|
+
this.connectPromise = this.doConnect();
|
|
131
|
+
try {
|
|
132
|
+
await this.connectPromise;
|
|
133
|
+
}
|
|
134
|
+
finally {
|
|
135
|
+
this.connectPromise = null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async doConnect() {
|
|
139
|
+
const log = getLogger();
|
|
140
|
+
try {
|
|
141
|
+
const { Authorization, ...rest } = this.headers;
|
|
142
|
+
const requestHeaders = { ...rest };
|
|
143
|
+
if (Authorization) {
|
|
144
|
+
requestHeaders["Authorization"] = Authorization;
|
|
145
|
+
}
|
|
146
|
+
const transport = new StreamableHTTPClientTransport(new URL(this.serverUrl), {
|
|
147
|
+
requestInit: {
|
|
148
|
+
headers: requestHeaders,
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
const client = new Client({ name: "wdrmcp", version: "0.1" }, { capabilities: {} });
|
|
152
|
+
await client.connect(transport);
|
|
153
|
+
this.client = client;
|
|
154
|
+
this.sdkAvailable = true;
|
|
155
|
+
if (log.isVerbose()) {
|
|
156
|
+
const serverInfo = client.getServerVersion();
|
|
157
|
+
log.debug(`Connected to MCP server at ${this.serverUrl}${serverInfo ? ` (${serverInfo.name} ${serverInfo.version})` : ""}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
this.sdkAvailable = false;
|
|
162
|
+
if (log.isVerbose()) {
|
|
163
|
+
log.debug(`MCP SDK connect failed for ${this.serverUrl}; falling back to raw JSON-RPC: ${e}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Simplified fallback for non-MCP servers: plain JSON-RPC 2.0 POST.
|
|
169
|
+
* No session tracking, no SSE parsing, no notifications.
|
|
170
|
+
*/
|
|
171
|
+
async rawFetchRpc(method, params) {
|
|
97
172
|
const controller = new AbortController();
|
|
98
173
|
const timer = setTimeout(() => controller.abort(), this.timeout);
|
|
99
|
-
const id = this.requestId++;
|
|
100
174
|
try {
|
|
175
|
+
const payload = {
|
|
176
|
+
jsonrpc: "2.0",
|
|
177
|
+
method,
|
|
178
|
+
params,
|
|
179
|
+
id: 1,
|
|
180
|
+
};
|
|
101
181
|
const response = await fetch(this.serverUrl, {
|
|
102
182
|
method: "POST",
|
|
103
183
|
headers: this.headers,
|
|
104
|
-
body: JSON.stringify(
|
|
184
|
+
body: JSON.stringify(payload),
|
|
105
185
|
signal: controller.signal,
|
|
106
186
|
});
|
|
107
187
|
if (!response.ok) {
|
|
108
|
-
|
|
188
|
+
const errorText = await response.text();
|
|
189
|
+
const compactError = errorText.replace(/\s+/g, " ").trim();
|
|
190
|
+
const suffix = compactError ? ` - ${compactError}` : "";
|
|
191
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}${suffix}`);
|
|
192
|
+
}
|
|
193
|
+
const raw = await response.text();
|
|
194
|
+
if (!raw) {
|
|
195
|
+
return {};
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
return JSON.parse(raw);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return raw;
|
|
109
202
|
}
|
|
110
|
-
return response.json();
|
|
111
203
|
}
|
|
112
204
|
finally {
|
|
113
205
|
clearTimeout(timer);
|
|
114
206
|
}
|
|
115
207
|
}
|
|
116
|
-
/**
|
|
117
|
-
|
|
208
|
+
/** Map SDK CallToolResult to project's ToolExecutionResult. */
|
|
209
|
+
mapSdkResult(result) {
|
|
210
|
+
const content = result.content;
|
|
211
|
+
if (!Array.isArray(content) || content.length === 0) {
|
|
212
|
+
return { content: "", isError: result.isError === true ? true : undefined };
|
|
213
|
+
}
|
|
214
|
+
// Extract text from content blocks
|
|
215
|
+
const texts = [];
|
|
216
|
+
for (const block of content) {
|
|
217
|
+
if (block.type === "text") {
|
|
218
|
+
texts.push(block.text);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
texts.push(JSON.stringify(block));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
let text = texts.join("\n");
|
|
225
|
+
// Try to parse JSON-escaped strings (matching previous behavior)
|
|
226
|
+
try {
|
|
227
|
+
const parsed = JSON.parse(text);
|
|
228
|
+
text = typeof parsed === "string" ? parsed : JSON.stringify(parsed);
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// Not JSON, use as-is
|
|
232
|
+
}
|
|
233
|
+
return { content: text, isError: result.isError === true ? true : undefined };
|
|
234
|
+
}
|
|
235
|
+
/** Extract tool definitions from a raw JSON-RPC response. */
|
|
236
|
+
extractToolsFromRawResponse(result) {
|
|
237
|
+
if (Array.isArray(result)) {
|
|
238
|
+
return result;
|
|
239
|
+
}
|
|
240
|
+
if (typeof result === "object" && result !== null) {
|
|
241
|
+
const r = result;
|
|
242
|
+
const raw = r.tools ?? r.result?.tools ?? [];
|
|
243
|
+
return (Array.isArray(raw) ? raw : []);
|
|
244
|
+
}
|
|
245
|
+
getLogger().warn(`Unexpected response format from ${this.serverUrl}`);
|
|
246
|
+
return [];
|
|
247
|
+
}
|
|
248
|
+
/** Parse a raw JSON-RPC response into a ToolExecutionResult. */
|
|
249
|
+
parseRawResponse(result) {
|
|
118
250
|
if (typeof result !== "object" || result === null || Array.isArray(result)) {
|
|
119
251
|
return { content: typeof result === "string" ? result : JSON.stringify(result) };
|
|
120
252
|
}
|
|
@@ -129,10 +261,10 @@ export class McpProxyExecutor {
|
|
|
129
261
|
if (Array.isArray(content) && content.length > 0) {
|
|
130
262
|
const textContent = content[0].text;
|
|
131
263
|
// Try to parse JSON-escaped strings
|
|
132
|
-
if (textContent && typeof textContent ===
|
|
264
|
+
if (textContent && typeof textContent === "string") {
|
|
133
265
|
try {
|
|
134
266
|
const parsed = JSON.parse(textContent);
|
|
135
|
-
return { content: typeof parsed ===
|
|
267
|
+
return { content: typeof parsed === "string" ? parsed : JSON.stringify(parsed) };
|
|
136
268
|
}
|
|
137
269
|
catch {
|
|
138
270
|
// Not JSON, return as-is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-proxy.js","sourceRoot":"","sources":["../../src/executors/mcp-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAoBzC,MAAM,OAAO,gBAAgB;IACV,SAAS,CAAS;IAClB,WAAW,CAAU;IACrB,OAAO,CAAS;IAChB,OAAO,CAAyB;IACzC,
|
|
1
|
+
{"version":3,"file":"mcp-proxy.js","sourceRoot":"","sources":["../../src/executors/mcp-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAoBzC,MAAM,OAAO,gBAAgB;IACV,SAAS,CAAS;IAClB,WAAW,CAAU;IACrB,OAAO,CAAS;IAChB,OAAO,CAAyB;IACzC,MAAM,GAAkB,IAAI,CAAC;IACrC,0EAA0E;IAClE,YAAY,GAAmB,IAAI,CAAC;IACpC,cAAc,GAAyB,IAAI,CAAC;IAEpD,YAAY,OAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG;YACb,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,qCAAqC;YAC7C,YAAY,EAAE,YAAY;SAC3B,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,OAAO,EAAE,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,OAAO,CAAC,SAAS,EAAE,CAAC;YAChE,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAClD,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,OAAO,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAA2B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7D,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,WAAW,EAAE,CAAC,CAAC,WAAsC;iBACtD,CAAC,CAAC,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,IAA6B,EAC7B,QAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,qDAAqD;YACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACxC,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,yBAAyB;YACzB,IAAI,MAAc,CAAC;YACnB,IAAI,MAA+B,CAAC;YAEpC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,YAAY,CAAC;gBACtB,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,MAAM,GAAI,IAAI,CAAC,MAAkC,IAAI,EAAE,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,YAAY,CAAC;gBACtB,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAK,CAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvC,OAAO,EAAE,OAAO,EAAE,yBAAyB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrF,CAAC;YACD,SAAS,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,UAAW,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,KAA8B;QAC9C,8CAA8C;IAChD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAChD,MAAM,cAAc,GAA2B,EAAE,GAAG,IAAI,EAAE,CAAC;YAC3D,IAAI,aAAa,EAAE,CAAC;gBAClB,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;YAClD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,6BAA6B,CACjD,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EACvB;gBACE,WAAW,EAAE;oBACX,OAAO,EAAE,cAAc;iBACxB;aACF,CACF,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAClC,EAAE,YAAY,EAAE,EAAE,EAAE,CACrB,CAAC;YAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,GAAG,CAAC,KAAK,CACP,8BAA8B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjH,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CACP,8BAA8B,IAAI,CAAC,SAAS,mCAAmC,CAAC,EAAE,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,MAA+B;QACvE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,MAAM;gBACN,EAAE,EAAE,CAAC;aACN,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC3C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,+DAA+D;IACvD,YAAY,CAAC,MAA+C;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC9E,CAAC;QAED,mCAAmC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAChF,CAAC;IAED,6DAA6D;IACrD,2BAA2B,CAAC,MAAe;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAgC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,MAAiC,CAAC;YAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,IAAK,CAAC,CAAC,MAAkC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC1E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAA2B,CAAC;QACnE,CAAC;QAED,SAAS,EAAE,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,gEAAgE;IACxD,gBAAgB,CAAC,MAAe;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,GAAG,MAAiC,CAAC;QAE5C,kEAAkE;QAClE,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1E,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,WAAW,GAAI,OAAO,CAAC,CAAC,CAA6B,CAAC,IAAc,CAAC;YAE3E,oCAAoC;YACpC,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACvC,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnF,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;oBACzB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAgC,CAAC;YAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC;QAED,kCAAkC;QAClC,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IACnF,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAEf;IACA;IAFnB,YACmB,KAAuB,EACvB,cAAsB;QADtB,UAAK,GAAL,KAAK,CAAkB;QACvB,mBAAc,GAAd,cAAc,CAAQ;IACtC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,KAA8B;QAC9C,oCAAoC;IACtC,CAAC;CACF"}
|
package/dist/executors/ssh.js
CHANGED
|
@@ -100,7 +100,7 @@ export class SshExecutor {
|
|
|
100
100
|
}
|
|
101
101
|
const baseDir = workingDir.replace(/\/$/, "");
|
|
102
102
|
const configPath = this.escapeShellArg(`${baseDir}/.ddev/config.yaml`);
|
|
103
|
-
return `if [ -f ${configPath} ]; then awk -F'- ' '/- (DB_(HOST|NAME|USER|PASS)|HASH_SALT|ENVIRONMENT_NAME)=/ {print $2}' ${configPath}
|
|
103
|
+
return `if [ -f ${configPath} ]; then while IFS= read -r kv; do [ -n "$kv" ] && export "$kv"; done < <(awk -F'- ' '/- (DB_(HOST|NAME|USER|PASS)|HASH_SALT|ENVIRONMENT_NAME)=/ {print $2}' ${configPath}); fi; `;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
//# sourceMappingURL=ssh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/executors/ssh.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/executors/ssh.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EACV,YAAY,EAIZ,mBAAmB,EACnB,cAAc,EAKf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EACV,YAAY,EAIZ,mBAAmB,EACnB,cAAc,EAKf,MAAM,YAAY,CAAC;AAqEpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;gBAE1C,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAkBxD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAyDpB,cAAc;IAoB5B;;;OAGG;YACW,kBAAkB;IAoDhC,OAAO,CAAC,cAAc;IAsGtB,YAAY,IAAI,MAAM,EAAE;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IACjD,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAE1C;;;OAGG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6C5F;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,iCAAiC;CAU1C"}
|
package/dist/registry.js
CHANGED
|
@@ -20,12 +20,14 @@ import { McpProxyExecutor, BoundRemoteToolExecutor } from "./executors/mcp-proxy
|
|
|
20
20
|
const ValidationRuleSchema = z.object({
|
|
21
21
|
pattern: z.string(),
|
|
22
22
|
message: z.string().optional(),
|
|
23
|
+
field: z.string().optional(),
|
|
23
24
|
}).strict();
|
|
24
25
|
const JsonSchemaPropertySchema = z.lazy(() => z.object({
|
|
25
26
|
type: z.string(),
|
|
26
27
|
description: z.string().optional(),
|
|
27
28
|
enum: z.array(z.string()).optional(),
|
|
28
29
|
default: z.unknown().optional(),
|
|
30
|
+
items: z.lazy(() => JsonSchemaPropertySchema).optional(),
|
|
29
31
|
}).strict());
|
|
30
32
|
const JsonSchemaSchema = z.lazy(() => z.object({
|
|
31
33
|
type: z.string(),
|
|
@@ -43,8 +45,11 @@ const CommandToolConfigSchema = z.object({
|
|
|
43
45
|
ssh_user: z.string().optional(),
|
|
44
46
|
working_dir: z.string().optional(),
|
|
45
47
|
shell: z.string().optional(),
|
|
46
|
-
default_args: z.record(z.string()).optional(),
|
|
47
|
-
disallowed_commands: z.array(z.
|
|
48
|
+
default_args: z.record(z.union([z.string(), z.array(z.string())])).optional(),
|
|
49
|
+
disallowed_commands: z.array(z.union([
|
|
50
|
+
z.string(),
|
|
51
|
+
z.object({ pattern: z.string(), suggested_tool: z.string().optional() }).strict(),
|
|
52
|
+
])).optional(),
|
|
48
53
|
validation_rules: z.array(ValidationRuleSchema).optional(),
|
|
49
54
|
max_arg_length: z.number().int().positive().optional(),
|
|
50
55
|
}).strict();
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAcrF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,wBAAwB,GAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEb,MAAM,gBAAgB,GAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;IACzD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEb,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IAC1D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACpD,uBAAuB;IACvB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACjC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,OAAO,YAAY;IACN,cAAc,CAAS;IACvB,MAAM,CAAe;IACrB,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAC/C,eAAe,CAAkB;IACjC,iBAAiB,CAAoB;IAEtD,YAAY,cAAsB,EAAE,MAAoB;QACtD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,yDAAyD;QACzD,2DAA2D;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,WAAW,CAAC;YACvC,WAAW,EAAE,MAAM,CAAC,OAAO;YAC3B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;SACpD,CAAC,CAAC;QAEH,mDAAmD;QACnD,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;QACxC,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QAExB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAElC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAElE,MAAM,UAAU,GAAG,wBAAwB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM;yBACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;yBACrE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,UAAU,CAAC,IAAuB,CAAC;gBAEtD,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,aAAa,IAAI,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC1C,WAAW,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,UAAU,WAAW,cAAc,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,UAAsB;QACjD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAChE,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAE5E,+EAA+E;QAC/E,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,IAAK,UAAkC,CAAC,mBAAmB,EAAE,CAAC;YAChG,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAiC,EAAE,QAA4B,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,WAAgC,EAChC,KAAuB;QAEvB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACrC,KAAK,CAAC,gBAAgB,EAAE;gBACxB,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,WAAW,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CACzF;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAE/E,sDAAsD;YACtD,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,IAAI;oBAAE,SAAS;gBAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAEnE,qFAAqF;gBACrF,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEtE,MAAM,aAAa,GAAwB;oBACzC,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;oBACrC,IAAI,EAAE,YAAY;oBAClB,YAAY,EAAE,MAAM,CAAC,WAAyC;oBAC9D,UAAU,EAAE,WAAW,CAAC,UAAU;iBACnC,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9E,GAAG,CAAC,IAAI,CAAC,uBAAuB,SAAS,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBACnE,KAAK,EAAE,CAAC;YACV,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,SAAS,EAAE,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,oCAAoC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,UAAsB;QAC3C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,SAAS,CAAC;QAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,UAA+B,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,4BAA4B,CAAC,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAChG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,sBAAsB,CAAC,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAEpF,wDAAwD;gBACxD,MAAM,OAAO,GAAG;oBACd,GAAI,OAAO,CAAC,GAA0C;oBACtD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;iBAChE,CAAC;gBACF,MAAM,UAAU,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAE7D,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtE,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBAEtE,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7F,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtG,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC,iCAAiC,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC1E,CAAC;gBAED,OAAO,IAAI,mBAAmB,CAAC;oBAC7B,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,sBAAsB;oBACxD,OAAO;oBACP,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,UAAU;oBACV,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,kBAAkB,EAAE,GAAG,CAAC,mBAAmB;oBAC3C,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,YAAY,EAAE,GAAG,CAAC,cAAc;iBACjC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,UAAiC,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,sBAAsB,CAAC,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAEpF,MAAM,OAAO,GAAG;oBACd,GAAI,OAAO,CAAC,GAA0C;oBACtD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;iBAChE,CAAC;gBACF,MAAM,UAAU,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAE7D,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa;oBACpC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC;oBACxD,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,iCAAiC,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;gBAC9E,CAAC;gBAED,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa;oBACpC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC;oBACxD,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,iCAAiC,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;gBAC9E,CAAC;gBAED,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU;oBAC9B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC;oBACrD,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACxE,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAClD,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,0FAA0F,CAAC,CAAC;gBACnH,CAAC;gBAED,OAAO,IAAI,gBAAgB,CAAC;oBAC1B,SAAS,EAAE,GAAG,CAAC,UAAU;oBACzB,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY;oBACZ,YAAY;oBACZ,SAAS;oBACT,cAAc,EAAE,GAAG,CAAC,gBAAgB;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qBAAqB;IAErB,YAAY,KAAe,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAY,IAAgC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,WAAW,KAAkC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAA6B;QAC3D,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,wBAAwB,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACxC,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,uBAAuB,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,eAAe,GAAI,CAAW,CAAC,OAAO,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,qBAAqB,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,SAAS,GAAI,CAAW,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;YAChD,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,eAAe,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,UAAU,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,KAA8B,EAC9B,QAAgB,EAChB,aAAqB;QAErB,MAAM,SAAS,GAAG,CAAC,CAAU,EAAW,EAAE;YACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;oBACjC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC1C,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBACrE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,OAAO,SAAS,CAAC,KAAK,CAA4B,CAAC;IACrD,CAAC;IAEO,iCAAiC,CAAC,KAAa,EAAE,QAAgB,EAAE,SAAiB;QAC1F,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,KAAK,CACb,QAAQ,QAAQ,kDAAkD,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxG,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -16,7 +16,7 @@ function toZod(prop) {
|
|
|
16
16
|
case "number":
|
|
17
17
|
case "integer": return z.number();
|
|
18
18
|
case "boolean": return z.boolean();
|
|
19
|
-
case "array": return z.array(z.unknown());
|
|
19
|
+
case "array": return z.array(prop.items ? toZod(prop.items) : z.unknown());
|
|
20
20
|
case "object": return z.record(z.unknown());
|
|
21
21
|
default: return z.unknown();
|
|
22
22
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAoB,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,sDAAsD;AACtD,SAAS,KAAK,CAAC,IAAwB;IACrC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1F,KAAK,QAAQ,CAAC;YAAC,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -7,6 +7,12 @@ export type ToolType = "command" | "mcp_server";
|
|
|
7
7
|
export interface ValidationRule {
|
|
8
8
|
pattern: string;
|
|
9
9
|
message: string;
|
|
10
|
+
field?: string;
|
|
11
|
+
}
|
|
12
|
+
/** A disallowed command pattern with optional suggested alternative. */
|
|
13
|
+
export interface DisallowedCommand {
|
|
14
|
+
pattern: string;
|
|
15
|
+
suggested_tool?: string;
|
|
10
16
|
}
|
|
11
17
|
/** Base tool configuration shared by all tool types. */
|
|
12
18
|
export interface BaseToolConfig {
|
|
@@ -27,6 +33,7 @@ export interface JsonSchemaProperty {
|
|
|
27
33
|
description?: string;
|
|
28
34
|
enum?: string[];
|
|
29
35
|
default?: unknown;
|
|
36
|
+
items?: JsonSchemaProperty;
|
|
30
37
|
}
|
|
31
38
|
/** Configuration for a command-type tool (SSH execution). */
|
|
32
39
|
export interface CommandToolConfig extends BaseToolConfig {
|
|
@@ -36,8 +43,8 @@ export interface CommandToolConfig extends BaseToolConfig {
|
|
|
36
43
|
ssh_user?: string;
|
|
37
44
|
working_dir?: string;
|
|
38
45
|
shell?: string;
|
|
39
|
-
default_args?: Record<string, string>;
|
|
40
|
-
disallowed_commands?: string[];
|
|
46
|
+
default_args?: Record<string, string | string[]>;
|
|
47
|
+
disallowed_commands?: (string | DisallowedCommand)[];
|
|
41
48
|
validation_rules?: ValidationRule[];
|
|
42
49
|
max_arg_length?: number;
|
|
43
50
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;AAEhD,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|