@animalabs/agent-framework 0.19.0 → 0.20.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 (193) hide show
  1. package/README.md +29 -0
  2. package/dist/src/agent.d.ts +22 -0
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +128 -10
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/types.d.ts +1 -1
  7. package/dist/src/api/types.d.ts.map +1 -1
  8. package/dist/src/code-execution/py-runner.d.ts +10 -1
  9. package/dist/src/code-execution/py-runner.d.ts.map +1 -1
  10. package/dist/src/code-execution/py-runner.js +27 -2
  11. package/dist/src/code-execution/py-runner.js.map +1 -1
  12. package/dist/src/code-execution/tool-definition.d.ts +21 -0
  13. package/dist/src/code-execution/tool-definition.d.ts.map +1 -1
  14. package/dist/src/code-execution/tool-definition.js +34 -0
  15. package/dist/src/code-execution/tool-definition.js.map +1 -1
  16. package/dist/src/framework.d.ts +153 -2
  17. package/dist/src/framework.d.ts.map +1 -1
  18. package/dist/src/framework.js +1169 -76
  19. package/dist/src/framework.js.map +1 -1
  20. package/dist/src/index.d.ts +2 -0
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +4 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/mcpl/capability-grant.d.ts +1 -1
  25. package/dist/src/mcpl/capability-grant.d.ts.map +1 -1
  26. package/dist/src/mcpl/capability-grant.js +49 -5
  27. package/dist/src/mcpl/capability-grant.js.map +1 -1
  28. package/dist/src/mcpl/channel-registry.d.ts +59 -2
  29. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  30. package/dist/src/mcpl/channel-registry.js +106 -6
  31. package/dist/src/mcpl/channel-registry.js.map +1 -1
  32. package/dist/src/mcpl/index.d.ts +3 -0
  33. package/dist/src/mcpl/index.d.ts.map +1 -1
  34. package/dist/src/mcpl/index.js +3 -0
  35. package/dist/src/mcpl/index.js.map +1 -1
  36. package/dist/src/mcpl/push-coalescer.d.ts +318 -0
  37. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -0
  38. package/dist/src/mcpl/push-coalescer.js +709 -0
  39. package/dist/src/mcpl/push-coalescer.js.map +1 -0
  40. package/dist/src/mcpl/push-handler.d.ts +7 -2
  41. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  42. package/dist/src/mcpl/push-handler.js +43 -4
  43. package/dist/src/mcpl/push-handler.js.map +1 -1
  44. package/dist/src/mcpl/server-connection.d.ts +18 -0
  45. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  46. package/dist/src/mcpl/server-connection.js +44 -1
  47. package/dist/src/mcpl/server-connection.js.map +1 -1
  48. package/dist/src/mcpl/tool-classes.d.ts +71 -0
  49. package/dist/src/mcpl/tool-classes.d.ts.map +1 -0
  50. package/dist/src/mcpl/tool-classes.js +170 -0
  51. package/dist/src/mcpl/tool-classes.js.map +1 -0
  52. package/dist/src/mcpl/tool-glob.d.ts +16 -0
  53. package/dist/src/mcpl/tool-glob.d.ts.map +1 -0
  54. package/dist/src/mcpl/tool-glob.js +41 -0
  55. package/dist/src/mcpl/tool-glob.js.map +1 -0
  56. package/dist/src/mcpl/tool-lifecycle.d.ts +253 -0
  57. package/dist/src/mcpl/tool-lifecycle.d.ts.map +1 -0
  58. package/dist/src/mcpl/tool-lifecycle.js +592 -0
  59. package/dist/src/mcpl/tool-lifecycle.js.map +1 -0
  60. package/dist/src/mcpl/transport.d.ts +12 -0
  61. package/dist/src/mcpl/transport.d.ts.map +1 -1
  62. package/dist/src/mcpl/transport.js +33 -1
  63. package/dist/src/mcpl/transport.js.map +1 -1
  64. package/dist/src/mcpl/types.d.ts +66 -1
  65. package/dist/src/mcpl/types.d.ts.map +1 -1
  66. package/dist/src/mcpl/types.js +6 -0
  67. package/dist/src/mcpl/types.js.map +1 -1
  68. package/dist/src/modules/discord/index.js +1 -1
  69. package/dist/src/modules/discord/index.js.map +1 -1
  70. package/dist/src/modules/history/index.d.ts +85 -0
  71. package/dist/src/modules/history/index.d.ts.map +1 -1
  72. package/dist/src/modules/history/index.js +1019 -24
  73. package/dist/src/modules/history/index.js.map +1 -1
  74. package/dist/src/modules/history/semantic.d.ts +202 -0
  75. package/dist/src/modules/history/semantic.d.ts.map +1 -0
  76. package/dist/src/modules/history/semantic.js +418 -0
  77. package/dist/src/modules/history/semantic.js.map +1 -0
  78. package/dist/src/modules/index.d.ts +2 -1
  79. package/dist/src/modules/index.d.ts.map +1 -1
  80. package/dist/src/modules/index.js.map +1 -1
  81. package/dist/src/tool-result-guard.d.ts +82 -0
  82. package/dist/src/tool-result-guard.d.ts.map +1 -0
  83. package/dist/src/tool-result-guard.js +306 -0
  84. package/dist/src/tool-result-guard.js.map +1 -0
  85. package/dist/src/types/agent.d.ts +14 -0
  86. package/dist/src/types/agent.d.ts.map +1 -1
  87. package/dist/src/types/framework.d.ts +21 -0
  88. package/dist/src/types/framework.d.ts.map +1 -1
  89. package/dist/src/types/trace.d.ts +17 -0
  90. package/dist/src/types/trace.d.ts.map +1 -1
  91. package/dist/test/channel-registry-routing.test.js +59 -0
  92. package/dist/test/channel-registry-routing.test.js.map +1 -1
  93. package/dist/test/code-execution.test.js +139 -0
  94. package/dist/test/code-execution.test.js.map +1 -1
  95. package/dist/test/helpers/coalescing-fixture.d.ts +72 -0
  96. package/dist/test/helpers/coalescing-fixture.d.ts.map +1 -0
  97. package/dist/test/helpers/coalescing-fixture.js +145 -0
  98. package/dist/test/helpers/coalescing-fixture.js.map +1 -0
  99. package/dist/test/helpers/coalescing-kill-child.d.ts +2 -0
  100. package/dist/test/helpers/coalescing-kill-child.d.ts.map +1 -0
  101. package/dist/test/helpers/coalescing-kill-child.js +24 -0
  102. package/dist/test/helpers/coalescing-kill-child.js.map +1 -0
  103. package/dist/test/history-module-realstore.test.d.ts +2 -0
  104. package/dist/test/history-module-realstore.test.d.ts.map +1 -0
  105. package/dist/test/history-module-realstore.test.js +363 -0
  106. package/dist/test/history-module-realstore.test.js.map +1 -0
  107. package/dist/test/history-module-semantic.test.d.ts +2 -0
  108. package/dist/test/history-module-semantic.test.d.ts.map +1 -0
  109. package/dist/test/history-module-semantic.test.js +213 -0
  110. package/dist/test/history-module-semantic.test.js.map +1 -0
  111. package/dist/test/history-module-ux.test.d.ts +2 -0
  112. package/dist/test/history-module-ux.test.d.ts.map +1 -0
  113. package/dist/test/history-module-ux.test.js +304 -0
  114. package/dist/test/history-module-ux.test.js.map +1 -0
  115. package/dist/test/history-module.test.js +25 -1
  116. package/dist/test/history-module.test.js.map +1 -1
  117. package/dist/test/history-semantic-review-findings.test.d.ts +2 -0
  118. package/dist/test/history-semantic-review-findings.test.d.ts.map +1 -0
  119. package/dist/test/history-semantic-review-findings.test.js +338 -0
  120. package/dist/test/history-semantic-review-findings.test.js.map +1 -0
  121. package/dist/test/history-semantic-sync-converges.test.d.ts +2 -0
  122. package/dist/test/history-semantic-sync-converges.test.d.ts.map +1 -0
  123. package/dist/test/history-semantic-sync-converges.test.js +109 -0
  124. package/dist/test/history-semantic-sync-converges.test.js.map +1 -0
  125. package/dist/test/mcpl-capability-grant.test.js +3 -1
  126. package/dist/test/mcpl-capability-grant.test.js.map +1 -1
  127. package/dist/test/mcpl-child-env.test.d.ts +2 -0
  128. package/dist/test/mcpl-child-env.test.d.ts.map +1 -0
  129. package/dist/test/mcpl-child-env.test.js +69 -0
  130. package/dist/test/mcpl-child-env.test.js.map +1 -0
  131. package/dist/test/mcpl-coalescing.test.d.ts +2 -0
  132. package/dist/test/mcpl-coalescing.test.d.ts.map +1 -0
  133. package/dist/test/mcpl-coalescing.test.js +1050 -0
  134. package/dist/test/mcpl-coalescing.test.js.map +1 -0
  135. package/dist/test/mcpl-list-status.test.js +4 -0
  136. package/dist/test/mcpl-list-status.test.js.map +1 -1
  137. package/dist/test/mcpl-tool-class-listing.test.d.ts +2 -0
  138. package/dist/test/mcpl-tool-class-listing.test.d.ts.map +1 -0
  139. package/dist/test/mcpl-tool-class-listing.test.js +147 -0
  140. package/dist/test/mcpl-tool-class-listing.test.js.map +1 -0
  141. package/dist/test/mcpl-tool-classes.test.d.ts +7 -0
  142. package/dist/test/mcpl-tool-classes.test.d.ts.map +1 -0
  143. package/dist/test/mcpl-tool-classes.test.js +80 -0
  144. package/dist/test/mcpl-tool-classes.test.js.map +1 -0
  145. package/dist/test/mcpl-tool-lifecycle-e2e.test.d.ts +2 -0
  146. package/dist/test/mcpl-tool-lifecycle-e2e.test.d.ts.map +1 -0
  147. package/dist/test/mcpl-tool-lifecycle-e2e.test.js +237 -0
  148. package/dist/test/mcpl-tool-lifecycle-e2e.test.js.map +1 -0
  149. package/dist/test/mcpl-tool-lifecycle-emitter.test.d.ts +11 -0
  150. package/dist/test/mcpl-tool-lifecycle-emitter.test.d.ts.map +1 -0
  151. package/dist/test/mcpl-tool-lifecycle-emitter.test.js +307 -0
  152. package/dist/test/mcpl-tool-lifecycle-emitter.test.js.map +1 -0
  153. package/dist/test/mcpl-tool-lifecycle.test.d.ts +11 -0
  154. package/dist/test/mcpl-tool-lifecycle.test.d.ts.map +1 -0
  155. package/dist/test/mcpl-tool-lifecycle.test.js +270 -0
  156. package/dist/test/mcpl-tool-lifecycle.test.js.map +1 -0
  157. package/dist/test/silent-heartbeat.test.d.ts +2 -0
  158. package/dist/test/silent-heartbeat.test.d.ts.map +1 -0
  159. package/dist/test/silent-heartbeat.test.js +154 -0
  160. package/dist/test/silent-heartbeat.test.js.map +1 -0
  161. package/dist/test/tool-result-guard.test.d.ts +2 -0
  162. package/dist/test/tool-result-guard.test.d.ts.map +1 -0
  163. package/dist/test/tool-result-guard.test.js +1081 -0
  164. package/dist/test/tool-result-guard.test.js.map +1 -0
  165. package/dist/test/trunk-channel-routing.test.js +67 -0
  166. package/dist/test/trunk-channel-routing.test.js.map +1 -1
  167. package/dist/tsconfig.tsbuildinfo +1 -1
  168. package/package.json +2 -2
  169. package/src/agent.ts +128 -10
  170. package/src/api/types.ts +2 -0
  171. package/src/code-execution/py-runner.ts +34 -2
  172. package/src/code-execution/tool-definition.ts +46 -0
  173. package/src/framework.ts +1201 -80
  174. package/src/index.ts +13 -0
  175. package/src/mcpl/capability-grant.ts +54 -6
  176. package/src/mcpl/channel-registry.ts +115 -7
  177. package/src/mcpl/index.ts +29 -0
  178. package/src/mcpl/push-coalescer.ts +821 -0
  179. package/src/mcpl/push-handler.ts +40 -4
  180. package/src/mcpl/server-connection.ts +48 -2
  181. package/src/mcpl/tool-classes.ts +188 -0
  182. package/src/mcpl/tool-glob.ts +36 -0
  183. package/src/mcpl/tool-lifecycle.ts +730 -0
  184. package/src/mcpl/transport.ts +35 -1
  185. package/src/mcpl/types.ts +69 -1
  186. package/src/modules/discord/index.ts +1 -1
  187. package/src/modules/history/index.ts +1089 -24
  188. package/src/modules/history/semantic.ts +473 -0
  189. package/src/modules/index.ts +2 -1
  190. package/src/tool-result-guard.ts +318 -0
  191. package/src/types/agent.ts +15 -0
  192. package/src/types/framework.ts +23 -0
  193. package/src/types/trace.ts +17 -0
