@animalabs/agent-framework 0.7.4 → 0.9.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/dist/src/agent.d.ts +10 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +33 -3
- 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 +23 -1
- package/dist/src/code-execution/py-runner.d.ts.map +1 -1
- package/dist/src/code-execution/py-runner.js +40 -4
- package/dist/src/code-execution/py-runner.js.map +1 -1
- package/dist/src/code-execution/runtime-py.d.ts +15 -2
- package/dist/src/code-execution/runtime-py.d.ts.map +1 -1
- package/dist/src/code-execution/runtime-py.js +156 -7
- package/dist/src/code-execution/runtime-py.js.map +1 -1
- package/dist/src/code-execution/tool-definition.d.ts.map +1 -1
- package/dist/src/code-execution/tool-definition.js +27 -2
- package/dist/src/code-execution/tool-definition.js.map +1 -1
- package/dist/src/framework.d.ts +234 -5
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +1818 -188
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +11 -0
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +66 -0
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/capability-grant.d.ts +115 -0
- package/dist/src/mcpl/capability-grant.d.ts.map +1 -0
- package/dist/src/mcpl/capability-grant.js +291 -0
- package/dist/src/mcpl/capability-grant.js.map +1 -0
- package/dist/src/mcpl/capability-mask.d.ts +51 -0
- package/dist/src/mcpl/capability-mask.d.ts.map +1 -0
- package/dist/src/mcpl/capability-mask.js +190 -0
- package/dist/src/mcpl/capability-mask.js.map +1 -0
- package/dist/src/mcpl/channel-registry.d.ts +30 -2
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +216 -43
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.d.ts +8 -3
- package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.js +28 -8
- package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
- package/dist/src/mcpl/errors.d.ts +6 -0
- package/dist/src/mcpl/errors.d.ts.map +1 -1
- package/dist/src/mcpl/errors.js +6 -0
- package/dist/src/mcpl/errors.js.map +1 -1
- package/dist/src/mcpl/feature-set-manager.d.ts +10 -1
- package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
- package/dist/src/mcpl/feature-set-manager.js +45 -4
- package/dist/src/mcpl/feature-set-manager.js.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.d.ts +10 -14
- package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.js +58 -67
- package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
- package/dist/src/mcpl/index.d.ts +1 -1
- package/dist/src/mcpl/index.d.ts.map +1 -1
- package/dist/src/mcpl/index.js.map +1 -1
- package/dist/src/mcpl/prose-stream-router.d.ts +9 -0
- package/dist/src/mcpl/prose-stream-router.d.ts.map +1 -1
- package/dist/src/mcpl/prose-stream-router.js +16 -0
- package/dist/src/mcpl/prose-stream-router.js.map +1 -1
- package/dist/src/mcpl/push-handler.d.ts.map +1 -1
- package/dist/src/mcpl/push-handler.js +20 -2
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +93 -9
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +231 -32
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/server-registry.d.ts.map +1 -1
- package/dist/src/mcpl/server-registry.js +4 -3
- package/dist/src/mcpl/server-registry.js.map +1 -1
- package/dist/src/mcpl/tags.d.ts +24 -0
- package/dist/src/mcpl/tags.d.ts.map +1 -0
- package/dist/src/mcpl/tags.js +52 -0
- package/dist/src/mcpl/tags.js.map +1 -0
- package/dist/src/mcpl/transport.d.ts +1 -1
- package/dist/src/mcpl/transport.d.ts.map +1 -1
- package/dist/src/mcpl/transport.js +35 -7
- package/dist/src/mcpl/transport.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +169 -64
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js +16 -2
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/module-registry.d.ts +12 -0
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +26 -0
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/workspace/index.d.ts +20 -0
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +48 -15
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/sync.d.ts +4 -0
- package/dist/src/modules/workspace/sync.d.ts.map +1 -1
- package/dist/src/modules/workspace/sync.js +1 -1
- package/dist/src/modules/workspace/sync.js.map +1 -1
- package/dist/src/refusal-reactions.d.ts +27 -0
- package/dist/src/refusal-reactions.d.ts.map +1 -0
- package/dist/src/refusal-reactions.js +35 -0
- package/dist/src/refusal-reactions.js.map +1 -0
- package/dist/src/tool-result-history.d.ts +10 -0
- package/dist/src/tool-result-history.d.ts.map +1 -1
- package/dist/src/tool-result-history.js +16 -5
- package/dist/src/tool-result-history.js.map +1 -1
- package/dist/src/types/agent.d.ts +35 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +26 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +22 -0
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +24 -0
- package/dist/src/types/trace.d.ts.map +1 -1
- package/dist/test/busy-agent-scheduler.test.js +1 -0
- package/dist/test/busy-agent-scheduler.test.js.map +1 -1
- package/dist/test/channel-registry-routing.test.js +38 -10
- package/dist/test/channel-registry-routing.test.js.map +1 -1
- package/dist/test/channel-registry-typing.test.js +10 -1
- package/dist/test/channel-registry-typing.test.js.map +1 -1
- package/dist/test/checkpoint-attribution.test.js +168 -8
- package/dist/test/checkpoint-attribution.test.js.map +1 -1
- package/dist/test/code-execution.test.js +327 -1
- package/dist/test/code-execution.test.js.map +1 -1
- package/dist/test/conversation-fork-injection-scoping.test.js +8 -3
- package/dist/test/conversation-fork-injection-scoping.test.js.map +1 -1
- package/dist/test/deferred-wake-integrity.test.d.ts +29 -0
- package/dist/test/deferred-wake-integrity.test.d.ts.map +1 -0
- package/dist/test/deferred-wake-integrity.test.js +320 -0
- package/dist/test/deferred-wake-integrity.test.js.map +1 -0
- package/dist/test/event-gate-selfwake.test.d.ts +15 -0
- package/dist/test/event-gate-selfwake.test.d.ts.map +1 -0
- package/dist/test/event-gate-selfwake.test.js +125 -0
- package/dist/test/event-gate-selfwake.test.js.map +1 -0
- package/dist/test/machine-close-provenance.test.d.ts +2 -0
- package/dist/test/machine-close-provenance.test.d.ts.map +1 -0
- package/dist/test/machine-close-provenance.test.js +116 -0
- package/dist/test/machine-close-provenance.test.js.map +1 -0
- package/dist/test/mcpl-access-provider.test.d.ts +2 -0
- package/dist/test/mcpl-access-provider.test.d.ts.map +1 -0
- package/dist/test/mcpl-access-provider.test.js +20 -0
- package/dist/test/mcpl-access-provider.test.js.map +1 -0
- package/dist/test/mcpl-awareness-barrier.test.js +10 -0
- package/dist/test/mcpl-awareness-barrier.test.js.map +1 -1
- package/dist/test/mcpl-capability-grant.test.d.ts +10 -0
- package/dist/test/mcpl-capability-grant.test.d.ts.map +1 -0
- package/dist/test/mcpl-capability-grant.test.js +109 -0
- package/dist/test/mcpl-capability-grant.test.js.map +1 -0
- package/dist/test/mcpl-capability-scoping.test.d.ts +2 -0
- package/dist/test/mcpl-capability-scoping.test.d.ts.map +1 -0
- package/dist/test/mcpl-capability-scoping.test.js +266 -0
- package/dist/test/mcpl-capability-scoping.test.js.map +1 -0
- package/dist/test/mcpl-gate-roundtrip.test.js +13 -0
- package/dist/test/mcpl-gate-roundtrip.test.js.map +1 -1
- package/dist/test/mcpl-list-status.test.d.ts +2 -0
- package/dist/test/mcpl-list-status.test.d.ts.map +1 -0
- package/dist/test/mcpl-list-status.test.js +78 -0
- package/dist/test/mcpl-list-status.test.js.map +1 -0
- package/dist/test/mcpl-manifest-changed.test.d.ts +2 -0
- package/dist/test/mcpl-manifest-changed.test.d.ts.map +1 -0
- package/dist/test/mcpl-manifest-changed.test.js +177 -0
- package/dist/test/mcpl-manifest-changed.test.js.map +1 -0
- package/dist/test/mcpl-reconnect-events.test.js +27 -2
- package/dist/test/mcpl-reconnect-events.test.js.map +1 -1
- package/dist/test/mcpl-reconnect-reregistration.test.js +53 -17
- package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -1
- package/dist/test/mcpl-request-timeout.test.js +1 -1
- package/dist/test/mcpl-request-timeout.test.js.map +1 -1
- package/dist/test/module-context-integration.test.d.ts +18 -0
- package/dist/test/module-context-integration.test.d.ts.map +1 -0
- package/dist/test/module-context-integration.test.js +181 -0
- package/dist/test/module-context-integration.test.js.map +1 -0
- package/dist/test/physical-window-restart.test.d.ts +14 -0
- package/dist/test/physical-window-restart.test.d.ts.map +1 -0
- package/dist/test/physical-window-restart.test.js +222 -0
- package/dist/test/physical-window-restart.test.js.map +1 -0
- package/dist/test/present-while-acting.test.js +270 -0
- package/dist/test/present-while-acting.test.js.map +1 -1
- package/dist/test/refusal-reaction-baseline.test.d.ts +2 -0
- package/dist/test/refusal-reaction-baseline.test.d.ts.map +1 -0
- package/dist/test/refusal-reaction-baseline.test.js +74 -0
- package/dist/test/refusal-reaction-baseline.test.js.map +1 -0
- package/dist/test/state-scaling-e2e.test.js +7 -1
- package/dist/test/state-scaling-e2e.test.js.map +1 -1
- package/dist/test/state-scaling.test.js +9 -1
- package/dist/test/state-scaling.test.js.map +1 -1
- package/dist/test/tool-result-spill.test.d.ts +13 -0
- package/dist/test/tool-result-spill.test.d.ts.map +1 -0
- package/dist/test/tool-result-spill.test.js +463 -0
- package/dist/test/tool-result-spill.test.js.map +1 -0
- package/dist/test/trunk-channel-routing.test.js +45 -0
- package/dist/test/trunk-channel-routing.test.js.map +1 -1
- package/dist/test/utils-surface.test.d.ts +2 -0
- package/dist/test/utils-surface.test.d.ts.map +1 -0
- package/dist/test/utils-surface.test.js +145 -0
- package/dist/test/utils-surface.test.js.map +1 -0
- package/dist/test/workspace-read-image.test.js +71 -0
- package/dist/test/workspace-read-image.test.js.map +1 -1
- package/dist/test/workspace-restore-order.test.d.ts +16 -0
- package/dist/test/workspace-restore-order.test.d.ts.map +1 -0
- package/dist/test/workspace-restore-order.test.js +140 -0
- package/dist/test/workspace-restore-order.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/agent.ts +37 -3
- package/src/code-execution/index.ts +1 -0
- package/src/code-execution/py-runner.ts +56 -4
- package/src/code-execution/runtime-py.ts +156 -7
- package/src/code-execution/tool-definition.ts +27 -2
- package/src/framework.ts +2080 -203
- package/src/gate/event-gate.ts +72 -0
- package/src/index.ts +1 -0
- package/src/mcpl/capability-grant.ts +319 -0
- package/src/mcpl/capability-mask.ts +228 -0
- package/src/mcpl/channel-registry.ts +265 -43
- package/src/mcpl/checkpoint-manager.ts +28 -8
- package/src/mcpl/errors.ts +7 -0
- package/src/mcpl/feature-set-manager.ts +50 -5
- package/src/mcpl/hook-orchestrator.ts +64 -86
- package/src/mcpl/index.ts +0 -2
- package/src/mcpl/prose-stream-router.ts +17 -0
- package/src/mcpl/push-handler.ts +18 -2
- package/src/mcpl/server-connection.ts +262 -34
- package/src/mcpl/server-registry.ts +4 -3
- package/src/mcpl/tags.ts +50 -0
- package/src/mcpl/transport.ts +37 -7
- package/src/mcpl/types.ts +187 -78
- package/src/module-registry.ts +34 -0
- package/src/modules/workspace/index.ts +49 -15
- package/src/modules/workspace/sync.ts +1 -1
- package/src/refusal-reactions.ts +37 -0
- package/src/tool-result-history.ts +17 -5
- package/src/types/agent.ts +36 -0
- package/src/types/framework.ts +27 -0
- package/src/types/module.ts +24 -0
- package/src/types/trace.ts +22 -0
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { EventEmitter } from 'node:events';
|
|
12
12
|
import { openTransport } from './transport.js';
|
|
13
|
+
import { maskNegotiatedCapabilities } from './capability-mask.js';
|
|
14
|
+
import { CapabilityGrant, expandAdvertisementShorthand } from './capability-grant.js';
|
|
15
|
+
import { CAPABILITY_DISABLED } from './errors.js';
|
|
13
16
|
import { McplMethod } from './types.js';
|
|
14
17
|
/** Timeout for the initialize handshake in milliseconds.
|
|
15
18
|
* Spring Boot + JDA servers can take 5-10s to boot, so 30s is safe. */
|
|
@@ -34,7 +37,6 @@ const MCP_PROTOCOL_VERSION = '2024-11-05';
|
|
|
34
37
|
* - `'channels-register'` — Server sent `channels/register`
|
|
35
38
|
* - `'channels-changed'` — Server sent `channels/changed`
|
|
36
39
|
* - `'channels-incoming'` — Server sent `channels/incoming`
|
|
37
|
-
* - `'feature-sets-changed'` — Server sent `featureSets/changed`
|
|
38
40
|
* - `'error'` — Connection-level error
|
|
39
41
|
* - `'close'` — Connection closed
|
|
40
42
|
* - `'connect-failed'` — Initial connect failed; background retry scheduled
|
|
@@ -44,8 +46,61 @@ const MCP_PROTOCOL_VERSION = '2024-11-05';
|
|
|
44
46
|
export class McplServerConnection extends EventEmitter {
|
|
45
47
|
/** Unique server identifier from config. */
|
|
46
48
|
id;
|
|
47
|
-
/** MCPL capabilities negotiated during the initialize handshake
|
|
49
|
+
/** MCPL capabilities negotiated during the initialize handshake — after
|
|
50
|
+
* host-side capability scoping (enabledCapabilities/disabledCapabilities)
|
|
51
|
+
* — or null if the server does not support MCPL. */
|
|
48
52
|
capabilities;
|
|
53
|
+
/** Dotted paths of advertised capabilities the host config masked at the
|
|
54
|
+
* last handshake (empty when no scoping is configured). Inbound methods
|
|
55
|
+
* gated by a masked capability are rejected in setupMessageRouting. */
|
|
56
|
+
droppedCapabilities = new Set();
|
|
57
|
+
/** OUTER standard MCP capabilities.tools was present at handshake (§5.1 —
|
|
58
|
+
* the sole source of the `tools` capability path). */
|
|
59
|
+
mcpToolsAdvertised = false;
|
|
60
|
+
/** Host-owned per-server authority for host/command (config
|
|
61
|
+
* allowHostCommands, default false). No capability path exists and the
|
|
62
|
+
* grant cannot confer it — server params never decide admin authority. */
|
|
63
|
+
allowHostCommands = false;
|
|
64
|
+
/**
|
|
65
|
+
* The effective capability grant (§5.4) — the sole authorization
|
|
66
|
+
* allowlist for this connection. Starts EMPTY: until the initial policy
|
|
67
|
+
* exchange completes (§5.3) nothing is granted and every privileged
|
|
68
|
+
* inbound method is rejected. The framework computes the grant from the
|
|
69
|
+
* masked advertisement and activates it via establishGrant() only after
|
|
70
|
+
* the featureSets/update Request is answered (expansion activates on
|
|
71
|
+
* receipt, §6.7); revocations re-call establishGrant() BEFORE the
|
|
72
|
+
* corresponding Request is sent (reduction applies first, §6.7).
|
|
73
|
+
*/
|
|
74
|
+
grant = CapabilityGrant.empty();
|
|
75
|
+
/** True once the §5.3 initial policy Request has been answered. */
|
|
76
|
+
policyEstablished = false;
|
|
77
|
+
/**
|
|
78
|
+
* §17 manifest tracking (host side of RFC-003): what this host actually
|
|
79
|
+
* fetched and acted on — never the server's announcement log (§17.10:
|
|
80
|
+
* those are different facts). Read by the legibility surface.
|
|
81
|
+
*/
|
|
82
|
+
manifestState = { lastValidatedRevision: null, lastFetchedAt: null, lastNegotiatedAt: null };
|
|
83
|
+
/**
|
|
84
|
+
* Activate (or replace) the effective grant. Ordering is the caller's
|
|
85
|
+
* contract per §6.7: call BEFORE sending a reducing featureSets/update,
|
|
86
|
+
* AFTER the receipt for an expanding one.
|
|
87
|
+
*/
|
|
88
|
+
establishGrant(grant) {
|
|
89
|
+
this.grant = grant;
|
|
90
|
+
this.policyEstablished = true;
|
|
91
|
+
}
|
|
92
|
+
/** A §5.3 grant belongs to one initialized transport epoch. Reconnecting
|
|
93
|
+
* performs a fresh initialize handshake, so authority from the dead epoch
|
|
94
|
+
* must be revoked before the replacement transport is exposed. */
|
|
95
|
+
resetPolicyForTransportBoundary() {
|
|
96
|
+
this.grant = CapabilityGrant.empty();
|
|
97
|
+
this.policyEstablished = false;
|
|
98
|
+
// §17 tracking is per-epoch for the same reason the grant is: these are
|
|
99
|
+
// facts about what THIS host fetched/negotiated on THIS initialized
|
|
100
|
+
// transport, and a fresh initialize starts a fresh manifest history
|
|
101
|
+
// (Sol, PR #84 review — they previously survived into the new epoch).
|
|
102
|
+
this.manifestState = { lastValidatedRevision: null, lastFetchedAt: null, lastNegotiatedAt: null };
|
|
103
|
+
}
|
|
49
104
|
/** The active transport (stdio child or WebSocket). Null for a disconnected
|
|
50
105
|
* stub awaiting its first background reconnect. */
|
|
51
106
|
transport;
|
|
@@ -126,19 +181,15 @@ export class McplServerConnection extends EventEmitter {
|
|
|
126
181
|
readyControlPlane() {
|
|
127
182
|
this.controlPlaneReady = true;
|
|
128
183
|
const pending = this.bufferedEvents;
|
|
129
|
-
const deferred = [];
|
|
130
184
|
this.bufferedEvents = [];
|
|
131
185
|
for (const item of pending) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
186
|
+
// Re-enter the ADMISSION gate (this.emit), never super.emit: control
|
|
187
|
+
// events include channels-register/changed, which are grant-gated —
|
|
188
|
+
// the old direct flush bypassed positive-grant enforcement entirely
|
|
189
|
+
// (PR #79 review blocker 3). Data-plane items re-buffer in order via
|
|
190
|
+
// the same call, since dataPlaneReady is still false.
|
|
191
|
+
this.emit(item.event, ...item.args);
|
|
138
192
|
}
|
|
139
|
-
// Data events emitted by control handlers while the snapshot was flushing
|
|
140
|
-
// were appended to the new buffer. Preserve their order behind older data.
|
|
141
|
-
this.bufferedEvents = [...deferred, ...this.bufferedEvents];
|
|
142
193
|
}
|
|
143
194
|
/**
|
|
144
195
|
* Close the data plane synchronously while leaving an already-released
|
|
@@ -159,17 +210,62 @@ export class McplServerConnection extends EventEmitter {
|
|
|
159
210
|
|| (McplServerConnection.isControlPlaneEvent(name)
|
|
160
211
|
? this.controlPlaneReady
|
|
161
212
|
: this.dataPlaneReady)) {
|
|
213
|
+
// Positive-grant admission (§5.4/§14.1), at the single choke-point
|
|
214
|
+
// every path shares: live routing AND buffer flushes re-enter here, so
|
|
215
|
+
// an event buffered while the connection was staged is authorized
|
|
216
|
+
// against the grant current at ADMISSION — by which time the §5.3
|
|
217
|
+
// policy exchange has settled. Rejecting earlier (at line receipt)
|
|
218
|
+
// answered staged traffic with -32002 before the grant existed, which
|
|
219
|
+
// both bounced conforming servers' startup pushes and made a FAILED
|
|
220
|
+
// startup observable to the server (a response where the ledger said
|
|
221
|
+
// nothing was released).
|
|
222
|
+
// host/command: host-owned authority, not a capability — no §6.2 path
|
|
223
|
+
// exists and none is invented here. Default DENY; only the operator's
|
|
224
|
+
// config confers it (PR #79 review blocker 9: any server could
|
|
225
|
+
// request undo/hide/unstick).
|
|
226
|
+
if (name === 'host-command' && !this.allowHostCommands) {
|
|
227
|
+
const responder = args[1];
|
|
228
|
+
if (responder?.respondError) {
|
|
229
|
+
responder.respondError(CAPABILITY_DISABLED, 'host/command requires host-owned authority (McplServerConfig.allowHostCommands)', {});
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
console.error(`[mcpl] ${this.id}: discarded host/command — allowHostCommands not set`);
|
|
233
|
+
}
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
const requiredCap = McplServerConnection.EVENT_TO_REQUIRED_CAPABILITY[name];
|
|
237
|
+
if (requiredCap && !this.grant.has(requiredCap)) {
|
|
238
|
+
const phase = this.policyEstablished ? 'not in the effective grant' : 'initial policy not yet established (§5.3)';
|
|
239
|
+
const responder = args[1];
|
|
240
|
+
if (responder?.respondError) {
|
|
241
|
+
responder.respondError(CAPABILITY_DISABLED, `${name} rejected: capability "${requiredCap}" ${phase}`, { capability: requiredCap });
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
console.error(`[mcpl] ${this.id}: discarded ${name} — "${requiredCap}" ${phase}`);
|
|
245
|
+
}
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
162
248
|
return super.emit(event, ...args);
|
|
163
249
|
}
|
|
164
250
|
this.bufferedEvents.push({ event: name, args });
|
|
165
251
|
return true;
|
|
166
252
|
}
|
|
253
|
+
/** Event-name form of METHOD_TO_REQUIRED_CAPABILITY, for admission-time
|
|
254
|
+
* enforcement in emit(). */
|
|
255
|
+
static EVENT_TO_REQUIRED_CAPABILITY = {
|
|
256
|
+
'push-event': 'pushEvents',
|
|
257
|
+
'inference-request': 'inferenceRequest',
|
|
258
|
+
'model-info': 'modelInfo',
|
|
259
|
+
'channels-register': 'channels.register',
|
|
260
|
+
'channels-changed': 'channels.register',
|
|
261
|
+
'channels-incoming': 'channels.incoming',
|
|
262
|
+
'channels-list': 'channels.register',
|
|
263
|
+
};
|
|
167
264
|
static isControlPlaneEvent(event) {
|
|
168
265
|
return event === 'stderr'
|
|
169
266
|
|| event === 'scope-elevate'
|
|
170
267
|
|| event === 'channels-register'
|
|
171
268
|
|| event === 'channels-changed'
|
|
172
|
-
|| event === 'feature-sets-changed'
|
|
173
269
|
|| event === 'tools-list-changed'
|
|
174
270
|
|| event === 'connect-failed'
|
|
175
271
|
|| event === 'reconnect-failed'
|
|
@@ -192,8 +288,11 @@ export class McplServerConnection extends EventEmitter {
|
|
|
192
288
|
* closes/errors before the handshake, or the handshake times out.
|
|
193
289
|
*/
|
|
194
290
|
static async connect(config, hostCapabilities) {
|
|
195
|
-
const { transport, capabilities } = await McplServerConnection.handshake(config, hostCapabilities);
|
|
291
|
+
const { transport, capabilities, droppedCapabilities, mcpToolsAdvertised } = await McplServerConnection.handshake(config, hostCapabilities);
|
|
196
292
|
const connection = new McplServerConnection(config.id, capabilities, transport);
|
|
293
|
+
connection.droppedCapabilities = droppedCapabilities;
|
|
294
|
+
connection.mcpToolsAdvertised = mcpToolsAdvertised;
|
|
295
|
+
connection.allowHostCommands = config.allowHostCommands === true;
|
|
197
296
|
connection.requestTimeoutMs = config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
198
297
|
// Store config for reconnection
|
|
199
298
|
if (config.reconnect) {
|
|
@@ -228,7 +327,7 @@ export class McplServerConnection extends EventEmitter {
|
|
|
228
327
|
};
|
|
229
328
|
// Await the initialize response, racing an early transport close/error and
|
|
230
329
|
// a timeout. All three paths clean up their listeners.
|
|
231
|
-
const
|
|
330
|
+
const { mcpl: rawCapabilities, mcpToolsAdvertised } = await new Promise((resolve, reject) => {
|
|
232
331
|
const cleanup = () => {
|
|
233
332
|
transport.off('line', onLine);
|
|
234
333
|
transport.off('close', onClose);
|
|
@@ -253,7 +352,13 @@ export class McplServerConnection extends EventEmitter {
|
|
|
253
352
|
const result = msg.result;
|
|
254
353
|
const caps = result?.capabilities;
|
|
255
354
|
const experimental = caps?.experimental;
|
|
256
|
-
|
|
355
|
+
// §5.1: `tools` capability is the OUTER standard MCP member — the
|
|
356
|
+
// experimental manifest cannot mint it. Carried alongside so the
|
|
357
|
+
// grant can join it into §6.4 derivation.
|
|
358
|
+
resolve({
|
|
359
|
+
mcpl: experimental?.mcpl ?? null,
|
|
360
|
+
mcpToolsAdvertised: caps?.tools !== undefined,
|
|
361
|
+
});
|
|
257
362
|
};
|
|
258
363
|
const onClose = (info) => {
|
|
259
364
|
cleanup();
|
|
@@ -274,7 +379,19 @@ export class McplServerConnection extends EventEmitter {
|
|
|
274
379
|
});
|
|
275
380
|
// Send `initialized` notification (no id)
|
|
276
381
|
transport.writeLine(JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }));
|
|
277
|
-
|
|
382
|
+
// §5.1 boolean shorthand expands to explicit leaves BEFORE the config
|
|
383
|
+
// mask runs, so sub-leaf policy is addressable — `channels: true` with
|
|
384
|
+
// `disabledCapabilities: ['channels.streaming']` must actually drop
|
|
385
|
+
// streaming (PR #79 review blocker 1).
|
|
386
|
+
const capabilities = expandAdvertisementShorthand(rawCapabilities);
|
|
387
|
+
// Host-side capability scoping: intersect the server's advertisement
|
|
388
|
+
// with config policy so a masked capability behaves exactly as if it
|
|
389
|
+
// had never been advertised (hooks, streaming, queries all read this).
|
|
390
|
+
const { capabilities: scoped, dropped } = maskNegotiatedCapabilities(capabilities, config);
|
|
391
|
+
if (dropped.length > 0) {
|
|
392
|
+
console.error(`MCPL server "${config.id}" capabilities masked by host config: ${dropped.join(', ')}`);
|
|
393
|
+
}
|
|
394
|
+
return { transport, capabilities: scoped, droppedCapabilities: new Set(dropped), mcpToolsAdvertised };
|
|
278
395
|
}
|
|
279
396
|
catch (err) {
|
|
280
397
|
// Never leak the child / socket if the handshake fails.
|
|
@@ -333,26 +450,40 @@ export class McplServerConnection extends EventEmitter {
|
|
|
333
450
|
sendBeforeInference(params) {
|
|
334
451
|
return this.sendRequest(McplMethod.BeforeInference, params);
|
|
335
452
|
}
|
|
336
|
-
/**
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
*/
|
|
341
|
-
sendAfterInference(params, blocking) {
|
|
342
|
-
if (blocking) {
|
|
343
|
-
return this.sendRequest(McplMethod.AfterInference, params);
|
|
344
|
-
}
|
|
345
|
-
this.sendNotification(McplMethod.AfterInference, params);
|
|
346
|
-
return Promise.resolve();
|
|
347
|
-
}
|
|
348
|
-
/** Send `featureSets/update` notification. */
|
|
453
|
+
/** Send `featureSets/update` as a Notification. §6.7: valid ONLY for
|
|
454
|
+
* purely descriptive metadata that does not alter the grant. Any grant
|
|
455
|
+
* change — including the §5.3 initial policy — MUST use the Request form
|
|
456
|
+
* below. */
|
|
349
457
|
sendFeatureSetsUpdate(params) {
|
|
350
458
|
this.sendNotification(McplMethod.FeatureSetsUpdate, params);
|
|
351
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* Send `featureSets/update` as a Request (§5.3, §6.7) and await the
|
|
462
|
+
* degradation receipt. A short timeout, distinct from tool-call timeouts:
|
|
463
|
+
* a pre-0.5 server treats the Request as a notification and never
|
|
464
|
+
* answers, and per §6.7 an unanswered expansion simply does not activate
|
|
465
|
+
* — the caller leaves the grant empty and the connection MCP-only.
|
|
466
|
+
*/
|
|
467
|
+
sendFeatureSetsUpdateRequest(params, timeoutMs = 15_000) {
|
|
468
|
+
return this.sendRequest(McplMethod.FeatureSetsUpdate, params, { timeoutMs });
|
|
469
|
+
}
|
|
352
470
|
/** Send `inference/chunk` notification. */
|
|
353
471
|
sendInferenceChunk(params) {
|
|
354
472
|
this.sendNotification(McplMethod.InferenceChunk, params);
|
|
355
473
|
}
|
|
474
|
+
/** Send `inference/lifecycle` notification (§10.5). Best-effort. */
|
|
475
|
+
sendInferenceLifecycle(params) {
|
|
476
|
+
this.sendNotification(McplMethod.InferenceLifecycle, params);
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Fetch the server's complete current manifest (§17.4) — the
|
|
480
|
+
* experimental.mcpl object in the same shape initialize carries, never a
|
|
481
|
+
* delta. The fetched CONTENT is authoritative for every decision; the
|
|
482
|
+
* revision is only the cheap path (§17.1).
|
|
483
|
+
*/
|
|
484
|
+
sendManifestRequest(timeoutMs = 15_000) {
|
|
485
|
+
return this.sendRequest(McplMethod.Manifest, {}, { timeoutMs });
|
|
486
|
+
}
|
|
356
487
|
/** Send `state/rollback` request and await result. */
|
|
357
488
|
sendStateRollback(params) {
|
|
358
489
|
return this.sendRequest(McplMethod.StateRollback, params);
|
|
@@ -452,6 +583,7 @@ export class McplServerConnection extends EventEmitter {
|
|
|
452
583
|
return;
|
|
453
584
|
}
|
|
454
585
|
this.closed = true;
|
|
586
|
+
this.resetPolicyForTransportBoundary();
|
|
455
587
|
// Reject all pending requests
|
|
456
588
|
for (const [id, pending] of this.pendingRequests) {
|
|
457
589
|
if (pending.timer)
|
|
@@ -523,14 +655,18 @@ export class McplServerConnection extends EventEmitter {
|
|
|
523
655
|
// reports attempt N (reconnectAttempts counts failures so far).
|
|
524
656
|
const attempt = Math.max(1, this.reconnectAttempts);
|
|
525
657
|
try {
|
|
526
|
-
const { transport, capabilities } = await McplServerConnection.handshake(this.config, this.hostCapabilities);
|
|
658
|
+
const { transport, capabilities, droppedCapabilities, mcpToolsAdvertised } = await McplServerConnection.handshake(this.config, this.hostCapabilities);
|
|
527
659
|
// Close the data plane before the new transport can emit. The reconnect
|
|
528
660
|
// lifecycle event bypasses buffering; its framework listener installs the
|
|
529
661
|
// awareness barrier synchronously, then releases control traffic needed
|
|
530
662
|
// to establish the server while data remains held.
|
|
531
663
|
this.pauseDataPlane();
|
|
664
|
+
this.resetPolicyForTransportBoundary();
|
|
532
665
|
this.transport = transport;
|
|
533
666
|
this.capabilities = capabilities;
|
|
667
|
+
this.droppedCapabilities = droppedCapabilities;
|
|
668
|
+
this.mcpToolsAdvertised = mcpToolsAdvertised;
|
|
669
|
+
this.allowHostCommands = this.config?.allowHostCommands === true;
|
|
534
670
|
this.closed = false;
|
|
535
671
|
this.nextRequestId = 1;
|
|
536
672
|
this.pendingRequests.clear();
|
|
@@ -621,13 +757,48 @@ export class McplServerConnection extends EventEmitter {
|
|
|
621
757
|
[McplMethod.ChannelsRegister]: 'channels-register',
|
|
622
758
|
[McplMethod.ChannelsChanged]: 'channels-changed',
|
|
623
759
|
[McplMethod.ChannelsIncoming]: 'channels-incoming',
|
|
624
|
-
|
|
760
|
+
// §6.6/§12: a request bearing an id MUST get a result or an error —
|
|
761
|
+
// neither of these had an entry, so callers hung forever (AUDIT-001
|
|
762
|
+
// item 4, which also poisoned the audit's own usage evidence).
|
|
763
|
+
[McplMethod.ModelInfo]: 'model-info',
|
|
764
|
+
// §17.3: deliberately UNGATED (not in EVENT_TO_REQUIRED_CAPABILITY) —
|
|
765
|
+
// announcing conveys no authority, and gating it would silence exactly
|
|
766
|
+
// the servers whose grants just narrowed. The cost is the host's
|
|
767
|
+
// re-fetch, which the framework rate-limits (§17.8).
|
|
768
|
+
[McplMethod.ManifestChanged]: 'manifest-changed',
|
|
769
|
+
[McplMethod.ChannelsList]: 'channels-list',
|
|
625
770
|
'notifications/tools/list_changed': 'tools-list-changed',
|
|
626
771
|
// Host-level admin commands initiated from a surface (e.g. a Discord
|
|
627
772
|
// slash command). Params: { command, ... }; host responds with a
|
|
628
773
|
// command-specific result object.
|
|
629
774
|
'host/command': 'host-command',
|
|
630
775
|
};
|
|
776
|
+
/**
|
|
777
|
+
* Inbound (server-initiated) method → required capability path, per SPEC
|
|
778
|
+
* §14.1's table plus the non-channel privileged methods. **Positive-grant
|
|
779
|
+
* enforcement** (§5.4): the method is admitted only when the effective
|
|
780
|
+
* grant contains the named path — absence is denial, and before the
|
|
781
|
+
* initial policy exchange completes the grant is empty, so everything
|
|
782
|
+
* privileged is rejected (§5.3).
|
|
783
|
+
*
|
|
784
|
+
* This replaces the earlier `droppedCapabilities` deny-list check, which
|
|
785
|
+
* could only deny what had been advertised-then-masked: a server that
|
|
786
|
+
* never advertised a capability at all was never denied. (Adjudicated in
|
|
787
|
+
* review of PR #75; the mask itself is retained as the config-policy
|
|
788
|
+
* layer feeding the grant.)
|
|
789
|
+
*
|
|
790
|
+
* Channel methods key on their specific sub-capabilities, not the bare
|
|
791
|
+
* `channels` parent — a bare parent grants nothing (§5.4).
|
|
792
|
+
*/
|
|
793
|
+
static METHOD_TO_REQUIRED_CAPABILITY = {
|
|
794
|
+
[McplMethod.PushEvent]: 'pushEvents',
|
|
795
|
+
[McplMethod.InferenceRequest]: 'inferenceRequest',
|
|
796
|
+
[McplMethod.ModelInfo]: 'modelInfo',
|
|
797
|
+
[McplMethod.ChannelsRegister]: 'channels.register',
|
|
798
|
+
[McplMethod.ChannelsChanged]: 'channels.register',
|
|
799
|
+
[McplMethod.ChannelsIncoming]: 'channels.incoming',
|
|
800
|
+
[McplMethod.ChannelsList]: 'channels.register',
|
|
801
|
+
};
|
|
631
802
|
/**
|
|
632
803
|
* Bind all transport-level handlers (inbound routing, lifecycle, stderr) to a
|
|
633
804
|
* transport. Called from the constructor and again from attemptReconnect when
|
|
@@ -661,6 +832,33 @@ export class McplServerConnection extends EventEmitter {
|
|
|
661
832
|
// It is an inbound request or notification from the server
|
|
662
833
|
const request = msg;
|
|
663
834
|
const eventName = McplServerConnection.METHOD_TO_EVENT[request.method];
|
|
835
|
+
// §7 is removed in 0.5.0: scope/elevate is no longer a method. Answer
|
|
836
|
+
// rather than hang (§6.6 — a method that will never be answered MUST
|
|
837
|
+
// return an error).
|
|
838
|
+
// featureSets/changed is REMOVED in 0.5.0 (§6.7 — it carried a
|
|
839
|
+
// server-authored change payload, the self-attestation defect; the
|
|
840
|
+
// need is met by §17's host-diffed manifest fetch). It was still
|
|
841
|
+
// routed, control-plane classified, and mutating declarations — a
|
|
842
|
+
// live ungated self-attestation path (PR #79 review blocker 4).
|
|
843
|
+
if (request.method === McplMethod.FeatureSetsChanged) {
|
|
844
|
+
if (request.id != null) {
|
|
845
|
+
this.sendErrorResponse(request.id, -32601, 'featureSets/changed removed in MCPL 0.5.0 (superseded by mcpl/manifestChanged, SPEC §17)');
|
|
846
|
+
}
|
|
847
|
+
else {
|
|
848
|
+
console.error(`[mcpl] ${this.id}: discarded featureSets/changed — removed in 0.5.0 (§6.7/§17)`);
|
|
849
|
+
}
|
|
850
|
+
return;
|
|
851
|
+
}
|
|
852
|
+
if (request.method === McplMethod.ScopeElevate) {
|
|
853
|
+
if (request.id != null) {
|
|
854
|
+
this.sendErrorResponse(request.id, -32601, 'scope/elevate removed in MCPL 0.5.0 (SPEC §7)');
|
|
855
|
+
}
|
|
856
|
+
return;
|
|
857
|
+
}
|
|
858
|
+
// Positive-grant enforcement (§5.4, §14.1) happens at ADMISSION, in
|
|
859
|
+
// the emit() override below — the one choke-point that live routing
|
|
860
|
+
// and staged-buffer flushes share. See the comment there for why
|
|
861
|
+
// rejecting here, at line receipt, was wrong for staged connections.
|
|
664
862
|
if (eventName) {
|
|
665
863
|
// Emit the typed event with params and (for requests) a respond callback
|
|
666
864
|
if (request.id != null) {
|
|
@@ -761,6 +959,7 @@ export class McplServerConnection extends EventEmitter {
|
|
|
761
959
|
transport.on('close', (info) => {
|
|
762
960
|
if (!this.closed) {
|
|
763
961
|
this.closed = true;
|
|
962
|
+
this.resetPolicyForTransportBoundary();
|
|
764
963
|
// Reject all pending requests
|
|
765
964
|
for (const [id, pending] of this.pendingRequests) {
|
|
766
965
|
if (pending.timer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,8BAA8B,GAC9B,6BAA6B,GAC7B,kBAAkB,GAClB,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAA2C;IAE1D;;;;;OAKG;IACG,SAAS,CACb,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAyBhC;;;;OAIG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAIlD;;OAEG;IACH,aAAa,IAAI,oBAAoB,EAAE;IAIvC;;;;;;;;;OASG;IACH,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"server-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,8BAA8B,GAC9B,6BAA6B,GAC7B,kBAAkB,GAClB,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAA2C;IAE1D;;;;;OAKG;IACG,SAAS,CACb,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAyBhC;;;;OAIG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAIlD;;OAEG;IACH,aAAa,IAAI,oBAAoB,EAAE;IAIvC;;;;;;;;;OASG;IACH,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,oBAAoB,EAAE;IAuB1E;;;;OAIG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAQnE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
|
|
@@ -82,9 +82,10 @@ export class McplServerRegistry {
|
|
|
82
82
|
case 'pushEvents':
|
|
83
83
|
return caps.pushEvents === true;
|
|
84
84
|
case 'contextHooks.beforeInference':
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
// Truthy, not ===true: §5.1 shorthand is expanded to the object
|
|
86
|
+
// form at handshake. (Prefer connection.grant for authorization —
|
|
87
|
+
// this query is advertisement-level only.)
|
|
88
|
+
return !!caps.contextHooks?.beforeInference;
|
|
88
89
|
case 'inferenceRequest':
|
|
89
90
|
return !!caps.inferenceRequest;
|
|
90
91
|
case 'modelInfo':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-registry.js","sourceRoot":"","sources":["../../../src/mcpl/server-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAY9D;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACrB,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE1D;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,MAAwB,EACxB,gBAAsC;QAEtC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS;YACjC,CAAC,CAAC,MAAM,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAC3E,CAAC,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAExC,iEAAiE;QACjE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAC9B,gEAAgE;QAClE,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,wBAAwB,CAAC,GAAwB;QAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAExB,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;gBAClC,KAAK,8BAA8B;oBACjC,
|
|
1
|
+
{"version":3,"file":"server-registry.js","sourceRoot":"","sources":["../../../src/mcpl/server-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event-tag core closure (SPEC §16.3) and the addressed/ambient resolution.
|
|
3
|
+
*
|
|
4
|
+
* The `chat:*` core implications are NORMATIVE and spec-defined — a host
|
|
5
|
+
* expands them itself and never needs the producer's ontology to do so.
|
|
6
|
+
* Producer `implies` edges are advisory pending explicit acceptance (§16.4)
|
|
7
|
+
* and are NOT consumed here. Producer `suggestedTreatment` MUST NOT be
|
|
8
|
+
* auto-applied (§16.5) — nothing in this module reads it, deliberately.
|
|
9
|
+
*
|
|
10
|
+
* Tags are never authority (§16.6): expansion happens after admission, and
|
|
11
|
+
* nothing downstream may grant, admit, or authorize based on a tag.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Expand a raw tag list over the normative core closure, then resolve the
|
|
15
|
+
* §16.2 mutual exclusion: `chat:addressed` and `chat:ambient` cannot both
|
|
16
|
+
* stand after expansion, and addressed wins — a message that is both
|
|
17
|
+
* specifically-to-you and background noise is specifically-to-you.
|
|
18
|
+
*
|
|
19
|
+
* Pure; input order is preserved for the tags that survive, with implied
|
|
20
|
+
* tags appended in first-cause order. Unknown and producer-namespaced tags
|
|
21
|
+
* pass through untouched.
|
|
22
|
+
*/
|
|
23
|
+
export declare function expandCoreTags(tags: readonly string[] | undefined): string[];
|
|
24
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/mcpl/tags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAmB5E"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event-tag core closure (SPEC §16.3) and the addressed/ambient resolution.
|
|
3
|
+
*
|
|
4
|
+
* The `chat:*` core implications are NORMATIVE and spec-defined — a host
|
|
5
|
+
* expands them itself and never needs the producer's ontology to do so.
|
|
6
|
+
* Producer `implies` edges are advisory pending explicit acceptance (§16.4)
|
|
7
|
+
* and are NOT consumed here. Producer `suggestedTreatment` MUST NOT be
|
|
8
|
+
* auto-applied (§16.5) — nothing in this module reads it, deliberately.
|
|
9
|
+
*
|
|
10
|
+
* Tags are never authority (§16.6): expansion happens after admission, and
|
|
11
|
+
* nothing downstream may grant, admit, or authorize based on a tag.
|
|
12
|
+
*/
|
|
13
|
+
/** Normative core closure edges (§16.3). Closed vocabulary — chat:* only. */
|
|
14
|
+
const CORE_IMPLIES = {
|
|
15
|
+
'chat:mention': ['chat:addressed'],
|
|
16
|
+
'chat:reply': ['chat:addressed'],
|
|
17
|
+
'chat:dm': ['chat:addressed', 'chat:private'],
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Expand a raw tag list over the normative core closure, then resolve the
|
|
21
|
+
* §16.2 mutual exclusion: `chat:addressed` and `chat:ambient` cannot both
|
|
22
|
+
* stand after expansion, and addressed wins — a message that is both
|
|
23
|
+
* specifically-to-you and background noise is specifically-to-you.
|
|
24
|
+
*
|
|
25
|
+
* Pure; input order is preserved for the tags that survive, with implied
|
|
26
|
+
* tags appended in first-cause order. Unknown and producer-namespaced tags
|
|
27
|
+
* pass through untouched.
|
|
28
|
+
*/
|
|
29
|
+
export function expandCoreTags(tags) {
|
|
30
|
+
if (!tags || tags.length === 0)
|
|
31
|
+
return [];
|
|
32
|
+
const out = [];
|
|
33
|
+
const seen = new Set();
|
|
34
|
+
const add = (t) => {
|
|
35
|
+
if (!seen.has(t)) {
|
|
36
|
+
seen.add(t);
|
|
37
|
+
out.push(t);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
for (const t of tags) {
|
|
41
|
+
add(t);
|
|
42
|
+
for (const implied of CORE_IMPLIES[t] ?? [])
|
|
43
|
+
add(implied);
|
|
44
|
+
}
|
|
45
|
+
if (seen.has('chat:addressed') && seen.has('chat:ambient')) {
|
|
46
|
+
const i = out.indexOf('chat:ambient');
|
|
47
|
+
if (i >= 0)
|
|
48
|
+
out.splice(i, 1);
|
|
49
|
+
}
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/mcpl/tags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6EAA6E;AAC7E,MAAM,YAAY,GAAgD;IAChE,cAAc,EAAE,CAAC,gBAAgB,CAAC;IAClC,YAAY,EAAE,CAAC,gBAAgB,CAAC;IAChC,SAAS,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC;CAC9C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,IAAmC;IAChE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAQ,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,CAAC,CAAC,CAAC;QACP,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -85,7 +85,7 @@ export declare class WebSocketTransport extends McplTransport {
|
|
|
85
85
|
* Build the dial URL: validate it's a ws(s):// URL and append the auth token as
|
|
86
86
|
* a `token` query param when provided (preserving any existing query).
|
|
87
87
|
*/
|
|
88
|
-
export declare function buildWebSocketUrl(config: McplServerConfig): string;
|
|
88
|
+
export declare function buildWebSocketUrl(config: McplServerConfig, tokenOverride?: string | null): string;
|
|
89
89
|
/** True when the config selects the WebSocket transport (explicit `transport`,
|
|
90
90
|
* or a `url` with no `command`). */
|
|
91
91
|
export declare function isWebSocketTransport(config: McplServerConfig): boolean;
|