@artinet/sdk 0.5.18 → 0.6.0-preview.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 (399) hide show
  1. package/README.md +36 -617
  2. package/dist/browser/browser.d.ts +1 -1
  3. package/dist/browser/browser.js +1 -1
  4. package/dist/browser/client/a2a-client.d.ts +19 -18
  5. package/dist/browser/client/a2a-client.js +18 -6
  6. package/dist/browser/config/index.d.ts +158 -0
  7. package/dist/browser/config/index.js +155 -0
  8. package/dist/browser/config/observability.d.ts +119 -0
  9. package/dist/browser/config/observability.js +35 -0
  10. package/dist/browser/services/a2a/helpers/message-builder.d.ts +13 -8
  11. package/dist/browser/services/a2a/helpers/message-builder.js +5 -0
  12. package/dist/browser/transport/rpc/parser.d.ts +2 -2
  13. package/dist/browser/transport/rpc/parser.js +6 -6
  14. package/dist/browser/transport/rpc/rpc-client.d.ts +5 -5
  15. package/dist/browser/transport/rpc/rpc-client.js +6 -6
  16. package/dist/browser/transport/streaming/event-stream.d.ts +3 -3
  17. package/dist/browser/transport/streaming/event-stream.js +11 -10
  18. package/dist/browser/types/a2a/a2a.d.ts +378 -0
  19. package/dist/browser/types/a2a/a2a.js +14 -0
  20. package/dist/browser/types/a2a/builder.d.ts +43 -0
  21. package/dist/browser/types/a2a/index.d.ts +3 -0
  22. package/dist/browser/types/a2a/index.js +2 -0
  23. package/dist/{types/interfaces → browser/types}/client.d.ts +25 -27
  24. package/dist/browser/types/core/core.d.ts +31 -0
  25. package/dist/browser/types/core/index.d.ts +1 -0
  26. package/dist/browser/types/core/index.js +1 -0
  27. package/dist/browser/types/index.d.ts +6 -3
  28. package/dist/browser/types/index.js +6 -3
  29. package/dist/browser/types/mcp/index.d.ts +1 -0
  30. package/dist/browser/types/mcp/index.js +1 -0
  31. package/dist/browser/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
  32. package/dist/browser/types/{interfaces/services/a2a/context.js → mcp/mcp.js} +1 -1
  33. package/dist/browser/types/storage.d.ts +21 -0
  34. package/dist/browser/utils/common/constants.d.ts +7 -7
  35. package/dist/browser/utils/common/constants.js +9 -9
  36. package/dist/browser/utils/common/errors.d.ts +18 -18
  37. package/dist/browser/utils/common/errors.js +14 -14
  38. package/dist/browser/utils/common/utils.d.ts +23 -0
  39. package/dist/browser/utils/common/utils.js +32 -0
  40. package/dist/client/a2a-client.d.ts +19 -18
  41. package/dist/client/a2a-client.js +18 -6
  42. package/dist/config/default.d.ts +50 -0
  43. package/dist/config/default.js +62 -0
  44. package/dist/config/index.d.ts +158 -0
  45. package/dist/config/index.js +155 -0
  46. package/dist/config/observability.d.ts +119 -0
  47. package/dist/config/observability.js +35 -0
  48. package/dist/extensions/otel.d.ts +98 -0
  49. package/dist/extensions/otel.js +190 -0
  50. package/dist/extensions/pino.d.ts +44 -0
  51. package/dist/extensions/pino.js +107 -0
  52. package/dist/extensions/winston.d.ts +47 -0
  53. package/dist/extensions/winston.js +114 -0
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.js +2 -0
  56. package/dist/server/express/errors.js +3 -3
  57. package/dist/server/express/middeware.d.ts +2 -2
  58. package/dist/server/express/middeware.js +11 -4
  59. package/dist/server/express/server.d.ts +9 -56
  60. package/dist/server/express/server.js +21 -28
  61. package/dist/services/a2a/execute.d.ts +6 -0
  62. package/dist/services/a2a/execute.js +25 -0
  63. package/dist/services/a2a/factory/builder.d.ts +21 -80
  64. package/dist/services/a2a/factory/builder.js +20 -15
  65. package/dist/services/a2a/factory/context.d.ts +15 -128
  66. package/dist/services/a2a/factory/context.js +31 -136
  67. package/dist/services/a2a/factory/handler.d.ts +6 -0
  68. package/dist/services/a2a/factory/{method.js → handler.js} +2 -2
  69. package/dist/services/a2a/factory/index.d.ts +1 -2
  70. package/dist/services/a2a/factory/index.js +1 -2
  71. package/dist/services/a2a/factory/service.d.ts +20 -7
  72. package/dist/services/a2a/factory/service.js +4 -4
  73. package/dist/services/a2a/factory/state-machine.d.ts +11 -0
  74. package/dist/services/a2a/factory/state-machine.js +66 -0
  75. package/dist/services/a2a/{state/update → handlers}/artifact.d.ts +4 -4
  76. package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
  77. package/dist/services/a2a/handlers/cancel-task.js +33 -0
  78. package/dist/services/a2a/handlers/get-task.d.ts +11 -0
  79. package/dist/services/a2a/handlers/get-task.js +13 -0
  80. package/dist/services/a2a/handlers/resubscribe-task.d.ts +11 -0
  81. package/dist/services/a2a/handlers/resubscribe-task.js +56 -0
  82. package/dist/services/a2a/handlers/send-message.d.ts +11 -0
  83. package/dist/services/a2a/handlers/send-message.js +35 -0
  84. package/dist/services/a2a/handlers/stream-message.d.ts +11 -0
  85. package/dist/services/a2a/handlers/stream-message.js +19 -0
  86. package/dist/services/a2a/handlers/update.d.ts +17 -0
  87. package/dist/services/a2a/handlers/update.js +114 -0
  88. package/dist/services/a2a/helpers/agentcard-builder.d.ts +9 -5
  89. package/dist/services/a2a/helpers/agentcard-builder.js +4 -0
  90. package/dist/services/a2a/helpers/content.d.ts +2 -2
  91. package/dist/services/a2a/helpers/content.js +4 -0
  92. package/dist/services/a2a/helpers/history.d.ts +6 -2
  93. package/dist/services/a2a/helpers/history.js +4 -0
  94. package/dist/services/a2a/helpers/index.d.ts +2 -2
  95. package/dist/services/a2a/helpers/index.js +2 -2
  96. package/dist/services/a2a/helpers/message-builder.d.ts +13 -8
  97. package/dist/services/a2a/helpers/message-builder.js +5 -0
  98. package/dist/services/a2a/helpers/part.d.ts +9 -9
  99. package/dist/services/a2a/helpers/references.d.ts +6 -0
  100. package/dist/services/a2a/helpers/references.js +22 -0
  101. package/dist/services/a2a/index.d.ts +9 -5
  102. package/dist/services/a2a/index.js +8 -5
  103. package/dist/services/a2a/managers.d.ts +23 -0
  104. package/dist/services/a2a/managers.js +95 -0
  105. package/dist/services/a2a/messenger.d.ts +35 -0
  106. package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
  107. package/dist/services/a2a/service.d.ts +41 -372
  108. package/dist/services/a2a/service.js +238 -83
  109. package/dist/services/a2a/state-machine.d.ts +18 -0
  110. package/dist/services/a2a/state-machine.js +76 -0
  111. package/dist/services/a2a/streams.d.ts +22 -0
  112. package/dist/services/a2a/streams.js +98 -0
  113. package/dist/services/core/index.d.ts +1 -2
  114. package/dist/services/core/index.js +1 -2
  115. package/dist/services/core/manager.d.ts +15 -0
  116. package/dist/services/core/manager.js +42 -0
  117. package/dist/services/mcp/service.d.ts +11 -15
  118. package/dist/services/mcp/service.js +16 -15
  119. package/dist/transport/index.d.ts +0 -1
  120. package/dist/transport/index.js +1 -1
  121. package/dist/transport/rpc/parser.d.ts +2 -2
  122. package/dist/transport/rpc/parser.js +6 -6
  123. package/dist/transport/rpc/rpc-client.d.ts +5 -5
  124. package/dist/transport/rpc/rpc-client.js +6 -6
  125. package/dist/transport/streaming/event-stream.d.ts +3 -3
  126. package/dist/transport/streaming/event-stream.js +11 -10
  127. package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
  128. package/dist/transport/trpc/a2a/factory/router.js +2 -2
  129. package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
  130. package/dist/transport/trpc/a2a/routes/info.js +6 -2
  131. package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
  132. package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
  133. package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
  134. package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
  135. package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
  136. package/dist/types/a2a/a2a.d.ts +378 -0
  137. package/dist/types/a2a/a2a.js +14 -0
  138. package/dist/types/a2a/builder.d.ts +43 -0
  139. package/dist/types/a2a/index.d.ts +3 -0
  140. package/dist/types/a2a/index.js +2 -0
  141. package/dist/{browser/types/interfaces → types}/client.d.ts +25 -27
  142. package/dist/types/core/core.d.ts +31 -0
  143. package/dist/types/core/index.d.ts +1 -0
  144. package/dist/types/core/index.js +1 -0
  145. package/dist/types/index.d.ts +6 -3
  146. package/dist/types/index.js +6 -3
  147. package/dist/types/mcp/index.d.ts +1 -0
  148. package/dist/types/mcp/index.js +1 -0
  149. package/dist/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
  150. package/dist/{browser/types/interfaces/services/a2a/engine.js → types/mcp/mcp.js} +1 -1
  151. package/dist/types/storage.d.ts +21 -0
  152. package/dist/utils/common/constants.d.ts +7 -7
  153. package/dist/utils/common/constants.js +9 -9
  154. package/dist/utils/common/errors.d.ts +18 -18
  155. package/dist/utils/common/errors.js +14 -14
  156. package/dist/utils/common/parse.d.ts +7 -0
  157. package/dist/utils/common/parse.js +14 -0
  158. package/dist/utils/common/schema-validation.d.ts +1 -1
  159. package/dist/utils/common/schema-validation.js +7 -7
  160. package/dist/utils/common/utils.d.ts +23 -0
  161. package/dist/utils/common/utils.js +32 -0
  162. package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
  163. package/dist/utils/common/zAsyncIterable-v3.js +2 -1
  164. package/dist/utils/index.d.ts +2 -3
  165. package/dist/utils/index.js +2 -3
  166. package/dist/utils/storage/file.d.ts +8 -17
  167. package/dist/utils/storage/file.js +44 -73
  168. package/package.json +73 -13
  169. package/dist/browser/types/ext.d.ts +0 -13
  170. package/dist/browser/types/ext.js +0 -10
  171. package/dist/browser/types/interfaces/index.d.ts +0 -3
  172. package/dist/browser/types/interfaces/index.js +0 -3
  173. package/dist/browser/types/interfaces/services/a2a/builder.d.ts +0 -37
  174. package/dist/browser/types/interfaces/services/a2a/context.d.ts +0 -162
  175. package/dist/browser/types/interfaces/services/a2a/engine.d.ts +0 -7
  176. package/dist/browser/types/interfaces/services/a2a/index.d.ts +0 -5
  177. package/dist/browser/types/interfaces/services/a2a/index.js +0 -5
  178. package/dist/browser/types/interfaces/services/a2a/legacy.d.ts +0 -93
  179. package/dist/browser/types/interfaces/services/a2a/legacy.js +0 -5
  180. package/dist/browser/types/interfaces/services/a2a/service.d.ts +0 -413
  181. package/dist/browser/types/interfaces/services/a2a/service.js +0 -5
  182. package/dist/browser/types/interfaces/services/core/context/command.d.ts +0 -25
  183. package/dist/browser/types/interfaces/services/core/context/command.js +0 -5
  184. package/dist/browser/types/interfaces/services/core/context/context.d.ts +0 -207
  185. package/dist/browser/types/interfaces/services/core/context/context.js +0 -5
  186. package/dist/browser/types/interfaces/services/core/context/index.d.ts +0 -3
  187. package/dist/browser/types/interfaces/services/core/context/index.js +0 -3
  188. package/dist/browser/types/interfaces/services/core/context/types.d.ts +0 -11
  189. package/dist/browser/types/interfaces/services/core/context/types.js +0 -5
  190. package/dist/browser/types/interfaces/services/core/execution/engine.d.ts +0 -106
  191. package/dist/browser/types/interfaces/services/core/execution/engine.js +0 -5
  192. package/dist/browser/types/interfaces/services/core/execution/environment.d.ts +0 -11
  193. package/dist/browser/types/interfaces/services/core/execution/environment.js +0 -5
  194. package/dist/browser/types/interfaces/services/core/execution/execute.d.ts +0 -7
  195. package/dist/browser/types/interfaces/services/core/execution/execute.js +0 -5
  196. package/dist/browser/types/interfaces/services/core/execution/index.d.ts +0 -3
  197. package/dist/browser/types/interfaces/services/core/execution/index.js +0 -3
  198. package/dist/browser/types/interfaces/services/core/index.d.ts +0 -4
  199. package/dist/browser/types/interfaces/services/core/index.js +0 -4
  200. package/dist/browser/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  201. package/dist/browser/types/interfaces/services/core/managers/cancellation.js +0 -5
  202. package/dist/browser/types/interfaces/services/core/managers/connection.d.ts +0 -9
  203. package/dist/browser/types/interfaces/services/core/managers/connection.js +0 -5
  204. package/dist/browser/types/interfaces/services/core/managers/context.d.ts +0 -17
  205. package/dist/browser/types/interfaces/services/core/managers/context.js +0 -5
  206. package/dist/browser/types/interfaces/services/core/managers/event.d.ts +0 -328
  207. package/dist/browser/types/interfaces/services/core/managers/event.js +0 -5
  208. package/dist/browser/types/interfaces/services/core/managers/index.d.ts +0 -6
  209. package/dist/browser/types/interfaces/services/core/managers/index.js +0 -6
  210. package/dist/browser/types/interfaces/services/core/managers/stream.d.ts +0 -217
  211. package/dist/browser/types/interfaces/services/core/managers/stream.js +0 -5
  212. package/dist/browser/types/interfaces/services/core/managers/task.d.ts +0 -9
  213. package/dist/browser/types/interfaces/services/core/service.d.ts +0 -115
  214. package/dist/browser/types/interfaces/services/core/service.js +0 -5
  215. package/dist/browser/types/interfaces/services/index.d.ts +0 -4
  216. package/dist/browser/types/interfaces/services/index.js +0 -4
  217. package/dist/browser/types/interfaces/services/mcp/index.d.ts +0 -1
  218. package/dist/browser/types/interfaces/services/mcp/index.js +0 -1
  219. package/dist/browser/types/interfaces/services/mcp/service.js +0 -5
  220. package/dist/browser/types/interfaces/storage.d.ts +0 -8
  221. package/dist/browser/types/schemas/a2a/agent.d.ts +0 -2583
  222. package/dist/browser/types/schemas/a2a/agent.js +0 -323
  223. package/dist/browser/types/schemas/a2a/auth.d.ts +0 -908
  224. package/dist/browser/types/schemas/a2a/auth.js +0 -283
  225. package/dist/browser/types/schemas/a2a/error.d.ts +0 -396
  226. package/dist/browser/types/schemas/a2a/error.js +0 -163
  227. package/dist/browser/types/schemas/a2a/index.d.ts +0 -11
  228. package/dist/browser/types/schemas/a2a/index.js +0 -11
  229. package/dist/browser/types/schemas/a2a/kind.d.ts +0 -11
  230. package/dist/browser/types/schemas/a2a/kind.js +0 -20
  231. package/dist/browser/types/schemas/a2a/message.d.ts +0 -10343
  232. package/dist/browser/types/schemas/a2a/message.js +0 -130
  233. package/dist/browser/types/schemas/a2a/notification.d.ts +0 -1517
  234. package/dist/browser/types/schemas/a2a/notification.js +0 -203
  235. package/dist/browser/types/schemas/a2a/parameters.d.ts +0 -956
  236. package/dist/browser/types/schemas/a2a/parameters.js +0 -241
  237. package/dist/browser/types/schemas/a2a/protocol.d.ts +0 -14363
  238. package/dist/browser/types/schemas/a2a/protocol.js +0 -59
  239. package/dist/browser/types/schemas/a2a/rpc.d.ts +0 -182
  240. package/dist/browser/types/schemas/a2a/rpc.js +0 -126
  241. package/dist/browser/types/schemas/a2a/task.d.ts +0 -5886
  242. package/dist/browser/types/schemas/a2a/task.js +0 -134
  243. package/dist/browser/types/schemas/a2a/transport.d.ts +0 -31
  244. package/dist/browser/types/schemas/a2a/transport.js +0 -28
  245. package/dist/browser/types/schemas/index.d.ts +0 -1
  246. package/dist/browser/types/schemas/index.js +0 -1
  247. package/dist/browser/utils/logging/index.d.ts +0 -2
  248. package/dist/browser/utils/logging/index.js +0 -2
  249. package/dist/browser/utils/logging/log.d.ts +0 -33
  250. package/dist/browser/utils/logging/log.js +0 -75
  251. package/dist/browser/utils/logging/logger.d.ts +0 -18
  252. package/dist/browser/utils/logging/logger.js +0 -18
  253. package/dist/services/a2a/factory/event.d.ts +0 -58
  254. package/dist/services/a2a/factory/event.js +0 -177
  255. package/dist/services/a2a/factory/method.d.ts +0 -6
  256. package/dist/services/a2a/managers/cancellation.d.ts +0 -11
  257. package/dist/services/a2a/managers/cancellation.js +0 -16
  258. package/dist/services/a2a/managers/connection.d.ts +0 -11
  259. package/dist/services/a2a/managers/connection.js +0 -16
  260. package/dist/services/a2a/managers/context.d.ts +0 -11
  261. package/dist/services/a2a/managers/context.js +0 -16
  262. package/dist/services/a2a/managers/index.d.ts +0 -5
  263. package/dist/services/a2a/managers/index.js +0 -5
  264. package/dist/services/a2a/managers/task.d.ts +0 -11
  265. package/dist/services/a2a/managers/task.js +0 -16
  266. package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
  267. package/dist/services/a2a/methods/cancel-task.js +0 -43
  268. package/dist/services/a2a/methods/get-task.d.ts +0 -112
  269. package/dist/services/a2a/methods/get-task.js +0 -16
  270. package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
  271. package/dist/services/a2a/methods/resubscribe-task.js +0 -80
  272. package/dist/services/a2a/methods/send-message.d.ts +0 -7
  273. package/dist/services/a2a/methods/send-message.js +0 -36
  274. package/dist/services/a2a/methods/stream-message.d.ts +0 -8
  275. package/dist/services/a2a/methods/stream-message.js +0 -21
  276. package/dist/services/a2a/state/index.d.ts +0 -3
  277. package/dist/services/a2a/state/index.js +0 -3
  278. package/dist/services/a2a/state/load.d.ts +0 -14
  279. package/dist/services/a2a/state/load.js +0 -71
  280. package/dist/services/a2a/state/process.d.ts +0 -7
  281. package/dist/services/a2a/state/process.js +0 -13
  282. package/dist/services/a2a/state/update/index.d.ts +0 -2
  283. package/dist/services/a2a/state/update/index.js +0 -2
  284. package/dist/services/a2a/state/update/update.d.ts +0 -23
  285. package/dist/services/a2a/state/update/update.js +0 -123
  286. package/dist/services/core/execution/execute.d.ts +0 -6
  287. package/dist/services/core/execution/execute.js +0 -25
  288. package/dist/services/core/execution/index.d.ts +0 -1
  289. package/dist/services/core/execution/index.js +0 -1
  290. package/dist/services/core/managers/command.d.ts +0 -39
  291. package/dist/services/core/managers/event.d.ts +0 -18
  292. package/dist/services/core/managers/event.js +0 -56
  293. package/dist/services/core/managers/index.d.ts +0 -3
  294. package/dist/services/core/managers/index.js +0 -3
  295. package/dist/services/core/managers/stream.d.ts +0 -20
  296. package/dist/services/core/managers/stream.js +0 -77
  297. package/dist/types/ext.d.ts +0 -13
  298. package/dist/types/ext.js +0 -10
  299. package/dist/types/interfaces/index.d.ts +0 -3
  300. package/dist/types/interfaces/index.js +0 -3
  301. package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
  302. package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
  303. package/dist/types/interfaces/services/a2a/context.js +0 -5
  304. package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
  305. package/dist/types/interfaces/services/a2a/engine.js +0 -5
  306. package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
  307. package/dist/types/interfaces/services/a2a/index.js +0 -5
  308. package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
  309. package/dist/types/interfaces/services/a2a/legacy.js +0 -5
  310. package/dist/types/interfaces/services/a2a/service.d.ts +0 -413
  311. package/dist/types/interfaces/services/a2a/service.js +0 -5
  312. package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
  313. package/dist/types/interfaces/services/core/context/command.js +0 -5
  314. package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
  315. package/dist/types/interfaces/services/core/context/context.js +0 -5
  316. package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
  317. package/dist/types/interfaces/services/core/context/index.js +0 -3
  318. package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
  319. package/dist/types/interfaces/services/core/context/types.js +0 -5
  320. package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
  321. package/dist/types/interfaces/services/core/execution/engine.js +0 -5
  322. package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
  323. package/dist/types/interfaces/services/core/execution/environment.js +0 -5
  324. package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
  325. package/dist/types/interfaces/services/core/execution/execute.js +0 -5
  326. package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
  327. package/dist/types/interfaces/services/core/execution/index.js +0 -3
  328. package/dist/types/interfaces/services/core/index.d.ts +0 -4
  329. package/dist/types/interfaces/services/core/index.js +0 -4
  330. package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  331. package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
  332. package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
  333. package/dist/types/interfaces/services/core/managers/connection.js +0 -5
  334. package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
  335. package/dist/types/interfaces/services/core/managers/context.js +0 -5
  336. package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
  337. package/dist/types/interfaces/services/core/managers/event.js +0 -5
  338. package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
  339. package/dist/types/interfaces/services/core/managers/index.js +0 -6
  340. package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
  341. package/dist/types/interfaces/services/core/managers/stream.js +0 -5
  342. package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
  343. package/dist/types/interfaces/services/core/service.d.ts +0 -115
  344. package/dist/types/interfaces/services/core/service.js +0 -5
  345. package/dist/types/interfaces/services/index.d.ts +0 -4
  346. package/dist/types/interfaces/services/index.js +0 -4
  347. package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
  348. package/dist/types/interfaces/services/mcp/index.js +0 -1
  349. package/dist/types/interfaces/services/mcp/service.js +0 -5
  350. package/dist/types/interfaces/storage.d.ts +0 -8
  351. package/dist/types/schemas/a2a/agent.d.ts +0 -2583
  352. package/dist/types/schemas/a2a/agent.js +0 -323
  353. package/dist/types/schemas/a2a/auth.d.ts +0 -908
  354. package/dist/types/schemas/a2a/auth.js +0 -283
  355. package/dist/types/schemas/a2a/error.d.ts +0 -396
  356. package/dist/types/schemas/a2a/error.js +0 -163
  357. package/dist/types/schemas/a2a/index.d.ts +0 -11
  358. package/dist/types/schemas/a2a/index.js +0 -11
  359. package/dist/types/schemas/a2a/kind.d.ts +0 -11
  360. package/dist/types/schemas/a2a/kind.js +0 -20
  361. package/dist/types/schemas/a2a/message.d.ts +0 -10343
  362. package/dist/types/schemas/a2a/message.js +0 -130
  363. package/dist/types/schemas/a2a/notification.d.ts +0 -1517
  364. package/dist/types/schemas/a2a/notification.js +0 -203
  365. package/dist/types/schemas/a2a/parameters.d.ts +0 -956
  366. package/dist/types/schemas/a2a/parameters.js +0 -241
  367. package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
  368. package/dist/types/schemas/a2a/protocol.js +0 -59
  369. package/dist/types/schemas/a2a/rpc.d.ts +0 -182
  370. package/dist/types/schemas/a2a/rpc.js +0 -126
  371. package/dist/types/schemas/a2a/task.d.ts +0 -5886
  372. package/dist/types/schemas/a2a/task.js +0 -134
  373. package/dist/types/schemas/a2a/transport.d.ts +0 -31
  374. package/dist/types/schemas/a2a/transport.js +0 -28
  375. package/dist/types/schemas/index.d.ts +0 -1
  376. package/dist/types/schemas/index.js +0 -1
  377. package/dist/utils/logging/index.d.ts +0 -2
  378. package/dist/utils/logging/index.js +0 -2
  379. package/dist/utils/logging/log.d.ts +0 -33
  380. package/dist/utils/logging/log.js +0 -75
  381. package/dist/utils/logging/logger.d.ts +0 -18
  382. package/dist/utils/logging/logger.js +0 -18
  383. package/dist/utils/storage/memory.d.ts +0 -25
  384. package/dist/utils/storage/memory.js +0 -47
  385. /package/dist/browser/types/{interfaces/services/a2a → a2a}/builder.js +0 -0
  386. /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
  387. /package/dist/browser/types/{interfaces/services/core/managers/task.js → core/core.js} +0 -0
  388. /package/dist/browser/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
  389. /package/dist/browser/types/{interfaces/services/protocol.js → protocol.js} +0 -0
  390. /package/dist/browser/types/{interfaces/storage.js → storage.js} +0 -0
  391. /package/dist/services/a2a/{state/update → handlers}/artifact.js +0 -0
  392. /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
  393. /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
  394. /package/dist/types/{interfaces/services/a2a → a2a}/builder.js +0 -0
  395. /package/dist/types/{interfaces/client.js → client.js} +0 -0
  396. /package/dist/types/{interfaces/services/core/managers/task.js → core/core.js} +0 -0
  397. /package/dist/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
  398. /package/dist/types/{interfaces/services/protocol.js → protocol.js} +0 -0
  399. /package/dist/types/{interfaces/storage.js → storage.js} +0 -0