@@ -21,6 +21,8 @@ export { ChannelRegistry } from './mcpl/index.js';
21
21
  export type { McplServerConfig } from './mcpl/index.js';
22
22
  export { McplServerConnection } from './mcpl/index.js';
23
23
  export type { McplHostCapabilities } from './mcpl/index.js';
24
+ export { TOOL_CLASSES, DEFAULT_INPUT_CLASSES, globMatch } from './mcpl/index.js';
25
+ export type { ToolClass, ToolClassSource, ToolLifecycleConfig, ToolLifecycleNarrowing, ToolLifecycleParams, ToolObserveRule, } from './mcpl/index.js';
24
26
  export { ConversationRouter, DEFAULT_CLOSURE_PROMPT } from './mcpl/index.js';
25
27
  export type { ConversationRouterConfig, ConversationBinding, RoutingDecision, IncomingMessageFacts, BindRule, TriggerRule, ChannelKind, } from './mcpl/index.js';
26
28
  export type { ContextManager, ContextStrategy, TokenBudget } from '@animalabs/context-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGjH,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1G,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIlD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC9G,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxG,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGjH,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1G,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIlD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAK5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjF,YAAY,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC9G,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxG,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC"}
package/dist/src/index.js CHANGED
@@ -28,6 +28,10 @@ export { ChannelRegistry } from './mcpl/index.js';
28
28
  // health probes, protocol harnesses — can dial an MCPL server exactly the
