@mcpmesh/sdk 1.4.1 → 2.0.0-beta.1

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 (242) hide show
  1. package/dist/__tests__/a2a/a2a-bearer.spec.d.ts +2 -0
  2. package/dist/__tests__/a2a/a2a-bearer.spec.d.ts.map +1 -0
  3. package/dist/__tests__/a2a/a2a-bearer.spec.js +58 -0
  4. package/dist/__tests__/a2a/a2a-bearer.spec.js.map +1 -0
  5. package/dist/__tests__/a2a/a2a-client.spec.d.ts +2 -0
  6. package/dist/__tests__/a2a/a2a-client.spec.d.ts.map +1 -0
  7. package/dist/__tests__/a2a/a2a-client.spec.js +334 -0
  8. package/dist/__tests__/a2a/a2a-client.spec.js.map +1 -0
  9. package/dist/__tests__/a2a/a2a-job.spec.d.ts +2 -0
  10. package/dist/__tests__/a2a/a2a-job.spec.d.ts.map +1 -0
  11. package/dist/__tests__/a2a/a2a-job.spec.js +255 -0
  12. package/dist/__tests__/a2a/a2a-job.spec.js.map +1 -0
  13. package/dist/__tests__/a2a/a2a-stream.spec.d.ts +2 -0
  14. package/dist/__tests__/a2a/a2a-stream.spec.d.ts.map +1 -0
  15. package/dist/__tests__/a2a/a2a-stream.spec.js +278 -0
  16. package/dist/__tests__/a2a/a2a-stream.spec.js.map +1 -0
  17. package/dist/__tests__/a2a/agent-a2a-config.spec.d.ts +2 -0
  18. package/dist/__tests__/a2a/agent-a2a-config.spec.d.ts.map +1 -0
  19. package/dist/__tests__/a2a/agent-a2a-config.spec.js +262 -0
  20. package/dist/__tests__/a2a/agent-a2a-config.spec.js.map +1 -0
  21. package/dist/__tests__/a2a/producer/auth-filter.spec.d.ts +2 -0
  22. package/dist/__tests__/a2a/producer/auth-filter.spec.d.ts.map +1 -0
  23. package/dist/__tests__/a2a/producer/auth-filter.spec.js +127 -0
  24. package/dist/__tests__/a2a/producer/auth-filter.spec.js.map +1 -0
  25. package/dist/__tests__/a2a/producer/card-builder.spec.d.ts +2 -0
  26. package/dist/__tests__/a2a/producer/card-builder.spec.d.ts.map +1 -0
  27. package/dist/__tests__/a2a/producer/card-builder.spec.js +113 -0
  28. package/dist/__tests__/a2a/producer/card-builder.spec.js.map +1 -0
  29. package/dist/__tests__/a2a/producer/dispatcher.spec.d.ts +2 -0
  30. package/dist/__tests__/a2a/producer/dispatcher.spec.d.ts.map +1 -0
  31. package/dist/__tests__/a2a/producer/dispatcher.spec.js +850 -0
  32. package/dist/__tests__/a2a/producer/dispatcher.spec.js.map +1 -0
  33. package/dist/__tests__/a2a/producer/mount-surface-push.spec.d.ts +2 -0
  34. package/dist/__tests__/a2a/producer/mount-surface-push.spec.d.ts.map +1 -0
  35. package/dist/__tests__/a2a/producer/mount-surface-push.spec.js +164 -0
  36. package/dist/__tests__/a2a/producer/mount-surface-push.spec.js.map +1 -0
  37. package/dist/__tests__/a2a/producer/mount.spec.d.ts +2 -0
  38. package/dist/__tests__/a2a/producer/mount.spec.d.ts.map +1 -0
  39. package/dist/__tests__/a2a/producer/mount.spec.js +433 -0
  40. package/dist/__tests__/a2a/producer/mount.spec.js.map +1 -0
  41. package/dist/__tests__/a2a/producer/public-url-cache.spec.d.ts +2 -0
  42. package/dist/__tests__/a2a/producer/public-url-cache.spec.d.ts.map +1 -0
  43. package/dist/__tests__/a2a/producer/public-url-cache.spec.js +116 -0
  44. package/dist/__tests__/a2a/producer/public-url-cache.spec.js.map +1 -0
  45. package/dist/__tests__/a2a/producer/sse-emitter.spec.d.ts +2 -0
  46. package/dist/__tests__/a2a/producer/sse-emitter.spec.d.ts.map +1 -0
  47. package/dist/__tests__/a2a/producer/sse-emitter.spec.js +754 -0
  48. package/dist/__tests__/a2a/producer/sse-emitter.spec.js.map +1 -0
  49. package/dist/__tests__/a2a/producer/state-translator.spec.d.ts +2 -0
  50. package/dist/__tests__/a2a/producer/state-translator.spec.d.ts.map +1 -0
  51. package/dist/__tests__/a2a/producer/state-translator.spec.js +124 -0
  52. package/dist/__tests__/a2a/producer/state-translator.spec.js.map +1 -0
  53. package/dist/__tests__/a2a/producer/task-store.spec.d.ts +2 -0
  54. package/dist/__tests__/a2a/producer/task-store.spec.d.ts.map +1 -0
  55. package/dist/__tests__/a2a/producer/task-store.spec.js +180 -0
  56. package/dist/__tests__/a2a/producer/task-store.spec.js.map +1 -0
  57. package/dist/__tests__/agent-add-tool.spec.d.ts +2 -0
  58. package/dist/__tests__/agent-add-tool.spec.d.ts.map +1 -0
  59. package/dist/__tests__/agent-add-tool.spec.js +483 -0
  60. package/dist/__tests__/agent-add-tool.spec.js.map +1 -0
  61. package/dist/__tests__/api-runtime-race.spec.d.ts +2 -0
  62. package/dist/__tests__/api-runtime-race.spec.d.ts.map +1 -0
  63. package/dist/__tests__/api-runtime-race.spec.js +193 -0
  64. package/dist/__tests__/api-runtime-race.spec.js.map +1 -0
  65. package/dist/__tests__/claim-dispatcher.spec.d.ts +2 -0
  66. package/dist/__tests__/claim-dispatcher.spec.d.ts.map +1 -0
  67. package/dist/__tests__/claim-dispatcher.spec.js +408 -0
  68. package/dist/__tests__/claim-dispatcher.spec.js.map +1 -0
  69. package/dist/__tests__/inbound-job-dispatch.spec.d.ts +2 -0
  70. package/dist/__tests__/inbound-job-dispatch.spec.d.ts.map +1 -0
  71. package/dist/__tests__/inbound-job-dispatch.spec.js +185 -0
  72. package/dist/__tests__/inbound-job-dispatch.spec.js.map +1 -0
  73. package/dist/__tests__/job-controller-progress.spec.d.ts +2 -0
  74. package/dist/__tests__/job-controller-progress.spec.d.ts.map +1 -0
  75. package/dist/__tests__/job-controller-progress.spec.js +85 -0
  76. package/dist/__tests__/job-controller-progress.spec.js.map +1 -0
  77. package/dist/__tests__/jobs-cancel-route.spec.d.ts +2 -0
  78. package/dist/__tests__/jobs-cancel-route.spec.d.ts.map +1 -0
  79. package/dist/__tests__/jobs-cancel-route.spec.js +88 -0
  80. package/dist/__tests__/jobs-cancel-route.spec.js.map +1 -0
  81. package/dist/__tests__/llm-agent-stream.test.d.ts +14 -0
  82. package/dist/__tests__/llm-agent-stream.test.d.ts.map +1 -0
  83. package/dist/__tests__/llm-agent-stream.test.js +341 -0
  84. package/dist/__tests__/llm-agent-stream.test.js.map +1 -0
  85. package/dist/__tests__/mesh-job-submitter.spec.d.ts +2 -0
  86. package/dist/__tests__/mesh-job-submitter.spec.d.ts.map +1 -0
  87. package/dist/__tests__/mesh-job-submitter.spec.js +110 -0
  88. package/dist/__tests__/mesh-job-submitter.spec.js.map +1 -0
  89. package/dist/__tests__/proxy-stream.test.d.ts +9 -0
  90. package/dist/__tests__/proxy-stream.test.d.ts.map +1 -0
  91. package/dist/__tests__/proxy-stream.test.js +347 -0
  92. package/dist/__tests__/proxy-stream.test.js.map +1 -0
  93. package/dist/__tests__/resolver-meshjob.spec.d.ts +26 -0
  94. package/dist/__tests__/resolver-meshjob.spec.d.ts.map +1 -0
  95. package/dist/__tests__/resolver-meshjob.spec.js +201 -0
  96. package/dist/__tests__/resolver-meshjob.spec.js.map +1 -0
  97. package/dist/__tests__/schema-verdict-policy.test.d.ts +6 -0
  98. package/dist/__tests__/schema-verdict-policy.test.d.ts.map +1 -0
  99. package/dist/__tests__/schema-verdict-policy.test.js +126 -0
  100. package/dist/__tests__/schema-verdict-policy.test.js.map +1 -0
  101. package/dist/__tests__/sse-stream.test.d.ts +12 -0
  102. package/dist/__tests__/sse-stream.test.d.ts.map +1 -0
  103. package/dist/__tests__/sse-stream.test.js +170 -0
  104. package/dist/__tests__/sse-stream.test.js.map +1 -0
  105. package/dist/a2a/a2a-bearer.d.ts +27 -0
  106. package/dist/a2a/a2a-bearer.d.ts.map +1 -0
  107. package/dist/a2a/a2a-bearer.js +63 -0
  108. package/dist/a2a/a2a-bearer.js.map +1 -0
  109. package/dist/a2a/a2a-client.d.ts +114 -0
  110. package/dist/a2a/a2a-client.d.ts.map +1 -0
  111. package/dist/a2a/a2a-client.js +405 -0
  112. package/dist/a2a/a2a-client.js.map +1 -0
  113. package/dist/a2a/a2a-event.d.ts +25 -0
  114. package/dist/a2a/a2a-event.d.ts.map +1 -0
  115. package/dist/a2a/a2a-event.js +9 -0
  116. package/dist/a2a/a2a-event.js.map +1 -0
  117. package/dist/a2a/a2a-job.d.ts +58 -0
  118. package/dist/a2a/a2a-job.d.ts.map +1 -0
  119. package/dist/a2a/a2a-job.js +264 -0
  120. package/dist/a2a/a2a-job.js.map +1 -0
  121. package/dist/a2a/a2a-stream.d.ts +39 -0
  122. package/dist/a2a/a2a-stream.d.ts.map +1 -0
  123. package/dist/a2a/a2a-stream.js +290 -0
  124. package/dist/a2a/a2a-stream.js.map +1 -0
  125. package/dist/a2a/errors.d.ts +29 -0
  126. package/dist/a2a/errors.d.ts.map +1 -0
  127. package/dist/a2a/errors.js +48 -0
  128. package/dist/a2a/errors.js.map +1 -0
  129. package/dist/a2a/index.d.ts +12 -0
  130. package/dist/a2a/index.d.ts.map +1 -0
  131. package/dist/a2a/index.js +11 -0
  132. package/dist/a2a/index.js.map +1 -0
  133. package/dist/a2a/producer/auth-filter.d.ts +34 -0
  134. package/dist/a2a/producer/auth-filter.d.ts.map +1 -0
  135. package/dist/a2a/producer/auth-filter.js +39 -0
  136. package/dist/a2a/producer/auth-filter.js.map +1 -0
  137. package/dist/a2a/producer/card-builder.d.ts +59 -0
  138. package/dist/a2a/producer/card-builder.d.ts.map +1 -0
  139. package/dist/a2a/producer/card-builder.js +59 -0
  140. package/dist/a2a/producer/card-builder.js.map +1 -0
  141. package/dist/a2a/producer/dispatcher.d.ts +276 -0
  142. package/dist/a2a/producer/dispatcher.d.ts.map +1 -0
  143. package/dist/a2a/producer/dispatcher.js +896 -0
  144. package/dist/a2a/producer/dispatcher.js.map +1 -0
  145. package/dist/a2a/producer/index.d.ts +26 -0
  146. package/dist/a2a/producer/index.d.ts.map +1 -0
  147. package/dist/a2a/producer/index.js +23 -0
  148. package/dist/a2a/producer/index.js.map +1 -0
  149. package/dist/a2a/producer/mount.d.ts +75 -0
  150. package/dist/a2a/producer/mount.d.ts.map +1 -0
  151. package/dist/a2a/producer/mount.js +422 -0
  152. package/dist/a2a/producer/mount.js.map +1 -0
  153. package/dist/a2a/producer/public-url-cache.d.ts +73 -0
  154. package/dist/a2a/producer/public-url-cache.d.ts.map +1 -0
  155. package/dist/a2a/producer/public-url-cache.js +0 -0
  156. package/dist/a2a/producer/public-url-cache.js.map +1 -0
  157. package/dist/a2a/producer/registry.d.ts +138 -0
  158. package/dist/a2a/producer/registry.d.ts.map +1 -0
  159. package/dist/a2a/producer/registry.js +117 -0
  160. package/dist/a2a/producer/registry.js.map +1 -0
  161. package/dist/a2a/producer/sse-emitter.d.ts +85 -0
  162. package/dist/a2a/producer/sse-emitter.d.ts.map +1 -0
  163. package/dist/a2a/producer/sse-emitter.js +405 -0
  164. package/dist/a2a/producer/sse-emitter.js.map +1 -0
  165. package/dist/a2a/producer/state-translator.d.ts +63 -0
  166. package/dist/a2a/producer/state-translator.d.ts.map +1 -0
  167. package/dist/a2a/producer/state-translator.js +108 -0
  168. package/dist/a2a/producer/state-translator.js.map +1 -0
  169. package/dist/a2a/producer/task-store.d.ts +128 -0
  170. package/dist/a2a/producer/task-store.d.ts.map +1 -0
  171. package/dist/a2a/producer/task-store.js +128 -0
  172. package/dist/a2a/producer/task-store.js.map +1 -0
  173. package/dist/agent.d.ts +72 -0
  174. package/dist/agent.d.ts.map +1 -1
  175. package/dist/agent.js +618 -13
  176. package/dist/agent.js.map +1 -1
  177. package/dist/api-runtime.d.ts +25 -0
  178. package/dist/api-runtime.d.ts.map +1 -1
  179. package/dist/api-runtime.js +75 -2
  180. package/dist/api-runtime.js.map +1 -1
  181. package/dist/claim-dispatcher.d.ts +126 -0
  182. package/dist/claim-dispatcher.d.ts.map +1 -0
  183. package/dist/claim-dispatcher.js +478 -0
  184. package/dist/claim-dispatcher.js.map +1 -0
  185. package/dist/express.d.ts.map +1 -1
  186. package/dist/express.js +33 -6
  187. package/dist/express.js.map +1 -1
  188. package/dist/inbound-job-dispatch.d.ts +105 -0
  189. package/dist/inbound-job-dispatch.d.ts.map +1 -0
  190. package/dist/inbound-job-dispatch.js +335 -0
  191. package/dist/inbound-job-dispatch.js.map +1 -0
  192. package/dist/index.d.ts +37 -4
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +29 -3
  195. package/dist/index.js.map +1 -1
  196. package/dist/job-context.d.ts +107 -0
  197. package/dist/job-context.d.ts.map +1 -0
  198. package/dist/job-context.js +95 -0
  199. package/dist/job-context.js.map +1 -0
  200. package/dist/jobs-cancel-route.d.ts +36 -0
  201. package/dist/jobs-cancel-route.d.ts.map +1 -0
  202. package/dist/jobs-cancel-route.js +60 -0
  203. package/dist/jobs-cancel-route.js.map +1 -0
  204. package/dist/jobs-helper-tools.d.ts +48 -0
  205. package/dist/jobs-helper-tools.d.ts.map +1 -0
  206. package/dist/jobs-helper-tools.js +133 -0
  207. package/dist/jobs-helper-tools.js.map +1 -0
  208. package/dist/llm-agent.d.ts +62 -53
  209. package/dist/llm-agent.d.ts.map +1 -1
  210. package/dist/llm-agent.js +211 -292
  211. package/dist/llm-agent.js.map +1 -1
  212. package/dist/llm-provider.d.ts +4 -4
  213. package/dist/llm.d.ts +4 -1
  214. package/dist/llm.d.ts.map +1 -1
  215. package/dist/llm.js +7 -17
  216. package/dist/llm.js.map +1 -1
  217. package/dist/mesh-job-submitter.d.ts +83 -0
  218. package/dist/mesh-job-submitter.d.ts.map +1 -0
  219. package/dist/mesh-job-submitter.js +143 -0
  220. package/dist/mesh-job-submitter.js.map +1 -0
  221. package/dist/proxy.d.ts +30 -0
  222. package/dist/proxy.d.ts.map +1 -1
  223. package/dist/proxy.js +351 -1
  224. package/dist/proxy.js.map +1 -1
  225. package/dist/resolver-meshjob.d.ts +170 -0
  226. package/dist/resolver-meshjob.d.ts.map +1 -0
  227. package/dist/resolver-meshjob.js +159 -0
  228. package/dist/resolver-meshjob.js.map +1 -0
  229. package/dist/route.d.ts +4 -0
  230. package/dist/route.d.ts.map +1 -1
  231. package/dist/route.js.map +1 -1
  232. package/dist/schema-normalize.d.ts +62 -0
  233. package/dist/schema-normalize.d.ts.map +1 -0
  234. package/dist/schema-normalize.js +128 -0
  235. package/dist/schema-normalize.js.map +1 -0
  236. package/dist/sse-stream.d.ts +44 -0
  237. package/dist/sse-stream.d.ts.map +1 -0
  238. package/dist/sse-stream.js +173 -0
  239. package/dist/sse-stream.js.map +1 -0
  240. package/dist/types.d.ts +351 -9
  241. package/dist/types.d.ts.map +1 -1
  242. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/a2a/producer/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A2A producer barrel (issue #933).
3
+ *
4
+ * Re-exports the public surface user code reaches for:
5
+ * - {@link mount} — the `mesh.a2a.mount(...)` entry point
6
+ * - {@link A2AMountConfig} — the mount config shape
7
+ * - {@link A2ADependencies} / {@link A2AHandler} — handler typing helpers
8
+ *
9
+ * Internal classes (`A2AProducerRegistry`, `A2ATaskStore`, dispatcher
10
+ * builders) are exported for advanced wiring / testability — they aren't
11
+ * promoted on the top-level `mesh.a2a` namespace.
12
+ */
13
+ export { mount, __getA2ATaskStore, __buildCardRenderContextForTests } from "./mount.js";
14
+ export type { A2AMountConfig, A2ASurfaceMetadata, } from "./registry.js";
15
+ export { A2AProducerRegistry, } from "./registry.js";
16
+ export type { A2ADependencies, A2AHandler, DispatcherDeps, SseStreamPlan, } from "./dispatcher.js";
17
+ export { buildDispatcherMiddleware, buildSendSubscribeStream, buildResubscribeStream, buildCompletedTask, buildFailedTask, buildWorkingTask, buildCanceledTask, buildTaskFromStatus, buildTaskFromLiveStatus, buildStatusUpdateFrame, buildArtifactUpdateFrame, projectLiveStatus, stringifyResult, JSONRPC_PARSE_ERROR, JSONRPC_INVALID_REQUEST, JSONRPC_METHOD_NOT_FOUND, JSONRPC_INVALID_PARAMS, } from "./dispatcher.js";
18
+ export type { CardRenderContext } from "./card-builder.js";
19
+ export { buildAgentCard, DEFAULT_INPUT_MODES, DEFAULT_OUTPUT_MODES, } from "./card-builder.js";
20
+ export type { TaskRecord } from "./task-store.js";
21
+ export { A2ATaskStore, TERMINAL_EVICTION_MS, } from "./task-store.js";
22
+ export { buildBearerAuthMiddleware, JSONRPC_AUTH_ERROR, } from "./auth-filter.js";
23
+ export { buildSseDispatcherMiddleware, renderSsePlan, POLL_INTERVAL_MILLIS, KEEPALIVE_MILLIS, MAX_STREAM_MILLIS, MAX_CONSECUTIVE_STATUS_FAILURES, } from "./sse-emitter.js";
24
+ export { A2APublicUrlCache, buildLocalFallbackUrl, } from "./public-url-cache.js";
25
+ export { A2A_SUBMITTED, A2A_WORKING, A2A_COMPLETED, A2A_FAILED, A2A_CANCELED, fromMesh, isTerminal, isMeshTerminal, meshStatusOf, } from "./state-translator.js";
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/producer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAGxF,YAAY,EACV,cAAc,EACd,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * A2A producer barrel (issue #933).
3
+ *
4
+ * Re-exports the public surface user code reaches for:
5
+ * - {@link mount} — the `mesh.a2a.mount(...)` entry point
6
+ * - {@link A2AMountConfig} — the mount config shape
7
+ * - {@link A2ADependencies} / {@link A2AHandler} — handler typing helpers
8
+ *
9
+ * Internal classes (`A2AProducerRegistry`, `A2ATaskStore`, dispatcher
10
+ * builders) are exported for advanced wiring / testability — they aren't
11
+ * promoted on the top-level `mesh.a2a` namespace.
12
+ */
13
+ // Public mount API
14
+ export { mount, __getA2ATaskStore, __buildCardRenderContextForTests } from "./mount.js";
15
+ export { A2AProducerRegistry, } from "./registry.js";
16
+ export { buildDispatcherMiddleware, buildSendSubscribeStream, buildResubscribeStream, buildCompletedTask, buildFailedTask, buildWorkingTask, buildCanceledTask, buildTaskFromStatus, buildTaskFromLiveStatus, buildStatusUpdateFrame, buildArtifactUpdateFrame, projectLiveStatus, stringifyResult, JSONRPC_PARSE_ERROR, JSONRPC_INVALID_REQUEST, JSONRPC_METHOD_NOT_FOUND, JSONRPC_INVALID_PARAMS, } from "./dispatcher.js";
17
+ export { buildAgentCard, DEFAULT_INPUT_MODES, DEFAULT_OUTPUT_MODES, } from "./card-builder.js";
18
+ export { A2ATaskStore, TERMINAL_EVICTION_MS, } from "./task-store.js";
19
+ export { buildBearerAuthMiddleware, JSONRPC_AUTH_ERROR, } from "./auth-filter.js";
20
+ export { buildSseDispatcherMiddleware, renderSsePlan, POLL_INTERVAL_MILLIS, KEEPALIVE_MILLIS, MAX_STREAM_MILLIS, MAX_CONSECUTIVE_STATUS_FAILURES, } from "./sse-emitter.js";
21
+ export { A2APublicUrlCache, buildLocalFallbackUrl, } from "./public-url-cache.js";
22
+ export { A2A_SUBMITTED, A2A_WORKING, A2A_COMPLETED, A2A_FAILED, A2A_CANCELED, fromMesh, isTerminal, isMeshTerminal, meshStatusOf, } from "./state-translator.js";
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/producer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAOxF,OAAO,EACL,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAQvB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,YAAY,EACZ,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * `mesh.a2a.mount(app, config, handler)` — wire an Express app as an A2A
3
+ * v1.0 producer (issue #933).
4
+ *
5
+ * Mirrors Python's `mesh.a2a.mount(app, ...)` for FastAPI. The mount
6
+ * function owns both the `POST {path}` dispatch route and the
7
+ * `GET {path}/.well-known/agent.json` card route — having the wrapper own
8
+ * the wiring removes the boilerplate of registering two routes per skill.
9
+ *
10
+ * Mount-time side effects:
11
+ * 1. Validate the mount config (path non-empty + starts with `/`, skillId
12
+ * non-empty).
13
+ * 2. Register the dependencies as a synthetic route in `RouteRegistry` so
14
+ * DDDI events from the Rust core wire up resolved `McpMeshTool` proxies
15
+ * keyed by capability name — same plumbing `mesh.route()` uses.
16
+ * 3. Store surface metadata in {@link A2AProducerRegistry} for heartbeat,
17
+ * card render, and auth gate lookups.
18
+ * 4. Wire `app.post(path, [auth?,] dispatcher)` for JSON-RPC dispatch.
19
+ * 5. Wire `app.get(path + "/.well-known/agent.json", cardHandler)` for
20
+ * agent card discovery. The card endpoint is ALWAYS public regardless of
21
+ * `auth` (spec §6.2 + conformance checklist) so clients can discover the
22
+ * authentication scheme before authenticating.
23
+ * 6. Trigger `getApiRuntime().scheduleStart()` if any dependencies are
24
+ * declared — mirrors `mesh.route()`'s auto-init.
25
+ */
26
+ import type { Application } from "express";
27
+ import type { AgentConfig } from "../../types.js";
28
+ import { type A2AMountConfig, type A2ASurfaceMetadata } from "./registry.js";
29
+ import { A2ATaskStore } from "./task-store.js";
30
+ import { type A2ADependencies, type A2AHandler } from "./dispatcher.js";
31
+ import { type CardRenderContext } from "./card-builder.js";
32
+ /**
33
+ * Public entry point. Mount an A2A v1.0 producer surface on an Express app.
34
+ *
35
+ * @param app - Express application instance
36
+ * @param config - Mount configuration (path, skill id, dependencies, ...)
37
+ * @param handler - User handler invoked on every `tasks/send` call. Receives
38
+ * resolved `McpMeshTool` dependency proxies and the A2A
39
+ * `tasks/send` `params` payload; returns a value (or
40
+ * Promise of one) that the framework wraps into the A2A
41
+ * `Task` envelope. Throw to surface as `state=failed`.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * mesh.a2a.mount(app, {
46
+ * path: "/agents/date",
47
+ * skillId: "get-date",
48
+ * skillName: "Get Date",
49
+ * description: "Get current date/time via A2A protocol",
50
+ * tags: ["system", "date"],
51
+ * dependencies: ["date_service"],
52
+ * auth: "bearer",
53
+ * }, async (deps, payload) => {
54
+ * const result = await deps.date_service.call({});
55
+ * return { date: result };
56
+ * });
57
+ * ```
58
+ */
59
+ export declare function mount<D extends A2ADependencies = A2ADependencies>(app: Application, config: A2AMountConfig, handler: A2AHandler<D>): void;
60
+ /**
61
+ * Expose the per-process task store for advanced wiring (e.g., Chunk 1B's
62
+ * SSE emitter needs to mark records terminal). Not part of the public
63
+ * surface — tests + framework internals only.
64
+ */
65
+ export declare function __getA2ATaskStore(): A2ATaskStore;
66
+ /**
67
+ * Side-effect-free helper for tests / advanced wiring: build a fresh
68
+ * card-render context using the current env / agent config. Lets tests
69
+ * pass a custom context into {@link buildAgentCard} without going through
70
+ * the mounted route. When no surface is provided, the public-URL cache
71
+ * is not consulted (tests can override via `overrides.publicUrl`).
72
+ */
73
+ export declare function __buildCardRenderContextForTests(overrides?: Partial<CardRenderContext>, surface?: A2ASurfaceMetadata): CardRenderContext;
74
+ export type { AgentConfig };
75
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../../src/a2a/producer/mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAqH3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC/D,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GACrB,IAAI,CAmKN;AAeD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACtC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,iBAAiB,CAYnB;AAuHD,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,422 @@
1
+ import { resolveConfig } from "@mcpmesh/core";
2
+ import { RouteRegistry } from "../../route.js";
3
+ import { normalizeDependency } from "../../proxy.js";
4
+ import { getApiRuntime } from "../../api-runtime.js";
5
+ import { MeshJobSubmitter } from "../../mesh-job-submitter.js";
6
+ import { A2AProducerRegistry, } from "./registry.js";
7
+ import { A2ATaskStore } from "./task-store.js";
8
+ import { buildDispatcherMiddleware, } from "./dispatcher.js";
9
+ import { buildSseDispatcherMiddleware } from "./sse-emitter.js";
10
+ import { buildBearerAuthMiddleware } from "./auth-filter.js";
11
+ import { buildAgentCard } from "./card-builder.js";
12
+ import { A2APublicUrlCache, buildLocalFallbackUrl, } from "./public-url-cache.js";
13
+ /**
14
+ * Process-wide task store shared by every mounted surface. A single Map
15
+ * across the process is correct because `task_id` is globally unique
16
+ * (UUID4 by default + spec-allowed client-provided id); collisions are
17
+ * caught by the dispatcher's duplicate check.
18
+ */
19
+ const SHARED_TASK_STORE = new A2ATaskStore();
20
+ /**
21
+ * Static JSON-RPC parse-error envelope (spec §4.1 `-32700`). Returned with
22
+ * HTTP 400 when Express's `express.json()` body parser rejects a malformed
23
+ * request body before our dispatcher runs. The body is fixed (no per-request
24
+ * id since the request was never parseable), so we hold it as a constant
25
+ * rather than re-rendering on every error — mirrors Java's
26
+ * `MeshA2ADispatcherController.PARSE_ERROR_BODY` (#934 W5 refactor).
27
+ *
28
+ * Without this envelope Express returns its default HTML 400 page when
29
+ * body-parser fails — A2A clients sending malformed JSON would receive HTML
30
+ * instead of a structured JSON-RPC error.
31
+ */
32
+ const PARSE_ERROR_BODY = JSON.stringify({
33
+ jsonrpc: "2.0",
34
+ error: { code: -32700, message: "Parse error" },
35
+ id: null,
36
+ });
37
+ /**
38
+ * Detect a body-parser parse failure. Express 4 + 5's `express.json()`
39
+ * surfaces malformed-JSON failures as a `SyntaxError` with
40
+ * `type === "entity.parse.failed"` and `status === 400` (set by the
41
+ * underlying `body-parser` package). We check both so the predicate stays
42
+ * robust if Express ever ships a different SyntaxError subclass.
43
+ */
44
+ function isBodyParserParseError(err) {
45
+ if (!err || typeof err !== "object")
46
+ return false;
47
+ const e = err;
48
+ if (e.type === "entity.parse.failed")
49
+ return true;
50
+ if (err instanceof SyntaxError) {
51
+ const code = (typeof e.status === "number" ? e.status : e.statusCode);
52
+ if (code === 400)
53
+ return true;
54
+ }
55
+ return false;
56
+ }
57
+ /**
58
+ * Build the path-scoped Express error handler that converts body-parser
59
+ * parse failures into a `-32700 Parse error` JSON-RPC envelope. Falls
60
+ * through (calls `next(err)`) for any other error so the host app's own
61
+ * error pipeline still owns non-body-parser failures.
62
+ *
63
+ * Mounted at `app.use(config.path, ...)` so it only intercepts errors
64
+ * under the producer route — global JSON parse failures on unrelated user
65
+ * routes still get Express's default behavior.
66
+ */
67
+ function buildParseErrorHandler() {
68
+ return function a2aParseErrorHandler(err, _req, res, next) {
69
+ if (!isBodyParserParseError(err)) {
70
+ next(err);
71
+ return;
72
+ }
73
+ res.status(400).type("application/json").send(PARSE_ERROR_BODY);
74
+ };
75
+ }
76
+ /**
77
+ * The card-render context inferred lazily at first request — pulled from
78
+ * the same env vars / agent config as `mesh.agent()` so the producer's
79
+ * card name matches what the rest of the SDK advertises.
80
+ *
81
+ * Public-URL resolution order at card-render time (spec §2.4):
82
+ * 1. Registry-stamped FQDN from {@link A2APublicUrlCache} keyed by
83
+ * `(path, skillId)`. Populated when the registry returns
84
+ * `surfaces[].public_url` on its heartbeat response (the Rust core
85
+ * does not currently emit this event to TS — see
86
+ * {@link A2APublicUrlCache} for the wiring status).
87
+ * 2. Local-fallback `http://{host}:{port}{path}` built from the
88
+ * `MCP_MESH_HTTP_HOST` / `MCP_MESH_HTTP_PORT` env vars.
89
+ * 3. Omitted (`undefined`) when neither is available — the card emits
90
+ * no `url` rather than a blank one (spec conformance checklist).
91
+ */
92
+ function buildCardRenderContext(surface) {
93
+ const agentName = resolveConfig("agent_name", null) || "agent";
94
+ const cachedUrl = A2APublicUrlCache.getInstance().get(surface.path, surface.skillId);
95
+ let publicUrl = cachedUrl;
96
+ if (!publicUrl) {
97
+ const httpHost = resolveConfig("http_host", null);
98
+ const httpPortRaw = resolveConfig("http_port", null);
99
+ const httpPort = httpPortRaw ? Number.parseInt(httpPortRaw, 10) : NaN;
100
+ if (httpHost) {
101
+ publicUrl = buildLocalFallbackUrl(httpHost, Number.isFinite(httpPort) ? httpPort : undefined, surface.path);
102
+ }
103
+ }
104
+ // Mount-time we have no separate version env var beyond what `mesh()`
105
+ // applies — default to "1.0.0" per spec §3.2.
106
+ return {
107
+ agentName,
108
+ agentVersion: "1.0.0",
109
+ agentDescription: undefined,
110
+ publicUrl,
111
+ };
112
+ }
113
+ /**
114
+ * Public entry point. Mount an A2A v1.0 producer surface on an Express app.
115
+ *
116
+ * @param app - Express application instance
117
+ * @param config - Mount configuration (path, skill id, dependencies, ...)
118
+ * @param handler - User handler invoked on every `tasks/send` call. Receives
119
+ * resolved `McpMeshTool` dependency proxies and the A2A
120
+ * `tasks/send` `params` payload; returns a value (or
121
+ * Promise of one) that the framework wraps into the A2A
122
+ * `Task` envelope. Throw to surface as `state=failed`.
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * mesh.a2a.mount(app, {
127
+ * path: "/agents/date",
128
+ * skillId: "get-date",
129
+ * skillName: "Get Date",
130
+ * description: "Get current date/time via A2A protocol",
131
+ * tags: ["system", "date"],
132
+ * dependencies: ["date_service"],
133
+ * auth: "bearer",
134
+ * }, async (deps, payload) => {
135
+ * const result = await deps.date_service.call({});
136
+ * return { date: result };
137
+ * });
138
+ * ```
139
+ */
140
+ export function mount(app, config, handler) {
141
+ // ── Validate ─────────────────────────────────────────────────────────
142
+ if (!config.path || config.path.length === 0) {
143
+ throw new Error("mesh.a2a.mount: config.path is required and must be non-empty");
144
+ }
145
+ if (!config.path.startsWith("/")) {
146
+ throw new Error(`mesh.a2a.mount: config.path must start with '/': got '${config.path}'`);
147
+ }
148
+ if (config.path === "/") {
149
+ // Mounting at root would produce '//.well-known/agent.json' (double
150
+ // slash, unreachable). Spec §3.1 requires a non-empty mount path so
151
+ // the card endpoint is well-formed. Match Java's MeshA2AMountValidator.
152
+ throw new Error("mesh.a2a.mount: config.path must not be '/': mount under a real " +
153
+ "path so the agent-card URL is well-formed (spec §3.1)");
154
+ }
155
+ if (config.path.length > 1 && config.path.endsWith("/")) {
156
+ throw new Error(`mesh.a2a.mount: config.path must not end with '/': got '${config.path}' ` +
157
+ `(trailing-slash normalization is implicit at request time)`);
158
+ }
159
+ if (!config.skillId || config.skillId.length === 0) {
160
+ throw new Error("mesh.a2a.mount: config.skillId is required and must be non-empty");
161
+ }
162
+ if (config.auth !== undefined && config.auth !== "bearer") {
163
+ throw new Error(`mesh.a2a.mount: config.auth must be undefined or "bearer" (Phase 1); got: ${String(config.auth)}`);
164
+ }
165
+ const dependencies = config.dependencies ?? [];
166
+ const normalizedDeps = dependencies.map(normalizeDependency);
167
+ // ── Register dependencies via RouteRegistry (DDDI) ───────────────────
168
+ // The producer reuses the same dependency-resolution machinery as
169
+ // mesh.route(). Each surface registers a synthetic route in
170
+ // RouteRegistry with method/path placeholders; the Rust core's
171
+ // dependency-resolution events then drive resolved McpMeshTool proxies
172
+ // into the registry, keyed by capability name, which the dispatcher
173
+ // pulls out via getDependenciesForRoute(routeId).
174
+ const routeRegistry = RouteRegistry.getInstance();
175
+ const routeId = routeRegistry.registerRoute("A2A", config.path, dependencies);
176
+ // Stable normalised surface metadata.
177
+ const surface = {
178
+ path: config.path,
179
+ skillId: config.skillId,
180
+ skillName: config.skillName ?? config.skillId,
181
+ description: config.description ?? "",
182
+ tags: config.tags ? [...config.tags] : [],
183
+ dependencies: normalizedDeps,
184
+ auth: config.auth === "bearer" ? "bearer" : "",
185
+ routeId,
186
+ };
187
+ // ── Register in A2AProducerRegistry ──────────────────────────────────
188
+ A2AProducerRegistry.getInstance().register(surface);
189
+ // ── Build a lazy MeshJobSubmitter provider (issue #936) ──────────────
190
+ // The submitter is bound to the producer's task capability + the
191
+ // api-runtime singleton's service id + the resolved registry URL.
192
+ // Lazy because the api-runtime's `serviceId` is `""` until its first
193
+ // tick, so we can't construct the submitter at mount time — instead
194
+ // we resolve on first request that actually uses it, then memoize.
195
+ const submitterCapability = pickSubmitterCapability(surface);
196
+ const jobSubmitterProvider = buildJobSubmitterProvider(submitterCapability, surface.path, surface.skillId);
197
+ // ── Wire dispatch route ──────────────────────────────────────────────
198
+ // Per spec §4.6 / §4.7, `tasks/sendSubscribe` and `tasks/resubscribe`
199
+ // emit a `text/event-stream` body while the other three verbs emit a
200
+ // JSON body. Two sibling middlewares share the same route: the SSE
201
+ // middleware consumes the request when the body's `method` matches
202
+ // either SSE verb and falls through (calls `next()`) otherwise. This
203
+ // mirrors Java's MeshA2ADispatcherController split.
204
+ const dispatcherDeps = {
205
+ surface,
206
+ handler: handler,
207
+ taskStore: SHARED_TASK_STORE,
208
+ routeRegistry,
209
+ jobSubmitterProvider,
210
+ };
211
+ const sseDispatcher = buildSseDispatcherMiddleware(dispatcherDeps);
212
+ const jsonDispatcher = buildDispatcherMiddleware(dispatcherDeps);
213
+ const postHandlers = [];
214
+ if (surface.auth === "bearer") {
215
+ postHandlers.push(buildBearerAuthMiddleware());
216
+ }
217
+ postHandlers.push(sseDispatcher);
218
+ postHandlers.push(jsonDispatcher);
219
+ app.post(config.path, ...postHandlers);
220
+ // Path-scoped error handler: convert body-parser SyntaxError (malformed
221
+ // JSON body) into a `-32700 Parse error` JSON-RPC envelope per spec §4.1.
222
+ // Without this, `express.json()` rejects malformed bodies with Express's
223
+ // default HTML 400 page — A2A clients would not see a structured error.
224
+ // Scoping by path (`app.use(config.path, ...)`) keeps the handler from
225
+ // intercepting parse errors on unrelated user routes mounted on the same
226
+ // app.
227
+ app.use(config.path, buildParseErrorHandler());
228
+ // ── Wire agent-card route ────────────────────────────────────────────
229
+ // The card endpoint is ALWAYS public regardless of `auth` (spec §6.2)
230
+ // so clients can discover the authentication scheme before
231
+ // authenticating.
232
+ const cardPath = config.path + "/.well-known/agent.json";
233
+ const cardHandler = buildCardHandler(surface);
234
+ app.get(cardPath, cardHandler);
235
+ // Trailing-slash tolerance per spec §3.1 — `{path}/.well-known/agent.json/`
236
+ // returns the same card.
237
+ app.get(cardPath + "/", cardHandler);
238
+ // ── Trigger API runtime auto-init ────────────────────────────────────
239
+ // Mirrors mesh.route()'s behavior: scheduling start on first mount with
240
+ // dependencies lets all surfaces register before connecting to the mesh.
241
+ // We trigger even without dependencies so surfaces with auth-only mounts
242
+ // still surface on the heartbeat envelope (the api-runtime would
243
+ // otherwise sit idle).
244
+ const runtime = getApiRuntime();
245
+ runtime.scheduleStart();
246
+ // Issue #938: push the updated surfaces + agent_type into the Rust core
247
+ // so deferred mounts (mounts called after `startAgent()` / first
248
+ // heartbeat) are reflected in the next heartbeat envelope. No-op when
249
+ // the runtime hasn't started yet — startup-time computation in
250
+ // `ApiRuntime.start()` already picks up the current registry state via
251
+ // `buildAgentSpecContribution()`. Smart-diffed inside the Rust runtime,
252
+ // so the canonical "mount before startAgent" pattern (which queues
253
+ // multiple mounts before the first heartbeat fires) generates at most
254
+ // one redundant no-op command.
255
+ //
256
+ // Tolerant of test fixtures that mock the api-runtime singleton with
257
+ // a partial object — same defensive pattern as the job submitter
258
+ // provider above.
259
+ //
260
+ // KNOWN LIMITATION — explicit `MeshExpress` instances:
261
+ // This push always targets the auto-init `ApiRuntime` singleton via
262
+ // `getApiRuntime()`. Users who construct an explicit `MeshExpress(app,
263
+ // config)` get a SEPARATE runtime handle that is NOT subscribed to this
264
+ // push — mid-flight mounts won't be reflected on those runtimes' next
265
+ // heartbeat. Workarounds:
266
+ // 1. Rely on the canonical mount-before-start ordering — the
267
+ // startup-time computation in the runtime's `start()` /
268
+ // `startHeartbeat()` already snapshots all registered surfaces.
269
+ // 2. Avoid `MeshExpress` for A2A producer apps; the auto-init
270
+ // `ApiRuntime` (the default for `mesh.route()`-style apps) is the
271
+ // supported path for `mesh.a2a.mount(...)`.
272
+ // Tracked: https://github.com/dhyansraj/mcp-mesh/issues/942 — extend the
273
+ // push to all live runtime handles so explicit `MeshExpress` users also
274
+ // see deferred mounts on the next heartbeat.
275
+ if (typeof runtime.pushSurfacesUpdate === "function") {
276
+ runtime.pushSurfacesUpdate();
277
+ }
278
+ }
279
+ /**
280
+ * Build the Express handler for `GET {path}/.well-known/agent.json`. The
281
+ * handler is bound to a single surface — multi-mount apps get one card
282
+ * handler per surface, mirroring spec §3.2 (one card per skill).
283
+ */
284
+ function buildCardHandler(surface) {
285
+ return function cardHandler(_req, res) {
286
+ const ctx = buildCardRenderContext(surface);
287
+ const card = buildAgentCard(surface, ctx);
288
+ res.status(200).type("application/json").send(JSON.stringify(card));
289
+ };
290
+ }
291
+ /**
292
+ * Expose the per-process task store for advanced wiring (e.g., Chunk 1B's
293
+ * SSE emitter needs to mark records terminal). Not part of the public
294
+ * surface — tests + framework internals only.
295
+ */
296
+ export function __getA2ATaskStore() {
297
+ return SHARED_TASK_STORE;
298
+ }
299
+ /**
300
+ * Side-effect-free helper for tests / advanced wiring: build a fresh
301
+ * card-render context using the current env / agent config. Lets tests
302
+ * pass a custom context into {@link buildAgentCard} without going through
303
+ * the mounted route. When no surface is provided, the public-URL cache
304
+ * is not consulted (tests can override via `overrides.publicUrl`).
305
+ */
306
+ export function __buildCardRenderContextForTests(overrides, surface) {
307
+ if (surface) {
308
+ return { ...buildCardRenderContext(surface), ...overrides };
309
+ }
310
+ const agentName = resolveConfig("agent_name", null) || "agent";
311
+ return {
312
+ agentName,
313
+ agentVersion: "1.0.0",
314
+ agentDescription: undefined,
315
+ publicUrl: undefined,
316
+ ...overrides,
317
+ };
318
+ }
319
+ // ────────────────────────────────────────────────────────────────────────
320
+ // MeshJobSubmitter auto-injection helpers (issue #936)
321
+ // ────────────────────────────────────────────────────────────────────────
322
+ /**
323
+ * Pick the capability the framework-injected {@link MeshJobSubmitter}
324
+ * should target for the given surface. Resolution order matches Java's
325
+ * {@code MeshA2ADispatcher.pickSubmitterCapability}:
326
+ *
327
+ * 1. The first declared dependency capability on the mount config — matches
328
+ * what user code typically hand-constructs the submitter against today.
329
+ * 2. The `skillId` with `-` replaced by `_` (kebab-to-snake). Matches the
330
+ * existing producer-report-agent example: skill `"generate-report"`
331
+ * becomes capability `"generate_report"`.
332
+ *
333
+ * Returns `null` only when neither source yields a non-empty capability —
334
+ * the dispatcher then injects `null` into the handler's `jobSubmitter`
335
+ * arg and the user code must surface a clear error (mirrors Java's
336
+ * fallback).
337
+ */
338
+ function pickSubmitterCapability(surface) {
339
+ if (surface.dependencies && surface.dependencies.length > 0) {
340
+ const first = surface.dependencies[0]?.capability;
341
+ if (typeof first === "string" && first.length > 0) {
342
+ return first;
343
+ }
344
+ }
345
+ if (surface.skillId && surface.skillId.length > 0) {
346
+ return surface.skillId.replace(/-/g, "_");
347
+ }
348
+ return null;
349
+ }
350
+ /**
351
+ * Build a `() => MeshJobSubmitter | null` provider for the dispatcher.
352
+ * Memoizes the first successful construction; before that point (when
353
+ * `getApiRuntime().getServiceId()` is still empty) it logs once and
354
+ * returns `null` so the dispatcher can pass `null` through to the
355
+ * handler. The handler observes the null and surfaces a clear error —
356
+ * the same fallback path Java uses when MeshRuntime isn't yet
357
+ * available.
358
+ *
359
+ * The registry URL is resolved on first call (env-var lookup is cheap
360
+ * but we still avoid doing it per-request once we have a submitter).
361
+ */
362
+ function buildJobSubmitterProvider(capability, path, skillId) {
363
+ let cached = null;
364
+ let warnedUnresolvable = false;
365
+ if (!capability) {
366
+ return () => {
367
+ if (!warnedUnresolvable) {
368
+ warnedUnresolvable = true;
369
+ console.warn(`mesh.a2a.mount(${path}): MeshJobSubmitter cannot be built — ` +
370
+ `no capability resolvable from dependencies[] or skillId='${skillId}'. ` +
371
+ `Handler's jobSubmitter arg will be null.`);
372
+ }
373
+ return null;
374
+ };
375
+ }
376
+ return () => {
377
+ if (cached !== null)
378
+ return cached;
379
+ let agentId;
380
+ try {
381
+ // getServiceId() may be missing in test fixtures that mock the
382
+ // api-runtime singleton with a partial object; treat that as
383
+ // "runtime not started yet" rather than a hard failure so the
384
+ // dispatcher's user-facing fallback (handler observes null
385
+ // jobSubmitter and surfaces a clear error) still fires.
386
+ const runtime = getApiRuntime();
387
+ agentId = typeof runtime.getServiceId === "function"
388
+ ? runtime.getServiceId()
389
+ : undefined;
390
+ }
391
+ catch {
392
+ agentId = undefined;
393
+ }
394
+ if (!agentId) {
395
+ // api-runtime not yet started — handler observes null. Common on
396
+ // the very first tasks/send if the client races the agent's
397
+ // scheduled start; subsequent requests succeed.
398
+ return null;
399
+ }
400
+ // Match the original example's resolution path so users see the
401
+ // same behavior. process.env.MCP_MESH_REGISTRY_URL is the env var
402
+ // the SDK's resolveConfig("registry_url", ...) reads.
403
+ const registryUrl = process.env.MCP_MESH_REGISTRY_URL ?? "http://localhost:8000";
404
+ try {
405
+ cached = new MeshJobSubmitter(capability, agentId, registryUrl);
406
+ return cached;
407
+ }
408
+ catch (err) {
409
+ const msg = err?.message ?? String(err);
410
+ // Don't memoize transient construction failures — try again on
411
+ // the next request. The submitter constructor itself is currently
412
+ // trivial (no I/O until submit() fires) so failures here are rare.
413
+ if (!warnedUnresolvable) {
414
+ warnedUnresolvable = true;
415
+ console.warn(`mesh.a2a.mount(${path}): failed to construct MeshJobSubmitter ` +
416
+ `(capability='${capability}'): ${msg}`);
417
+ }
418
+ return null;
419
+ }
420
+ };
421
+ }
422
+ //# sourceMappingURL=mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../src/a2a/producer/mount.ts"],"names":[],"mappings":"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"}