@@ -2,106 +2,261 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { MessageSendParamsSchema, TaskQueryParamsSchema, TaskIdParamsSchema, } from "../../types/index.js";
6
- import { coreExecute } from "../core/execution/execute.js";
5
+ import { A2A } from "../../types/index.js";
7
6
  import { createMessageSendParams } from "./helpers/message-builder.js";
8
7
  import { validateSchema } from "../../utils/common/schema-validation.js";
9
- export class A2AService {
10
- agentCard;
11
- engine;
12
- connections;
13
- cancellations;
14
- tasks;
15
- contexts;
16
- methods;
17
- eventOverrides;
18
- enforceParamValidation = false;
19
- constructor(agentCard, engine, contexts, connections, cancellations, tasks, methods, eventOverrides, enforceParamValidation = false) {
20
- this.engine = engine;
21
- this.agentCard = agentCard;
22
- this.contexts = contexts;
23
- this.connections = connections;
24
- this.cancellations = cancellations;
25
- this.tasks = tasks;
26
- this.methods = methods;
27
- this.eventOverrides = eventOverrides;
28
- this.enforceParamValidation = enforceParamValidation;
29
- }
30
- async execute(engine, context) {
31
- await coreExecute(engine ?? this.engine, context);
8
+ import { CANCEL_UPDATE } from "../../utils/common/constants.js";
9
+ import { INVALID_REQUEST, TASK_NOT_FOUND } from "../../utils/common/errors.js";
10
+ import { v4 as uuidv4 } from "uuid";
11
+ import { Messenger } from "./messenger.js";
12
+ import { execute } from "./execute.js";
13
+ import { createService } from "./factory/service.js";
14
+ import { getReferences } from "./helpers/references.js";
15
+ import { logger } from "../../config/index.js";
16
+ const createMessageParams = (task) => {
17
+ const latestUserMessage = task.history
18
+ ?.filter((msg) => msg.role === "user")
19
+ ?.pop();
20
+ if (!latestUserMessage) {
21
+ throw INVALID_REQUEST("No user message found");
32
22
  }
33
- async stop() {
34
- const currentTasks = await this.tasks.getStates();
35
- for (const id of currentTasks) {
36
- this.addCancellation(id);
37
- }
38
- return;
23
+ const messageParams = {
24
+ message: {
25
+ ...latestUserMessage,
26
+ taskId: task.id,
27
+ contextId: latestUserMessage.contextId ?? task.contextId,
28
+ },
29
+ metadata: task.metadata,
30
+ };
31
+ return messageParams;
32
+ };
33
+ /**
34
+ * @note Comprehensive Extension system coming in a future release
35
+ */
36
+ const getExtensions = async (extensions) => {
37
+ logger.warn("getExtensions: not implemented", { extensions });
38
+ return [];
39
+ };
40
+ export class Service {
41
+ _agentCard;
42
+ _engine;
43
+ _connections;
44
+ _cancellations;
45
+ _tasks;
46
+ _contexts;
47
+ _streams;
48
+ _methods;
49
+ _overrides;
50
+ constructor(_agentCard, _engine, _connections, _cancellations, _tasks, _contexts, _streams, _methods, _overrides) {
51
+ this._agentCard = _agentCard;
52
+ this._engine = _engine;
53
+ this._connections = _connections;
54
+ this._cancellations = _cancellations;
55
+ this._tasks = _tasks;
56
+ this._contexts = _contexts;
57
+ this._streams = _streams;
58
+ this._methods = _methods;
59
+ this._overrides = _overrides;
39
60
  }
40
- addConnection(id) {
41
- this.connections.addConnection(id);
61
+ get methods() {
62
+ return this._methods;
42
63
  }
43
- removeConnection(id) {
44
- this.connections.removeConnection(id);
64
+ set methods(methods) {
65
+ this._methods = {
66
+ ...this._methods,
67
+ ...methods,
68
+ };
45
69
  }
46
- isCancelled(id) {
47
- return this.cancellations.isCancelled(id);
70
+ get agentCard() {
71
+ return this._agentCard;
48
72
  }
49
- addCancellation(id) {
50
- this.cancellations.addCancellation(id);
73
+ get engine() {
74
+ return this._engine;
51
75
  }
52
- removeCancellation(id) {
53
- this.cancellations.removeCancellation(id);
76
+ set engine(engine) {
77
+ this._engine = engine;
54
78
  }
55
- async getState(id) {
56
- return await this.tasks.getState(id);
79
+ get connections() {
80
+ return this._connections;
57
81
  }
58
- async setState(id, data) {
59
- await this.tasks.setState(id, data);
82
+ get cancellations() {
83
+ return this._cancellations;
60
84
  }
61
- async getTask(input) {
62
- return await this.methods.getTask(this.enforceParamValidation
63
- ? await validateSchema(TaskQueryParamsSchema, input)
64
- : input, { service: this });
85
+ get tasks() {
86
+ return this._tasks;
65
87
  }
66
- async cancelTask(input) {
67
- return await this.methods.cancelTask(this.enforceParamValidation
68
- ? await validateSchema(TaskIdParamsSchema, input)
69
- : input, {
70
- service: this,
71
- contextManager: this.contexts,
72
- });
88
+ get contexts() {
89
+ return this._contexts;
90
+ }
91
+ set contexts(contexts) {
92
+ this._contexts = {
93
+ ...this._contexts,
94
+ ...contexts,
95
+ };
96
+ }
97
+ get streams() {
98
+ return this._streams;
99
+ }
100
+ get overrides() {
101
+ return this._overrides;
102
+ }
103
+ set overrides(overrides) {
104
+ this._overrides = {
105
+ ...this._overrides,
106
+ ...overrides,
107
+ };
108
+ }
109
+ async execute({ engine, context, }) {
110
+ await execute(engine, context);
111
+ }
112
+ async getAgentCard() {
113
+ return this.agentCard;
114
+ }
115
+ async stop() {
116
+ logger.info(`Service[stop]`);
117
+ for (const context of await this.contexts.list()) {
118
+ await context.publisher.onCancel(CANCEL_UPDATE(context.taskId, context.contextId, {
119
+ role: "agent",
120
+ parts: [
121
+ {
122
+ kind: "text",
123
+ text: "service stopped",
124
+ },
125
+ ],
126
+ messageId: uuidv4(),
127
+ kind: "message",
128
+ taskId: context.taskId,
129
+ contextId: context.contextId,
130
+ }));
131
+ }
132
+ return;
133
+ }
134
+ async getTask(params, context, options) {
135
+ logger.info(`Service[getTask]:`, { taskId: params.id });
136
+ const task = await this.tasks.get(params.id);
137
+ if (!task) {
138
+ throw TASK_NOT_FOUND({ taskId: params.id });
139
+ }
140
+ return await this.methods.getTask(await validateSchema(A2A.TaskQueryParamsSchema, params), context ??
141
+ (await this.contexts.create({
142
+ contextId: task.contextId,
143
+ service: this,
144
+ abortSignal: options?.abortSignal,
145
+ task: task,
146
+ overrides: this.overrides,
147
+ messenger: Messenger.create(createMessageParams(task)),
148
+ })));
149
+ }
150
+ async cancelTask(params, context, options) {
151
+ logger.info(`Service[cancelTask]:`, { taskId: params.id });
152
+ const task = await this.tasks.get(params.id);
153
+ if (!task) {
154
+ throw TASK_NOT_FOUND({ taskId: params.id });
155
+ }
156
+ return await this.methods.cancelTask(await validateSchema(A2A.TaskIdParamsSchema, params), context ??
157
+ (await this.contexts.create({
158
+ contextId: task.contextId,
159
+ service: this,
160
+ abortSignal: options?.abortSignal,
161
+ task: task,
162
+ overrides: this.overrides,
163
+ messenger: Messenger.create(createMessageParams(task)),
164
+ })));
165
+ }
166
+ async sendMessage(paramsOrMessage, context, options) {
167
+ const params = typeof paramsOrMessage === "string"
168
+ ? createMessageSendParams(paramsOrMessage)
169
+ : typeof paramsOrMessage === "object" && "message" in paramsOrMessage
170
+ ? paramsOrMessage
171
+ : createMessageSendParams({
172
+ message: paramsOrMessage,
173
+ });
174
+ return await this._sendMessage(params, context, options);
73
175
  }
74
- async sendMessage(message, params) {
75
- return await this.methods.sendMessage(this.enforceParamValidation
76
- ? await validateSchema(MessageSendParamsSchema, message)
77
- : createMessageSendParams(message), {
78
- ...params, //we may include additional params in the future that may not need to be handled by the service
79
- service: this,
80
- engine: params?.engine ?? this.engine,
81
- contextManager: this.contexts,
82
- signal: params?.signal ?? new AbortController().signal,
176
+ async _sendMessage(params, context, options) {
177
+ logger.info(`Service[sendMessage]:`, {
178
+ messageId: params.message.messageId,
83
179
  });
180
+ logger.debug(`Service[sendMessage]:`, { taskId: params.message.taskId });
181
+ logger.debug(`Service[sendMessage]:`, {
182
+ contextId: params.message.contextId,
183
+ });
184
+ const task = await this.tasks.create({
185
+ id: params.message.taskId,
186
+ contextId: params.message.contextId,
187
+ history: [params.message],
188
+ metadata: {
189
+ ...params.metadata,
190
+ },
191
+ });
192
+ return await this.methods.sendMessage(await validateSchema(A2A.MessageSendParamsSchema, params), context ??
193
+ (await this.contexts.create({
194
+ contextId: task.contextId,
195
+ service: this,
196
+ abortSignal: options?.abortSignal,
197
+ task: task,
198
+ overrides: this.overrides,
199
+ messenger: Messenger.create(params),
200
+ references: await getReferences(this.tasks, params.message.referenceTaskIds),
201
+ extensions: await getExtensions(params.message.extensions),
202
+ })));
84
203
  }
85
- async *streamMessage(message, params) {
86
- yield* this.methods.streamMessage(this.enforceParamValidation
87
- ? await validateSchema(MessageSendParamsSchema, message)
88
- : createMessageSendParams(message), {
89
- ...params,
90
- service: this,
91
- engine: params?.engine ?? this.engine,
92
- contextManager: this.contexts,
93
- signal: params?.signal ?? new AbortController().signal,
204
+ async *streamMessage(paramsOrMessage, context, options) {
205
+ const params = typeof paramsOrMessage === "string"
206
+ ? createMessageSendParams(paramsOrMessage)
207
+ : paramsOrMessage;
208
+ yield* this._streamMessage(params, context, options);
209
+ }
210
+ async *_streamMessage(params, context, options) {
211
+ logger.info("Service[streamMessage]:", {
212
+ taskId: params.message.taskId,
213
+ contextId: params.message.contextId,
214
+ });
215
+ const task = await this.tasks.create({
216
+ id: params.message.taskId,
217
+ contextId: params.message.contextId,
218
+ history: [params.message],
219
+ metadata: {
220
+ ...params.metadata,
221
+ },
94
222
  });
223
+ logger.debug("Service[streamMessage]: task created", {
224
+ taskId: task.id,
225
+ contextId: task.contextId,
226
+ });
227
+ yield* this.methods.streamMessage(await validateSchema(A2A.MessageSendParamsSchema, params), context ??
228
+ (await this.contexts.create({
229
+ contextId: task.contextId,
230
+ service: this,
231
+ abortSignal: options?.abortSignal,
232
+ task: task,
233
+ overrides: this.overrides,
234
+ messenger: Messenger.create(params),
235
+ references: await getReferences(this.tasks, params.message.referenceTaskIds),
236
+ extensions: await getExtensions(params.message.extensions),
237
+ })));
95
238
  }
96
- async *resubscribe(input, params) {
97
- yield* this.methods.resubscribe(this.enforceParamValidation
98
- ? await validateSchema(TaskIdParamsSchema, input)
99
- : input, {
100
- ...params,
101
- service: this,
102
- engine: params?.engine ?? this.engine,
103
- contextManager: this.contexts,
104
- signal: params?.signal ?? new AbortController().signal,
239
+ async *resubscribe(params, context, options) {
240
+ logger.info(`Service[resubscribe]:`, { taskId: params.id });
241
+ const task = await this.tasks.get(params.id);
242
+ if (!task) {
243
+ throw TASK_NOT_FOUND({ taskId: params.id });
244
+ }
245
+ logger.debug("Service[resubscribe]:", {
246
+ taskId: task.id,
247
+ contextId: task.contextId,
105
248
  });
249
+ yield* this.methods.resubscribe(await validateSchema(A2A.TaskIdParamsSchema, params), context ??
250
+ (await this.contexts.create({
251
+ contextId: task.contextId,
252
+ service: this,
253
+ abortSignal: options?.abortSignal,
254
+ task: task,
255
+ overrides: this.overrides,
256
+ messenger: Messenger.create(createMessageParams(task)),
257
+ })));
258
+ }
259
+ static create(params) {
260
+ return createService(params);
106
261
  }
107
262
  }
@@ -0,0 +1,18 @@
1
+ import { EventEmitter } from "events";
2
+ import { A2A } from "../../types/index.js";
3
+ export declare class StateMachine extends EventEmitter<A2A.Emissions> implements A2A.EventPublisher {
4
+ readonly _contextId: string;
5
+ private readonly _consumer;
6
+ private _currentTask?;
7
+ onStart: (context: A2A.Context) => Promise<A2A.Task>;
8
+ onCancel: (update: A2A.Update) => Promise<void>;
9
+ onUpdate: (update: A2A.Update) => Promise<A2A.Task>;
10
+ onError: (error: any) => Promise<void>;
11
+ onComplete: () => Promise<void>;
12
+ constructor(_contextId: string, _consumer: A2A.EventConsumer, _currentTask?: A2A.Task | undefined);
13
+ get currentTask(): A2A.Task;
14
+ private set currentTask(value);
15
+ get consumer(): A2A.EventConsumer;
16
+ get contextId(): string;
17
+ static create(contextId: string, service: A2A.Service, task?: A2A.Task, overrides?: Partial<Omit<A2A.EventConsumer, "contextId">>): StateMachine;
18
+ }
@@ -0,0 +1,76 @@
1
+ import { EventEmitter } from "events";
2
+ import { INTERNAL_ERROR } from "../../utils/index.js";
3
+ import { logger } from "../../config/index.js";
4
+ import { createStateMachine } from "./factory/state-machine.js";
5
+ export class StateMachine extends EventEmitter {
6
+ _contextId;
7
+ _consumer;
8
+ _currentTask;
9
+ onStart = async (context) => {
10
+ if (this.consumer.onStart) {
11
+ this.currentTask = await this.consumer.onStart(context);
12
+ }
13
+ this.emit("start", context.messages, this.currentTask);
14
+ return this.currentTask;
15
+ };
16
+ onCancel = async (update) => {
17
+ if (this.consumer.onCancel) {
18
+ await this.consumer.onCancel(update, this.currentTask);
19
+ }
20
+ this.emit("cancel", update);
21
+ };
22
+ onUpdate = async (update) => {
23
+ if (this.consumer.onUpdate) {
24
+ this.currentTask = await this.consumer.onUpdate(update, this.currentTask);
25
+ }
26
+ else {
27
+ logger.warn(`onUpdate[${this.contextId}]:`, "onUpdate callback not found");
28
+ this.currentTask = update;
29
+ }
30
+ this.emit("update", this.currentTask, update);
31
+ return this.currentTask;
32
+ };
33
+ onError = async (error) => {
34
+ if (this.consumer.onError) {
35
+ await this.consumer.onError(error, this.currentTask);
36
+ }
37
+ this.emit("error", error, this.currentTask);
38
+ };
39
+ onComplete = async () => {
40
+ if (this.consumer.onComplete) {
41
+ await this.consumer.onComplete(this.currentTask);
42
+ }
43
+ this.emit("complete", this.currentTask);
44
+ };
45
+ constructor(_contextId, _consumer, _currentTask) {
46
+ super();
47
+ this._contextId = _contextId;
48
+ this._consumer = _consumer;
49
+ this._currentTask = _currentTask;
50
+ }
51
+ get currentTask() {
52
+ if (!this._currentTask) {
53
+ throw INTERNAL_ERROR({
54
+ error: { message: "state machine is not initialized" },
55
+ });
56
+ }
57
+ return this._currentTask;
58
+ }
59
+ set currentTask(task) {
60
+ this._currentTask = task;
61
+ }
62
+ get consumer() {
63
+ return this._consumer;
64
+ }
65
+ get contextId() {
66
+ return this._contextId;
67
+ }
68
+ static create(contextId, service, task, overrides) {
69
+ return createStateMachine({
70
+ contextId,
71
+ service,
72
+ task,
73
+ overrides,
74
+ });
75
+ }
76
+ }
@@ -0,0 +1,22 @@
1
+ import { A2A } from "../../types/index.js";
2
+ export declare class Stream implements A2A.Stream {
3
+ private _contextId;
4
+ private _context;
5
+ private _updates;
6
+ private _completed;
7
+ protected running: AsyncGenerator<A2A.Update> | null;
8
+ constructor(_contextId: string, _context: A2A.Context, _updates?: A2A.Update[], _completed?: boolean);
9
+ get contextId(): string;
10
+ get isAlive(): boolean;
11
+ kill(): Promise<void>;
12
+ get context(): A2A.Context;
13
+ set context(context: A2A.Context);
14
+ get updates(): A2A.Update[];
15
+ run({ service, }: {
16
+ service: A2A.Service;
17
+ }): AsyncGenerator<A2A.Update>;
18
+ subscribe(): AsyncGenerator<A2A.Update>;
19
+ _run({ service, }: {
20
+ service: A2A.Service;
21
+ }): AsyncGenerator<A2A.Update>;
22
+ }
@@ -0,0 +1,98 @@
1
+ import { sleep } from "../../utils/common/utils.js";
2
+ import { logger } from "../../config/index.js";
3
+ const STREAM_INTERVAL = 5;
4
+ export class Stream {
5
+ _contextId;
6
+ _context;
7
+ _updates;
8
+ _completed;
9
+ running = null;
10
+ constructor(_contextId, _context, _updates = [], _completed = false) {
11
+ this._contextId = _contextId;
12
+ this._context = _context;
13
+ this._updates = _updates;
14
+ this._completed = _completed;
15
+ }
16
+ get contextId() {
17
+ return this._contextId;
18
+ }
19
+ get isAlive() {
20
+ return !this._completed;
21
+ }
22
+ async kill() {
23
+ this._completed = true;
24
+ }
25
+ get context() {
26
+ return this._context;
27
+ }
28
+ set context(context) {
29
+ this._context = context;
30
+ this._contextId = context.contextId;
31
+ }
32
+ get updates() {
33
+ return this._updates;
34
+ }
35
+ async *run({ service, }) {
36
+ this.context.publisher.on("complete", async () => {
37
+ logger.debug(`Stream[run:${this.contextId}]: complete`);
38
+ await this.kill();
39
+ this.running = null;
40
+ });
41
+ this.context.publisher.on("error", async (err) => {
42
+ logger.error(`Stream[run:${this.contextId}]: error`, err);
43
+ await this.context.publisher.onComplete();
44
+ });
45
+ if (!this.running) {
46
+ this.running = this._run({ service });
47
+ yield* this.running;
48
+ }
49
+ yield* this.subscribe();
50
+ }
51
+ async *subscribe() {
52
+ const subscription = this.updates;
53
+ this.context.publisher.on("update", async (_, update) => {
54
+ subscription.push(update);
55
+ });
56
+ let updatesRead = 0;
57
+ while (!this._completed || updatesRead < subscription.length) {
58
+ if (updatesRead < subscription.length) {
59
+ yield subscription[updatesRead++];
60
+ }
61
+ await sleep(STREAM_INTERVAL);
62
+ }
63
+ }
64
+ async *_run({ service, }) {
65
+ let executionError = null;
66
+ const context = this.context;
67
+ // NOTE: isCancelled() returns a Promise, so must be awaited.
68
+ // Without async/await here, updates would never be pushed due to
69
+ // Promise being truthy (making !Promise always false).
70
+ context.publisher.on("update", async (_, update) => {
71
+ if (!(await context.isCancelled())) {
72
+ this.updates.push(update);
73
+ }
74
+ });
75
+ const executePromise = service
76
+ .execute({ engine: service.engine, context })
77
+ .catch((error) => {
78
+ executionError = error;
79
+ })
80
+ .finally(() => {
81
+ this._completed = true;
82
+ });
83
+ while (!this._completed || this.updates.length > 0) {
84
+ if (executionError) {
85
+ throw executionError;
86
+ }
87
+ if (this.updates.length > 0) {
88
+ yield this.updates.shift();
89
+ }
90
+ await sleep(STREAM_INTERVAL);
91
+ }
92
+ await executePromise;
93
+ this._completed = true;
94
+ if (executionError) {
95
+ throw executionError;
96
+ }
97
+ }
98
+ }
@@ -1,2 +1 @@
1
- export * from "./execution/index.js";
2
- export * from "./managers/index.js";
1
+ export * from "./manager.js";
@@ -1,2 +1 @@
1
- export * from "./execution/index.js";
2
- export * from "./managers/index.js";
1
+ export * from "./manager.js";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export declare abstract class Manager<T> {
6
+ private _data;
7
+ private throwOnSet;
8
+ constructor(_data?: Map<string, T>, throwOnSet?: boolean);
9
+ get data(): Map<string, T>;
10
+ set(id: string, data?: T): Promise<void>;
11
+ get(id: string): Promise<T | undefined>;
12
+ delete(id: string): Promise<void>;
13
+ has(id: string): Promise<boolean>;
14
+ list(): Promise<T[]>;
15
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { logger } from "../../config/index.js";
6
+ export class Manager {
7
+ _data;
8
+ throwOnSet;
9
+ constructor(_data = new Map(), throwOnSet = true) {
10
+ this._data = _data;
11
+ this.throwOnSet = throwOnSet;
12
+ }
13
+ get data() {
14
+ return this._data;
15
+ }
16
+ async set(id, data) {
17
+ logger.debug(`${this.constructor.name}[set]:`, { id });
18
+ if (!data && this.throwOnSet) {
19
+ throw new Error("Data is required");
20
+ }
21
+ else if (!data) {
22
+ return;
23
+ }
24
+ this.data.set(id, data);
25
+ }
26
+ async get(id) {
27
+ // logger.debug(`${this.constructor.name}[get]:`, { id });
28
+ return this.data.get(id);
29
+ }
30
+ async delete(id) {
31
+ logger.debug(`${this.constructor.name}[delete]:`, { id });
32
+ this.data.delete(id);
33
+ }
34
+ async has(id) {
35
+ // logger.debug(`${this.constructor.name}[has]:`, { id });
36
+ return this.data.has(id);
37
+ }
38
+ async list() {
39
+ // logger.debug(`${this.constructor.name}[list]:`);
40
+ return Array.from(this.data.values());
41
+ }
42
+ }
@@ -3,26 +3,22 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
- import { MCPServiceInterface } from "../../types/index.js";
6
+ import { MCP } from "../../types/index.js";
7
7
  import { Implementation } from "@modelcontextprotocol/sdk/types.js";
8
8
  import { ServerOptions } from "@modelcontextprotocol/sdk/server/index.js";
9
- import { Agent } from "../../types/index.js";
10
- export declare class BaseMCPService extends McpServer implements MCPServiceInterface {
9
+ import { Agent } from "../a2a/index.js";
10
+ export interface MCPServiceParams {
11
+ serverInfo: Implementation;
12
+ agent: Agent;
13
+ options?: ServerOptions;
14
+ agentCardUri?: string;
15
+ }
16
+ export declare class BaseMCPService extends McpServer implements MCP.Service {
11
17
  readonly agent: Agent;
12
18
  private _registerBaseTools;
13
- constructor({ serverInfo, agent, options, agentCardUri, }: {
14
- serverInfo: Implementation;
15
- agent: Agent;
16
- options?: ServerOptions;
17
- agentCardUri?: string;
18
- });
19
+ constructor({ serverInfo, agent, options, agentCardUri, }: MCPServiceParams);
19
20
  stop(): Promise<void>;
20
- static create({ serverInfo, agent, options, agentCardUri, }: {
21
- serverInfo: Implementation;
22
- agent: Agent;
23
- options?: ServerOptions;
24
- agentCardUri?: string;
25
- }): BaseMCPService & Agent;
21
+ static create({ serverInfo, agent, options, agentCardUri, }: MCPServiceParams): BaseMCPService & Agent;
26
22
  }
27
23
  export type MCPService = ReturnType<typeof BaseMCPService.create>;
28
24
  export type MCPAgent = MCPService;