@animalabs/agent-framework 0.22.3 → 0.23.0
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 +105 -3
- package/dist/src/agent.d.ts +36 -10
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +76 -32
- package/dist/src/agent.js.map +1 -1
- package/dist/src/code-execution/index.d.ts +1 -1
- package/dist/src/code-execution/index.d.ts.map +1 -1
- package/dist/src/code-execution/index.js.map +1 -1
- package/dist/src/code-execution/py-runner.d.ts +34 -2
- package/dist/src/code-execution/py-runner.d.ts.map +1 -1
- package/dist/src/code-execution/py-runner.js +72 -16
- package/dist/src/code-execution/py-runner.js.map +1 -1
- package/dist/src/code-execution/runtime-py.d.ts +3 -2
- package/dist/src/code-execution/runtime-py.d.ts.map +1 -1
- package/dist/src/code-execution/runtime-py.js +47 -7
- package/dist/src/code-execution/runtime-py.js.map +1 -1
- package/dist/src/code-execution/tool-definition.d.ts +12 -7
- package/dist/src/code-execution/tool-definition.d.ts.map +1 -1
- package/dist/src/code-execution/tool-definition.js +59 -11
- package/dist/src/code-execution/tool-definition.js.map +1 -1
- package/dist/src/config-checks.d.ts +2 -2
- package/dist/src/config-checks.d.ts.map +1 -1
- package/dist/src/config-checks.js +6 -2
- package/dist/src/config-checks.js.map +1 -1
- package/dist/src/framework.d.ts +744 -120
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +3546 -906
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +13 -6
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/held-writes.d.ts +16 -0
- package/dist/src/held-writes.d.ts.map +1 -0
- package/dist/src/held-writes.js +56 -0
- package/dist/src/held-writes.js.map +1 -0
- package/dist/src/index.d.ts +7 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/capability-grant.d.ts +4 -0
- package/dist/src/mcpl/capability-grant.d.ts.map +1 -1
- package/dist/src/mcpl/capability-grant.js +1 -1
- package/dist/src/mcpl/capability-grant.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +95 -18
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +578 -150
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/convert-block.d.ts +2 -2
- package/dist/src/mcpl/convert-block.d.ts.map +1 -1
- package/dist/src/mcpl/convert-block.js +6 -7
- package/dist/src/mcpl/convert-block.js.map +1 -1
- package/dist/src/mcpl/index.d.ts +5 -1
- package/dist/src/mcpl/index.d.ts.map +1 -1
- package/dist/src/mcpl/index.js +3 -1
- package/dist/src/mcpl/index.js.map +1 -1
- package/dist/src/mcpl/inference-router.d.ts +4 -2
- package/dist/src/mcpl/inference-router.d.ts.map +1 -1
- package/dist/src/mcpl/inference-router.js +6 -7
- package/dist/src/mcpl/inference-router.js.map +1 -1
- package/dist/src/mcpl/log-value.d.ts +7 -0
- package/dist/src/mcpl/log-value.d.ts.map +1 -1
- package/dist/src/mcpl/log-value.js +9 -0
- package/dist/src/mcpl/log-value.js.map +1 -1
- package/dist/src/mcpl/modern-connection.d.ts +227 -0
- package/dist/src/mcpl/modern-connection.d.ts.map +1 -0
- package/dist/src/mcpl/modern-connection.js +1088 -0
- package/dist/src/mcpl/modern-connection.js.map +1 -0
- package/dist/src/mcpl/prefix-rule.d.ts +18 -0
- package/dist/src/mcpl/prefix-rule.d.ts.map +1 -0
- package/dist/src/mcpl/prefix-rule.js +25 -0
- package/dist/src/mcpl/prefix-rule.js.map +1 -0
- package/dist/src/mcpl/protocol-family.d.ts +179 -0
- package/dist/src/mcpl/protocol-family.d.ts.map +1 -0
- package/dist/src/mcpl/protocol-family.js +697 -0
- package/dist/src/mcpl/protocol-family.js.map +1 -0
- package/dist/src/mcpl/push-coalescer.d.ts +38 -19
- package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
- package/dist/src/mcpl/push-coalescer.js +52 -23
- package/dist/src/mcpl/push-coalescer.js.map +1 -1
- package/dist/src/mcpl/reference-fetcher.d.ts +66 -15
- package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
- package/dist/src/mcpl/reference-fetcher.js +243 -76
- package/dist/src/mcpl/reference-fetcher.js.map +1 -1
- package/dist/src/mcpl/references.d.ts +63 -18
- package/dist/src/mcpl/references.d.ts.map +1 -1
- package/dist/src/mcpl/references.js +117 -32
- package/dist/src/mcpl/references.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +326 -30
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +995 -212
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/server-registry.d.ts +25 -5
- package/dist/src/mcpl/server-registry.d.ts.map +1 -1
- package/dist/src/mcpl/server-registry.js +51 -12
- package/dist/src/mcpl/server-registry.js.map +1 -1
- package/dist/src/mcpl/tool-result-normalize.d.ts +54 -0
- package/dist/src/mcpl/tool-result-normalize.d.ts.map +1 -0
- package/dist/src/mcpl/tool-result-normalize.js +232 -0
- package/dist/src/mcpl/tool-result-normalize.js.map +1 -0
- package/dist/src/mcpl/transport.d.ts +56 -13
- package/dist/src/mcpl/transport.d.ts.map +1 -1
- package/dist/src/mcpl/transport.js +206 -70
- package/dist/src/mcpl/transport.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +66 -20
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/mcpl/visible-content.d.ts +2 -1
- package/dist/src/mcpl/visible-content.d.ts.map +1 -1
- package/dist/src/mcpl/visible-content.js +2 -1
- package/dist/src/mcpl/visible-content.js.map +1 -1
- package/dist/src/module-registry.d.ts +16 -6
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +65 -6
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/api/index.d.ts +1 -1
- package/dist/src/modules/api/index.d.ts.map +1 -1
- package/dist/src/modules/api/index.js +3 -2
- package/dist/src/modules/api/index.js.map +1 -1
- package/dist/src/modules/discord/discord-js-client.d.ts +42 -2
- package/dist/src/modules/discord/discord-js-client.d.ts.map +1 -1
- package/dist/src/modules/discord/discord-js-client.js +268 -65
- package/dist/src/modules/discord/discord-js-client.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts +27 -5
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +366 -76
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/discord/refusal.d.ts +14 -0
- package/dist/src/modules/discord/refusal.d.ts.map +1 -0
- package/dist/src/modules/discord/refusal.js +14 -0
- package/dist/src/modules/discord/refusal.js.map +1 -0
- package/dist/src/modules/discord/types.d.ts +17 -7
- package/dist/src/modules/discord/types.d.ts.map +1 -1
- package/dist/src/modules/health/index.d.ts.map +1 -1
- package/dist/src/modules/health/index.js +6 -2
- package/dist/src/modules/health/index.js.map +1 -1
- package/dist/src/modules/index.d.ts +1 -1
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +1 -1
- package/dist/src/modules/index.js.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.d.ts +25 -2
- package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.js +45 -5
- package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
- package/dist/src/modules/workspace/effects.d.ts +2 -1
- package/dist/src/modules/workspace/effects.d.ts.map +1 -1
- package/dist/src/modules/workspace/effects.js +19 -9
- package/dist/src/modules/workspace/effects.js.map +1 -1
- package/dist/src/modules/workspace/index.d.ts +214 -42
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +667 -113
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts +240 -8
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +554 -24
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/types.d.ts +10 -1
- package/dist/src/modules/workspace/types.d.ts.map +1 -1
- package/dist/src/modules/workspace/types.js.map +1 -1
- package/dist/src/modules/workspace/watcher.d.ts +42 -0
- package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
- package/dist/src/modules/workspace/watcher.js +130 -25
- package/dist/src/modules/workspace/watcher.js.map +1 -1
- package/dist/src/silent-heartbeat.d.ts +112 -39
- package/dist/src/silent-heartbeat.d.ts.map +1 -1
- package/dist/src/silent-heartbeat.js +100 -29
- package/dist/src/silent-heartbeat.js.map +1 -1
- package/dist/src/tool-args.d.ts +40 -0
- package/dist/src/tool-args.d.ts.map +1 -0
- package/dist/src/tool-args.js +207 -0
- package/dist/src/tool-args.js.map +1 -0
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +9 -2
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/types/agent.d.ts +27 -17
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/events.d.ts +8 -0
- package/dist/src/types/events.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +17 -2
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +54 -10
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +2 -2
- package/dist/src/types/trace.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/agent.ts +99 -36
- package/src/code-execution/index.ts +1 -0
- package/src/code-execution/py-runner.ts +104 -17
- package/src/code-execution/runtime-py.ts +47 -7
- package/src/code-execution/tool-definition.ts +65 -11
- package/src/config-checks.ts +4 -2
- package/src/framework.ts +3633 -956
- package/src/gate/event-gate.ts +14 -6
- package/src/held-writes.ts +59 -0
- package/src/index.ts +19 -4
- package/src/mcpl/capability-grant.ts +1 -1
- package/src/mcpl/channel-registry.ts +613 -160
- package/src/mcpl/convert-block.ts +15 -7
- package/src/mcpl/index.ts +14 -1
- package/src/mcpl/inference-router.ts +8 -7
- package/src/mcpl/log-value.ts +10 -0
- package/src/mcpl/modern-connection.ts +1182 -0
- package/src/mcpl/prefix-rule.ts +32 -0
- package/src/mcpl/protocol-family.ts +691 -0
- package/src/mcpl/push-coalescer.ts +67 -29
- package/src/mcpl/reference-fetcher.ts +288 -82
- package/src/mcpl/references.ts +123 -33
- package/src/mcpl/server-connection.ts +1050 -221
- package/src/mcpl/server-registry.ts +50 -12
- package/src/mcpl/tool-result-normalize.ts +294 -0
- package/src/mcpl/transport.ts +204 -62
- package/src/mcpl/types.ts +67 -20
- package/src/mcpl/visible-content.ts +2 -1
- package/src/module-registry.ts +68 -13
- package/src/modules/api/index.ts +3 -2
- package/src/modules/discord/discord-js-client.ts +288 -72
- package/src/modules/discord/index.ts +380 -77
- package/src/modules/discord/refusal.ts +13 -0
- package/src/modules/discord/types.ts +17 -9
- package/src/modules/health/index.ts +6 -2
- package/src/modules/index.ts +1 -1
- package/src/modules/workspace/disk-agreement.ts +46 -5
- package/src/modules/workspace/effects.ts +18 -7
- package/src/modules/workspace/index.ts +722 -124
- package/src/modules/workspace/observe.ts +591 -22
- package/src/modules/workspace/types.ts +10 -1
- package/src/modules/workspace/watcher.ts +126 -25
- package/src/silent-heartbeat.ts +184 -59
- package/src/tool-args.ts +213 -0
- package/src/tool-presentation.ts +9 -2
- package/src/types/agent.ts +27 -17
- package/src/types/events.ts +8 -0
- package/src/types/framework.ts +17 -2
- package/src/types/module.ts +55 -10
- package/src/types/trace.ts +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modern-connection.js","sourceRoot":"","sources":["../../../src/mcpl/modern-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When two MCPL servers' tool names can be the same name (#265).
|
|
3
|
+
*
|
|
4
|
+
* A server's tool reaches the model as `<toolPrefix>--<tool>`. Two prefixes
|
|
5
|
+
* give one name only when they meet: they're the same, one is the other's
|
|
6
|
+
* followed by `-`, or one begins with the other's followed by `--`. Server
|
|
7
|
+
* `foo` listing `bar--echo` and server `foo--bar` listing `echo` both give
|
|
8
|
+
* `foo--bar--echo`, and `foo` listing `-echo` and `foo-` listing `echo` both
|
|
9
|
+
* give `foo---echo`. Prefixes that don't meet never give one name, whatever
|
|
10
|
+
* their servers list, so `foo` beside `foo-bar` or `foobar` is fine.
|
|
11
|
+
*/
|
|
12
|
+
export declare function prefixesMeet(a: string, b: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The refusal for a server whose prefix meets another's: both servers, both
|
|
15
|
+
* prefixes, and the rule.
|
|
16
|
+
*/
|
|
17
|
+
export declare function prefixesMeetError(serverId: string, prefix: string, otherId: string, otherPrefix: string): Error;
|
|
18
|
+
//# sourceMappingURL=prefix-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefix-rule.d.ts","sourceRoot":"","sources":["../../../src/mcpl/prefix-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,KAAK,CAMP"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When two MCPL servers' tool names can be the same name (#265).
|
|
3
|
+
*
|
|
4
|
+
* A server's tool reaches the model as `<toolPrefix>--<tool>`. Two prefixes
|
|
5
|
+
* give one name only when they meet: they're the same, one is the other's
|
|
6
|
+
* followed by `-`, or one begins with the other's followed by `--`. Server
|
|
7
|
+
* `foo` listing `bar--echo` and server `foo--bar` listing `echo` both give
|
|
8
|
+
* `foo--bar--echo`, and `foo` listing `-echo` and `foo-` listing `echo` both
|
|
9
|
+
* give `foo---echo`. Prefixes that don't meet never give one name, whatever
|
|
10
|
+
* their servers list, so `foo` beside `foo-bar` or `foobar` is fine.
|
|
11
|
+
*/
|
|
12
|
+
export function prefixesMeet(a, b) {
|
|
13
|
+
const [shorter, longer] = a.length <= b.length ? [a, b] : [b, a];
|
|
14
|
+
return longer === shorter || longer === `${shorter}-` || longer.startsWith(`${shorter}--`);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The refusal for a server whose prefix meets another's: both servers, both
|
|
18
|
+
* prefixes, and the rule.
|
|
19
|
+
*/
|
|
20
|
+
export function prefixesMeetError(serverId, prefix, otherId, otherPrefix) {
|
|
21
|
+
return new Error(`MCPL server "${serverId}" toolPrefix "${prefix}" meets server "${otherId}"'s toolPrefix "${otherPrefix}": ` +
|
|
22
|
+
`two prefixes can give one tool name when one is the other's followed by "-", or begins with the other's ` +
|
|
23
|
+
`followed by "--". Give one of the two servers a toolPrefix that doesn't meet the other's.`);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=prefix-rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefix-rule.js","sourceRoot":"","sources":["../../../src/mcpl/prefix-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,MAAc,EACd,OAAe,EACf,WAAmB;IAEnB,OAAO,IAAI,KAAK,CACd,gBAAgB,QAAQ,iBAAiB,MAAM,mBAAmB,OAAO,mBAAmB,WAAW,KAAK;QAC1G,0GAA0G;QAC1G,2FAA2F,CAC9F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type { McplServerConfig } from './types.js';
|
|
2
|
+
/** The one revision the legacy engine offers and accepts. */
|
|
3
|
+
export declare const LEGACY_MCP_PROTOCOL_VERSION = "2024-11-05";
|
|
4
|
+
/** The revision the modern engine pins. */
|
|
5
|
+
export declare const MODERN_MCP_PROTOCOL_VERSION = "2026-07-28";
|
|
6
|
+
export type McpProtocolFamily = 'legacy' | 'modern';
|
|
7
|
+
export type McpTransportKind = 'stdio' | 'websocket' | 'http';
|
|
8
|
+
export interface ServerBinding {
|
|
9
|
+
family: McpProtocolFamily;
|
|
10
|
+
transport: McpTransportKind;
|
|
11
|
+
}
|
|
12
|
+
/** The largest delay a Node/Bun timer honors (2³¹−1 ms, about 24.8 days). */
|
|
13
|
+
export declare const MAX_TIMER_MS = 2147483647;
|
|
14
|
+
type BindingFields = Pick<McplServerConfig, 'id' | 'command' | 'url' | 'transport' | 'protocol'>;
|
|
15
|
+
/**
|
|
16
|
+
* A url as text a person or a log reads it: its scheme, host and port, and
|
|
17
|
+
* its path with any credential-like segment replaced. The userinfo is
|
|
18
|
+
* removed and each query parameter's value replaced, since a credential
|
|
19
|
+
* rides there too, and so is a parameter name that may itself be one
|
|
20
|
+
* ({@link credentialLikeQueryName}). A url that doesn't parse can't be
|
|
21
|
+
* redacted, so it isn't shown at all.
|
|
22
|
+
*/
|
|
23
|
+
export declare function redactUrl(url: string | undefined): string;
|
|
24
|
+
/**
|
|
25
|
+
* Server and transport text as the framework records it, with the strings a
|
|
26
|
+
* server's configuration knows to be credentials replaced, and those its
|
|
27
|
+
* dials sent:
|
|
28
|
+
* - from the url as each dial sends it ({@link urlAsDialed}), and decoded:
|
|
29
|
+
* the configured one, and each one dialed with an access provider's token
|
|
30
|
+
* ({@link noteDialSent}): credential-like path segments and
|
|
31
|
+
* query names, credential-shaped or credential-named query values, every
|
|
32
|
+
* other non-empty parameter as its whole name=value, and a WebSocket url's
|
|
33
|
+
* username and password, its userinfo as one unit before its @ (the
|
|
34
|
+
* username alone when there's no password), with no length floor, so a
|
|
35
|
+
* short password goes with its username and a short username alone goes
|
|
36
|
+
* too, and the Basic credential a WebSocket client sends for that userinfo;
|
|
37
|
+
* - the static token, and each token an access provider handed a dial for
|
|
38
|
+
* a header, raw, and percent- or form-encoded with either case of hex;
|
|
39
|
+
* - a stdio server's environment values whose names say they're
|
|
40
|
+
* credentials, raw, and percent-encoded with either case of hex.
|
|
41
|
+
* Each of these strings, from every source, the name=value pairs and
|
|
42
|
+
* userinfo units too, is also replaced as JSON encoders write it:
|
|
43
|
+
* JSON.stringify's escapes (a quote, a backslash, a control character), and
|
|
44
|
+
* with its slashes escaped too, as some encoders write them.
|
|
45
|
+
* A string replaced on its own has at least 8 characters, since a shorter
|
|
46
|
+
* one can't be told from ordinary text, and it is replaced wherever it
|
|
47
|
+
* occurs, after an escape or inside a longer token too. A query parameter is
|
|
48
|
+
* also replaced as its whole name=value, only where no letter or digit
|
|
49
|
+
* adjoins the pair, so v=2 leaves dev=2 alone (a JSON escape before it, such
|
|
50
|
+
* as \n, isn't one); a short value goes only that way. Every place one of
|
|
51
|
+
* these matches is replaced, overlapping places included, and the
|
|
52
|
+
* replacement is never scanned again; text that may come
|
|
53
|
+
* from several servers takes one pass over all their configurations'
|
|
54
|
+
* strings (serverCredentialPatterns), so strings of different servers that
|
|
55
|
+
* overlap are both replaced whole. A credential neither the configuration
|
|
56
|
+
* holds nor a dial of it sent, such as another origin's, is outside it, and
|
|
57
|
+
* so are other encodings of the ones it holds. JSON-RPC answers, and the
|
|
58
|
+
* error a host's own connect raises, pass as they are.
|
|
59
|
+
*
|
|
60
|
+
* A configuration that can't be read, such as one whose `env` is a getter
|
|
61
|
+
* that throws, says nothing of which strings to replace, so the whole text
|
|
62
|
+
* is withheld ({@link WITHHELD_TEXT}) rather than thrown on: a redaction
|
|
63
|
+
* runs where a throw has nowhere to go, such as inside a transport's 'error'
|
|
64
|
+
* listener.
|
|
65
|
+
*/
|
|
66
|
+
export declare function redactServerText(text: unknown, config: Pick<McplServerConfig, 'url' | 'token' | 'env'>): string;
|
|
67
|
+
/**
|
|
68
|
+
* {@link redactServerText} for one configuration, its strings found and its
|
|
69
|
+
* pattern built once, and again once a dial has sent something new
|
|
70
|
+
* ({@link noteDialSent}): for a connection's records, such as each stderr
|
|
71
|
+
* line. A build that can't read the configuration withholds that call's
|
|
72
|
+
* text, and the next call builds again.
|
|
73
|
+
*/
|
|
74
|
+
export declare function serverTextRedactor(config: Pick<McplServerConfig, 'url' | 'token' | 'env'>): (text: unknown) => string;
|
|
75
|
+
/** What a redaction gives in place of text when the configuration it
|
|
76
|
+
* redacts with can't be read ({@link redactServerText}). */
|
|
77
|
+
export declare const WITHHELD_TEXT = "[withheld: the server's configuration couldn't be read to redact this]";
|
|
78
|
+
/** Note what one dial sent: the url it dialed, or a token it sent in a
|
|
79
|
+
* header. That configuration's patterns cover it from then on. */
|
|
80
|
+
export declare function noteDialSent(config: object, sent: {
|
|
81
|
+
readonly url?: string;
|
|
82
|
+
readonly token?: string;
|
|
83
|
+
}): void;
|
|
84
|
+
/**
|
|
85
|
+
* The url a dial sends. A WebSocket dial sets the token as the `token`
|
|
86
|
+
* parameter, and setting it makes URLSearchParams write the whole query
|
|
87
|
+
* again, form-encoded (a space as `+`), so the url as sent can differ from
|
|
88
|
+
* the url as configured. An http(s) dial sends the url as configured.
|
|
89
|
+
*/
|
|
90
|
+
export declare function urlAsDialed(url: URL, token: string | null | undefined): URL;
|
|
91
|
+
/** A string {@link redactServerText} replaces, and the pattern that finds it. */
|
|
92
|
+
export interface CredentialPattern {
|
|
93
|
+
readonly value: string;
|
|
94
|
+
readonly source: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The strings {@link redactServerText} replaces for one configuration, as
|
|
98
|
+
* patterns for {@link credentialRedactor}. Text that may come from several
|
|
99
|
+
* servers goes through one redactor over all their patterns, so a secret
|
|
100
|
+
* that begins inside another configuration's, or shares its start, can't
|
|
101
|
+
* leave any of that one in place.
|
|
102
|
+
*/
|
|
103
|
+
export declare function serverCredentialPatterns(config: Pick<McplServerConfig, 'url' | 'token' | 'env'>): CredentialPattern[];
|
|
104
|
+
/**
|
|
105
|
+
* Every place one of the given patterns matches becomes `redacted`,
|
|
106
|
+
* overlapping places included: the matches are found in the text as given,
|
|
107
|
+
* a match may begin inside another, and each run of overlapping matches is
|
|
108
|
+
* replaced as one. So two strings that overlap, one's end being the other's
|
|
109
|
+
* start, are both replaced whole, and the replacement is never scanned.
|
|
110
|
+
*/
|
|
111
|
+
export declare function credentialRedactor(patterns: readonly CredentialPattern[]): (text: unknown) => string;
|
|
112
|
+
/** Any value as text: a value that can't be printed reads as a placeholder. */
|
|
113
|
+
export declare function asText(text: unknown): string;
|
|
114
|
+
/**
|
|
115
|
+
* A credential provider's failure as a log line may show it: the error's
|
|
116
|
+
* class and its message's length, never the text, which may quote the
|
|
117
|
+
* credential it failed to refresh.
|
|
118
|
+
*/
|
|
119
|
+
export declare function describeCredentialError(error: unknown): string;
|
|
120
|
+
/**
|
|
121
|
+
* Resolve a server's family and transport. Throws on a configuration that
|
|
122
|
+
* names no usable transport (for example an `ftp://` URL, or
|
|
123
|
+
* `transport: 'http'` with a WebSocket URL), or names two without saying
|
|
124
|
+
* which: `command` and `url` together need a `transport`, since one of them
|
|
125
|
+
* goes unused. (A host may layer a url and its transport over a file's
|
|
126
|
+
* command, so both with a `transport` stay valid.)
|
|
127
|
+
*/
|
|
128
|
+
export declare function resolveServerBinding(config: BindingFields): ServerBinding;
|
|
129
|
+
/**
|
|
130
|
+
* The parts of a configuration's MCPL policy whose values grant something,
|
|
131
|
+
* by path, such as `allowHostCommands`, `scopes.<set>.whitelist`,
|
|
132
|
+
* `enabledCapabilities: toolLifecycle.observe`, `toolLifecycle.maxInputBytes`
|
|
133
|
+
* or `autofetch.maxBytes`: each
|
|
134
|
+
* asks for behaviour only an MCPL server can have. A modern server has none,
|
|
135
|
+
* so such a value can't apply there, and is refused rather than ignored, so
|
|
136
|
+
* that an operator who chose it learns so.
|
|
137
|
+
*
|
|
138
|
+
* A value that only takes something away, or repeats a default, is already
|
|
139
|
+
* satisfied on a modern server and isn't listed: `enabledFeatureSets`, an
|
|
140
|
+
* allow-list over every declared set (`feature-set-manager.ts`);
|
|
141
|
+
* `enabledCapabilities` patterns that match no path denied by default, since
|
|
142
|
+
* elsewhere it is an allow-list too; `disabledFeatureSets`,
|
|
143
|
+
* `disabledCapabilities`, a scope's `blacklist`, `channelSubscription:
|
|
144
|
+
* 'manual'` (the default), `toolLifecycle` with only a `maxInputBytes` at
|
|
145
|
+
* or below its default or with an `observe` or `inputs` that isn't a policy
|
|
146
|
+
* object (which grants nothing), an `autofetch` bound at or below its
|
|
147
|
+
* default, and
|
|
148
|
+
* `shouldTriggerInference`, which only narrows which channel messages
|
|
149
|
+
* trigger inference. So a host that stamps a deny-list on every server it
|
|
150
|
+
* deploys can deploy a modern one. Empty values grant nothing either.
|
|
151
|
+
*/
|
|
152
|
+
export declare function mcplPolicyGrants(config: McplServerConfig): string[];
|
|
153
|
+
/**
|
|
154
|
+
* Problems with a server configuration's protocol settings, as messages; empty
|
|
155
|
+
* when it is usable. Legacy configurations are checked only for what this
|
|
156
|
+
* design added, so every configuration that worked before still passes but
|
|
157
|
+
* one: `command` and `url` with no `transport`, which was launched as stdio
|
|
158
|
+
* with its url ignored, and is now refused as naming no transport to use.
|
|
159
|
+
*/
|
|
160
|
+
export declare function serverConfigProblems(config: McplServerConfig): string[];
|
|
161
|
+
/**
|
|
162
|
+
* What is usable in a server configuration but worth an operator's attention,
|
|
163
|
+
* as messages; empty when there is nothing. A credential for an `http://` or
|
|
164
|
+
* `ws://` url whose host isn't loopback crosses the network in cleartext:
|
|
165
|
+
* `token` or `accessProvider` (in the `Authorization` header, or the
|
|
166
|
+
* WebSocket `?token=` query), and a secret the url carries itself (a ws://
|
|
167
|
+
* url's userinfo, a query parameter whose name says it's a credential, or
|
|
168
|
+
* whose value is shaped like one under a plain name, a query parameter name
|
|
169
|
+
* that may itself be one, or a path segment that looks like one, as
|
|
170
|
+
* {@link redactUrl} judges it). A name that may itself be a credential is
|
|
171
|
+
* counted, never quoted. That can be deliberate, on a private network or
|
|
172
|
+
* behind a TLS-terminating proxy, so it is a warning and never a refusal.
|
|
173
|
+
*/
|
|
174
|
+
export declare function serverConfigWarnings(config: McplServerConfig): string[];
|
|
175
|
+
/** Throw one error listing every problem. Otherwise log each warning and
|
|
176
|
+
* return the resolved binding. Both engines admit a configuration here. */
|
|
177
|
+
export declare function checkServerConfig(config: McplServerConfig): ServerBinding;
|
|
178
|
+
export {};
|
|
179
|
+
//# sourceMappingURL=protocol-family.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-family.d.ts","sourceRoot":"","sources":["../../../src/mcpl/protocol-family.ts"],"names":[],"mappings":"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"}
|