@mcp-abap-adt/llm-agent-mcp 25.0.0 → 27.0.1
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 +31 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -0
- package/dist/client.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +1 -0
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/servers/http-mcp-server.d.ts +64 -0
- package/dist/servers/http-mcp-server.d.ts.map +1 -0
- package/dist/servers/http-mcp-server.js +92 -0
- package/dist/servers/http-mcp-server.js.map +1 -0
- package/dist/servers/stdio-mcp-server.d.ts +54 -0
- package/dist/servers/stdio-mcp-server.d.ts.map +1 -0
- package/dist/servers/stdio-mcp-server.js +88 -0
- package/dist/servers/stdio-mcp-server.js.map +1 -0
- package/dist/strategies/lazy-connection-strategy-text-logger.test.d.ts +2 -0
- package/dist/strategies/lazy-connection-strategy-text-logger.test.d.ts.map +1 -0
- package/dist/strategies/lazy-connection-strategy-text-logger.test.js +34 -0
- package/dist/strategies/lazy-connection-strategy-text-logger.test.js.map +1 -0
- package/dist/strategies/lazy-connection-strategy.d.ts.map +1 -1
- package/dist/strategies/lazy-connection-strategy.js +4 -1
- package/dist/strategies/lazy-connection-strategy.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -9,8 +9,26 @@ MCP client wrapper, adapter, factory, and connection strategies for the SmartAge
|
|
|
9
9
|
|
|
10
10
|
- `MCPClientWrapper`, `MCPClientConfig`, `TransportType`
|
|
11
11
|
- `McpClientAdapter`
|
|
12
|
-
- `createDefaultMcpClient(...)`
|
|
12
|
+
- `createDefaultMcpClient(...)` — the `McpClientFactory` that `mcpServerFromFactory` (`@mcp-abap-adt/llm-agent`) wraps into an `IMcpServer`
|
|
13
13
|
- Connection strategies: `LazyConnectionStrategy`, `PeriodicConnectionStrategy`, `NoopConnectionStrategy`
|
|
14
|
+
- `HttpMcpServer`, `HttpMcpServerConfig`, `HttpMcpAuth` — a typed `IMcpServer` for a server already
|
|
15
|
+
running elsewhere; `auth` is required, and each scheme (`bearer`, `header`, `none`) demands the one
|
|
16
|
+
credential kind it can use:
|
|
17
|
+
```ts
|
|
18
|
+
new HttpMcpServer({
|
|
19
|
+
url: 'https://mcp.example.com',
|
|
20
|
+
auth: { scheme: 'bearer', credential: { kind: 'bearer', token: async () => token } },
|
|
21
|
+
});
|
|
22
|
+
```
|
|
23
|
+
- `StdioMcpServer`, `StdioMcpServerConfig`, `StdioMcpAuth` — a typed `IMcpServer` that spawns a child
|
|
24
|
+
process; `auth` names which environment variable(s) carry the credential (`env-token`, `env-key`,
|
|
25
|
+
`env-login`, `none`):
|
|
26
|
+
```ts
|
|
27
|
+
new StdioMcpServer({
|
|
28
|
+
command: 'my-mcp-server',
|
|
29
|
+
auth: { scheme: 'env-key', variable: 'MY_MCP_API_KEY', credential: staticApiKey(key) },
|
|
30
|
+
});
|
|
31
|
+
```
|
|
14
32
|
|
|
15
33
|
## Usage
|
|
16
34
|
|
|
@@ -29,6 +47,18 @@ await client.connect();
|
|
|
29
47
|
const adapter = new McpClientAdapter(client);
|
|
30
48
|
```
|
|
31
49
|
|
|
50
|
+
A stdio child can be given its own environment, so it never inherits the
|
|
51
|
+
process's full environment (or another caller's):
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
const stdioClient = new MCPClientWrapper({
|
|
55
|
+
transport: 'stdio',
|
|
56
|
+
command: 'my-mcp',
|
|
57
|
+
env: { API_TOKEN: tokenForThisCaller },
|
|
58
|
+
});
|
|
59
|
+
await stdioClient.connect();
|
|
60
|
+
```
|
|
61
|
+
|
|
32
62
|
## Request Timeouts
|
|
33
63
|
|
|
34
64
|
The SmartAgent runtime applies a generous default per-call MCP request timeout of **120000 ms (2 minutes)** as a safety net against stuck or hung tool calls. This is configurable:
|
package/dist/client.d.ts
CHANGED
|
@@ -99,6 +99,8 @@ export interface MCPClientConfig {
|
|
|
99
99
|
*/
|
|
100
100
|
command?: string;
|
|
101
101
|
args?: string[];
|
|
102
|
+
/** Environment for the spawned stdio child. See `McpConnectionConfig.env`. */
|
|
103
|
+
env?: Record<string, string>;
|
|
102
104
|
/**
|
|
103
105
|
* For HTTP transports: URL endpoint
|
|
104
106
|
* Examples:
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -158,6 +158,7 @@ export class MCPClientWrapper {
|
|
|
158
158
|
const stdioTransport = new StdioClientTransport({
|
|
159
159
|
command: this.config.command,
|
|
160
160
|
args: this.config.args || [],
|
|
161
|
+
...(this.config.env ? { env: this.config.env } : {}),
|
|
161
162
|
});
|
|
162
163
|
this.client = new Client({
|
|
163
164
|
name: 'llm-agent',
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;2EAC2E;AAC3E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,eAAe,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;2EAC2E;AAC3E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,eAAe,CAqBjB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CAUjC"}
|
package/dist/factory.js
CHANGED
|
@@ -8,6 +8,7 @@ export function toMcpClientWrapperConfig(config) {
|
|
|
8
8
|
transport: 'stdio',
|
|
9
9
|
command: config.command,
|
|
10
10
|
args: config.args ?? [],
|
|
11
|
+
...(config.env ? { env: config.env } : {}),
|
|
11
12
|
...(config.timeout !== undefined ? { timeout: config.timeout } : {}),
|
|
12
13
|
...(config.toolTimeouts ? { toolTimeouts: config.toolTimeouts } : {}),
|
|
13
14
|
};
|
package/dist/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;2EAC2E;AAC3E,MAAM,UAAU,wBAAwB,CACtC,MAA2B;IAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,sBAAsB;YAC/B,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,EAAE;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO;QACL,MAAM;QACN,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;KACzD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;2EAC2E;AAC3E,MAAM,UAAU,wBAAwB,CACtC,MAA2B;IAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,sBAAsB;YAC/B,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,EAAE;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO;QACL,MAAM;QACN,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;KACzD,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,7 @@ export { type MCPClientConfig, MCPClientWrapper, type TransportType, } from './c
|
|
|
7
7
|
export { DefaultMcpFailureClassifier } from './default-mcp-failure-classifier.js';
|
|
8
8
|
export { createDefaultMcpClient } from './factory.js';
|
|
9
9
|
export { NoopMcpRequestHeadersStrategy } from './no-op-request-headers-strategy.js';
|
|
10
|
+
export { type HttpMcpAuth, HttpMcpServer, type HttpMcpServerConfig, } from './servers/http-mcp-server.js';
|
|
11
|
+
export { type StdioMcpAuth, StdioMcpServer, type StdioMcpServerConfig, } from './servers/stdio-mcp-server.js';
|
|
10
12
|
export { LazyConnectionStrategy, type MakeConnectionStrategyOptions, makeConnectionStrategy, NoopConnectionStrategy, PeriodicConnectionStrategy, } from './strategies/index.js';
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,5 +6,7 @@ export { MCPClientWrapper, } from './client.js';
|
|
|
6
6
|
export { DefaultMcpFailureClassifier } from './default-mcp-failure-classifier.js';
|
|
7
7
|
export { createDefaultMcpClient } from './factory.js';
|
|
8
8
|
export { NoopMcpRequestHeadersStrategy } from './no-op-request-headers-strategy.js';
|
|
9
|
+
export { HttpMcpServer, } from './servers/http-mcp-server.js';
|
|
10
|
+
export { StdioMcpServer, } from './servers/stdio-mcp-server.js';
|
|
9
11
|
export { LazyConnectionStrategy, makeConnectionStrategy, NoopConnectionStrategy, PeriodicConnectionStrategy, } from './strategies/index.js';
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAEtF,OAAO,EACL,wBAAwB,EACxB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,gBAAgB,GAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAEtF,OAAO,EACL,wBAAwB,EACxB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,gBAAgB,GAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAEL,aAAa,GAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { IApiKeyCredential, IBearerCredential } from '@mcp-abap-adt/interfaces-auth';
|
|
2
|
+
import type { IMcpClient, IMcpServer, McpClientDescriptor, McpClientFactory } from '@mcp-abap-adt/llm-agent';
|
|
3
|
+
/**
|
|
4
|
+
* Where the material goes is the accepting implementation's business (§4): an
|
|
5
|
+
* api key is the same key whether a server wants it as `Authorization: Bearer`,
|
|
6
|
+
* `x-api-key` or `api-key`. So the scheme is declared, not guessed — and each
|
|
7
|
+
* variant demands the ONE credential kind it can use, which keeps this off the
|
|
8
|
+
* shared union §4.6.2 forbids. `'none'` makes an unauthenticated target a
|
|
9
|
+
* statement rather than an omission.
|
|
10
|
+
*/
|
|
11
|
+
export type HttpMcpAuth = {
|
|
12
|
+
readonly scheme: 'bearer';
|
|
13
|
+
readonly credential: IBearerCredential;
|
|
14
|
+
} | {
|
|
15
|
+
readonly scheme: 'header';
|
|
16
|
+
/** Which header carries it: `x-api-key`, `api-key`, or `Authorization`. */
|
|
17
|
+
readonly header: string;
|
|
18
|
+
/**
|
|
19
|
+
* What precedes the key in the value: `'Bearer '` for a target that wants
|
|
20
|
+
* `Authorization: Bearer sk-…`; omitted for one that wants the raw key.
|
|
21
|
+
*/
|
|
22
|
+
readonly prefix?: string;
|
|
23
|
+
readonly credential: IApiKeyCredential;
|
|
24
|
+
} | {
|
|
25
|
+
readonly scheme: 'none';
|
|
26
|
+
};
|
|
27
|
+
export interface HttpMcpServerConfig {
|
|
28
|
+
readonly url: string;
|
|
29
|
+
/** Required: a target either authenticates or says it does not. */
|
|
30
|
+
readonly auth: HttpMcpAuth;
|
|
31
|
+
/**
|
|
32
|
+
* Static extra headers (routing, `Accept`). One naming the credential's own
|
|
33
|
+
* header, in any case, is dropped — the credential wins.
|
|
34
|
+
*/
|
|
35
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
36
|
+
readonly timeout?: number;
|
|
37
|
+
readonly toolTimeouts?: Readonly<Record<string, number>>;
|
|
38
|
+
/** Stable identity for tool namespacing (§3.4); absent = array position. */
|
|
39
|
+
readonly descriptor?: McpClientDescriptor;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* An http MCP server already running elsewhere: `start()` acquires and holds a
|
|
43
|
+
* connection, `stop()` releases it; nothing is spawned.
|
|
44
|
+
*
|
|
45
|
+
* The credential is resolved at CONNECT, once: `IMcpRequestHeadersStrategy
|
|
46
|
+
* .headers()` is synchronous and merged at connect, so a long-lived connection
|
|
47
|
+
* carries the token it connected with (§3.3). Single-use, like
|
|
48
|
+
* `mcpServerFromFactory`: a fresh credential means a fresh instance, and
|
|
49
|
+
* reconnection is `IMcpConnectionStrategy`'s job.
|
|
50
|
+
*/
|
|
51
|
+
export declare class HttpMcpServer implements IMcpServer {
|
|
52
|
+
private readonly cfg;
|
|
53
|
+
private readonly createClient;
|
|
54
|
+
readonly descriptor?: McpClientDescriptor;
|
|
55
|
+
private state;
|
|
56
|
+
private close;
|
|
57
|
+
/** The start in flight: `state` stays 'idle' across its awaits. */
|
|
58
|
+
private starting;
|
|
59
|
+
constructor(cfg: HttpMcpServerConfig, createClient?: McpClientFactory);
|
|
60
|
+
start(): Promise<IMcpClient>;
|
|
61
|
+
private connect;
|
|
62
|
+
stop(): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=http-mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-mcp-server.d.ts","sourceRoot":"","sources":["../../src/servers/http-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,GACrE;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAI3C;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,YAAW,UAAU;IAQ5C,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAR/B,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,KAAK,CAA2C;IACxD,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAkC;gBAG/B,GAAG,EAAE,mBAAmB,EACxB,YAAY,GAAE,gBAAyC;IAK1E,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;YA6Bd,OAAO;IAmBf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAW5B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { createDefaultMcpClient } from '../factory.js';
|
|
2
|
+
/**
|
|
3
|
+
* An http MCP server already running elsewhere: `start()` acquires and holds a
|
|
4
|
+
* connection, `stop()` releases it; nothing is spawned.
|
|
5
|
+
*
|
|
6
|
+
* The credential is resolved at CONNECT, once: `IMcpRequestHeadersStrategy
|
|
7
|
+
* .headers()` is synchronous and merged at connect, so a long-lived connection
|
|
8
|
+
* carries the token it connected with (§3.3). Single-use, like
|
|
9
|
+
* `mcpServerFromFactory`: a fresh credential means a fresh instance, and
|
|
10
|
+
* reconnection is `IMcpConnectionStrategy`'s job.
|
|
11
|
+
*/
|
|
12
|
+
export class HttpMcpServer {
|
|
13
|
+
cfg;
|
|
14
|
+
createClient;
|
|
15
|
+
descriptor;
|
|
16
|
+
state = 'idle';
|
|
17
|
+
close;
|
|
18
|
+
/** The start in flight: `state` stays 'idle' across its awaits. */
|
|
19
|
+
starting;
|
|
20
|
+
constructor(cfg, createClient = createDefaultMcpClient) {
|
|
21
|
+
this.cfg = cfg;
|
|
22
|
+
this.createClient = createClient;
|
|
23
|
+
if (cfg.descriptor)
|
|
24
|
+
this.descriptor = cfg.descriptor;
|
|
25
|
+
}
|
|
26
|
+
start() {
|
|
27
|
+
// Concurrent callers share the one start in flight: without this, both
|
|
28
|
+
// would pass the 'idle' check below and build two clients.
|
|
29
|
+
if (this.starting)
|
|
30
|
+
return this.starting;
|
|
31
|
+
if (this.state === 'started') {
|
|
32
|
+
return Promise.reject(new Error('HttpMcpServer already started'));
|
|
33
|
+
}
|
|
34
|
+
if (this.state === 'stopped') {
|
|
35
|
+
return Promise.reject(new Error('HttpMcpServer already stopped; build a new one'));
|
|
36
|
+
}
|
|
37
|
+
const starting = this.connect().then((result) => {
|
|
38
|
+
this.starting = undefined;
|
|
39
|
+
this.state = 'started';
|
|
40
|
+
this.close = result.close;
|
|
41
|
+
return result.client;
|
|
42
|
+
}, (err) => {
|
|
43
|
+
// Failed: nothing was acquired, so the server stays startable.
|
|
44
|
+
this.starting = undefined;
|
|
45
|
+
throw err;
|
|
46
|
+
});
|
|
47
|
+
this.starting = starting;
|
|
48
|
+
return starting;
|
|
49
|
+
}
|
|
50
|
+
async connect() {
|
|
51
|
+
const { url, auth, headers, timeout, toolTimeouts } = this.cfg;
|
|
52
|
+
const authed = await authHeaders(auth);
|
|
53
|
+
const taken = new Set(Object.keys(authed).map((k) => k.toLowerCase()));
|
|
54
|
+
const kept = Object.fromEntries(Object.entries(headers ?? {}).filter(([k]) => !taken.has(k.toLowerCase())));
|
|
55
|
+
const config = {
|
|
56
|
+
type: 'http',
|
|
57
|
+
url,
|
|
58
|
+
headers: { ...kept, ...authed },
|
|
59
|
+
...(timeout !== undefined ? { timeout } : {}),
|
|
60
|
+
...(toolTimeouts ? { toolTimeouts: { ...toolTimeouts } } : {}),
|
|
61
|
+
};
|
|
62
|
+
return this.createClient(config);
|
|
63
|
+
}
|
|
64
|
+
async stop() {
|
|
65
|
+
// A start in flight finishes first, so the client it makes is closed here
|
|
66
|
+
// rather than leaked. Its failure is delivered to its own callers; for
|
|
67
|
+
// stop() it only means there is nothing to close.
|
|
68
|
+
if (this.starting)
|
|
69
|
+
await this.starting.catch(() => undefined);
|
|
70
|
+
const pending = this.close;
|
|
71
|
+
this.close = undefined; // cleared FIRST, so a failing close is never retried into a double close
|
|
72
|
+
if (this.state === 'started')
|
|
73
|
+
this.state = 'stopped';
|
|
74
|
+
// `close?` is optional on McpClientFactoryResult (mcp-connection-strategy.ts:68).
|
|
75
|
+
if (pending)
|
|
76
|
+
await pending();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function authHeaders(auth) {
|
|
80
|
+
switch (auth.scheme) {
|
|
81
|
+
case 'none':
|
|
82
|
+
return {};
|
|
83
|
+
case 'bearer':
|
|
84
|
+
return { Authorization: `Bearer ${await auth.credential.token()}` };
|
|
85
|
+
case 'header':
|
|
86
|
+
// The target named its own header AND its own value shape.
|
|
87
|
+
return {
|
|
88
|
+
[auth.header]: `${auth.prefix ?? ''}${await auth.credential.secret()}`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=http-mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-mcp-server.js","sourceRoot":"","sources":["../../src/servers/http-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { IApiKeyCredential, IBearerCredential, ISecretLoginCredential } from '@mcp-abap-adt/interfaces-auth';
|
|
2
|
+
import type { IMcpClient, IMcpServer, McpClientDescriptor, McpClientFactory } from '@mcp-abap-adt/llm-agent';
|
|
3
|
+
/**
|
|
4
|
+
* The stdio twin of `HttpMcpAuth`: each variant demands the ONE kind it can
|
|
5
|
+
* use, and a credential with nowhere to go is unconstructible. A login needs
|
|
6
|
+
* two variables, because a principal and a secret are one fact that travels
|
|
7
|
+
* together (§4) and a child reads them separately.
|
|
8
|
+
*/
|
|
9
|
+
export type StdioMcpAuth = {
|
|
10
|
+
readonly scheme: 'none';
|
|
11
|
+
} | {
|
|
12
|
+
readonly scheme: 'env-token';
|
|
13
|
+
readonly variable: string;
|
|
14
|
+
readonly credential: IBearerCredential;
|
|
15
|
+
} | {
|
|
16
|
+
readonly scheme: 'env-key';
|
|
17
|
+
readonly variable: string;
|
|
18
|
+
readonly credential: IApiKeyCredential;
|
|
19
|
+
} | {
|
|
20
|
+
readonly scheme: 'env-login';
|
|
21
|
+
readonly userVariable: string;
|
|
22
|
+
readonly secretVariable: string;
|
|
23
|
+
readonly credential: ISecretLoginCredential;
|
|
24
|
+
};
|
|
25
|
+
export interface StdioMcpServerConfig {
|
|
26
|
+
readonly command: string;
|
|
27
|
+
readonly args?: readonly string[];
|
|
28
|
+
/** The caller's own values; merged over the SDK's host-default subset (§3.5). */
|
|
29
|
+
readonly env?: Readonly<Record<string, string>>;
|
|
30
|
+
/** Required: a child either authenticates or says it does not. */
|
|
31
|
+
readonly auth: StdioMcpAuth;
|
|
32
|
+
readonly timeout?: number;
|
|
33
|
+
readonly toolTimeouts?: Readonly<Record<string, number>>;
|
|
34
|
+
readonly descriptor?: McpClientDescriptor;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A child process this server spawns — the local case (§3.3). The secret goes
|
|
38
|
+
* into the child's `env`, never `args`, which any process can read in `ps`.
|
|
39
|
+
* Single-use, like `mcpServerFromFactory`.
|
|
40
|
+
*/
|
|
41
|
+
export declare class StdioMcpServer implements IMcpServer {
|
|
42
|
+
private readonly cfg;
|
|
43
|
+
private readonly createClient;
|
|
44
|
+
readonly descriptor?: McpClientDescriptor;
|
|
45
|
+
private state;
|
|
46
|
+
private close;
|
|
47
|
+
/** The start in flight: `state` stays 'idle' across its awaits. */
|
|
48
|
+
private starting;
|
|
49
|
+
constructor(cfg: StdioMcpServerConfig, createClient?: McpClientFactory);
|
|
50
|
+
start(): Promise<IMcpClient>;
|
|
51
|
+
private connect;
|
|
52
|
+
stop(): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=stdio-mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio-mcp-server.d.ts","sourceRoot":"","sources":["../../src/servers/stdio-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AAGjC;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3B;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C,CAAC;AAEN,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,iFAAiF;IACjF,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,cAAe,YAAW,UAAU;IAQ7C,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAR/B,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,KAAK,CAA2C;IACxD,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAkC;gBAG/B,GAAG,EAAE,oBAAoB,EACzB,YAAY,GAAE,gBAAyC;IAK1E,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;YA6Bd,OAAO;IAef,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAU5B"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createDefaultMcpClient } from '../factory.js';
|
|
2
|
+
/**
|
|
3
|
+
* A child process this server spawns — the local case (§3.3). The secret goes
|
|
4
|
+
* into the child's `env`, never `args`, which any process can read in `ps`.
|
|
5
|
+
* Single-use, like `mcpServerFromFactory`.
|
|
6
|
+
*/
|
|
7
|
+
export class StdioMcpServer {
|
|
8
|
+
cfg;
|
|
9
|
+
createClient;
|
|
10
|
+
descriptor;
|
|
11
|
+
state = 'idle';
|
|
12
|
+
close;
|
|
13
|
+
/** The start in flight: `state` stays 'idle' across its awaits. */
|
|
14
|
+
starting;
|
|
15
|
+
constructor(cfg, createClient = createDefaultMcpClient) {
|
|
16
|
+
this.cfg = cfg;
|
|
17
|
+
this.createClient = createClient;
|
|
18
|
+
if (cfg.descriptor)
|
|
19
|
+
this.descriptor = cfg.descriptor;
|
|
20
|
+
}
|
|
21
|
+
start() {
|
|
22
|
+
// Concurrent callers share the one start in flight: without this, both
|
|
23
|
+
// would pass the 'idle' check below and build two clients.
|
|
24
|
+
if (this.starting)
|
|
25
|
+
return this.starting;
|
|
26
|
+
if (this.state === 'started') {
|
|
27
|
+
return Promise.reject(new Error('StdioMcpServer already started'));
|
|
28
|
+
}
|
|
29
|
+
if (this.state === 'stopped') {
|
|
30
|
+
return Promise.reject(new Error('StdioMcpServer already stopped; build a new one'));
|
|
31
|
+
}
|
|
32
|
+
const starting = this.connect().then((result) => {
|
|
33
|
+
this.starting = undefined;
|
|
34
|
+
this.state = 'started';
|
|
35
|
+
this.close = result.close;
|
|
36
|
+
return result.client;
|
|
37
|
+
}, (err) => {
|
|
38
|
+
// Failed: nothing was acquired, so the server stays startable.
|
|
39
|
+
this.starting = undefined;
|
|
40
|
+
throw err;
|
|
41
|
+
});
|
|
42
|
+
this.starting = starting;
|
|
43
|
+
return starting;
|
|
44
|
+
}
|
|
45
|
+
async connect() {
|
|
46
|
+
const { command, args, env, auth, timeout, toolTimeouts } = this.cfg;
|
|
47
|
+
const config = {
|
|
48
|
+
type: 'stdio',
|
|
49
|
+
command,
|
|
50
|
+
// `args?: string[]` is mutable on the contract, so copy rather than cast.
|
|
51
|
+
args: [...(args ?? [])],
|
|
52
|
+
// The credential goes LAST so a caller's env cannot shadow it.
|
|
53
|
+
env: { ...(env ?? {}), ...(await authEnv(auth)) },
|
|
54
|
+
...(timeout !== undefined ? { timeout } : {}),
|
|
55
|
+
...(toolTimeouts ? { toolTimeouts: { ...toolTimeouts } } : {}),
|
|
56
|
+
};
|
|
57
|
+
return this.createClient(config);
|
|
58
|
+
}
|
|
59
|
+
async stop() {
|
|
60
|
+
// A start in flight finishes first, so the client it makes is closed here
|
|
61
|
+
// rather than leaked. Its failure is delivered to its own callers; for
|
|
62
|
+
// stop() it only means there is nothing to close.
|
|
63
|
+
if (this.starting)
|
|
64
|
+
await this.starting.catch(() => undefined);
|
|
65
|
+
const pending = this.close;
|
|
66
|
+
this.close = undefined;
|
|
67
|
+
if (this.state === 'started')
|
|
68
|
+
this.state = 'stopped';
|
|
69
|
+
if (pending)
|
|
70
|
+
await pending();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function authEnv(auth) {
|
|
74
|
+
switch (auth.scheme) {
|
|
75
|
+
case 'none':
|
|
76
|
+
return {};
|
|
77
|
+
case 'env-token':
|
|
78
|
+
return { [auth.variable]: await auth.credential.token() };
|
|
79
|
+
case 'env-key':
|
|
80
|
+
return { [auth.variable]: await auth.credential.secret() };
|
|
81
|
+
case 'env-login':
|
|
82
|
+
return {
|
|
83
|
+
[auth.userVariable]: auth.credential.principal,
|
|
84
|
+
[auth.secretVariable]: await auth.credential.secret(),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=stdio-mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio-mcp-server.js","sourceRoot":"","sources":["../../src/servers/stdio-mcp-server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAuCvD;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAQN;IACA;IARV,UAAU,CAAuB;IAClC,KAAK,GAAmC,MAAM,CAAC;IAC/C,KAAK,CAA2C;IACxD,mEAAmE;IAC3D,QAAQ,CAAkC;IAElD,YACmB,GAAyB,EACzB,eAAiC,sBAAsB;QADvD,QAAG,GAAH,GAAG,CAAsB;QACzB,iBAAY,GAAZ,YAAY,CAA2C;QAExE,IAAI,GAAG,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IACvD,CAAC;IAED,KAAK;QACH,uEAAuE;QACvE,2DAA2D;QAC3D,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;YACf,+DAA+D;YAC/D,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACrE,MAAM,MAAM,GAAwB;YAClC,IAAI,EAAE,OAAO;YACb,OAAO;YACP,0EAA0E;YAC1E,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvB,+DAA+D;YAC/D,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;YACjD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,0EAA0E;QAC1E,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACrD,IAAI,OAAO;YAAE,MAAM,OAAO,EAAE,CAAC;IAC/B,CAAC;CACF;AAED,KAAK,UAAU,OAAO,CAAC,IAAkB;IACvC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,WAAW;YACd,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5D,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7D,KAAK,WAAW;YACd,OAAO;gBACL,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;gBAC9C,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;aACtD,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-connection-strategy-text-logger.test.d.ts","sourceRoot":"","sources":["../../src/strategies/lazy-connection-strategy-text-logger.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { describe, it } from 'node:test';
|
|
3
|
+
import { LazyConnectionStrategy } from './lazy-connection-strategy.js';
|
|
4
|
+
function recordingTextLogger() {
|
|
5
|
+
const calls = [];
|
|
6
|
+
const push = (level) => (message) => {
|
|
7
|
+
calls.push({ level, message });
|
|
8
|
+
};
|
|
9
|
+
return {
|
|
10
|
+
calls,
|
|
11
|
+
logger: {
|
|
12
|
+
info: push('info'),
|
|
13
|
+
error: push('error'),
|
|
14
|
+
warn: push('warn'),
|
|
15
|
+
debug: push('debug'),
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
describe('LazyConnectionStrategy with a text logger', () => {
|
|
20
|
+
it('stores a normalised logger and reports a failed connection through it', async () => {
|
|
21
|
+
const { logger, calls } = recordingTextLogger();
|
|
22
|
+
const config = {
|
|
23
|
+
type: 'stdio',
|
|
24
|
+
command: 'no-such-command-xyz',
|
|
25
|
+
};
|
|
26
|
+
const strategy = new LazyConnectionStrategy([config], { logger, cooldownMs: 0 }, async () => {
|
|
27
|
+
throw new Error('connect refused');
|
|
28
|
+
});
|
|
29
|
+
await strategy.resolve([]);
|
|
30
|
+
assert.ok(calls.length > 0, 'the text logger received the failure');
|
|
31
|
+
assert.ok(calls.every((c) => ['info', 'warn', 'error', 'debug'].includes(c.level)), 'every call used a real level, i.e. the event was mapped');
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=lazy-connection-strategy-text-logger.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-connection-strategy-text-logger.test.js","sourceRoot":"","sources":["../../src/strategies/lazy-connection-strategy-text-logger.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,SAAS,mBAAmB;IAI1B,MAAM,KAAK,GAA8C,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,OAAe,EAAE,EAAE;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,OAAO;QACL,KAAK;QACL,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;SACrB;KACF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAwB;YAClC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,qBAAqB;SAC/B,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,CAAC,MAAM,CAAC,EACR,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EACzB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CACF,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;QACpE,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EACxE,yDAAyD,CAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-connection-strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/lazy-connection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAEzB,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lazy-connection-strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/lazy-connection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAEzB,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAgBjC,qBAAa,sBACX,YAAW,sBAAsB,EAAE,kBAAkB;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAU;IACnC,OAAO,CAAC,UAAU,CAA6C;IAC/D;;;;gDAI4C;IAC5C,OAAO,CAAC,QAAQ,CAAM;gBAGpB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,yBAAyB,EACnC,OAAO,CAAC,EAAE,gBAAgB;IAgB5B,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYrE;;+BAE2B;IAC3B,OAAO,IAAI,OAAO;YAIJ,UAAU;YAgFV,YAAY;IAapB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { normaliseLogger } from '@mcp-abap-adt/llm-agent';
|
|
1
2
|
import { createDefaultMcpClient } from '../factory.js';
|
|
2
3
|
export class LazyConnectionStrategy {
|
|
3
4
|
_slots;
|
|
@@ -16,7 +17,9 @@ export class LazyConnectionStrategy {
|
|
|
16
17
|
this._skipRevectorize = options?.skipRevectorize ?? false;
|
|
17
18
|
this._cooldownMs = options?.cooldownMs ?? 30000;
|
|
18
19
|
this._factory = factory ?? createDefaultMcpClient;
|
|
19
|
-
this._logger = options?.logger
|
|
20
|
+
this._logger = options?.logger
|
|
21
|
+
? normaliseLogger(options.logger)
|
|
22
|
+
: undefined;
|
|
20
23
|
this._slots = configs.map((config) => ({
|
|
21
24
|
config,
|
|
22
25
|
lastAttempt: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-connection-strategy.js","sourceRoot":"","sources":["../../src/strategies/lazy-connection-strategy.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAcvD,MAAM,OAAO,sBAAsB;IAGhB,MAAM,CAAS;IACf,gBAAgB,CAAU;IAC1B,WAAW,CAAS;IACpB,QAAQ,CAAmB;IAC3B,OAAO,CAAW;IAC3B,UAAU,GAAwC,IAAI,CAAC;IAC/D;;;;gDAI4C;IACpC,QAAQ,GAAG,EAAE,CAAC;IAEtB,YACE,OAA8B,EAC9B,OAAmC,EACnC,OAA0B;QAE1B,IAAI,CAAC,gBAAgB,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,sBAAsB,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lazy-connection-strategy.js","sourceRoot":"","sources":["../../src/strategies/lazy-connection-strategy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/llm-agent-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "27.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"test": "node --import tsx/esm --test --test-reporter=spec 'src/**/*.test.ts'"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@mcp-abap-adt/
|
|
26
|
+
"@mcp-abap-adt/interfaces-auth": "^1.1.0",
|
|
27
|
+
"@mcp-abap-adt/llm-agent": "^27.0.1",
|
|
27
28
|
"@modelcontextprotocol/sdk": "^1.30.0"
|
|
28
29
|
},
|
|
29
30
|
"publishConfig": {
|