@artinet/sdk 0.5.4 → 0.5.6

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 (622) hide show
  1. package/CHANGELOG.md +106 -20
  2. package/README.md +472 -215
  3. package/dist/client/a2a-client.js +6 -1
  4. package/dist/client/a2a-client.js.map +1 -1
  5. package/dist/index.js +3 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/server/express/errors.js +51 -0
  8. package/dist/server/express/errors.js.map +1 -0
  9. package/dist/server/express/index.js +4 -0
  10. package/dist/server/express/index.js.map +1 -0
  11. package/dist/server/express/middeware.js +116 -0
  12. package/dist/server/express/middeware.js.map +1 -0
  13. package/dist/server/express/server.js +80 -0
  14. package/dist/server/express/server.js.map +1 -0
  15. package/dist/server/index.js +1 -7
  16. package/dist/server/index.js.map +1 -1
  17. package/dist/services/a2a/factory/builder.js +392 -0
  18. package/dist/services/a2a/factory/builder.js.map +1 -0
  19. package/dist/services/a2a/factory/context.js +151 -0
  20. package/dist/services/a2a/factory/context.js.map +1 -0
  21. package/dist/services/a2a/factory/event.js +182 -0
  22. package/dist/services/a2a/factory/event.js.map +1 -0
  23. package/dist/services/a2a/factory/index.js +6 -0
  24. package/dist/services/a2a/factory/index.js.map +1 -0
  25. package/dist/services/a2a/factory/method.js +15 -0
  26. package/dist/services/a2a/factory/method.js.map +1 -0
  27. package/dist/services/a2a/factory/service.js +12 -0
  28. package/dist/services/a2a/factory/service.js.map +1 -0
  29. package/dist/services/a2a/helpers/index.js +2 -0
  30. package/dist/services/a2a/helpers/index.js.map +1 -0
  31. package/dist/services/a2a/helpers/part.js +47 -0
  32. package/dist/services/a2a/helpers/part.js.map +1 -0
  33. package/dist/services/a2a/index.js +5 -1
  34. package/dist/services/a2a/index.js.map +1 -1
  35. package/dist/services/a2a/managers/cancellation.js +17 -0
  36. package/dist/services/a2a/managers/cancellation.js.map +1 -0
  37. package/dist/services/a2a/managers/connection.js +17 -0
  38. package/dist/services/a2a/managers/connection.js.map +1 -0
  39. package/dist/services/a2a/managers/context.js +17 -0
  40. package/dist/services/a2a/managers/context.js.map +1 -0
  41. package/dist/services/a2a/managers/index.js +6 -0
  42. package/dist/services/a2a/managers/index.js.map +1 -0
  43. package/dist/services/a2a/managers/task.js +17 -0
  44. package/dist/services/a2a/managers/task.js.map +1 -0
  45. package/dist/services/a2a/methods/cancel-task.js +47 -0
  46. package/dist/services/a2a/methods/cancel-task.js.map +1 -0
  47. package/dist/services/a2a/methods/get-task.js +15 -0
  48. package/dist/services/a2a/methods/get-task.js.map +1 -0
  49. package/dist/services/a2a/methods/index.js +6 -0
  50. package/dist/services/a2a/methods/index.js.map +1 -0
  51. package/dist/services/a2a/methods/resubscribe-task.js +77 -0
  52. package/dist/services/a2a/methods/resubscribe-task.js.map +1 -0
  53. package/dist/services/a2a/methods/send-message.js +20 -0
  54. package/dist/services/a2a/methods/send-message.js.map +1 -0
  55. package/dist/services/a2a/methods/stream-message.js +39 -0
  56. package/dist/services/a2a/methods/stream-message.js.map +1 -0
  57. package/dist/services/a2a/service.js +88 -239
  58. package/dist/services/a2a/service.js.map +1 -1
  59. package/dist/services/a2a/state/index.js +4 -0
  60. package/dist/services/a2a/state/index.js.map +1 -0
  61. package/dist/services/a2a/state/load.js +43 -0
  62. package/dist/services/a2a/state/load.js.map +1 -0
  63. package/dist/services/a2a/state/process.js +14 -0
  64. package/dist/services/a2a/state/process.js.map +1 -0
  65. package/dist/services/a2a/state/update/artifact.js +40 -0
  66. package/dist/services/a2a/state/update/artifact.js.map +1 -0
  67. package/dist/services/a2a/state/update/index.js +3 -0
  68. package/dist/services/a2a/state/update/index.js.map +1 -0
  69. package/dist/{server/lib/update/base.js → services/a2a/state/update/update.js} +23 -9
  70. package/dist/services/a2a/state/update/update.js.map +1 -0
  71. package/dist/services/core/execution/execute.js +26 -0
  72. package/dist/services/core/execution/execute.js.map +1 -0
  73. package/dist/services/core/execution/index.js +2 -0
  74. package/dist/services/core/execution/index.js.map +1 -0
  75. package/dist/services/core/index.js +3 -0
  76. package/dist/services/core/index.js.map +1 -0
  77. package/dist/services/core/managers/command.js +95 -0
  78. package/dist/services/core/managers/command.js.map +1 -0
  79. package/dist/services/core/managers/event.js +57 -0
  80. package/dist/services/core/managers/event.js.map +1 -0
  81. package/dist/services/core/managers/index.js +4 -0
  82. package/dist/services/core/managers/index.js.map +1 -0
  83. package/dist/services/core/managers/stream.js +78 -0
  84. package/dist/services/core/managers/stream.js.map +1 -0
  85. package/dist/services/index.js +2 -1
  86. package/dist/services/index.js.map +1 -1
  87. package/dist/transport/index.js +1 -1
  88. package/dist/transport/index.js.map +1 -1
  89. package/dist/transport/rpc/parser.js +13 -5
  90. package/dist/transport/rpc/parser.js.map +1 -1
  91. package/dist/transport/rpc/rpc-client.js +10 -2
  92. package/dist/transport/rpc/rpc-client.js.map +1 -1
  93. package/dist/transport/streaming/event-stream.js +5 -1
  94. package/dist/transport/streaming/event-stream.js.map +1 -1
  95. package/dist/transport/trpc/a2a/factory/index.js +2 -0
  96. package/dist/transport/trpc/a2a/factory/index.js.map +1 -0
  97. package/dist/transport/trpc/a2a/factory/router.js +17 -0
  98. package/dist/transport/trpc/a2a/factory/router.js.map +1 -0
  99. package/dist/transport/trpc/a2a/index.js +4 -0
  100. package/dist/transport/trpc/a2a/index.js.map +1 -0
  101. package/dist/transport/trpc/a2a/routes/index.js +4 -0
  102. package/dist/transport/trpc/a2a/routes/index.js.map +1 -0
  103. package/dist/transport/trpc/a2a/routes/info.js +10 -0
  104. package/dist/transport/trpc/a2a/routes/info.js.map +1 -0
  105. package/dist/transport/trpc/a2a/routes/message/index.js +2 -0
  106. package/dist/transport/trpc/a2a/routes/message/index.js.map +1 -0
  107. package/dist/transport/trpc/a2a/routes/message/route.js +38 -0
  108. package/dist/transport/trpc/a2a/routes/message/route.js.map +1 -0
  109. package/dist/transport/trpc/a2a/routes/tasks/index.js +2 -0
  110. package/dist/transport/trpc/a2a/routes/tasks/index.js.map +1 -0
  111. package/dist/transport/trpc/a2a/routes/tasks/route.js +71 -0
  112. package/dist/transport/trpc/a2a/routes/tasks/route.js.map +1 -0
  113. package/dist/transport/trpc/a2a/trpc.js +36 -0
  114. package/dist/transport/trpc/a2a/trpc.js.map +1 -0
  115. package/dist/transport/trpc/index.js +2 -0
  116. package/dist/transport/trpc/index.js.map +1 -0
  117. package/dist/types/client/a2a-client.d.ts +5 -1
  118. package/dist/types/client/a2a-client.d.ts.map +1 -1
  119. package/dist/types/ext.js +11 -0
  120. package/dist/types/ext.js.map +1 -0
  121. package/dist/types/index.d.ts +3 -2
  122. package/dist/types/index.d.ts.map +1 -1
  123. package/dist/types/index.js +3 -4
  124. package/dist/types/index.js.map +1 -1
  125. package/dist/types/interfaces/client.js +6 -0
  126. package/dist/types/interfaces/client.js.map +1 -0
  127. package/dist/types/interfaces/index.js +4 -0
  128. package/dist/types/interfaces/index.js.map +1 -0
  129. package/dist/types/interfaces/services/a2a/builder.js +2 -0
  130. package/dist/types/interfaces/services/a2a/builder.js.map +1 -0
  131. package/dist/types/interfaces/services/a2a/context.js +6 -0
  132. package/dist/types/interfaces/services/a2a/context.js.map +1 -0
  133. package/dist/types/interfaces/services/a2a/engine.js +6 -0
  134. package/dist/types/interfaces/services/a2a/engine.js.map +1 -0
  135. package/dist/types/interfaces/services/a2a/index.js +6 -0
  136. package/dist/types/interfaces/services/a2a/index.js.map +1 -0
  137. package/dist/types/interfaces/services/a2a/legacy.js +6 -0
  138. package/dist/types/interfaces/services/a2a/legacy.js.map +1 -0
  139. package/dist/types/interfaces/services/a2a/service.js +6 -0
  140. package/dist/types/interfaces/services/a2a/service.js.map +1 -0
  141. package/dist/types/interfaces/services/core/context/command.js +6 -0
  142. package/dist/types/interfaces/services/core/context/command.js.map +1 -0
  143. package/dist/types/interfaces/services/core/context/context.js +6 -0
  144. package/dist/types/interfaces/services/core/context/context.js.map +1 -0
  145. package/dist/types/interfaces/services/core/context/index.js +4 -0
  146. package/dist/types/interfaces/services/core/context/index.js.map +1 -0
  147. package/dist/types/interfaces/services/core/context/types.js +6 -0
  148. package/dist/types/interfaces/services/core/context/types.js.map +1 -0
  149. package/dist/types/interfaces/services/core/execution/engine.js +6 -0
  150. package/dist/types/interfaces/services/core/execution/engine.js.map +1 -0
  151. package/dist/types/interfaces/services/core/execution/environment.js +6 -0
  152. package/dist/types/interfaces/services/core/execution/environment.js.map +1 -0
  153. package/dist/types/interfaces/services/core/execution/execute.js +6 -0
  154. package/dist/types/interfaces/services/core/execution/execute.js.map +1 -0
  155. package/dist/types/interfaces/services/core/execution/index.js +4 -0
  156. package/dist/types/interfaces/services/core/execution/index.js.map +1 -0
  157. package/dist/types/interfaces/services/core/index.js +5 -0
  158. package/dist/types/interfaces/services/core/index.js.map +1 -0
  159. package/dist/types/interfaces/services/core/managers/cancellation.js +6 -0
  160. package/dist/types/interfaces/services/core/managers/cancellation.js.map +1 -0
  161. package/dist/types/interfaces/services/core/managers/connection.js +6 -0
  162. package/dist/types/interfaces/services/core/managers/connection.js.map +1 -0
  163. package/dist/types/interfaces/services/core/managers/context.js +6 -0
  164. package/dist/types/interfaces/services/core/managers/context.js.map +1 -0
  165. package/dist/types/interfaces/services/core/managers/event.js +6 -0
  166. package/dist/types/interfaces/services/core/managers/event.js.map +1 -0
  167. package/dist/types/interfaces/services/core/managers/index.js +7 -0
  168. package/dist/types/interfaces/services/core/managers/index.js.map +1 -0
  169. package/dist/types/interfaces/services/core/managers/stream.js +6 -0
  170. package/dist/types/interfaces/services/core/managers/stream.js.map +1 -0
  171. package/dist/types/interfaces/services/core/managers/task.js +2 -0
  172. package/dist/types/interfaces/services/core/managers/task.js.map +1 -0
  173. package/dist/types/interfaces/services/core/service.js +6 -0
  174. package/dist/types/interfaces/services/core/service.js.map +1 -0
  175. package/dist/types/interfaces/services/index.js +4 -0
  176. package/dist/types/interfaces/services/index.js.map +1 -0
  177. package/dist/types/{services → interfaces/services}/protocol.js +4 -0
  178. package/dist/types/interfaces/services/protocol.js.map +1 -0
  179. package/dist/types/interfaces/storage.js +6 -0
  180. package/dist/types/interfaces/storage.js.map +1 -0
  181. package/dist/types/schemas/a2a/agent.js +319 -0
  182. package/dist/types/schemas/a2a/agent.js.map +1 -0
  183. package/dist/types/schemas/a2a/auth.js +274 -0
  184. package/dist/types/schemas/a2a/auth.js.map +1 -0
  185. package/dist/types/schemas/a2a/error.js +119 -0
  186. package/dist/types/schemas/a2a/error.js.map +1 -1
  187. package/dist/types/schemas/a2a/index.js +8 -4
  188. package/dist/types/schemas/a2a/index.js.map +1 -1
  189. package/dist/types/schemas/a2a/kind.js +21 -0
  190. package/dist/types/schemas/a2a/kind.js.map +1 -0
  191. package/dist/types/schemas/a2a/message.js +130 -1
  192. package/dist/types/schemas/a2a/message.js.map +1 -1
  193. package/dist/types/schemas/a2a/notification.js +202 -1
  194. package/dist/types/schemas/a2a/notification.js.map +1 -1
  195. package/dist/types/schemas/a2a/parameters.js +241 -1
  196. package/dist/types/schemas/a2a/parameters.js.map +1 -1
  197. package/dist/types/schemas/a2a/protocol.js +60 -0
  198. package/dist/types/schemas/a2a/protocol.js.map +1 -0
  199. package/dist/types/schemas/a2a/rpc.js +126 -1
  200. package/dist/types/schemas/a2a/rpc.js.map +1 -1
  201. package/dist/types/schemas/a2a/task.js +131 -12
  202. package/dist/types/schemas/a2a/task.js.map +1 -1
  203. package/dist/types/schemas/a2a/transport.js +28 -0
  204. package/dist/types/schemas/a2a/transport.js.map +1 -0
  205. package/dist/types/schemas/deployment/index.js +3 -0
  206. package/dist/types/schemas/deployment/index.js.map +1 -0
  207. package/dist/types/schemas/deployment/proxy.js +6 -0
  208. package/dist/types/schemas/deployment/proxy.js.map +1 -0
  209. package/dist/types/schemas/deployment/request.js +88 -0
  210. package/dist/types/schemas/deployment/request.js.map +1 -0
  211. package/dist/types/schemas/index.js +1 -0
  212. package/dist/types/schemas/index.js.map +1 -1
  213. package/dist/types/server/express/errors.d.ts +10 -0
  214. package/dist/types/server/express/errors.d.ts.map +1 -0
  215. package/dist/types/server/express/index.d.ts +4 -0
  216. package/dist/types/server/express/index.d.ts.map +1 -0
  217. package/dist/types/server/express/middeware.d.ts +8 -0
  218. package/dist/types/server/express/middeware.d.ts.map +1 -0
  219. package/dist/types/server/express/server.d.ts +71 -0
  220. package/dist/types/server/express/server.d.ts.map +1 -0
  221. package/dist/types/server/index.d.ts +1 -7
  222. package/dist/types/server/index.d.ts.map +1 -1
  223. package/dist/types/services/a2a/factory/builder.d.ts +352 -0
  224. package/dist/types/services/a2a/factory/builder.d.ts.map +1 -0
  225. package/dist/types/services/a2a/factory/context.d.ts +133 -0
  226. package/dist/types/services/a2a/factory/context.d.ts.map +1 -0
  227. package/dist/types/services/a2a/factory/event.d.ts +59 -0
  228. package/dist/types/services/a2a/factory/event.d.ts.map +1 -0
  229. package/dist/types/services/a2a/factory/index.d.ts +6 -0
  230. package/dist/types/services/a2a/factory/index.d.ts.map +1 -0
  231. package/dist/types/services/a2a/factory/method.d.ts +7 -0
  232. package/dist/types/services/a2a/factory/method.d.ts.map +1 -0
  233. package/dist/types/services/a2a/factory/service.d.ts +10 -0
  234. package/dist/types/services/a2a/factory/service.d.ts.map +1 -0
  235. package/dist/types/services/a2a/helpers/index.d.ts +2 -0
  236. package/dist/types/services/a2a/helpers/index.d.ts.map +1 -0
  237. package/dist/types/services/a2a/helpers/part.d.ts +49 -0
  238. package/dist/types/services/a2a/helpers/part.d.ts.map +1 -0
  239. package/dist/types/services/a2a/index.d.ts +5 -1
  240. package/dist/types/services/a2a/index.d.ts.map +1 -1
  241. package/dist/types/services/a2a/managers/cancellation.d.ts +12 -0
  242. package/dist/types/services/a2a/managers/cancellation.d.ts.map +1 -0
  243. package/dist/types/services/a2a/managers/connection.d.ts +12 -0
  244. package/dist/types/services/a2a/managers/connection.d.ts.map +1 -0
  245. package/dist/types/services/a2a/managers/context.d.ts +12 -0
  246. package/dist/types/services/a2a/managers/context.d.ts.map +1 -0
  247. package/dist/types/services/a2a/managers/index.d.ts +6 -0
  248. package/dist/types/services/a2a/managers/index.d.ts.map +1 -0
  249. package/dist/types/services/a2a/managers/task.d.ts +12 -0
  250. package/dist/types/services/a2a/managers/task.d.ts.map +1 -0
  251. package/dist/types/services/a2a/methods/cancel-task.d.ts +8 -0
  252. package/dist/types/services/a2a/methods/cancel-task.d.ts.map +1 -0
  253. package/dist/types/services/a2a/methods/get-task.d.ts +113 -0
  254. package/dist/types/services/a2a/methods/get-task.d.ts.map +1 -0
  255. package/dist/types/services/a2a/methods/index.d.ts +6 -0
  256. package/dist/types/services/a2a/methods/index.d.ts.map +1 -0
  257. package/dist/types/services/a2a/methods/resubscribe-task.d.ts +8 -0
  258. package/dist/types/services/a2a/methods/resubscribe-task.d.ts.map +1 -0
  259. package/dist/types/services/a2a/methods/send-message.d.ts +8 -0
  260. package/dist/types/services/a2a/methods/send-message.d.ts.map +1 -0
  261. package/dist/types/services/a2a/methods/stream-message.d.ts +9 -0
  262. package/dist/types/services/a2a/methods/stream-message.d.ts.map +1 -0
  263. package/dist/types/services/a2a/service.d.ts +375 -41
  264. package/dist/types/services/a2a/service.d.ts.map +1 -1
  265. package/dist/types/services/a2a/state/index.d.ts +4 -0
  266. package/dist/types/services/a2a/state/index.d.ts.map +1 -0
  267. package/dist/types/services/a2a/state/load.d.ts +15 -0
  268. package/dist/types/services/a2a/state/load.d.ts.map +1 -0
  269. package/dist/types/services/a2a/state/process.d.ts +8 -0
  270. package/dist/types/services/a2a/state/process.d.ts.map +1 -0
  271. package/dist/types/services/a2a/state/update/artifact.d.ts +11 -0
  272. package/dist/types/services/a2a/state/update/artifact.d.ts.map +1 -0
  273. package/dist/types/services/a2a/state/update/index.d.ts +3 -0
  274. package/dist/types/services/a2a/state/update/index.d.ts.map +1 -0
  275. package/dist/types/services/a2a/state/update/update.d.ts +24 -0
  276. package/dist/types/services/a2a/state/update/update.d.ts.map +1 -0
  277. package/dist/types/services/core/execution/execute.d.ts +7 -0
  278. package/dist/types/services/core/execution/execute.d.ts.map +1 -0
  279. package/dist/types/services/core/execution/index.d.ts +2 -0
  280. package/dist/types/services/core/execution/index.d.ts.map +1 -0
  281. package/dist/types/services/core/index.d.ts +3 -0
  282. package/dist/types/services/core/index.d.ts.map +1 -0
  283. package/dist/types/services/core/managers/command.d.ts +40 -0
  284. package/dist/types/services/core/managers/command.d.ts.map +1 -0
  285. package/dist/types/services/core/managers/event.d.ts +19 -0
  286. package/dist/types/services/core/managers/event.d.ts.map +1 -0
  287. package/dist/types/services/core/managers/index.d.ts +4 -0
  288. package/dist/types/services/core/managers/index.d.ts.map +1 -0
  289. package/dist/types/services/core/managers/stream.d.ts +21 -0
  290. package/dist/types/services/core/managers/stream.d.ts.map +1 -0
  291. package/dist/types/services/index.d.ts +2 -1
  292. package/dist/types/services/index.d.ts.map +1 -1
  293. package/dist/types/transport/index.d.ts +1 -1
  294. package/dist/types/transport/index.d.ts.map +1 -1
  295. package/dist/types/transport/rpc/parser.d.ts +5 -1
  296. package/dist/types/transport/rpc/parser.d.ts.map +1 -1
  297. package/dist/types/transport/rpc/rpc-client.d.ts +5 -1
  298. package/dist/types/transport/rpc/rpc-client.d.ts.map +1 -1
  299. package/dist/types/transport/streaming/event-stream.d.ts +5 -1
  300. package/dist/types/transport/streaming/event-stream.d.ts.map +1 -1
  301. package/dist/types/transport/trpc/a2a/factory/index.d.ts +2 -0
  302. package/dist/types/transport/trpc/a2a/factory/index.d.ts.map +1 -0
  303. package/dist/types/transport/trpc/a2a/factory/router.d.ts +2631 -0
  304. package/dist/types/transport/trpc/a2a/factory/router.d.ts.map +1 -0
  305. package/dist/types/transport/trpc/a2a/index.d.ts +4 -0
  306. package/dist/types/transport/trpc/a2a/index.d.ts.map +1 -0
  307. package/dist/types/transport/trpc/a2a/routes/index.d.ts +4 -0
  308. package/dist/types/transport/trpc/a2a/routes/index.d.ts.map +1 -0
  309. package/dist/types/transport/trpc/a2a/routes/info.d.ts +102 -0
  310. package/dist/types/transport/trpc/a2a/routes/info.d.ts.map +1 -0
  311. package/dist/types/transport/trpc/a2a/routes/message/index.d.ts +2 -0
  312. package/dist/types/transport/trpc/a2a/routes/message/index.d.ts.map +1 -0
  313. package/dist/types/transport/trpc/a2a/routes/message/route.d.ts +523 -0
  314. package/dist/types/transport/trpc/a2a/routes/message/route.d.ts.map +1 -0
  315. package/dist/types/transport/trpc/a2a/routes/tasks/index.d.ts +2 -0
  316. package/dist/types/transport/trpc/a2a/routes/tasks/index.d.ts.map +1 -0
  317. package/dist/types/transport/trpc/a2a/routes/tasks/route.d.ts +646 -0
  318. package/dist/types/transport/trpc/a2a/routes/tasks/route.d.ts.map +1 -0
  319. package/dist/types/transport/trpc/a2a/trpc.d.ts +272 -0
  320. package/dist/types/transport/trpc/a2a/trpc.d.ts.map +1 -0
  321. package/dist/types/transport/trpc/index.d.ts +2 -0
  322. package/dist/types/transport/trpc/index.d.ts.map +1 -0
  323. package/dist/types/types/ext.d.ts +14 -0
  324. package/dist/types/types/ext.d.ts.map +1 -0
  325. package/dist/types/types/index.d.ts +3 -4
  326. package/dist/types/types/index.d.ts.map +1 -1
  327. package/dist/types/types/{client.d.ts → interfaces/client.d.ts} +7 -2
  328. package/dist/types/types/interfaces/client.d.ts.map +1 -0
  329. package/dist/types/types/interfaces/index.d.ts +4 -0
  330. package/dist/types/types/interfaces/index.d.ts.map +1 -0
  331. package/dist/types/types/interfaces/services/a2a/builder.d.ts +33 -0
  332. package/dist/types/types/interfaces/services/a2a/builder.d.ts.map +1 -0
  333. package/dist/types/types/interfaces/services/a2a/context.d.ts +163 -0
  334. package/dist/types/types/interfaces/services/a2a/context.d.ts.map +1 -0
  335. package/dist/types/types/interfaces/services/a2a/engine.d.ts +8 -0
  336. package/dist/types/types/interfaces/services/a2a/engine.d.ts.map +1 -0
  337. package/dist/types/types/interfaces/services/a2a/index.d.ts +6 -0
  338. package/dist/types/types/interfaces/services/a2a/index.d.ts.map +1 -0
  339. package/dist/types/types/interfaces/services/a2a/legacy.d.ts +90 -0
  340. package/dist/types/types/interfaces/services/a2a/legacy.d.ts.map +1 -0
  341. package/dist/types/types/interfaces/services/a2a/service.d.ts +409 -0
  342. package/dist/types/types/interfaces/services/a2a/service.d.ts.map +1 -0
  343. package/dist/types/types/interfaces/services/core/context/command.d.ts +26 -0
  344. package/dist/types/types/interfaces/services/core/context/command.d.ts.map +1 -0
  345. package/dist/types/types/interfaces/services/core/context/context.d.ts +208 -0
  346. package/dist/types/types/interfaces/services/core/context/context.d.ts.map +1 -0
  347. package/dist/types/types/interfaces/services/core/context/index.d.ts +4 -0
  348. package/dist/types/types/interfaces/services/core/context/index.d.ts.map +1 -0
  349. package/dist/types/types/interfaces/services/core/context/types.d.ts +12 -0
  350. package/dist/types/types/interfaces/services/core/context/types.d.ts.map +1 -0
  351. package/dist/types/types/interfaces/services/core/execution/engine.d.ts +107 -0
  352. package/dist/types/types/interfaces/services/core/execution/engine.d.ts.map +1 -0
  353. package/dist/types/types/interfaces/services/core/execution/environment.d.ts +12 -0
  354. package/dist/types/types/interfaces/services/core/execution/environment.d.ts.map +1 -0
  355. package/dist/types/types/interfaces/services/core/execution/execute.d.ts +8 -0
  356. package/dist/types/types/interfaces/services/core/execution/execute.d.ts.map +1 -0
  357. package/dist/types/types/interfaces/services/core/execution/index.d.ts +4 -0
  358. package/dist/types/types/interfaces/services/core/execution/index.d.ts.map +1 -0
  359. package/dist/types/types/interfaces/services/core/index.d.ts +5 -0
  360. package/dist/types/types/interfaces/services/core/index.d.ts.map +1 -0
  361. package/dist/types/types/interfaces/services/core/managers/cancellation.d.ts +10 -0
  362. package/dist/types/types/interfaces/services/core/managers/cancellation.d.ts.map +1 -0
  363. package/dist/types/types/interfaces/services/core/managers/connection.d.ts +10 -0
  364. package/dist/types/types/interfaces/services/core/managers/connection.d.ts.map +1 -0
  365. package/dist/types/types/interfaces/services/core/managers/context.d.ts +18 -0
  366. package/dist/types/types/interfaces/services/core/managers/context.d.ts.map +1 -0
  367. package/dist/types/types/interfaces/services/core/managers/event.d.ts +329 -0
  368. package/dist/types/types/interfaces/services/core/managers/event.d.ts.map +1 -0
  369. package/dist/types/types/interfaces/services/core/managers/index.d.ts +7 -0
  370. package/dist/types/types/interfaces/services/core/managers/index.d.ts.map +1 -0
  371. package/dist/types/types/interfaces/services/core/managers/stream.d.ts +218 -0
  372. package/dist/types/types/interfaces/services/core/managers/stream.d.ts.map +1 -0
  373. package/dist/types/types/interfaces/services/core/managers/task.d.ts +10 -0
  374. package/dist/types/types/interfaces/services/core/managers/task.d.ts.map +1 -0
  375. package/dist/types/types/interfaces/services/core/service.d.ts +116 -0
  376. package/dist/types/types/interfaces/services/core/service.d.ts.map +1 -0
  377. package/dist/types/types/interfaces/services/index.d.ts +4 -0
  378. package/dist/types/types/interfaces/services/index.d.ts.map +1 -0
  379. package/dist/types/types/{services → interfaces/services}/protocol.d.ts +4 -0
  380. package/dist/types/types/interfaces/services/protocol.d.ts.map +1 -0
  381. package/dist/types/types/interfaces/storage.d.ts +9 -0
  382. package/dist/types/types/interfaces/storage.d.ts.map +1 -0
  383. package/dist/types/types/schemas/a2a/agent.d.ts +509 -0
  384. package/dist/types/types/schemas/a2a/agent.d.ts.map +1 -0
  385. package/dist/types/types/schemas/a2a/auth.d.ts +285 -0
  386. package/dist/types/types/schemas/a2a/auth.d.ts.map +1 -0
  387. package/dist/types/types/schemas/a2a/error.d.ts +133 -27
  388. package/dist/types/types/schemas/a2a/error.d.ts.map +1 -1
  389. package/dist/types/types/schemas/a2a/index.d.ts +8 -216
  390. package/dist/types/types/schemas/a2a/index.d.ts.map +1 -1
  391. package/dist/types/types/schemas/a2a/kind.d.ts +28 -0
  392. package/dist/types/types/schemas/a2a/kind.d.ts.map +1 -0
  393. package/dist/types/types/schemas/a2a/message.d.ts +2549 -69
  394. package/dist/types/types/schemas/a2a/message.d.ts.map +1 -1
  395. package/dist/types/types/schemas/a2a/notification.d.ts +321 -70
  396. package/dist/types/types/schemas/a2a/notification.d.ts.map +1 -1
  397. package/dist/types/types/schemas/a2a/parameters.d.ts +287 -167
  398. package/dist/types/types/schemas/a2a/parameters.d.ts.map +1 -1
  399. package/dist/types/types/schemas/a2a/protocol.d.ts +3207 -0
  400. package/dist/types/types/schemas/a2a/protocol.d.ts.map +1 -0
  401. package/dist/types/types/schemas/a2a/rpc.d.ts +42 -89
  402. package/dist/types/types/schemas/a2a/rpc.d.ts.map +1 -1
  403. package/dist/types/types/schemas/a2a/task.d.ts +1460 -214
  404. package/dist/types/types/schemas/a2a/task.d.ts.map +1 -1
  405. package/dist/types/types/schemas/a2a/transport.d.ts +28 -0
  406. package/dist/types/types/schemas/a2a/transport.d.ts.map +1 -0
  407. package/dist/types/types/schemas/deployment/index.d.ts +3 -0
  408. package/dist/types/types/schemas/deployment/index.d.ts.map +1 -0
  409. package/dist/types/types/{proxy.d.ts → schemas/deployment/proxy.d.ts} +6 -2
  410. package/dist/types/types/schemas/deployment/proxy.d.ts.map +1 -0
  411. package/dist/types/types/schemas/deployment/request.d.ts +508 -0
  412. package/dist/types/types/schemas/deployment/request.d.ts.map +1 -0
  413. package/dist/types/types/utils/index.d.ts +2 -0
  414. package/dist/types/types/utils/index.d.ts.map +1 -0
  415. package/dist/types/types/{transform.d.ts → utils/transform.d.ts} +4 -0
  416. package/dist/types/types/utils/transform.d.ts.map +1 -0
  417. package/dist/types/utils/api/register.d.ts +4 -0
  418. package/dist/types/utils/api/register.d.ts.map +1 -1
  419. package/dist/types/utils/common/constants.d.ts +8 -4
  420. package/dist/types/utils/common/constants.d.ts.map +1 -1
  421. package/dist/types/utils/common/errors.d.ts +6 -12
  422. package/dist/types/utils/common/errors.d.ts.map +1 -1
  423. package/dist/types/utils/common/utils.d.ts +4 -14
  424. package/dist/types/utils/common/utils.d.ts.map +1 -1
  425. package/dist/types/utils/common/zAsyncIterable.d.ts +23 -0
  426. package/dist/types/utils/common/zAsyncIterable.d.ts.map +1 -0
  427. package/dist/types/utils/deployment/agents.d.ts +5 -1
  428. package/dist/types/utils/deployment/agents.d.ts.map +1 -1
  429. package/dist/types/utils/deployment/bundler.d.ts +4 -0
  430. package/dist/types/utils/deployment/bundler.d.ts.map +1 -1
  431. package/dist/types/utils/deployment/full-deployment.d.ts +12 -2
  432. package/dist/types/utils/deployment/full-deployment.d.ts.map +1 -1
  433. package/dist/types/utils/deployment/index.d.ts +5 -0
  434. package/dist/types/utils/deployment/index.d.ts.map +1 -0
  435. package/dist/types/utils/deployment/task-wrapper.d.ts +6 -2
  436. package/dist/types/utils/deployment/task-wrapper.d.ts.map +1 -1
  437. package/dist/types/utils/deployment/test-deployment.d.ts +7 -2
  438. package/dist/types/utils/deployment/test-deployment.d.ts.map +1 -1
  439. package/dist/types/utils/index.d.ts +4 -6
  440. package/dist/types/utils/index.d.ts.map +1 -1
  441. package/dist/types/utils/index.js +2 -0
  442. package/dist/types/utils/index.js.map +1 -0
  443. package/dist/types/utils/logging/index.d.ts +3 -0
  444. package/dist/types/utils/logging/index.d.ts.map +1 -0
  445. package/dist/types/utils/logging/log.d.ts +4 -0
  446. package/dist/types/utils/logging/log.d.ts.map +1 -1
  447. package/dist/types/utils/logging/logger.d.ts +4 -0
  448. package/dist/types/utils/logging/logger.d.ts.map +1 -1
  449. package/dist/types/{server/lib → utils}/storage/file.d.ts +9 -4
  450. package/dist/types/utils/storage/file.d.ts.map +1 -0
  451. package/dist/types/{server/lib → utils}/storage/memory.d.ts +9 -4
  452. package/dist/types/utils/storage/memory.d.ts.map +1 -0
  453. package/dist/types/{transform.js → utils/transform.js} +2 -1
  454. package/dist/types/utils/transform.js.map +1 -0
  455. package/dist/utils/api/register.js +4 -0
  456. package/dist/utils/api/register.js.map +1 -1
  457. package/dist/utils/common/constants.js +20 -11
  458. package/dist/utils/common/constants.js.map +1 -1
  459. package/dist/utils/common/errors.js +7 -40
  460. package/dist/utils/common/errors.js.map +1 -1
  461. package/dist/utils/common/utils.js +4 -46
  462. package/dist/utils/common/utils.js.map +1 -1
  463. package/dist/utils/common/zAsyncIterable.js +40 -0
  464. package/dist/utils/common/zAsyncIterable.js.map +1 -0
  465. package/dist/utils/deployment/agents.js +4 -0
  466. package/dist/utils/deployment/agents.js.map +1 -1
  467. package/dist/utils/deployment/bundler.js +4 -0
  468. package/dist/utils/deployment/bundler.js.map +1 -1
  469. package/dist/utils/deployment/full-deployment.js +6 -2
  470. package/dist/utils/deployment/full-deployment.js.map +1 -1
  471. package/dist/utils/deployment/index.js +5 -0
  472. package/dist/utils/deployment/index.js.map +1 -0
  473. package/dist/utils/deployment/task-wrapper.js +4 -0
  474. package/dist/utils/deployment/task-wrapper.js.map +1 -1
  475. package/dist/utils/deployment/test-deployment.js +15 -7
  476. package/dist/utils/deployment/test-deployment.js.map +1 -1
  477. package/dist/utils/index.js +10 -6
  478. package/dist/utils/index.js.map +1 -1
  479. package/dist/utils/logging/index.js +3 -0
  480. package/dist/utils/logging/index.js.map +1 -0
  481. package/dist/utils/logging/log.js +4 -0
  482. package/dist/utils/logging/log.js.map +1 -1
  483. package/dist/utils/logging/logger.js +13 -0
  484. package/dist/utils/logging/logger.js.map +1 -1
  485. package/dist/{server/lib → utils}/storage/file.js +17 -6
  486. package/dist/utils/storage/file.js.map +1 -0
  487. package/dist/{server/lib → utils}/storage/memory.js +15 -5
  488. package/dist/utils/storage/memory.js.map +1 -0
  489. package/package.json +16 -5
  490. package/dist/server/a2a-server.js +0 -237
  491. package/dist/server/a2a-server.js.map +0 -1
  492. package/dist/server/interfaces/params.js +0 -3
  493. package/dist/server/interfaces/params.js.map +0 -1
  494. package/dist/server/interfaces/server.js +0 -2
  495. package/dist/server/interfaces/server.js.map +0 -1
  496. package/dist/server/interfaces/store.js +0 -18
  497. package/dist/server/interfaces/store.js.map +0 -1
  498. package/dist/server/lib/express-server.js +0 -252
  499. package/dist/server/lib/express-server.js.map +0 -1
  500. package/dist/server/lib/json-middleware.js +0 -3
  501. package/dist/server/lib/json-middleware.js.map +0 -1
  502. package/dist/server/lib/middleware/a2a-methods.js +0 -140
  503. package/dist/server/lib/middleware/a2a-methods.js.map +0 -1
  504. package/dist/server/lib/middleware/factory.js +0 -59
  505. package/dist/server/lib/middleware/factory.js.map +0 -1
  506. package/dist/server/lib/state.js +0 -80
  507. package/dist/server/lib/state.js.map +0 -1
  508. package/dist/server/lib/storage/file.js.map +0 -1
  509. package/dist/server/lib/storage/memory.js.map +0 -1
  510. package/dist/server/lib/update/base.js.map +0 -1
  511. package/dist/services/a2a/repository.js +0 -160
  512. package/dist/services/a2a/repository.js.map +0 -1
  513. package/dist/services/manager.js +0 -61
  514. package/dist/services/manager.js.map +0 -1
  515. package/dist/services/mcp/index.js +0 -2
  516. package/dist/services/mcp/index.js.map +0 -1
  517. package/dist/services/mcp/service.js +0 -75
  518. package/dist/services/mcp/service.js.map +0 -1
  519. package/dist/transport/streaming/stream.js +0 -111
  520. package/dist/transport/streaming/stream.js.map +0 -1
  521. package/dist/types/client.js +0 -2
  522. package/dist/types/client.js.map +0 -1
  523. package/dist/types/express.js +0 -2
  524. package/dist/types/express.js.map +0 -1
  525. package/dist/types/extended-schema.js +0 -7
  526. package/dist/types/extended-schema.js.map +0 -1
  527. package/dist/types/proxy.js +0 -2
  528. package/dist/types/proxy.js.map +0 -1
  529. package/dist/types/schemas/a2a/auth/auth.js +0 -2
  530. package/dist/types/schemas/a2a/auth/auth.js.map +0 -1
  531. package/dist/types/schemas/a2a/auth/base.js +0 -2
  532. package/dist/types/schemas/a2a/auth/base.js.map +0 -1
  533. package/dist/types/schemas/a2a/auth/index.js +0 -4
  534. package/dist/types/schemas/a2a/auth/index.js.map +0 -1
  535. package/dist/types/schemas/a2a/auth/oauth.js +0 -2
  536. package/dist/types/schemas/a2a/auth/oauth.js.map +0 -1
  537. package/dist/types/schemas/a2a/ref.js +0 -25
  538. package/dist/types/schemas/a2a/ref.js.map +0 -1
  539. package/dist/types/server/a2a-server.d.ts +0 -145
  540. package/dist/types/server/a2a-server.d.ts.map +0 -1
  541. package/dist/types/server/interfaces/params.d.ts +0 -109
  542. package/dist/types/server/interfaces/params.d.ts.map +0 -1
  543. package/dist/types/server/interfaces/server.d.ts +0 -35
  544. package/dist/types/server/interfaces/server.d.ts.map +0 -1
  545. package/dist/types/server/interfaces/store.d.ts +0 -35
  546. package/dist/types/server/interfaces/store.d.ts.map +0 -1
  547. package/dist/types/server/lib/express-server.d.ts +0 -59
  548. package/dist/types/server/lib/express-server.d.ts.map +0 -1
  549. package/dist/types/server/lib/json-middleware.d.ts +0 -3
  550. package/dist/types/server/lib/json-middleware.d.ts.map +0 -1
  551. package/dist/types/server/lib/middleware/a2a-methods.d.ts +0 -7
  552. package/dist/types/server/lib/middleware/a2a-methods.d.ts.map +0 -1
  553. package/dist/types/server/lib/middleware/factory.d.ts +0 -12
  554. package/dist/types/server/lib/middleware/factory.d.ts.map +0 -1
  555. package/dist/types/server/lib/state.d.ts +0 -20
  556. package/dist/types/server/lib/state.d.ts.map +0 -1
  557. package/dist/types/server/lib/storage/file.d.ts.map +0 -1
  558. package/dist/types/server/lib/storage/memory.d.ts.map +0 -1
  559. package/dist/types/server/lib/update/base.d.ts +0 -21
  560. package/dist/types/server/lib/update/base.d.ts.map +0 -1
  561. package/dist/types/services/a2a/repository.d.ts +0 -77
  562. package/dist/types/services/a2a/repository.d.ts.map +0 -1
  563. package/dist/types/services/a2a/repository.js +0 -2
  564. package/dist/types/services/a2a/repository.js.map +0 -1
  565. package/dist/types/services/a2a/service.js +0 -2
  566. package/dist/types/services/a2a/service.js.map +0 -1
  567. package/dist/types/services/context.js +0 -29
  568. package/dist/types/services/context.js.map +0 -1
  569. package/dist/types/services/dispatcher.js +0 -33
  570. package/dist/types/services/dispatcher.js.map +0 -1
  571. package/dist/types/services/index.js +0 -9
  572. package/dist/types/services/index.js.map +0 -1
  573. package/dist/types/services/manager.d.ts +0 -44
  574. package/dist/types/services/manager.d.ts.map +0 -1
  575. package/dist/types/services/manager.js +0 -2
  576. package/dist/types/services/manager.js.map +0 -1
  577. package/dist/types/services/mcp/index.d.ts +0 -2
  578. package/dist/types/services/mcp/index.d.ts.map +0 -1
  579. package/dist/types/services/mcp/service.d.ts +0 -30
  580. package/dist/types/services/mcp/service.d.ts.map +0 -1
  581. package/dist/types/services/mcp/service.js +0 -8
  582. package/dist/types/services/mcp/service.js.map +0 -1
  583. package/dist/types/services/protocol.js.map +0 -1
  584. package/dist/types/services/service.js +0 -2
  585. package/dist/types/services/service.js.map +0 -1
  586. package/dist/types/transform.js.map +0 -1
  587. package/dist/types/transport/streaming/stream.d.ts +0 -42
  588. package/dist/types/transport/streaming/stream.d.ts.map +0 -1
  589. package/dist/types/types/client.d.ts.map +0 -1
  590. package/dist/types/types/express.d.ts +0 -66
  591. package/dist/types/types/express.d.ts.map +0 -1
  592. package/dist/types/types/extended-schema.d.ts +0 -174
  593. package/dist/types/types/extended-schema.d.ts.map +0 -1
  594. package/dist/types/types/proxy.d.ts.map +0 -1
  595. package/dist/types/types/schemas/a2a/auth/auth.d.ts +0 -80
  596. package/dist/types/types/schemas/a2a/auth/auth.d.ts.map +0 -1
  597. package/dist/types/types/schemas/a2a/auth/base.d.ts +0 -16
  598. package/dist/types/types/schemas/a2a/auth/base.d.ts.map +0 -1
  599. package/dist/types/types/schemas/a2a/auth/index.d.ts +0 -4
  600. package/dist/types/types/schemas/a2a/auth/index.d.ts.map +0 -1
  601. package/dist/types/types/schemas/a2a/auth/oauth.d.ts +0 -124
  602. package/dist/types/types/schemas/a2a/auth/oauth.d.ts.map +0 -1
  603. package/dist/types/types/schemas/a2a/ref.d.ts +0 -2057
  604. package/dist/types/types/schemas/a2a/ref.d.ts.map +0 -1
  605. package/dist/types/types/services/a2a/repository.d.ts +0 -85
  606. package/dist/types/types/services/a2a/repository.d.ts.map +0 -1
  607. package/dist/types/types/services/a2a/service.d.ts +0 -29
  608. package/dist/types/types/services/a2a/service.d.ts.map +0 -1
  609. package/dist/types/types/services/context.d.ts +0 -167
  610. package/dist/types/types/services/context.d.ts.map +0 -1
  611. package/dist/types/types/services/dispatcher.d.ts +0 -20
  612. package/dist/types/types/services/dispatcher.d.ts.map +0 -1
  613. package/dist/types/types/services/index.d.ts +0 -9
  614. package/dist/types/types/services/index.d.ts.map +0 -1
  615. package/dist/types/types/services/manager.d.ts +0 -42
  616. package/dist/types/types/services/manager.d.ts.map +0 -1
  617. package/dist/types/types/services/mcp/service.d.ts +0 -57
  618. package/dist/types/types/services/mcp/service.d.ts.map +0 -1
  619. package/dist/types/types/services/protocol.d.ts.map +0 -1
  620. package/dist/types/types/services/service.d.ts +0 -35
  621. package/dist/types/types/services/service.d.ts.map +0 -1
  622. package/dist/types/types/transform.d.ts.map +0 -1
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * @fileoverview A2A Event Manager Factory
7
+ *
8
+ * This module provides factory functions for creating A2A-specific event managers
9
+ * that handle the complete lifecycle of agent-to-agent communication tasks.
10
+ * It integrates with the core event management system while providing A2A-specific
11
+ * behavior for state management, task tracking, and error handling.
12
+ *
13
+ * @module A2AEventFactory
14
+ * @version 1.0.0
15
+ * @since 0.5.6
16
+ * @author The Artinet Project
17
+ */
18
+ import { EventManager } from "../../core/managers/event.js";
19
+ import { TaskState, } from "../../../types/index.js";
20
+ import { INTERNAL_ERROR, INVALID_PARAMS, CANCEL_UPDATE, FAILED_UPDATE, logError, } from "../../../utils/index.js";
21
+ import { loadState, processUpdate } from "../state/index.js";
22
+ import { v4 as uuidv4 } from "uuid";
23
+ /**
24
+ * Creates an A2A-specific event manager with integrated task and state management.
25
+ *
26
+ * This factory function creates an event manager tailored for A2A operations,
27
+ * providing comprehensive lifecycle management for agent-to-agent communication
28
+ * tasks. It handles state persistence, task tracking, error scenarios, and
29
+ * cancellation while integrating with the broader A2A service framework.
30
+ *
31
+ * @template TCommand - The command type, must extend Command
32
+ * @template TState - The state type, must extend State
33
+ * @template TUpdate - The update type, must extend Update
34
+ *
35
+ * @param service - The A2A service instance for state and connection management
36
+ * @param id - Optional context ID (generates UUID if not provided)
37
+ * @param eventOverrides - Optional event handling overrides
38
+ * @returns Configured EventManager instance for A2A operations
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const eventManager = createEventManager(
43
+ * a2aService,
44
+ * 'context-123',
45
+ * {
46
+ * onStart: async (context) => {
47
+ * console.log('A2A task starting');
48
+ * return await initializeA2AState(context);
49
+ * },
50
+ * onComplete: async (finalState) => {
51
+ * console.log('A2A task completed');
52
+ * await notifyCompletion(finalState);
53
+ * }
54
+ * }
55
+ * );
56
+ * ```
57
+ *
58
+ * @public
59
+ * @since 0.5.6
60
+ */
61
+ export function createEventManager(service, id, eventOverrides) {
62
+ const contextId = id ?? uuidv4();
63
+ /**
64
+ * Task store implementation that bridges between event management and A2A service state management.
65
+ *
66
+ * This store provides the interface needed by the legacy update processing logic
67
+ * while integrating with the A2A service's state management capabilities.
68
+ */
69
+ const taskStore = {
70
+ save: async (data) => {
71
+ if (!data.task?.id) {
72
+ throw INTERNAL_ERROR({
73
+ data: {
74
+ message: "Task ID is required",
75
+ },
76
+ });
77
+ }
78
+ service.setState(data.task.id, data);
79
+ },
80
+ load: async (taskId) => {
81
+ return (await service.getState(taskId)) ?? null;
82
+ },
83
+ };
84
+ // Configure A2A-specific event handling options
85
+ const options = {
86
+ onStart: async (context) => {
87
+ const request = context.command;
88
+ if (!request || (!request.message && !("message" in request))) {
89
+ throw INVALID_PARAMS("No request detected");
90
+ }
91
+ let currentContextId = contextId;
92
+ if (request.message.contextId) {
93
+ currentContextId = request.message.contextId;
94
+ }
95
+ service.addConnection(currentContextId);
96
+ const currentState = await loadState(taskStore, request.message, request.metadata, request.message.taskId, currentContextId);
97
+ return currentState;
98
+ },
99
+ onCancel: async (current, update) => {
100
+ const localContextId = update.contextId ?? contextId;
101
+ const localTaskId = update.taskId ?? update.id;
102
+ service.addCancellation(localContextId);
103
+ const cancellation = CANCEL_UPDATE(localTaskId, localContextId);
104
+ const cancelUpdate = {
105
+ ...update,
106
+ ...cancellation,
107
+ status: {
108
+ ...update.status,
109
+ ...cancellation.status,
110
+ state: TaskState.canceled,
111
+ },
112
+ final: true,
113
+ };
114
+ await processUpdate(taskStore, {
115
+ context: {
116
+ contextId: localContextId,
117
+ task: current.task,
118
+ userMessage: current.task?.status?.message ?? {},
119
+ isCancelled: () => service.isCancelled(localContextId),
120
+ history: current.history ?? current.task?.history ?? [],
121
+ },
122
+ current: current,
123
+ update: cancelUpdate,
124
+ });
125
+ },
126
+ onUpdate: async (current, update) => {
127
+ if (service.isCancelled(contextId)) {
128
+ return current;
129
+ }
130
+ try {
131
+ const currentState = (await processUpdate(taskStore, {
132
+ context: {
133
+ contextId: contextId,
134
+ task: current.task,
135
+ userMessage: current.task?.status?.message ?? {},
136
+ isCancelled: () => service.isCancelled(contextId),
137
+ history: current.history ?? current.task?.history ?? [],
138
+ },
139
+ current: current,
140
+ update: update,
141
+ }));
142
+ return currentState;
143
+ }
144
+ catch (error) {
145
+ logError(`onUpdate[${contextId}]:`, "error detected", error, update);
146
+ throw error;
147
+ }
148
+ },
149
+ onError: async (current, error) => {
150
+ logError(`onError[${contextId}]`, "error detected", error, current);
151
+ if (!current ||
152
+ (!current.task?.contextId && !current?.contextId)) {
153
+ return;
154
+ }
155
+ const failedUpdate = FAILED_UPDATE(current.task?.id, current.task?.contextId ?? contextId, "failed-update", error instanceof Error ? error.message : String(error));
156
+ await processUpdate(taskStore, {
157
+ context: {
158
+ contextId: current.task?.contextId ?? contextId,
159
+ task: current.task,
160
+ userMessage: current.task?.status?.message ?? {},
161
+ isCancelled: () => service.isCancelled(contextId),
162
+ history: current.history ?? current.task?.history ?? [],
163
+ },
164
+ current: current,
165
+ update: failedUpdate,
166
+ });
167
+ },
168
+ onComplete: async () => {
169
+ service.removeCancellation(contextId);
170
+ service.removeConnection(contextId);
171
+ },
172
+ // getState: (): TState => {
173
+ // const state = service.getState(contextId) ?? ({} as TState);
174
+ // return state;
175
+ // },
176
+ };
177
+ return new EventManager(contextId, {
178
+ ...options,
179
+ ...eventOverrides, // Override options take precedence over defaults
180
+ });
181
+ }
182
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../src/services/a2a/factory/event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./context.js";
2
+ export * from "./builder.js";
3
+ export * from "./event.js";
4
+ export * from "./method.js";
5
+ export * from "./service.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/a2a/factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { getTask, cancelTask, sendMessage, streamMessage, resubscribe, } from "../methods/index.js";
6
+ export function createMethods(methods) {
7
+ return {
8
+ getTask: methods?.getTask ?? getTask,
9
+ cancelTask: methods?.cancelTask ?? cancelTask,
10
+ sendMessage: methods?.sendMessage ?? sendMessage,
11
+ streamMessage: methods?.streamMessage ?? streamMessage,
12
+ resubscribe: methods?.resubscribe ?? resubscribe,
13
+ };
14
+ }
15
+ //# sourceMappingURL=method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"method.js","sourceRoot":"","sources":["../../../../src/services/a2a/factory/method.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,aAAa,CAAC,OAAgC;IAC5D,OAAO;QACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO;QACpC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,UAAU;QAC7C,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,WAAW;QAChD,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,aAAa;QACtD,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,WAAW;KACjD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { A2AService } from "../service.js";
6
+ import { ContextManager, ConnectionManager, CancellationManager, TaskManager, } from "../managers/index.js";
7
+ import { createMethods } from "./method.js";
8
+ export function createService(params) {
9
+ return new A2AService(params.agentCard, params.engine, params.contexts ?? new ContextManager(), params.connections ?? new ConnectionManager(), params.cancellations ?? new CancellationManager(), params.tasks ?? new TaskManager(), createMethods(params.methods), params.events);
10
+ }
11
+ export const createAgent = createService;
12
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/services/a2a/factory/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,OAAO,IAAI,UAAU,CACnB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,IAAI,IAAI,cAAc,EAA0B,EAC/D,MAAM,CAAC,WAAW,IAAI,IAAI,iBAAiB,EAAE,EAC7C,MAAM,CAAC,aAAa,IAAI,IAAI,mBAAmB,EAAE,EACjD,MAAM,CAAC,KAAK,IAAI,IAAI,WAAW,EAAE,EACjC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAC7B,MAAM,CAAC,MAAM,CACd,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./part.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/a2a/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Extracts and aggregates the text, file, and data contents from an array of Part objects.
3
+ *
4
+ * @param parts - An array of Part objects, which may include text, file, or data kinds.
5
+ * @returns An object containing:
6
+ * - text: Concatenated string of all text parts.
7
+ * - file: Array of file contents from file parts.
8
+ * - data: Array of data contents from data parts.
9
+ *
10
+ * @remarks
11
+ * This utility is used to normalize and access the payloads of message parts
12
+ * in a structured way for downstream processing.
13
+ */
14
+ export const getParts = (parts) => {
15
+ const textParts = parts.filter((part) => part.kind === "text");
16
+ const fileParts = parts.filter((part) => part.kind === "file");
17
+ const dataParts = parts.filter((part) => part.kind === "data");
18
+ return {
19
+ text: textParts.map((part) => part.text).join(" "),
20
+ file: fileParts.map((part) => part.file),
21
+ data: dataParts.map((part) => part.data),
22
+ };
23
+ };
24
+ /**
25
+ * Extracts and aggregates the text, file, and data payloads from a Message's parts array.
26
+ *
27
+ * @param message - The Message object containing an array of Part objects (text, file, or data).
28
+ * @returns An object with the following properties:
29
+ * - text: A single string containing the concatenated text from all text parts.
30
+ * - file: An array of file payloads from all file parts.
31
+ * - data: An array of data payloads from all data parts.
32
+ *
33
+ * @remarks
34
+ * This utility function is intended to simplify downstream processing by normalizing
35
+ * the payloads of a Message's parts into a structured object. It is especially useful
36
+ * when handling user input or agent responses that may include multiple content types.
37
+ *
38
+ * @example
39
+ * const payload = getPayload(message);
40
+ * console.log(payload.text); // "Hello world"
41
+ * console.log(payload.file); // [<file1>, <file2>]
42
+ * console.log(payload.data); // [<data1>, <data2>]
43
+ */
44
+ export const getPayload = (message) => {
45
+ return getParts(message.parts);
46
+ };
47
+ //# sourceMappingURL=part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"part.js","sourceRoot":"","sources":["../../../../src/services/a2a/helpers/part.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAAa,EAKb,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAChE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAAiB,CAAC,IAAI,CAAC;QACtD,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAAiB,CAAC,IAAI,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAgB,EAKhB,EAAE;IACF,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC"}
@@ -1,3 +1,7 @@
1
- export * from "./repository.js";
1
+ export * from "./factory/index.js";
2
+ export * from "./helpers/index.js";
3
+ export * from "./managers/index.js";
4
+ export * from "./methods/index.js";
5
+ export * from "./state/index.js";
2
6
  export * from "./service.js";
