@animalabs/agent-framework 0.8.0 → 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.
Files changed (172) hide show
  1. package/dist/src/agent.d.ts +10 -0
  2. package/dist/src/agent.d.ts.map +1 -1
  3. package/dist/src/agent.js +33 -3
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/framework.d.ts +171 -15
  6. package/dist/src/framework.d.ts.map +1 -1
  7. package/dist/src/framework.js +1059 -224
  8. package/dist/src/framework.js.map +1 -1
  9. package/dist/src/gate/event-gate.d.ts +11 -0
  10. package/dist/src/gate/event-gate.d.ts.map +1 -1
  11. package/dist/src/gate/event-gate.js +66 -0
  12. package/dist/src/gate/event-gate.js.map +1 -1
  13. package/dist/src/index.d.ts +1 -0
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +1 -0
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/mcpl/capability-grant.d.ts +115 -0
  18. package/dist/src/mcpl/capability-grant.d.ts.map +1 -0
  19. package/dist/src/mcpl/capability-grant.js +291 -0
  20. package/dist/src/mcpl/capability-grant.js.map +1 -0
  21. package/dist/src/mcpl/capability-mask.d.ts +51 -0
  22. package/dist/src/mcpl/capability-mask.d.ts.map +1 -0
  23. package/dist/src/mcpl/capability-mask.js +190 -0
  24. package/dist/src/mcpl/capability-mask.js.map +1 -0
  25. package/dist/src/mcpl/channel-registry.d.ts +3 -1
  26. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  27. package/dist/src/mcpl/channel-registry.js +163 -36
  28. package/dist/src/mcpl/channel-registry.js.map +1 -1
  29. package/dist/src/mcpl/checkpoint-manager.d.ts +8 -3
  30. package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
  31. package/dist/src/mcpl/checkpoint-manager.js +28 -8
  32. package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
  33. package/dist/src/mcpl/errors.d.ts +6 -0
  34. package/dist/src/mcpl/errors.d.ts.map +1 -1
  35. package/dist/src/mcpl/errors.js +6 -0
  36. package/dist/src/mcpl/errors.js.map +1 -1
  37. package/dist/src/mcpl/feature-set-manager.d.ts +10 -1
  38. package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
  39. package/dist/src/mcpl/feature-set-manager.js +45 -4
  40. package/dist/src/mcpl/feature-set-manager.js.map +1 -1
  41. package/dist/src/mcpl/hook-orchestrator.d.ts +10 -14
  42. package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
  43. package/dist/src/mcpl/hook-orchestrator.js +58 -67
  44. package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
  45. package/dist/src/mcpl/index.d.ts +1 -1
  46. package/dist/src/mcpl/index.d.ts.map +1 -1
  47. package/dist/src/mcpl/index.js.map +1 -1
  48. package/dist/src/mcpl/prose-stream-router.d.ts +9 -0
  49. package/dist/src/mcpl/prose-stream-router.d.ts.map +1 -1
  50. package/dist/src/mcpl/prose-stream-router.js +16 -0
  51. package/dist/src/mcpl/prose-stream-router.js.map +1 -1
  52. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  53. package/dist/src/mcpl/push-handler.js +20 -2
  54. package/dist/src/mcpl/push-handler.js.map +1 -1
  55. package/dist/src/mcpl/server-connection.d.ts +93 -9
  56. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  57. package/dist/src/mcpl/server-connection.js +231 -32
  58. package/dist/src/mcpl/server-connection.js.map +1 -1
  59. package/dist/src/mcpl/server-registry.d.ts.map +1 -1
  60. package/dist/src/mcpl/server-registry.js +4 -3
  61. package/dist/src/mcpl/server-registry.js.map +1 -1
  62. package/dist/src/mcpl/tags.d.ts +24 -0
  63. package/dist/src/mcpl/tags.d.ts.map +1 -0
  64. package/dist/src/mcpl/tags.js +52 -0
  65. package/dist/src/mcpl/tags.js.map +1 -0
  66. package/dist/src/mcpl/transport.d.ts.map +1 -1
  67. package/dist/src/mcpl/transport.js +10 -0
  68. package/dist/src/mcpl/transport.js.map +1 -1
  69. package/dist/src/mcpl/types.d.ts +159 -64
  70. package/dist/src/mcpl/types.d.ts.map +1 -1
  71. package/dist/src/mcpl/types.js +16 -2
  72. package/dist/src/mcpl/types.js.map +1 -1
  73. package/dist/src/refusal-reactions.d.ts +27 -0
  74. package/dist/src/refusal-reactions.d.ts.map +1 -0
  75. package/dist/src/refusal-reactions.js +35 -0
  76. package/dist/src/refusal-reactions.js.map +1 -0
  77. package/dist/src/tool-result-history.d.ts +10 -0
  78. package/dist/src/tool-result-history.d.ts.map +1 -1
  79. package/dist/src/tool-result-history.js +16 -5
  80. package/dist/src/tool-result-history.js.map +1 -1
  81. package/dist/src/types/agent.d.ts +35 -0
  82. package/dist/src/types/agent.d.ts.map +1 -1
  83. package/dist/src/types/framework.d.ts +16 -0
  84. package/dist/src/types/framework.d.ts.map +1 -1
  85. package/dist/src/types/trace.d.ts +24 -0
  86. package/dist/src/types/trace.d.ts.map +1 -1
  87. package/dist/test/channel-registry-routing.test.js +38 -10
  88. package/dist/test/channel-registry-routing.test.js.map +1 -1
  89. package/dist/test/channel-registry-typing.test.js +10 -1
  90. package/dist/test/channel-registry-typing.test.js.map +1 -1
  91. package/dist/test/checkpoint-attribution.test.js +168 -8
  92. package/dist/test/checkpoint-attribution.test.js.map +1 -1
  93. package/dist/test/conversation-fork-injection-scoping.test.js +8 -3
  94. package/dist/test/conversation-fork-injection-scoping.test.js.map +1 -1
  95. package/dist/test/event-gate-selfwake.test.d.ts +15 -0
  96. package/dist/test/event-gate-selfwake.test.d.ts.map +1 -0
  97. package/dist/test/event-gate-selfwake.test.js +125 -0
  98. package/dist/test/event-gate-selfwake.test.js.map +1 -0
  99. package/dist/test/machine-close-provenance.test.js +6 -0
  100. package/dist/test/machine-close-provenance.test.js.map +1 -1
  101. package/dist/test/mcpl-awareness-barrier.test.js +10 -0
  102. package/dist/test/mcpl-awareness-barrier.test.js.map +1 -1
  103. package/dist/test/mcpl-capability-grant.test.d.ts +10 -0
  104. package/dist/test/mcpl-capability-grant.test.d.ts.map +1 -0
  105. package/dist/test/mcpl-capability-grant.test.js +109 -0
  106. package/dist/test/mcpl-capability-grant.test.js.map +1 -0
  107. package/dist/test/mcpl-capability-scoping.test.d.ts +2 -0
  108. package/dist/test/mcpl-capability-scoping.test.d.ts.map +1 -0
  109. package/dist/test/mcpl-capability-scoping.test.js +266 -0
  110. package/dist/test/mcpl-capability-scoping.test.js.map +1 -0
  111. package/dist/test/mcpl-gate-roundtrip.test.js +13 -0
  112. package/dist/test/mcpl-gate-roundtrip.test.js.map +1 -1
  113. package/dist/test/mcpl-list-status.test.d.ts +2 -0
  114. package/dist/test/mcpl-list-status.test.d.ts.map +1 -0
  115. package/dist/test/mcpl-list-status.test.js +78 -0
  116. package/dist/test/mcpl-list-status.test.js.map +1 -0
  117. package/dist/test/mcpl-manifest-changed.test.d.ts +2 -0
  118. package/dist/test/mcpl-manifest-changed.test.d.ts.map +1 -0
  119. package/dist/test/mcpl-manifest-changed.test.js +177 -0
  120. package/dist/test/mcpl-manifest-changed.test.js.map +1 -0
  121. package/dist/test/mcpl-reconnect-events.test.js +27 -2
  122. package/dist/test/mcpl-reconnect-events.test.js.map +1 -1
  123. package/dist/test/mcpl-reconnect-reregistration.test.js +53 -17
  124. package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -1
  125. package/dist/test/mcpl-request-timeout.test.js +1 -1
  126. package/dist/test/mcpl-request-timeout.test.js.map +1 -1
  127. package/dist/test/physical-window-restart.test.d.ts +14 -0
  128. package/dist/test/physical-window-restart.test.d.ts.map +1 -0
  129. package/dist/test/physical-window-restart.test.js +222 -0
  130. package/dist/test/physical-window-restart.test.js.map +1 -0
  131. package/dist/test/present-while-acting.test.js +199 -1
  132. package/dist/test/present-while-acting.test.js.map +1 -1
  133. package/dist/test/refusal-reaction-baseline.test.d.ts +2 -0
  134. package/dist/test/refusal-reaction-baseline.test.d.ts.map +1 -0
  135. package/dist/test/refusal-reaction-baseline.test.js +74 -0
  136. package/dist/test/refusal-reaction-baseline.test.js.map +1 -0
  137. package/dist/test/state-scaling-e2e.test.js +7 -1
  138. package/dist/test/state-scaling-e2e.test.js.map +1 -1
  139. package/dist/test/state-scaling.test.js +9 -1
  140. package/dist/test/state-scaling.test.js.map +1 -1
  141. package/dist/test/tool-result-spill.test.d.ts +13 -0
  142. package/dist/test/tool-result-spill.test.d.ts.map +1 -0
  143. package/dist/test/tool-result-spill.test.js +463 -0
  144. package/dist/test/tool-result-spill.test.js.map +1 -0
  145. package/dist/test/trunk-channel-routing.test.js +45 -0
  146. package/dist/test/trunk-channel-routing.test.js.map +1 -1
  147. package/dist/tsconfig.tsbuildinfo +1 -1
  148. package/package.json +4 -4
  149. package/src/agent.ts +37 -3
  150. package/src/framework.ts +1219 -248
  151. package/src/gate/event-gate.ts +72 -0
  152. package/src/index.ts +1 -0
  153. package/src/mcpl/capability-grant.ts +319 -0
  154. package/src/mcpl/capability-mask.ts +228 -0
  155. package/src/mcpl/channel-registry.ts +167 -39
  156. package/src/mcpl/checkpoint-manager.ts +28 -8
  157. package/src/mcpl/errors.ts +7 -0
  158. package/src/mcpl/feature-set-manager.ts +50 -5
  159. package/src/mcpl/hook-orchestrator.ts +64 -86
  160. package/src/mcpl/index.ts +0 -2
  161. package/src/mcpl/prose-stream-router.ts +17 -0
  162. package/src/mcpl/push-handler.ts +18 -2
  163. package/src/mcpl/server-connection.ts +262 -34
  164. package/src/mcpl/server-registry.ts +4 -3
  165. package/src/mcpl/tags.ts +50 -0
  166. package/src/mcpl/transport.ts +11 -0
  167. package/src/mcpl/types.ts +176 -78
  168. package/src/refusal-reactions.ts +37 -0
  169. package/src/tool-result-history.ts +17 -5
  170. package/src/types/agent.ts +36 -0
  171. package/src/types/framework.ts +17 -0
  172. 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, or null if the server does not support MCPL. */
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
- if (McplServerConnection.isControlPlaneEvent(item.event)) {
133
- super.emit(item.event, ...item.args);
134
- }
135
- else {
136
- deferred.push(item);
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 capabilities = await new Promise((resolve, reject) => {
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
- resolve(experimental?.mcpl ?? null);
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
- return { transport, capabilities };
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
- * Send `context/afterInference`.
338
- * When `blocking` is true, sends as a request and awaits the result.
339
- * When `blocking` is false (or omitted), sends as a notification.
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
- [McplMethod.FeatureSetsChanged]: 'feature-sets-changed',
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;IAsB1E;;;;OAIG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAQnE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
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
- return caps.contextHooks?.beforeInference === true;
86
- case 'contextHooks.afterInference':
87
- return !!caps.contextHooks?.afterInference;
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":"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"}
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"}