@animalabs/agent-framework 0.8.0 → 0.10.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 (204) hide show
  1. package/dist/src/agent.d.ts +11 -1
  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 +184 -18
  6. package/dist/src/framework.d.ts.map +1 -1
  7. package/dist/src/framework.js +1323 -246
  8. package/dist/src/framework.js.map +1 -1
  9. package/dist/src/gate/event-gate.d.ts +73 -7
  10. package/dist/src/gate/event-gate.d.ts.map +1 -1
  11. package/dist/src/gate/event-gate.js +399 -22
  12. package/dist/src/gate/event-gate.js.map +1 -1
  13. package/dist/src/gate/types.d.ts +56 -0
  14. package/dist/src/gate/types.d.ts.map +1 -1
  15. package/dist/src/index.d.ts +1 -0
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +1 -0
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/mcpl/capability-grant.d.ts +115 -0
  20. package/dist/src/mcpl/capability-grant.d.ts.map +1 -0
  21. package/dist/src/mcpl/capability-grant.js +291 -0
  22. package/dist/src/mcpl/capability-grant.js.map +1 -0
  23. package/dist/src/mcpl/capability-mask.d.ts +51 -0
  24. package/dist/src/mcpl/capability-mask.d.ts.map +1 -0
  25. package/dist/src/mcpl/capability-mask.js +190 -0
  26. package/dist/src/mcpl/capability-mask.js.map +1 -0
  27. package/dist/src/mcpl/channel-registry.d.ts +3 -1
  28. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  29. package/dist/src/mcpl/channel-registry.js +163 -36
  30. package/dist/src/mcpl/channel-registry.js.map +1 -1
  31. package/dist/src/mcpl/checkpoint-manager.d.ts +8 -3
  32. package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
  33. package/dist/src/mcpl/checkpoint-manager.js +28 -8
  34. package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
  35. package/dist/src/mcpl/errors.d.ts +6 -0
  36. package/dist/src/mcpl/errors.d.ts.map +1 -1
  37. package/dist/src/mcpl/errors.js +6 -0
  38. package/dist/src/mcpl/errors.js.map +1 -1
  39. package/dist/src/mcpl/feature-set-manager.d.ts +10 -1
  40. package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
  41. package/dist/src/mcpl/feature-set-manager.js +45 -4
  42. package/dist/src/mcpl/feature-set-manager.js.map +1 -1
  43. package/dist/src/mcpl/hook-orchestrator.d.ts +10 -14
  44. package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
  45. package/dist/src/mcpl/hook-orchestrator.js +58 -67
  46. package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
  47. package/dist/src/mcpl/index.d.ts +1 -1
  48. package/dist/src/mcpl/index.d.ts.map +1 -1
  49. package/dist/src/mcpl/index.js.map +1 -1
  50. package/dist/src/mcpl/prose-grammar.d.ts +11 -0
  51. package/dist/src/mcpl/prose-grammar.d.ts.map +1 -1
  52. package/dist/src/mcpl/prose-grammar.js +21 -0
  53. package/dist/src/mcpl/prose-grammar.js.map +1 -1
  54. package/dist/src/mcpl/prose-stream-router.d.ts +11 -2
  55. package/dist/src/mcpl/prose-stream-router.d.ts.map +1 -1
  56. package/dist/src/mcpl/prose-stream-router.js +73 -13
  57. package/dist/src/mcpl/prose-stream-router.js.map +1 -1
  58. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  59. package/dist/src/mcpl/push-handler.js +20 -2
  60. package/dist/src/mcpl/push-handler.js.map +1 -1
  61. package/dist/src/mcpl/server-connection.d.ts +93 -9
  62. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  63. package/dist/src/mcpl/server-connection.js +231 -32
  64. package/dist/src/mcpl/server-connection.js.map +1 -1
  65. package/dist/src/mcpl/server-registry.d.ts.map +1 -1
  66. package/dist/src/mcpl/server-registry.js +4 -3
  67. package/dist/src/mcpl/server-registry.js.map +1 -1
  68. package/dist/src/mcpl/tags.d.ts +24 -0
  69. package/dist/src/mcpl/tags.d.ts.map +1 -0
  70. package/dist/src/mcpl/tags.js +52 -0
  71. package/dist/src/mcpl/tags.js.map +1 -0
  72. package/dist/src/mcpl/transport.d.ts.map +1 -1
  73. package/dist/src/mcpl/transport.js +10 -0
  74. package/dist/src/mcpl/transport.js.map +1 -1
  75. package/dist/src/mcpl/types.d.ts +159 -64
  76. package/dist/src/mcpl/types.d.ts.map +1 -1
  77. package/dist/src/mcpl/types.js +16 -2
  78. package/dist/src/mcpl/types.js.map +1 -1
  79. package/dist/src/modules/workspace/index.d.ts +23 -0
  80. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  81. package/dist/src/modules/workspace/index.js +48 -0
  82. package/dist/src/modules/workspace/index.js.map +1 -1
  83. package/dist/src/modules/workspace/sync.d.ts +11 -2
  84. package/dist/src/modules/workspace/sync.d.ts.map +1 -1
  85. package/dist/src/modules/workspace/sync.js +18 -8
  86. package/dist/src/modules/workspace/sync.js.map +1 -1
  87. package/dist/src/refusal-reactions.d.ts +27 -0
  88. package/dist/src/refusal-reactions.d.ts.map +1 -0
  89. package/dist/src/refusal-reactions.js +35 -0
  90. package/dist/src/refusal-reactions.js.map +1 -0
  91. package/dist/src/tool-result-history.d.ts +20 -0
  92. package/dist/src/tool-result-history.d.ts.map +1 -1
  93. package/dist/src/tool-result-history.js +26 -5
  94. package/dist/src/tool-result-history.js.map +1 -1
  95. package/dist/src/types/agent.d.ts +39 -1
  96. package/dist/src/types/agent.d.ts.map +1 -1
  97. package/dist/src/types/framework.d.ts +16 -0
  98. package/dist/src/types/framework.d.ts.map +1 -1
  99. package/dist/src/types/trace.d.ts +24 -0
  100. package/dist/src/types/trace.d.ts.map +1 -1
  101. package/dist/test/channel-registry-routing.test.js +38 -10
  102. package/dist/test/channel-registry-routing.test.js.map +1 -1
  103. package/dist/test/channel-registry-typing.test.js +10 -1
  104. package/dist/test/channel-registry-typing.test.js.map +1 -1
  105. package/dist/test/checkpoint-attribution.test.js +168 -8
  106. package/dist/test/checkpoint-attribution.test.js.map +1 -1
  107. package/dist/test/conversation-fork-injection-scoping.test.js +8 -3
  108. package/dist/test/conversation-fork-injection-scoping.test.js.map +1 -1
  109. package/dist/test/event-gate-passthrough.test.d.ts +15 -0
  110. package/dist/test/event-gate-passthrough.test.d.ts.map +1 -0
  111. package/dist/test/event-gate-passthrough.test.js +289 -0
  112. package/dist/test/event-gate-passthrough.test.js.map +1 -0
  113. package/dist/test/event-gate-selfwake.test.d.ts +15 -0
  114. package/dist/test/event-gate-selfwake.test.d.ts.map +1 -0
  115. package/dist/test/event-gate-selfwake.test.js +125 -0
  116. package/dist/test/event-gate-selfwake.test.js.map +1 -0
  117. package/dist/test/explicit-prose-routing.test.js +137 -7
  118. package/dist/test/explicit-prose-routing.test.js.map +1 -1
  119. package/dist/test/fixtures/awareness-barrier-mcpl-server.mjs +276 -0
  120. package/dist/test/fixtures/flaky-mcpl-server.mjs +41 -0
  121. package/dist/test/machine-close-provenance.test.js +6 -0
  122. package/dist/test/machine-close-provenance.test.js.map +1 -1
  123. package/dist/test/mcpl-awareness-barrier.test.js +10 -0
  124. package/dist/test/mcpl-awareness-barrier.test.js.map +1 -1
  125. package/dist/test/mcpl-capability-grant.test.d.ts +10 -0
  126. package/dist/test/mcpl-capability-grant.test.d.ts.map +1 -0
  127. package/dist/test/mcpl-capability-grant.test.js +109 -0
  128. package/dist/test/mcpl-capability-grant.test.js.map +1 -0
  129. package/dist/test/mcpl-capability-scoping.test.d.ts +2 -0
  130. package/dist/test/mcpl-capability-scoping.test.d.ts.map +1 -0
  131. package/dist/test/mcpl-capability-scoping.test.js +266 -0
  132. package/dist/test/mcpl-capability-scoping.test.js.map +1 -0
  133. package/dist/test/mcpl-gate-roundtrip.test.js +13 -0
  134. package/dist/test/mcpl-gate-roundtrip.test.js.map +1 -1
  135. package/dist/test/mcpl-list-status.test.d.ts +2 -0
  136. package/dist/test/mcpl-list-status.test.d.ts.map +1 -0
  137. package/dist/test/mcpl-list-status.test.js +78 -0
  138. package/dist/test/mcpl-list-status.test.js.map +1 -0
  139. package/dist/test/mcpl-manifest-changed.test.d.ts +2 -0
  140. package/dist/test/mcpl-manifest-changed.test.d.ts.map +1 -0
  141. package/dist/test/mcpl-manifest-changed.test.js +177 -0
  142. package/dist/test/mcpl-manifest-changed.test.js.map +1 -0
  143. package/dist/test/mcpl-reconnect-events.test.js +27 -2
  144. package/dist/test/mcpl-reconnect-events.test.js.map +1 -1
  145. package/dist/test/mcpl-reconnect-reregistration.test.js +53 -17
  146. package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -1
  147. package/dist/test/mcpl-request-timeout.test.js +1 -1
  148. package/dist/test/mcpl-request-timeout.test.js.map +1 -1
  149. package/dist/test/physical-window-restart.test.d.ts +14 -0
  150. package/dist/test/physical-window-restart.test.d.ts.map +1 -0
  151. package/dist/test/physical-window-restart.test.js +222 -0
  152. package/dist/test/physical-window-restart.test.js.map +1 -0
  153. package/dist/test/present-while-acting.test.js +199 -1
  154. package/dist/test/present-while-acting.test.js.map +1 -1
  155. package/dist/test/prose-stream-router.test.js +43 -0
  156. package/dist/test/prose-stream-router.test.js.map +1 -1
  157. package/dist/test/refusal-reaction-baseline.test.d.ts +2 -0
  158. package/dist/test/refusal-reaction-baseline.test.d.ts.map +1 -0
  159. package/dist/test/refusal-reaction-baseline.test.js +74 -0
  160. package/dist/test/refusal-reaction-baseline.test.js.map +1 -0
  161. package/dist/test/state-scaling-e2e.test.js +7 -1
  162. package/dist/test/state-scaling-e2e.test.js.map +1 -1
  163. package/dist/test/state-scaling.test.js +9 -1
  164. package/dist/test/state-scaling.test.js.map +1 -1
  165. package/dist/test/tool-result-spill.test.d.ts +13 -0
  166. package/dist/test/tool-result-spill.test.d.ts.map +1 -0
  167. package/dist/test/tool-result-spill.test.js +472 -0
  168. package/dist/test/tool-result-spill.test.js.map +1 -0
  169. package/dist/test/trunk-channel-routing.test.js +45 -0
  170. package/dist/test/trunk-channel-routing.test.js.map +1 -1
  171. package/dist/test/xml-round-persist.test.d.ts +19 -0
  172. package/dist/test/xml-round-persist.test.d.ts.map +1 -0
  173. package/dist/test/xml-round-persist.test.js +235 -0
  174. package/dist/test/xml-round-persist.test.js.map +1 -0
  175. package/dist/tsconfig.tsbuildinfo +1 -1
  176. package/package.json +5 -4
  177. package/src/agent.ts +38 -4
  178. package/src/framework.ts +1488 -272
  179. package/src/gate/event-gate.ts +427 -24
  180. package/src/gate/types.ts +58 -0
  181. package/src/index.ts +1 -0
  182. package/src/mcpl/capability-grant.ts +319 -0
  183. package/src/mcpl/capability-mask.ts +228 -0
  184. package/src/mcpl/channel-registry.ts +167 -39
  185. package/src/mcpl/checkpoint-manager.ts +28 -8
  186. package/src/mcpl/errors.ts +7 -0
  187. package/src/mcpl/feature-set-manager.ts +50 -5
  188. package/src/mcpl/hook-orchestrator.ts +64 -86
  189. package/src/mcpl/index.ts +0 -2
  190. package/src/mcpl/prose-grammar.ts +21 -0
  191. package/src/mcpl/prose-stream-router.ts +65 -14
  192. package/src/mcpl/push-handler.ts +18 -2
  193. package/src/mcpl/server-connection.ts +262 -34
  194. package/src/mcpl/server-registry.ts +4 -3
  195. package/src/mcpl/tags.ts +50 -0
  196. package/src/mcpl/transport.ts +11 -0
  197. package/src/mcpl/types.ts +176 -78
  198. package/src/modules/workspace/index.ts +48 -0
  199. package/src/modules/workspace/sync.ts +30 -7
  200. package/src/refusal-reactions.ts +37 -0
  201. package/src/tool-result-history.ts +27 -5
  202. package/src/types/agent.ts +40 -1
  203. package/src/types/framework.ts +17 -0
  204. package/src/types/trace.ts +22 -0