29
29
  // way the framework host does, over stdio or WebSocket)
30
30
  export { McplServerConnection } from './mcpl/index.js';
31
+ // MCPL tool lifecycle (RFC-007) and tool classes (RFC-008): the types a host
32
+ // needs to write McplServerConfig.toolLifecycle policy and class tables, and
33
+ // the portable pattern matcher both use.
34
+ export { TOOL_CLASSES, DEFAULT_INPUT_CLASSES, globMatch } from './mcpl/index.js';
31
35
  // Per-channel conversation routing
32
36
  export { ConversationRouter, DEFAULT_CLOSURE_PROMPT } from './mcpl/index.js';
33
37
  export { PassthroughStrategy, AutobiographicalStrategy, KnowledgeStrategy } from '@animalabs/context-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEjH,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AAEnC,MAAM;AACN,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAoChD,yFAAyF;AACzF,6DAA6D;AAE7D,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,8EAA8E;AAC9E,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AASnC,YAAY;AACZ,OAAO,EAAE,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AAGjE,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,0EAA0E;AAC1E,0EAA0E;AAC1E,wDAAwD;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,mCAAmC;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI9G,2EAA2E;AAC3E,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAQhD,yEAAyE;AACzE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEjH,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AAEnC,MAAM;AACN,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAoChD,yFAAyF;AACzF,6DAA6D;AAE7D,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,8EAA8E;AAC9E,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AASnC,YAAY;AACZ,OAAO,EAAE,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AAGjE,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,0EAA0E;AAC1E,0EAA0E;AAC1E,wDAAwD;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,6EAA6E;AAC7E,6EAA6E;AAC7E,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAUjF,mCAAmC;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI9G,2EAA2E;AAC3E,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAQhD,yEAAyE;AACzE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -105,7 +105,7 @@ export declare class CapabilityGrant {