3
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/a2a/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/a2a/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export class CancellationManager {
6
+ cancellations = new Set();
7
+ addCancellation(id) {
8
+ this.cancellations.add(id);
9
+ }
10
+ removeCancellation(id) {
11
+ this.cancellations.delete(id);
12
+ }
13
+ isCancelled(id) {
14
+ return this.cancellations.has(id);
15
+ }
16
+ }
17
+ //# sourceMappingURL=cancellation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../../../src/services/a2a/managers/cancellation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,mBAAmB;IACtB,aAAa,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC/C,eAAe,CAAC,EAAU;QACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,kBAAkB,CAAC,EAAU;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export class ConnectionManager {
6
+ connections = new Set();
7
+ addConnection(id) {
8
+ this.connections.add(id);
9
+ }
10
+ removeConnection(id) {
11
+ this.connections.delete(id);
12
+ }
13
+ isConnected(id) {
14
+ return this.connections.has(id);
15
+ }
16
+ }
17
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/services/a2a/managers/connection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,iBAAiB;IACpB,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC7C,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,gBAAgB,CAAC,EAAU;QACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export class ContextManager {
6
+ contexts = new Map();
7
+ deleteContext(id) {
8
+ this.contexts.delete(id);
9
+ }
10
+ setContext(id, context) {
11
+ this.contexts.set(id, context);
12
+ }
13
+ getContext(id) {
14
+ return this.contexts.get(id);
15
+ }
16
+ }
17
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/services/a2a/managers/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,OAAO,cAAc;IAMjB,QAAQ,GACd,IAAI,GAAG,EAAE,CAAC;IACZ,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,UAAU,CAAC,EAAU,EAAE,OAA+C;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export * from "./cancellation.js";
2
+ export * from "./connection.js";
3
+ export * from "./context.js";
4
+ export * from "../factory/event.js";
5
+ export * from "./task.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/a2a/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export class TaskManager {
6
+ states = new Map();
7
+ getState(id) {
8
+ return this.states.get(id);
9
+ }
10
+ setState(id, data) {
11
+ this.states.set(id, data);
12
+ }
13
+ getStates() {
14
+ return Array.from(this.states.keys());
15
+ }
16
+ }
17
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/services/a2a/managers/task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,WAAW;IAGd,MAAM,GAA0B,IAAI,GAAG,EAAE,CAAC;IAClD,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,IAAc;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { TaskState, } from "../../../types/index.js";
6
+ import { FINAL_STATES, TASK_NOT_FOUND, TASK_NOT_CANCELABLE, } from "../../../utils/index.js";
7
+ export async function cancelTask(input, params) {
8
+ const { service, contextManager } = params;
9
+ const originalState = await service.getState(input.id);
10
+ const task = originalState?.task;
11
+ if (!task) {
12
+ throw TASK_NOT_FOUND({ taskId: input.id });
13
+ }
14
+ if (FINAL_STATES.includes(task.status.state)) {
15
+ throw TASK_NOT_CANCELABLE("Task is in a final state: " + task.status.state);
16
+ }
17
+ service.addCancellation(input.id);
18
+ const cancelledTask = {
19
+ ...task,
20
+ status: {
21
+ ...task.status,
22
+ state: TaskState.canceled,
23
+ },
24
+ };
25
+ const context = contextManager.getContext(task.contextId ?? input.id);
26
+ if (!context) {
27
+ service.setState(input.id, {
28
+ ...originalState,
29
+ task: {
30
+ ...originalState?.task,
31
+ ...cancelledTask,
32
+ },
33
+ history: Array.from(new Set([
34
+ ...(originalState?.history ?? []),
35
+ ...(cancelledTask.history ?? []),
36
+ ])),
37
+ });
38
+ return cancelledTask;
39
+ }
40
+ context.events.on("complete", () => {
41
+ service.removeCancellation(input.id);
42
+ contextManager.deleteContext(context.contextId);
43
+ });
44
+ await context.events.onCancel(cancelledTask);
45
+ return cancelledTask;
46
+ }
47
+ //# sourceMappingURL=cancel-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel-task.js","sourceRoot":"","sources":["../../../../src/services/a2a/methods/cancel-task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,SAAS,GAKV,gCAAyB;AAC1B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,mBAAmB,GACpB,gCAAyB;AAE1B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAmB,EACnB,MAA+C;IAE/C,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAC3C,MAAM,aAAa,GAA+B,MAAM,OAAO,CAAC,QAAQ,CACtE,KAAK,CAAC,EAAE,CACT,CAAC;IACF,MAAM,IAAI,GAAqB,aAAa,EAAE,IAAI,CAAC;IAEnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,mBAAmB,CAAC,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAElC,MAAM,aAAa,GAAS;QAC1B,GAAG,IAAI;QACP,MAAM,EAAE;YACN,GAAG,IAAI,CAAC,MAAM;YACd,KAAK,EAAE,SAAS,CAAC,QAAQ;SAC1B;KACF,CAAC;IAEF,MAAM,OAAO,GAEG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE;YACzB,GAAG,aAAa;YAChB,IAAI,EAAE;gBACJ,GAAG,aAAa,EAAE,IAAI;gBACtB,GAAG,aAAa;aACjB;YACD,OAAO,EAAE,KAAK,CAAC,IAAI,CACjB,IAAI,GAAG,CAAC;gBACN,GAAG,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;gBACjC,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;aACjC,CAAC,CACH;SACF,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QACjC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { TASK_NOT_FOUND } from "../../../utils/index.js";
6
+ export async function getTask(input, params) {
7
+ const { service } = params;
8
+ const state = await service.getState(input.id);
9
+ const task = state?.task;
10
+ if (!task) {
11
+ throw TASK_NOT_FOUND({ taskId: input.id });
12
+ }
13
+ return task;
14
+ }
15
+ //# sourceMappingURL=get-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-task.js","sourceRoot":"","sources":["../../../../src/services/a2a/methods/get-task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,cAAc,EAAE,gCAAyB;AAElD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAmB,EACnB,MAAkE;IAElE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,MAAM,KAAK,GAA+B,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAqB,KAAK,EAAE,IAAI,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./get-task.js";
2
+ export * from "./resubscribe-task.js";
3
+ export * from "./send-message.js";
4
+ export * from "./stream-message.js";
5
+ export * from "./cancel-task.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/a2a/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { createContext } from "../factory/context.js";
6
+ import { FINAL_STATES, INVALID_REQUEST, TASK_NOT_FOUND, } from "../../../utils/index.js";
7
+ import { StreamManager } from "../../core/managers/stream.js";
8
+ const createMessageParams = (task) => {
9
+ const latestUserMessage = task.history
10
+ ?.filter((msg) => msg.role === "user")
11
+ ?.pop();
12
+ if (!latestUserMessage) {
13
+ throw INVALID_REQUEST("No user message found");
14
+ }
15
+ const messageParams = {
16
+ message: {
17
+ ...latestUserMessage,
18
+ taskId: task.id,
19
+ contextId: latestUserMessage.contextId ?? task.contextId,
20
+ },
21
+ metadata: task.metadata,
22
+ };
23
+ return messageParams;
24
+ };
25
+ export async function* resubscribe(input, params) {
26
+ const { service, engine, contextManager, signal } = params;
27
+ const state = await service.getState(input.id);
28
+ if (!state || !state.task) {
29
+ throw TASK_NOT_FOUND({ taskId: input.id });
30
+ }
31
+ const contextId = state.task?.contextId;
32
+ const stream = new StreamManager();
33
+ const context = createContext(createMessageParams(state.task), service, contextManager, signal, contextId, {
34
+ ...service.eventOverrides,
35
+ onStart: async (context) => {
36
+ const request = context.command;
37
+ const task = state.task;
38
+ const statusUpdate = {
39
+ kind: "status-update",
40
+ taskId: request?.message.taskId ?? task.id,
41
+ contextId: request?.message.contextId ??
42
+ task.contextId ??
43
+ stream.getContextId(),
44
+ status: task.status,
45
+ final: false,
46
+ metadata: task.metadata,
47
+ };
48
+ stream.addUpdate(statusUpdate);
49
+ if (FINAL_STATES.includes(task.status.state)) {
50
+ if (task.artifacts && task.artifacts.length > 0) {
51
+ for (const artifact of task.artifacts) {
52
+ const artifactUpdate = {
53
+ kind: "artifact-update",
54
+ taskId: request?.message.taskId ?? task.id,
55
+ contextId: request?.message.contextId ??
56
+ task.contextId ??
57
+ stream.getContextId(),
58
+ artifact,
59
+ lastChunk: task.artifacts.length === 1,
60
+ metadata: task.metadata,
61
+ };
62
+ stream.addUpdate(artifactUpdate);
63
+ task.artifacts.shift();
64
+ }
65
+ }
66
+ stream.setCompleted();
67
+ }
68
+ return state;
69
+ },
70
+ });
71
+ context.events.on("error", () => {
72
+ context.events.onComplete();
73
+ });
74
+ stream.setExecutionContext(context);
75
+ yield* stream.stream(engine, service);
76
+ }
77
+ //# sourceMappingURL=resubscribe-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resubscribe-task.js","sourceRoot":"","sources":["../../../../src/services/a2a/methods/resubscribe-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { createContext } from "../factory/context.js";
6
+ export async function sendMessage(input, params) {
7
+ const { service, engine, contextManager, signal } = params;
8
+ const contextId = input.message.contextId;
9
+ const context = createContext(input, service, contextManager, signal, contextId, service.eventOverrides);
10
+ context.events.on("complete", () => {
11
+ contextManager.deleteContext(context.events.contextId);
12
+ });
13
+ context.events.on("error", () => {
14
+ context.events.onComplete();
15
+ });
16
+ await service.execute(engine, context);
17
+ const state = context.events.getState();
18
+ return state.task ?? state;
19
+ }
20
+ //# sourceMappingURL=send-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../../../src/services/a2a/methods/send-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAUtD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAwB,EACxB,MAAoB;IAEpB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3D,MAAM,SAAS,GAAuB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;IAC9D,MAAM,OAAO,GACX,aAAa,CACX,KAAK,EACL,OAAO,EACP,cAAc,EACd,MAAM,EACN,SAAS,EACT,OAAO,CAAC,cAAc,CACvB,CAAC;IAEJ,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QACjC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,KAAK,GAAmB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;AAC7B,CAAC"}