@@ -265,17 +265,37 @@ export class CheckpointManager {
265
265
  return this.trees.get(this.key(serverId, featureSet))?.hostState ?? false;
266
266
  }
267
267
  /**
268
- * Get the first stateful feature set for a given server.
269
- * Returns null if no stateful feature sets are registered.
268
+ * Resolve a server-managed stateful feature set for a server.
269
+ *
270
+ * An explicit feature set is returned only when it is registered and
271
+ * server-managed. Without one, the fallback is safe only when exactly one
272
+ * server-managed stateful set exists. Returns null for no match or ambiguity.
270
273
  */
271
- getStatefulFeatureSet(serverId) {
274
+ getStatefulFeatureSet(serverId, featureSet) {
272
275
  const prefix = `${serverId}:`;
273
- for (const [key] of this.trees) {
274
- if (key.startsWith(prefix)) {
275
- return key.slice(prefix.length);
276
- }
276
+ if (featureSet !== undefined) {
277
+ const tree = this.trees.get(this.key(serverId, featureSet));
278
+ return tree && !tree.hostState ? featureSet : null;
277
279
  }
278
- return null;
280
+ let match = null;
281
+ for (const [key, tree] of this.trees) {
282
+ if (!key.startsWith(prefix) || tree.hostState)
283
+ continue;
284
+ if (match !== null)
285
+ return null;
286
+ match = key.slice(prefix.length);
287
+ }
288
+ return match;
289
+ }
290
+ /** Whether an untagged tool cannot safely select a server-managed set. */
291
+ hasAmbiguousServerManagedFeatureSets(serverId) {
292
+ const prefix = `${serverId}:`;
293
+ let count = 0;
294
+ for (const [key, tree] of this.trees) {
295
+ if (key.startsWith(prefix) && !tree.hostState && ++count > 1)
296
+ return true;
297
+ }
298
+ return false;
279
299
  }
280
300
  /**
281
301
  * Get the server's host-managed (hostState) feature set. Host-managed state is
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../../src/mcpl/checkpoint-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../../src/mcpl/checkpoint-manager.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,12 @@
7
7
  import type { JsonRpcError } from './types.js';
8
8
  /** Message used a disabled feature set. */
9
9
  export declare const FEATURE_SET_NOT_ENABLED = -32001;
10
+ /**
11
+ * Method requires a capability the host has masked for this server
12
+ * (McplServerConfig.enabledCapabilities/disabledCapabilities). Host-side
13
+ * extension code, pending a spec assignment.
14
+ */
15
+ export declare const CAPABILITY_DISABLED = -32002;
10
16
  /** Message used an undeclared feature set. */
11
17
  export declare const UNKNOWN_FEATURE_SET = -32003;
12
18
  /** Rollback targeted a pruned or unknown checkpoint. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mcpl/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,2CAA2C;AAC3C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C,mDAAmD;AACnD,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,kDAAkD;AAClD,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAM1C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAc,GACxB,YAAY,CAMd;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAMlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAMnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAMnE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,CAMd"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mcpl/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,2CAA2C;AAC3C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C,mDAAmD;AACnD,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,kDAAkD;AAClD,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAM1C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAc,GACxB,YAAY,CAMd;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAMlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAMnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAMnE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,CAMd"}
@@ -9,6 +9,12 @@
9
9
  // ============================================================================
10
10
  /** Message used a disabled feature set. */
11
11
  export const FEATURE_SET_NOT_ENABLED = -32001;
12
+ /**
13
+ * Method requires a capability the host has masked for this server
14
+ * (McplServerConfig.enabledCapabilities/disabledCapabilities). Host-side
15
+ * extension code, pending a spec assignment.
16
+ */
17
+ export const CAPABILITY_DISABLED = -32002;
12
18
  /** Message used an undeclared feature set. */
13
19
  export const UNKNOWN_FEATURE_SET = -32003;
14
20
  /** Rollback targeted a pruned or unknown checkpoint. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/mcpl/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,2CAA2C;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,CAAC;AAE9C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC;AAE1C,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,CAAC;AAE3C,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC;AAE5C,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC;AAEtC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC;AAE1C,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,YAAqB,IAAI;IAEzB,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,EAAE,UAAU,EAAE;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,EAAE,UAAU,EAAE;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,EAAE,SAAS,EAAE;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,EAAE,SAAS,EAAE;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,MAAe;IAEf,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/mcpl/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,2CAA2C;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC;AAE1C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC;AAE1C,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,CAAC;AAE3C,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC;AAE5C,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC;AAEtC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC;AAE1C,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,YAAqB,IAAI;IAEzB,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,EAAE,UAAU,EAAE;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,EAAE,UAAU,EAAE;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,EAAE,SAAS,EAAE;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,EAAE,SAAS,EAAE;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,MAAe;IAEf,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KAC5B,CAAC;AACJ,CAAC"}
@@ -42,7 +42,16 @@ export declare class FeatureSetManager {
42
42
  initializeServer(serverId: string, capabilities: McplCapabilities, config?: {
43
43
  enabledFeatureSets?: string[];
44
44
  disabledFeatureSets?: string[];
45
- }): FeatureSetsUpdateParams;
45
+ },
46
+ /**
47
+ * The effective capability grant (§5.4). When provided, §6.4's
48
+ * FAIL-CLOSED derivation runs: a feature set whose `uses` is absent,
49
+ * empty, or contains an unrecognized value is disabled with reason
50
+ * `invalid_uses`; one whose `uses` names an ungranted capability is
51
+ * disabled with the missing paths recorded. Derivation overrides config
52
+ * enablement — config can narrow the derivable set, never widen past it.
53
+ */
54
+ grant?: import('./capability-grant.js').CapabilityGrant): FeatureSetsUpdateParams;
46
55
  /**
47
56
  * Remove all tracking state for a server.
48
57
  * Called when a server disconnects.
@@ -1 +1 @@
1
- {"version":3,"file":"feature-set-manager.d.ts","sourceRoot":"","sources":["../../../src/mcpl/feature-set-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAWpB;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;gBADlB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM;CAKlB;AAgFD;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,4CAA4C;IAC5C,OAAO,CAAC,OAAO,CAAkC;IAEjD;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACzE,uBAAuB;IAwD1B;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAQxD;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA4B3D;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAYrD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAYtD;;;;;OAKG;IACH,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,wBAAwB,GAC/B,IAAI;IAuBP;;;OAGG;IACH,sBAAsB,CACpB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,IAAI;IAQ/C;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;CAOlD"}
1
+ {"version":3,"file":"feature-set-manager.d.ts","sourceRoot":"","sources":["../../../src/mcpl/feature-set-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAYpB;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;gBADlB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM;CAKlB;AAgFD;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,4CAA4C;IAC5C,OAAO,CAAC,OAAO,CAAkC;IAEjD;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IAC1E;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,uBAAuB,EAAE,eAAe,GACtD,uBAAuB;IA2F1B;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAQxD;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA4B3D;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAYrD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAYtD;;;;;OAKG;IACH,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,wBAAwB,GAC/B,IAAI;IAuBP;;;OAGG;IACH,sBAAsB,CACpB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,IAAI;IAQ/C;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;CAOlD"}
@@ -7,6 +7,7 @@
7
7
  * Spec references: Section 6 (Feature Sets), Appendix A (Error Codes).
8
8
  */
9
9
  import { FEATURE_SET_NOT_ENABLED, UNKNOWN_FEATURE_SET, } from './errors.js';
10
+ import { isKnownCapabilityPath } from './capability-grant.js';
10
11
  // ============================================================================
11
12
  // Error Class
12
13
  // ============================================================================
@@ -101,7 +102,16 @@ export class FeatureSetManager {
101
102
  * 3. If `config.disabledFeatureSets` is provided, disable matching sets (supports wildcards).
102
103
  * 4. Feature sets not mentioned in either list default to disabled.
103
104
  */
104
- initializeServer(serverId, capabilities, config) {
105
+ initializeServer(serverId, capabilities, config,
106
+ /**
107
+ * The effective capability grant (§5.4). When provided, §6.4's
108
+ * FAIL-CLOSED derivation runs: a feature set whose `uses` is absent,
109
+ * empty, or contains an unrecognized value is disabled with reason
110
+ * `invalid_uses`; one whose `uses` names an ungranted capability is
111
+ * disabled with the missing paths recorded. Derivation overrides config
112
+ * enablement — config can narrow the derivable set, never widen past it.
113
+ */
114
+ grant) {
105
115
  // Cross-package compat: agent-framework's McplCapabilities types
106
116
  // featureSets as Record<string, FeatureSetDeclaration>, but mcpl-core-ts
107
117
  // (used by discord-mcpl and other servers) types it as an array of
@@ -116,10 +126,16 @@ export class FeatureSetManager {
116
126
  declared: { ...declared },
117
127
  enabled: new Set(),
118
128
  };
119
- // Resolve which feature sets to enable
120
- const enablePatterns = config?.enabledFeatureSets ?? [];
129
+ // §5.3 as pinned (mcpl e869744): ABSENT enabledFeatureSets constrains
130
+ // nothing — every declared set is a candidate and §6.4 derivation
131
+ // governs. PRESENT is an allowlist ([] = deny-all selection). The old
132
+ // reading (unmentioned defaults disabled) reversed the pin (PR #79
133
+ // review blocker 7). FLEET BEHAVIOR CHANGE: configs that omitted
134
+ // enabledFeatureSets now enable every derivable declared set.
121
135
  const disablePatterns = config?.disabledFeatureSets ?? [];
122
- const toEnable = resolvePatterns(enablePatterns, declared);
136
+ const toEnable = config?.enabledFeatureSets === undefined
137
+ ? Object.keys(declared)
138
+ : resolvePatterns(config.enabledFeatureSets, declared);
123
139
  const toDisable = resolvePatterns(disablePatterns, declared);
124
140
  // Enable matching sets
125
141
  for (const name of toEnable) {
@@ -129,6 +145,31 @@ export class FeatureSetManager {
129
145
  for (const name of toDisable) {
130
146
  state.enabled.delete(name);
131
147
  }
148
+ // §6.4 fail-closed derivation against the grant. Runs AFTER config
149
+ // resolution so it can only remove: nothing a declaration or a config
150
+ // says can supply a capability the grant lacks.
151
+ if (grant) {
152
+ for (const [name, decl] of Object.entries(declared)) {
153
+ const uses = decl.uses;
154
+ if (!Array.isArray(uses) || uses.length === 0) {
155
+ if (state.enabled.delete(name) || true) {
156
+ console.error(`[mcpl] ${serverId}/${name} disabled: invalid_uses (§6.4 — uses absent or empty)`);
157
+ }
158
+ continue;
159
+ }
160
+ const unknown = uses.filter((u) => typeof u !== 'string' || !isKnownCapabilityPath(u));
161
+ if (unknown.length > 0) {
162
+ state.enabled.delete(name);
163
+ console.error(`[mcpl] ${serverId}/${name} disabled: invalid_uses (§6.4 — unrecognized: ${unknown.join(', ')})`);
164
+ continue;
165
+ }
166
+ const missing = uses.filter((u) => !grant.has(u));
167
+ if (missing.length > 0) {
168
+ state.enabled.delete(name);
169
+ console.error(`[mcpl] ${serverId}/${name} disabled: missing capabilities ${missing.join(', ')} (§6.4)`);
170
+ }
171
+ }
172
+ }
132
173
  this.servers.set(serverId, state);
133
174
  // Build the update params to send to the server
134
175
  const enabled = [...state.enabled];
@@ -1 +1 @@
1
- {"version":3,"file":"feature-set-manager.js","sourceRoot":"","sources":["../../../src/mcpl/feature-set-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-set-manager.js","sourceRoot":"","sources":["../../../src/mcpl/feature-set-manager.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * This is the bridge between the MCPL protocol and the agent-framework inference
5
5
  * pipeline. It collects ContextInjection[] from MCPL servers via beforeInference
6
- * and feeds them into context-manager's compile(). After inference, it notifies
7
- * servers of the result via afterInference.
6
+ * and feeds them into context-manager's compile(). Turn boundaries are announced
7
+ * via metadata-only `inference/lifecycle` notifications (§10.5) —
8
+ * context/afterInference and its modifiedResponse are removed in 0.5.0.
8
9
  *
9
10
  * Design principles:
10
11
  * - Fail-open: timeouts and errors never block inference
@@ -12,7 +13,7 @@
12
13
  * - Loop prevention: rejects inference/request while inside a hook
13
14
  */
14
15
  import type { ContextInjection } from '@animalabs/context-manager';
15
- import type { BeforeInferenceParams, AfterInferenceParams, AfterInferenceResult } from './types.js';
16
+ import type { BeforeInferenceParams, InferenceLifecycleParams } from './types.js';
16
17
  import type { McplServerRegistry } from './server-registry.js';
17
18
  import type { FeatureSetManager } from './feature-set-manager.js';
18
19
  export declare class HookOrchestrator {
@@ -34,18 +35,13 @@ export declare class HookOrchestrator {
34
35
  */
35
36
  beforeInference(params: BeforeInferenceParams): Promise<ContextInjection[]>;
36
37
  /**
37
- * Fan out `context/afterInference` to all capable MCPL servers.
38
- *
39
- * Non-blocking servers receive a notification (fire-and-forget).
40
- * Blocking servers receive a request with a 10s timeout.
41
- * Returns the first valid AfterInferenceResult from a blocking server, or null.
38
+ * Fan out `inference/lifecycle` (§10.5) — the metadata-only replacement
39
+ * for context/afterInference. Notifications, fire-and-forget, gated on the
40
+ * inferenceLifecycle grant. BEST-EFFORT by design: the host attempts one
41
+ * terminal per `started` on every exit path it controls; consumers dedupe
42
+ * by inferenceId and keep a safety timeout. Never blocks the turn.
42
43
  */
43
- afterInference(params: AfterInferenceParams): Promise<AfterInferenceResult | null>;
44
+ emitLifecycle(params: InferenceLifecycleParams): void;
44
45
  private fanOutBeforeInference;
45
- private fanOutAfterInference;
46
- /**
47
- * Check if a server's afterInference capability is blocking.
48
- */
49
- private isBlockingAfterInference;
50
46
  }
51
47
  //# sourceMappingURL=hook-orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/mcpl/hook-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAGV,qBAAqB,EAErB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA0FlE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB;IAK9E;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAcjF;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAkB1E,qBAAqB;YA+CrB,oBAAoB;IAyClC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAQjC"}
1
+ {"version":3,"file":"hook-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/mcpl/hook-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAGV,qBAAqB,EAErB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAiGlE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB;IAK9E;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuBjF;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI;YAevC,qBAAqB;CAgEpC"}
@@ -3,18 +3,26 @@
3
3
  *
4
4
  * This is the bridge between the MCPL protocol and the agent-framework inference
5
5
  * pipeline. It collects ContextInjection[] from MCPL servers via beforeInference
6
- * and feeds them into context-manager's compile(). After inference, it notifies
7
- * servers of the result via afterInference.
6
+ * and feeds them into context-manager's compile(). Turn boundaries are announced
7
+ * via metadata-only `inference/lifecycle` notifications (§10.5) —
8
+ * context/afterInference and its modifiedResponse are removed in 0.5.0.
8
9
  *
9
10
  * Design principles:
10
11
  * - Fail-open: timeouts and errors never block inference
11
12
  * - Parallel fan-out with per-server timeouts
12
13
  * - Loop prevention: rejects inference/request while inside a hook
13
14
  */
15
+ import { CapabilityGrant } from './capability-grant.js';
14
16
  /** Timeout for beforeInference per server (fail-open). */
15
17
  const BEFORE_INFERENCE_TIMEOUT_MS = 5_000;
16
- /** Timeout for blocking afterInference per server. */
17
- const AFTER_INFERENCE_BLOCKING_TIMEOUT_MS = 10_000;
18
+ /** The three injection positions and their §6.2 capability paths. Position
19
+ * is the TYPED field on the injection — authorization never reads the
20
+ * response's featureSet (§5.4). */
21
+ const INJECT_LEAVES = [
22
+ { position: 'system', path: 'contextHooks.beforeInference.inject.system' },
23
+ { position: 'beforeUser', path: 'contextHooks.beforeInference.inject.beforeUser' },
24
+ { position: 'afterUser', path: 'contextHooks.beforeInference.inject.afterUser' },
25
+ ];
18
26
  /**
19
27
  * Races a promise against a timeout. Rejects with a descriptive error on timeout.
20
28
  */
@@ -109,7 +117,14 @@ export class HookOrchestrator {
109
117
  * Fail-open: servers that time out or error are silently skipped.
110
118
  */
111
119
  async beforeInference(params) {
112
- const servers = this.registry.getServersWithCapability('contextHooks.beforeInference');
120
+ // §5.4: the GRANT decides fan-out, not the raw advertisement — which
121
+ // also fixes selection for the recursive §5.1 shape, where
122
+ // `beforeInference: {observe: true, …}` is an object, not `true`. A
123
+ // server granted any inject.* leaf but not observe is still CALLED
124
+ // (§10.1 — the hook is how injection happens) and receives
125
+ // `userMessage: null` instead of the user's text.
126
+ const servers = this.registry.getAllServers().filter((s) => CapabilityGrant.of(s).has('contextHooks.beforeInference.observe')
127
+ || INJECT_LEAVES.some((leaf) => CapabilityGrant.of(s).has(leaf.path)));
113
128
  if (servers.length === 0) {
114
129
  return [];
115
130
  }
@@ -122,30 +137,38 @@ export class HookOrchestrator {
122
137
  }
123
138
  }
124
139
  /**
125
- * Fan out `context/afterInference` to all capable MCPL servers.
126
- *
127
- * Non-blocking servers receive a notification (fire-and-forget).
128
- * Blocking servers receive a request with a 10s timeout.
129
- * Returns the first valid AfterInferenceResult from a blocking server, or null.
140
+ * Fan out `inference/lifecycle` (§10.5) — the metadata-only replacement
141
+ * for context/afterInference. Notifications, fire-and-forget, gated on the
142
+ * inferenceLifecycle grant. BEST-EFFORT by design: the host attempts one
143
+ * terminal per `started` on every exit path it controls; consumers dedupe
144
+ * by inferenceId and keep a safety timeout. Never blocks the turn.
130
145
  */
131
- async afterInference(params) {
132
- const servers = this.registry.getServersWithCapability('contextHooks.afterInference');
133
- if (servers.length === 0) {
134
- return null;
135
- }
136
- this._isInHook = true;
137
- try {
138
- return await this.fanOutAfterInference(servers, params);
139
- }
140
- finally {
141
- this._isInHook = false;
146
+ emitLifecycle(params) {
147
+ for (const server of this.registry.getAllServers()) {
148
+ if (!CapabilityGrant.of(server).has('inferenceLifecycle'))
149
+ continue;
150
+ try {
151
+ server.sendInferenceLifecycle(params);
152
+ }
153
+ catch {
154
+ /* best-effort — a failed notify never disturbs the turn */
155
+ }
142
156
  }
143
157
  }
144
158
  // ==========================================================================
145
159
  // Private: beforeInference fan-out
146
160
  // ==========================================================================
147
161
  async fanOutBeforeInference(servers, params) {
148
- const results = await Promise.allSettled(servers.map((server) => withTimeout(server.sendBeforeInference(params), BEFORE_INFERENCE_TIMEOUT_MS, `beforeInference to "${server.id}"`).then((result) => ({ server, result }))));
162
+ const results = await Promise.allSettled(servers.map((server) => {
163
+ // §10.1: a server not granted observe MUST receive
164
+ // `userMessage: null` — the field is ABSENT authority, not merely
165
+ // discouraged — while the hook is still invoked so granted
166
+ // injection positions keep working (write-without-read).
167
+ const perServer = CapabilityGrant.of(server).has('contextHooks.beforeInference.observe')
168
+ ? params
169
+ : { ...params, userMessage: null };
170
+ return withTimeout(server.sendBeforeInference(perServer), BEFORE_INFERENCE_TIMEOUT_MS, `beforeInference to "${server.id}"`).then((result) => ({ server, result }));
171
+ }));
149
172
  const injections = [];
150
173
  for (const settled of results) {
151
174
  if (settled.status === 'rejected') {
@@ -153,7 +176,9 @@ export class HookOrchestrator {
153
176
  continue;
154
177
  }
155
178
  const { server, result } = settled.value;
156
- // Validate feature set
179
+ // Feature-set discipline (diagnostics; §5.4 forbids using the
180
+ // response-supplied featureSet as AUTHORIZATION — that is the
181
+ // position check below).
157
182
  try {
158
183
  this.featureSetManager.validateInbound(server.id, result.featureSet);
159
184
  }
@@ -161,57 +186,23 @@ export class HookOrchestrator {
161
186
  // Feature set not enabled or unknown — skip injections from this server
162
187
  continue;
163
188
  }
164
- // Convert wire-format injections to context-manager format
189
+ // §5.4/§10.8: authorize EACH injection by its typed position against
190
+ // the grant CURRENT NOW, at response receipt — not when the request
191
+ // was sent. A revocation that landed while the hook was in flight is
192
+ // enforced here without extra machinery.
165
193
  if (result.contextInjections && result.contextInjections.length > 0) {
166
194
  for (const mcplInj of result.contextInjections) {
195
+ const leaf = INJECT_LEAVES.find((l) => l.position === mcplInj.position);
196
+ if (!leaf || !CapabilityGrant.of(server).has(leaf.path)) {
197
+ console.error(`[mcpl] ${server.id}: dropped beforeInference injection at position ` +
198
+ `"${mcplInj.position}" — not in the effective grant (§10.8)`);
199
+ continue;
200
+ }
167
201
  injections.push(convertMcplInjection(mcplInj));
168
202
  }
169
203
  }
170
204
  }
171
205
  return injections;
172
206
  }
173
- // ==========================================================================
174
- // Private: afterInference fan-out
175
- // ==========================================================================
176
- async fanOutAfterInference(servers, params) {
177
- const blockingPromises = [];
178
- for (const server of servers) {
179
- const isBlocking = this.isBlockingAfterInference(server);
180
- if (isBlocking) {
181
- // Send as request, await response with timeout
182
- const promise = withTimeout(server.sendAfterInference(params, true), AFTER_INFERENCE_BLOCKING_TIMEOUT_MS, `afterInference (blocking) to "${server.id}"`).catch(() => {
183
- // Fail-open: timeout or error — treat as no modification
184
- return null;
185
- });
186
- blockingPromises.push(promise);
187
- }
188
- else {
189
- // Send as notification (fire-and-forget)
190
- server.sendAfterInference(params, false);
191
- }
192
- }
193
- if (blockingPromises.length === 0) {
194
- return null;
195
- }
196
- // Await all blocking responses and return the first valid result
197
- const results = await Promise.all(blockingPromises);
198
- for (const result of results) {
199
- if (result && result.modifiedResponse) {
200
- return result;
201
- }
202
- }
203
- return null;
204
- }
205
- /**
206
- * Check if a server's afterInference capability is blocking.
207
- */
208
- isBlockingAfterInference(server) {
209
- const caps = server.capabilities;
210
- if (!caps?.contextHooks?.afterInference) {
211
- return false;
212
- }
213
- const afterCap = caps.contextHooks.afterInference;
214
- return typeof afterCap === 'object' && afterCap !== null && 'blocking' in afterCap && afterCap.blocking === true;
215
- }
216
207
  }
217
208
  //# sourceMappingURL=hook-orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-orchestrator.js","sourceRoot":"","sources":["../../../src/mcpl/hook-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-orchestrator.js","sourceRoot":"","sources":["../../../src/mcpl/hook-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type { JsonRpcRequest, JsonRpcResponse, JsonRpcError, McplContentBlock, McplTextContent, McplImageContent, McplAudioContent, McplResourceContent, McplCapabilities, McplHostCapabilities, McplChannelCapabilities, McplServerConfig, FeatureSetUse, FeatureSetDeclaration, FeatureSetsUpdateParams, FeatureSetsChangedParams, ScopeConfig, ScopeLabel, ScopeElevateParams, ScopeElevateResult, StateCheckpoint, JsonPatchOperation, StateRollbackParams, StateRollbackResult, PushEventParams, PushEventResult, McplModelInfo, BeforeInferenceParams, McplContextInjection, BeforeInferenceResult, AfterInferenceParams, AfterInferenceResult, McplMessage, McplInferenceRequestParams, McplInferencePreferences, McplInferenceRequestResult, InferenceChunkParams, ChannelDescriptor, ChannelContext, ChannelsRegisterParams, ChannelsRegisterResult, ChannelsChangedParams, ChannelsListResult, ChannelsOpenParams, ChannelsOpenResult, ChannelsCloseParams, ChannelsCloseResult, ChannelsOutgoingChunkParams, ChannelsOutgoingCompleteParams, ChannelsPublishParams, ChannelsPublishResult, ChannelIncomingMessage, ChannelsIncomingParams, ChannelsIncomingResult, ChannelIncomingMessageResult, InferenceRoutingPolicy, McplMethodName, McpToolDefinition, McpToolCallResult, McpToolResultContent, } from './types.js';
1
+ export type { JsonRpcRequest, JsonRpcResponse, JsonRpcError, McplContentBlock, McplTextContent, McplImageContent, McplAudioContent, McplResourceContent, McplCapabilities, McplHostCapabilities, McplChannelCapabilities, McplServerConfig, FeatureSetUse, FeatureSetDeclaration, FeatureSetsUpdateParams, FeatureSetsChangedParams, ScopeConfig, ScopeLabel, ScopeElevateParams, ScopeElevateResult, StateCheckpoint, JsonPatchOperation, StateRollbackParams, StateRollbackResult, PushEventParams, PushEventResult, McplModelInfo, BeforeInferenceParams, McplContextInjection, BeforeInferenceResult, McplMessage, McplInferenceRequestParams, McplInferencePreferences, McplInferenceRequestResult, InferenceChunkParams, ChannelDescriptor, ChannelContext, ChannelsRegisterParams, ChannelsRegisterResult, ChannelsChangedParams, ChannelsListResult, ChannelsOpenParams, ChannelsOpenResult, ChannelsCloseParams, ChannelsCloseResult, ChannelsOutgoingChunkParams, ChannelsOutgoingCompleteParams, ChannelsPublishParams, ChannelsPublishResult, ChannelIncomingMessage, ChannelsIncomingParams, ChannelsIncomingResult, ChannelIncomingMessageResult, InferenceRoutingPolicy, McplMethodName, McpToolDefinition, McpToolCallResult, McpToolResultContent, } from './types.js';
2
2
  export { McplMethod } from './types.js';
3
3
  export { FEATURE_SET_NOT_ENABLED, UNKNOWN_FEATURE_SET, CHECKPOINT_NOT_FOUND, CHANNEL_NOT_PERMITTED, UNKNOWN_CHANNEL, CHANNEL_OPEN_FAILED, featureSetNotEnabled, unknownFeatureSet, checkpointNotFound, channelNotPermitted, unknownChannel, channelOpenFailed, } from './errors.js';
4
4
  export { McplServerConnection } from './server-connection.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcpl/index.ts"],"names":[],"mappings":"AACA,YAAY,EAEV,cAAc,EACd,eAAe,EACf,YAAY,EAGZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAGnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EAGvB,gBAAgB,EAGhB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAGxB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAGlB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EAGnB,eAAe,EACf,eAAe,EAGf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EAGpB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EAGpB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAG5B,sBAAsB,EAGtB,cAAc,EAGd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcpl/index.ts"],"names":[],"mappings":"AACA,YAAY,EAEV,cAAc,EACd,eAAe,EACf,YAAY,EAGZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAGnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EAGvB,gBAAgB,EAGhB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAGxB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAGlB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EAGnB,eAAe,EACf,eAAe,EAGf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAGrB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EAGpB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAG5B,sBAAsB,EAGtB,cAAc,EAGd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcpl/index.ts"],"names":[],"mappings":"AA2FA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,4BAA4B;AAC5B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,iCAAiC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;AAEpF,4CAA4C;AAC5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,qDAAqD;AACrD,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAEzE,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,6DAA6D;AAC7D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAWtF,8DAA8D;AAC9D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcpl/index.ts"],"names":[],"mappings":"AAyFA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,4BAA4B;AAC5B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,iCAAiC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;AAEpF,4CAA4C;AAC5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,qDAAqD;AACrD,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAEzE,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,6DAA6D;AAC7D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAWtF,8DAA8D;AAC9D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
@@ -21,4 +21,15 @@ export interface ProsePrefix {
21
21
  /** A REAL prefix line: `>>` immediately followed by a target token. */
22
22
  export declare const PROSE_PREFIX_LINE: RegExp;
23
23
  export declare function parseProsePrefix(text: string): ProsePrefix;
24
+ /** A real hybrid routing line: exact triple-arrow plus an optional whitespace
25
+ * run and a non-whitespace target token. */
26
+ export declare const HYBRID_PROSE_PREFIX_LINE: RegExp;
27
+ /**
28
+ * Hybrid/locus-preserving routing grammar.
29
+ *
30
+ * `>>>#cafe body` and `>>> #cafe body` route this envelope explicitly while
31
+ * unprefixed prose remains ordinary frozen-locus speech. The authored source
32
+ * is never rewritten; callers consume this view only for publication.
33
+ */
34
+ export declare function parseHybridProsePrefix(text: string): ProsePrefix;
24
35
  //# sourceMappingURL=prose-grammar.d.ts.map