105
105
  * floor. `enabledCapabilities` config patterns can re-grant a
106
106
  * deny-by-default path — that is the explicit decision §13.4 asks for.
107
107
  */
108
- export declare function computeGrant(capabilities: McplCapabilities | null, config: Pick<McplServerConfig, 'enabledCapabilities'>, opts?: {
108
+ export declare function computeGrant(capabilities: McplCapabilities | null, config: Pick<McplServerConfig, 'enabledCapabilities' | 'toolLifecycle'>, opts?: {
109
109
  /** §5.1: `tools` is sourced from the OUTER standard MCP
110
110
  * `capabilities.tools` — pass its presence here. The experimental
111
111
  * manifest cannot mint it. Without this signal, every
@@ -1 +1 @@
1
- {"version":3,"file":"capability-grant.d.ts","sourceRoot":"","sources":["../../../src/mcpl/capability-grant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA8CrE,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAe9C,CAAC;AAIL;2DAC2D;AAC3D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAuB3G;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ/E;AASD,qBAAa,eAAe;IAC1B,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE5B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;IAKvD,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,sDAAsD;IACtD,aAAa,IAAI,MAAM,EAAE;IAIzB,2CAA2C;IAC3C,OAAO,IAAI,OAAO;IAIlB,MAAM,CAAC,KAAK,IAAI,eAAe;IAI/B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe;IAIhF;;;;;OAKG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;CAQ7C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,EACrD,IAAI,CAAC,EAAE;IACL;;;+DAG2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACA,eAAe,CAsBjB"}
1
+ {"version":3,"file":"capability-grant.d.ts","sourceRoot":"","sources":["../../../src/mcpl/capability-grant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiDrE,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAe9C,CAAC;AAIL;2DAC2D;AAC3D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAuB3G;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ/E;AAqCD,qBAAa,eAAe;IAC1B,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE5B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;IAKvD,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,sDAAsD;IACtD,aAAa,IAAI,MAAM,EAAE;IAIzB,2CAA2C;IAC3C,OAAO,IAAI,OAAO;IAIlB,MAAM,CAAC,KAAK,IAAI,eAAe;IAI/B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe;IAIhF;;;;;OAKG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;CAQ7C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,GAAG,eAAe,CAAC,EACvE,IAAI,CAAC,EAAE;IACL;;;+DAG2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACA,eAAe,CAuCjB"}
@@ -44,6 +44,9 @@ const VOCABULARY = {
44
44
  modelInfo: null,
45
45
  inferenceRequest: { streaming: null },
46
46
  inferenceLifecycle: null,
47
+ // RFC-007: metadata observation and argument observation are separate
48
+ // leaves, separately granted (observation never bundles content).
49
+ toolLifecycle: { observe: null, inputs: null },
47
50
  contextHooks: {
48
51
  beforeInference: {
49
52
  observe: null,
@@ -211,8 +214,35 @@ export function capabilityPatternMatches(pattern, path) {
211
214
  // ============================================================================
212
215
  // The grant
213
216
  // ============================================================================
214
- /** §13.4: denied unless explicitly enabled by host config. */
215
- const DENY_BY_DEFAULT = ['contextHooks.beforeInference.inject.system'];
217
+ /** §13.4: denied unless explicitly enabled by host config. RFC-007 adds both
218
+ * tool-lifecycle leaves: observing other servers' tool use (and, above all,
219
+ * their arguments) is an operator decision, never a default. */
220
+ const DENY_BY_DEFAULT = [
221
+ 'contextHooks.beforeInference.inject.system',
222
+ 'toolLifecycle.observe',
223
+ 'toolLifecycle.inputs',
224
+ ];
225
+ /**
226
+ * RFC-007: stating a `toolLifecycle.observe` / `.inputs` policy block in the
227
+ * server's config is itself the explicit grant of that path — the operator
228
+ * who wrote a narrowing meant to grant what it narrows.
229
+ */
230
+ function configGrants(config, path) {
231
+ const key = path === 'toolLifecycle.observe' ? 'observe' : path === 'toolLifecycle.inputs' ? 'inputs' : null;
232
+ if (!key)
233
+ return false;
234
+ const block = config.toolLifecycle?.[key];
235
+ if (block === undefined)
236
+ return false;
237
+ // Only a policy OBJECT is a grant. `observe: false` (or null, or a string)
238
+ // must never read as "granted with no narrowing".
239
+ if (!isPlainObject(block)) {
240
+ console.error(`[mcpl] toolLifecycle.${key} is ${JSON.stringify(block)}, not a policy object — ` +
241
+ `not granted by this block (RFC-007 §4.1)`);
242
+ return false;
243
+ }
244
+ return true;
245
+ }
216
246
  export class CapabilityGrant {
217
247
  /** Exact granted paths (already expanded — no patterns stored). */
218
248
  granted;
@@ -278,14 +308,28 @@ export function computeGrant(capabilities, config, opts) {
278
308
  const denied = [];
279
309
  const explicitlyEnabled = (path) => !!config.enabledCapabilities?.some((pat) => capabilityPatternMatches(pat, path));
280
310
  for (const path of advertised) {
281
- if (DENY_BY_DEFAULT.includes(path) && !explicitlyEnabled(path)) {
311
+ if (DENY_BY_DEFAULT.includes(path) && !explicitlyEnabled(path) && !configGrants(config, path)) {
282
312
  denied.push(path);
283
- console.error(`[mcpl] "${path}" advertised but DENIED BY DEFAULT (SPEC §13.4) — ` +
284
- `grant it explicitly via enabledCapabilities if intended`);
313
+ console.error(`[mcpl] "${path}" advertised but DENIED BY DEFAULT (${path.startsWith('toolLifecycle.') ? 'RFC-007' : 'SPEC §13.4'}) — ` +
314
+ `grant it explicitly via enabledCapabilities${path.startsWith('toolLifecycle.') ? ' or a toolLifecycle policy block' : ''} if intended`);
285
315
  continue;
286
316
  }
287
317
  granted.add(path);
288
318
  }
319
+ // RFC-007 §4.1/§4.3 diagnostics — loud, because each is a grant that
320
+ // silently delivers less than the operator probably meant.
321
+ if (granted.has('toolLifecycle.inputs')) {
322
+ if (!granted.has('toolLifecycle.observe')) {
323
+ console.error('[mcpl] toolLifecycle.inputs granted without toolLifecycle.observe — delivers nothing (RFC-007 §4.1)');
324
+ }
325
+ const n = config.toolLifecycle?.inputs;
326
+ const hasTerm = isPlainObject(n) && ((Array.isArray(n.tools) && n.tools.length > 0)
327
+ || n.classes === 'default' || (Array.isArray(n.classes) && n.classes.length > 0));
328
+ if (!hasTerm) {
329
+ console.error('[mcpl] toolLifecycle.inputs granted with no tools/classes narrowing — treated as narrowed to NO tools; ' +
330
+ 'inputs is never unconditional (RFC-007 §4.3)');
331
+ }
332
+ }
289
333
  return new CapabilityGrant(granted, denied.sort());
290
334
  }
291
335
  //# sourceMappingURL=capability-grant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability-grant.js","sourceRoot":"","sources":["../../../src/mcpl/capability-grant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-grant.js","sourceRoot":"","sources":["../../../src/mcpl/capability-grant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,GAAY;IAC1B,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrC,kBAAkB,EAAE,IAAI;IACxB,sEAAsE;IACtE,kEAAkE;IAClE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC9C,YAAY,EAAE;QACZ,eAAe,EAAE;YACf,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;SAC5D;KACF;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAOF;;8EAE8E;AAC9E,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAE9D,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,GAAG,EAAE;IAC3D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,IAAgB,EAAE,MAAc,EAAQ,EAAE;QACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAElD;2DAC2D;AAC3D,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,IAAY,EAAE,GAAgB;IACnE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;IACT,CAAC;IACD,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,YAAqC;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,IAAI,CAAC,YAAY;QAAE,OAAO,GAAG,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,KAAc,EAAE,MAAc,EAAQ,EAAE;QACpE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO;QACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/C,IAAI,IAAI,KAAK,OAAO;gBAAE,SAAS,CAAC,wCAAwC;YACxE,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,4DAA4D;QAC9D,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,YAAkD,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAAC,YAAqC;IAChF,IAAI,CAAC,YAAY;QAAE,OAAO,YAAY,CAAC;IACvC,MAAM,UAAU,GAAG,CAAC,IAAa,EAAW,EAAE;QAC5C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAE,KAA8B,EAA2B,EAAE;QAC1F,MAAM,GAAG,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,KAAK,OAAO;gBAAE,SAAS,CAAC,mCAAmC;YAClE,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS,CAAC,gCAAgC;YAC9D,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,UAAwB,EAAE,YAAkD,CAAgC,CAAC;AAC3H,CAAC;AAED,+EAA+E;AAC/E,8DAA8D;AAC9D,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,IAAY;IACpE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;iEAEiE;AACjE,MAAM,eAAe,GAAsB;IACzC,4CAA4C;IAC5C,uBAAuB;IACvB,sBAAsB;CACvB,CAAC;AAEF;;;;GAIG;AACH,SAAS,YAAY,CAAC,MAA+C,EAAE,IAAY;IACjF,MAAM,GAAG,GAAG,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7G,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,KAAK,GAAI,MAAM,CAAC,aAAqD,EAAE,CAAC,GAAG,CAAC,CAAC;IACnF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,2EAA2E;IAC3E,kDAAkD;IAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CACX,wBAAwB,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,0BAA0B;YAC/E,0CAA0C,CAC7C,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,mEAAmE;IAClD,OAAO,CAAsB;IAC9C,uEAAuE;IAC9D,WAAW,CAAoB;IAExC,YAAY,OAAoB,EAAE,WAAqB;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,6DAA6D;IAC7D,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,sDAAsD;IACtD,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,2CAA2C;IAC3C,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,eAAe,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,IAAoD;QAC5D,OAAO,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,GAAG,KAAe;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,YAAqC,EACrC,MAAuE,EACvE,IAMC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,IAAI,EAAE,kBAAkB;QAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAW,EAAE,CAClD,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC9F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CACX,WAAW,IAAI,uCAAuC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,MAAM;gBACtH,8CAA8C,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,cAAc,CAC1I,CAAC;YACF,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,qEAAqE;IACrE,2DAA2D;IAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,qGAAqG,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;eAC9E,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,yGAAyG;gBACvG,8CAA8C,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC"}
@@ -12,8 +12,9 @@
12
12
  * - Expose synthesized tools: channel_list, channel_open, channel_close, channel_publish
13
13
  * - Build channel context for beforeInference params
14
14
  */
15
+ import type { ContentBlock } from '@animalabs/membrane';
15
16
  import type { JsStore } from '@animalabs/chronicle';
16
- import type { ChannelDescriptor, ChannelContext, ChannelsRegisterParams, ChannelsChangedParams, ChannelsIncomingParams } from './types.js';
17
+ import type { ChannelDescriptor, ChannelContext, ChannelsRegisterParams, ChannelsChangedParams, ChannelsIncomingParams, ChannelIncomingMessageResult, ChannelIncomingMessage } from './types.js';
17
18
  import type { McplServerRegistry } from './server-registry.js';
18
19
  import type { FeatureSetManager } from './feature-set-manager.js';
19
20
  import type { ToolDefinition, ToolResult, ProcessEvent } from '../types/index.js';
@@ -56,7 +57,38 @@ interface Responder {
56
57
  respond(result: unknown): void;
57
58
  respondError?(code: number, message: string, data?: unknown): void;
58
59
  }
60
+ /**
61
+ * Event pushed to the processing queue when an incoming channel message arrives.
62
+ * Uses the CustomEvent pattern (`${string}:${string}`) from ProcessEvent.
63
+ */
64
+ interface McplChannelIncomingEvent {
65
+ type: 'mcpl:channel-incoming';
66
+ serverId: string;
67
+ channelId: string;
68
+ messageId: string;
69
+ threadId?: string;
70
+ author: {
71
+ id: string;
72
+ name: string;
73
+ };
74
+ content: ContentBlock[];
75
+ timestamp: string;
76
+ metadata?: Record<string, unknown>;
77
+ /** MCPL RFC-001 event tags (`chat:addressed`, `chat:ambient`, …) — carried
78
+ * through so the host can rank addressed messages over ambient chatter
79
+ * when picking a turn's frozen speech locus. */
80
+ tags?: string[];
81
+ triggerInference?: boolean;
82
+ targetAgents?: string[];
83
+ }
59
84
  interface ChannelRegistryOptions {
85
+ /**
86
+ * RFC-006: an admitted `channels/incoming` message carrying `coalesce`, with
87
+ * the event the ordinary path would have queued. The handler decides
88
+ * replace / append / withdraw and returns the per-message result. Throws a
89
+ * `CoalesceError` for a malformed or unauthorized occurrence.
90
+ */
91
+ handleCoalescedIncoming?: (serverId: string, message: ChannelIncomingMessage, event: McplChannelIncomingEvent) => Promise<ChannelIncomingMessageResult>;
60
92
  /** Chronicle store used for durable desired channel lifecycle state. */
61
93
  store?: JsStore;
62
94
  /** Callback to determine whether an incoming message should trigger inference. */
@@ -213,6 +245,7 @@ export declare class ChannelRegistry {
213
245
  /** One-time migration inputs from the retired recipe auto-open policy. */
214
246
  private legacyPolicies;
215
247
  private migratedLegacyPolicies;
248
+ private handleCoalescedIncoming?;
216
249
  constructor(serverRegistry: McplServerRegistry, featureSetManager: FeatureSetManager, pushEventFn: (event: ProcessEvent) => void, emitTraceFn: (event: {
217
250
  type: string;
218
251
  [key: string]: unknown;
@@ -242,7 +275,7 @@ export declare class ChannelRegistry {
242
275
  * Converts each message's content, pushes McplChannelIncomingEvent to the
243
276
  * queue, and responds with per-message results.
244
277
  */
245
- handleIncoming(serverId: string, params: ChannelsIncomingParams, responder?: Responder): void;
278
+ handleIncoming(serverId: string, params: ChannelsIncomingParams, responder?: Responder): Promise<void>;
246
279
  /**
247
280
  * Ensure a channel is registered so it can serve as an outbound routing
248
281
  * locus. A push event from a closed channel must never mutate lifecycle
@@ -283,6 +316,14 @@ export declare class ChannelRegistry {
283
316
  * Get the descriptor for a channel by its channelId (first match across
284
317
  * servers). Used by the conversation router for DM classification.
285
318
  */
319
+ /**
320
+ * RFC-006 §3.2: is `channelId` registered BY `serverId` through a server
321
+ * declaration (channels/register, channels/changed) or an authorized open?
322
+ * A placeholder minted from a push's `origin` (ensureChannelRegistered)
323
+ * does not count: a channel id appearing in an untrusted field is not a
324
+ * registration.
325
+ */
326
+ isDeclaredChannel(serverId: string, channelId: string): boolean;
286
327
  getDescriptor(channelId: string): ChannelDescriptor | undefined;
287
328
  isChannelOpen(channelId: string): boolean;
288
329
  getDesiredState(serverId: string, channelId: string): DesiredChannelState | undefined;
@@ -584,6 +625,22 @@ export declare class ChannelRegistry {
584
625
  error: string;
585
626
  candidates?: string[];
586
627
  };
628
+ /**
629
+ * The `>>` target to show an agent for a channel: one whitespace-free token
630
+ * that `resolveProseTarget()` maps back to this same channel. The prefix
631
+ * grammar takes the target as the first non-whitespace run, so a label with
632
+ * a space can't be quoted verbatim: `>>#DM: alice` parses as target `#DM:`
633
+ * plus body `alice …`, and `>>#fable (antra's server)` delivers
634
+ * `(antra's server)` as text. Tried in order: `@name` for a DM, `#label`,
635
+ * `#name` (label without its server suffix), the descriptor id.
636
+ *
637
+ * Undefined when there is no safe token: the channel isn't registered (on
638
+ * `serverId`, when given), no candidate is whitespace-free and resolves back,
639
+ * or the id is registered by more than one server. A resolved target names a
640
+ * channel by id alone, and ids are unique only within a connection, so a
641
+ * shared id could route the reply through the wrong server.
642
+ */
643
+ proseTargetFor(channelId: string, serverId?: string): string | undefined;
587
644
  /**
588
645
  * Open a channel because something was DELIVERED into it (explicit send
589
646
  * tool or routed speech). Sending into a closed channel is not a thing:
@@ -1 +1 @@
1
- {"version":3,"file":"channel-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  */
15
15
  import { INLINE_WITHHELD_TEXT, isInlineContradiction, referenceStubOrNull } from './references.js';
16
16
  import { expandCoreTags } from './tags.js';
17
+ import { validateCoalescedContent } from './push-coalescer.js';
17
18
  import { CapabilityGrant } from './capability-grant.js';
18
19
  // ============================================================================
19
20
  // Typing indicator interval (Discord typing lasts ~10s, so 7s keeps it alive)
@@ -354,7 +355,9 @@ export class ChannelRegistry {
354
355
  /** One-time migration inputs from the retired recipe auto-open policy. */
355
356
  legacyPolicies = new Map();
356
357
  migratedLegacyPolicies = new Set();
358
+ handleCoalescedIncoming;
357
359
  constructor(serverRegistry, featureSetManager, pushEventFn, emitTraceFn, options) {
360
+ this.handleCoalescedIncoming = options?.handleCoalescedIncoming;
358
361
  this.serverRegistry = serverRegistry;
359
362
  this.featureSetManager = featureSetManager;
360
363
  this.pushEventFn = pushEventFn;
@@ -514,9 +517,18 @@ export class ChannelRegistry {
514
517
  * Converts each message's content, pushes McplChannelIncomingEvent to the
515
518
  * queue, and responds with per-message results.
516
519
  */
517
- handleIncoming(serverId, params, responder) {
520
+ async handleIncoming(serverId, params, responder) {
518
521
  const results = [];
519
522
  for (const message of params.messages) {
523
+ if (!message || typeof message.channelId !== 'string' || !message.channelId
524
+ || typeof message.messageId !== 'string' || !message.messageId) {
525
+ results.push({
526
+ messageId: typeof message?.messageId === 'string' ? message.messageId : '',
527
+ accepted: false,
528
+ reason: message?.coalesce !== undefined ? 'coalesce_invalid' : 'invalid channel/message identity',
529
+ });
530
+ continue;
531
+ }
520
532
  // §14.5 FIRST, before ANY semantic processing: admission against the
521
533
  // actually-registered channel precedes tag expansion and content
522
534
  // conversion — decoding an unregistered sender's payload (including
@@ -559,6 +571,18 @@ export class ChannelRegistry {
559
571
  }
560
572
  // ACCEPTED from here down: semantic processing only for admitted
561
573
  // messages. §16.3 core-tag closure, then content conversion.
574
+ const coalesced = message.coalesce !== undefined && !!this.handleCoalescedIncoming;
575
+ if (coalesced) {
576
+ // RFC-006 §13: malformed content on a coalesced item is that item's
577
+ // failure, not the batch's — check the shape before converting.
578
+ try {
579
+ validateCoalescedContent(message.content);
580
+ }
581
+ catch (error) {
582
+ results.push({ messageId: message.messageId, accepted: false, reason: 'coalesce_invalid' });
583
+ continue;
584
+ }
585
+ }
562
586
  if (message.tags)
563
587
  message.tags = expandCoreTags(message.tags);
564
588
  const convertedContent = message.content.map(convertBlock);
@@ -566,16 +590,20 @@ export class ChannelRegistry {
566
590
  // deliberately after §14.5 validation: a rejected message from an
567
591
  // unregistered channel must not retarget outbound speech (the locus is
568
592
  // exactly the authority a self-attested channel would be stealing).
569
- this.defaultPublishChannel = message.channelId;
570
- this.defaultPublishMessageId = message.messageId;
571
- this.defaultPublishThreadId = message.threadId;
572
- {
593
+ // A coalesced item is "accepted" only once the coalescer admits it, so
594
+ // for those this runs after the hook (below).
595
+ const markAccepted = () => {
596
+ this.defaultPublishChannel = message.channelId;
597
+ this.defaultPublishMessageId = message.messageId;
598
+ this.defaultPublishThreadId = message.threadId;
573
599
  // A server sending channels/incoming is authoritative evidence that
574
600
  // the transport is actually open. This repairs transient status only;
575
601
  // durable desired state still changes exclusively through lifecycle
576
602
  // operations.
577
603
  this.channels.get(incomingKey).open = true;
578
- }
604
+ };
605
+ if (!coalesced)
606
+ markAccepted();
579
607
  // Determine whether to trigger inference
580
608
  let triggerInference = true;
581
609
  if (this.shouldTriggerInference) {
@@ -608,6 +636,27 @@ export class ChannelRegistry {
608
636
  ...(message.tags ? { tags: message.tags } : {}),
609
637
  triggerInference,
610
638
  };
639
+ if (coalesced) {
640
+ // RFC-006 §14.3: a coalesced message is admitted like any other and
641
+ // then handed, with the event the ordinary path would have queued, to
642
+ // the coalescer, which replaces, appends or withdraws. Malformed
643
+ // `coalesce` is a per-message failure; siblings are unaffected.
644
+ try {
645
+ const result = await this.handleCoalescedIncoming(serverId, message, event);
646
+ if (result.accepted)
647
+ markAccepted();
648
+ results.push(result);
649
+ }
650
+ catch (error) {
651
+ const err = error;
652
+ results.push({
653
+ messageId: message.messageId,
654
+ accepted: false,
655
+ reason: err.code === -32602 ? 'coalesce_invalid' : err.message,
656
+ });
657
+ }
658
+ continue;
659
+ }
611
660
  // Push to the processing queue
612
661
  // Cast through unknown because McplChannelIncomingEvent matches the
613
662
  // CustomEvent `${string}:${string}` type pattern but lacks an index signature.
@@ -793,6 +842,17 @@ export class ChannelRegistry {
793
842
  * Get the descriptor for a channel by its channelId (first match across
794
843
  * servers). Used by the conversation router for DM classification.
795
844
  */
845
+ /**
846
+ * RFC-006 §3.2: is `channelId` registered BY `serverId` through a server
847
+ * declaration (channels/register, channels/changed) or an authorized open?
848
+ * A placeholder minted from a push's `origin` (ensureChannelRegistered)
849
+ * does not count: a channel id appearing in an untrusted field is not a
850
+ * registration.
851
+ */
852
+ isDeclaredChannel(serverId, channelId) {
853
+ const entry = this.channels.get(`${serverId}:${channelId}`);
854
+ return !!entry && !entry.descriptor.metadata?.lazyRegistered;
855
+ }
796
856
  getDescriptor(channelId) {
797
857
  return this.findChannelEntry(channelId)?.descriptor;
798
858
  }
@@ -1870,6 +1930,46 @@ export class ChannelRegistry {
1870
1930
  .map((e) => `${e.descriptor.label} = ${e.descriptor.id}`);
1871
1931
  return { error: `no channel matches "${trimmed}"`, ...(near.length ? { candidates: near } : {}) };
1872
1932
  }
1933
+ /**
1934
+ * The `>>` target to show an agent for a channel: one whitespace-free token
1935
+ * that `resolveProseTarget()` maps back to this same channel. The prefix
1936
+ * grammar takes the target as the first non-whitespace run, so a label with
1937
+ * a space can't be quoted verbatim: `>>#DM: alice` parses as target `#DM:`
1938
+ * plus body `alice …`, and `>>#fable (antra's server)` delivers
1939
+ * `(antra's server)` as text. Tried in order: `@name` for a DM, `#label`,
1940
+ * `#name` (label without its server suffix), the descriptor id.
1941
+ *
1942
+ * Undefined when there is no safe token: the channel isn't registered (on
1943
+ * `serverId`, when given), no candidate is whitespace-free and resolves back,
1944
+ * or the id is registered by more than one server. A resolved target names a
1945
+ * channel by id alone, and ids are unique only within a connection, so a
1946
+ * shared id could route the reply through the wrong server.
1947
+ */
1948
+ proseTargetFor(channelId, serverId) {
1949
+ const sameId = [...this.channels.values()].filter((e) => e.descriptor.id === channelId);
1950
+ const entry = serverId ? sameId.find((e) => e.serverId === serverId) : sameId[0];
1951
+ if (!entry || sameId.length > 1)
1952
+ return undefined;
1953
+ const d = entry.descriptor;
1954
+ const label = d.label ?? '';
1955
+ const meta = d.metadata;
1956
+ const isDm = meta?.channelType === 'dm' || label.toLowerCase().startsWith('dm: ') || d.id.includes(':dm:');
1957
+ const dmName = meta?.recipientName ?? (label.toLowerCase().startsWith('dm: ') ? label.slice(4) : undefined);
1958
+ const bare = label.replace(/^#/, '');
1959
+ const candidates = [
1960
+ ...(isDm && dmName ? [`@${dmName}`] : []),
1961
+ ...(bare ? [`#${bare}`, `#${bare.replace(/\s*\([^)]*\)\s*$/, '')}`] : []),
1962
+ d.id,
1963
+ ];
1964
+ for (const c of candidates) {
1965
+ if (/\s/.test(c) || c === '#')
1966
+ continue;
1967
+ const r = this.resolveProseTarget(c);
1968
+ if ('channelId' in r && r.channelId === d.id)
1969
+ return c;
1970
+ }
1971
+ return undefined;
1972
+ }
1873
1973
  /**
1874
1974
  * Open a channel because something was DELIVERED into it (explicit send
1875
1975
  * tool or routed speech). Sending into a closed channel is not a thing: