@artinet/sdk 0.5.17 → 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 (316) hide show
  1. package/README.md +51 -557
  2. package/dist/browser/browser.d.ts +9 -0
  3. package/dist/browser/browser.js +10 -0
  4. package/dist/browser/client/a2a-client.d.ts +127 -0
  5. package/dist/browser/client/a2a-client.js +233 -0
  6. package/dist/browser/client/index.d.ts +1 -0
  7. package/dist/browser/client/index.js +1 -0
  8. package/dist/browser/config/index.d.ts +158 -0
  9. package/dist/browser/config/index.js +155 -0
  10. package/dist/browser/config/observability.d.ts +119 -0
  11. package/dist/browser/config/observability.js +35 -0
  12. package/dist/browser/services/a2a/helpers/message-builder.d.ts +17 -0
  13. package/dist/browser/services/a2a/helpers/message-builder.js +66 -0
  14. package/dist/browser/transport/rpc/parser.d.ts +15 -0
  15. package/dist/browser/transport/rpc/parser.js +48 -0
  16. package/dist/browser/transport/rpc/rpc-client.d.ts +80 -0
  17. package/dist/browser/transport/rpc/rpc-client.js +189 -0
  18. package/dist/browser/transport/streaming/event-stream.d.ts +25 -0
  19. package/dist/browser/transport/streaming/event-stream.js +100 -0
  20. package/dist/browser/types/a2a/a2a.d.ts +378 -0
  21. package/dist/browser/types/a2a/a2a.js +14 -0
  22. package/dist/browser/types/a2a/builder.d.ts +43 -0
  23. package/dist/browser/types/a2a/index.d.ts +3 -0
  24. package/dist/browser/types/a2a/index.js +2 -0
  25. package/dist/{types/interfaces → browser/types}/client.d.ts +25 -27
  26. package/dist/browser/types/core/core.d.ts +31 -0
  27. package/dist/browser/types/core/index.d.ts +1 -0
  28. package/dist/browser/types/core/index.js +1 -0
  29. package/dist/{types/interfaces/services → browser/types}/index.d.ts +3 -0
  30. package/dist/{types/interfaces/services → browser/types}/index.js +3 -0
  31. package/dist/browser/types/mcp/index.d.ts +1 -0
  32. package/dist/browser/types/mcp/index.js +1 -0
  33. package/dist/{types/interfaces/services/mcp/service.d.ts → browser/types/mcp/mcp.d.ts} +4 -3
  34. package/dist/browser/types/mcp/mcp.js +5 -0
  35. package/dist/browser/types/storage.d.ts +21 -0
  36. package/dist/browser/types/utils/index.d.ts +1 -0
  37. package/dist/browser/types/utils/index.js +1 -0
  38. package/dist/browser/types/utils/transform.d.ts +64 -0
  39. package/dist/browser/types/utils/transform.js +35 -0
  40. package/dist/browser/utils/common/constants.d.ts +11 -0
  41. package/dist/browser/utils/common/constants.js +38 -0
  42. package/dist/browser/utils/common/errors.d.ts +24 -0
  43. package/dist/browser/utils/common/errors.js +42 -0
  44. package/dist/browser/utils/common/utils.d.ts +32 -0
  45. package/dist/browser/utils/common/utils.js +43 -0
  46. package/dist/client/a2a-client.d.ts +21 -19
  47. package/dist/client/a2a-client.js +30 -9
  48. package/dist/config/default.d.ts +50 -0
  49. package/dist/config/default.js +62 -0
  50. package/dist/config/index.d.ts +158 -0
  51. package/dist/config/index.js +155 -0
  52. package/dist/config/observability.d.ts +119 -0
  53. package/dist/config/observability.js +35 -0
  54. package/dist/extensions/otel.d.ts +98 -0
  55. package/dist/extensions/otel.js +190 -0
  56. package/dist/extensions/pino.d.ts +44 -0
  57. package/dist/extensions/pino.js +107 -0
  58. package/dist/extensions/winston.d.ts +47 -0
  59. package/dist/extensions/winston.js +114 -0
  60. package/dist/index.d.ts +2 -0
  61. package/dist/index.js +2 -0
  62. package/dist/server/express/errors.js +3 -3
  63. package/dist/server/express/middeware.d.ts +2 -2
  64. package/dist/server/express/middeware.js +36 -9
  65. package/dist/server/express/server.d.ts +9 -55
  66. package/dist/server/express/server.js +51 -32
  67. package/dist/services/a2a/execute.d.ts +6 -0
  68. package/dist/services/a2a/execute.js +25 -0
  69. package/dist/services/a2a/factory/builder.d.ts +21 -80
  70. package/dist/services/a2a/factory/builder.js +23 -13
  71. package/dist/services/a2a/factory/context.d.ts +15 -128
  72. package/dist/services/a2a/factory/context.js +31 -136
  73. package/dist/services/a2a/factory/handler.d.ts +6 -0
  74. package/dist/services/a2a/factory/{method.js → handler.js} +2 -2
  75. package/dist/services/a2a/factory/index.d.ts +1 -2
  76. package/dist/services/a2a/factory/index.js +1 -2
  77. package/dist/services/a2a/factory/service.d.ts +20 -7
  78. package/dist/services/a2a/factory/service.js +4 -4
  79. package/dist/services/a2a/factory/state-machine.d.ts +11 -0
  80. package/dist/services/a2a/factory/state-machine.js +66 -0
  81. package/dist/services/a2a/{state/update → handlers}/artifact.d.ts +4 -4
  82. package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
  83. package/dist/services/a2a/handlers/cancel-task.js +33 -0
  84. package/dist/services/a2a/handlers/get-task.d.ts +11 -0
  85. package/dist/services/a2a/handlers/get-task.js +13 -0
  86. package/dist/services/a2a/handlers/resubscribe-task.d.ts +11 -0
  87. package/dist/services/a2a/handlers/resubscribe-task.js +56 -0
  88. package/dist/services/a2a/handlers/send-message.d.ts +11 -0
  89. package/dist/services/a2a/handlers/send-message.js +35 -0
  90. package/dist/services/a2a/handlers/stream-message.d.ts +11 -0
  91. package/dist/services/a2a/handlers/stream-message.js +19 -0
  92. package/dist/services/a2a/handlers/update.d.ts +17 -0
  93. package/dist/services/a2a/handlers/update.js +114 -0
  94. package/dist/services/a2a/helpers/agentcard-builder.d.ts +9 -5
  95. package/dist/services/a2a/helpers/agentcard-builder.js +5 -0
  96. package/dist/services/a2a/helpers/content.d.ts +2 -2
  97. package/dist/services/a2a/helpers/content.js +4 -0
  98. package/dist/services/a2a/helpers/history.d.ts +6 -0
  99. package/dist/services/a2a/helpers/history.js +7 -0
  100. package/dist/services/a2a/helpers/index.d.ts +3 -1
  101. package/dist/services/a2a/helpers/index.js +3 -1
  102. package/dist/services/a2a/helpers/message-builder.d.ts +13 -8
  103. package/dist/services/a2a/helpers/message-builder.js +5 -0
  104. package/dist/services/a2a/helpers/part.d.ts +9 -9
  105. package/dist/services/a2a/helpers/references.d.ts +6 -0
  106. package/dist/services/a2a/helpers/references.js +22 -0
  107. package/dist/services/a2a/index.d.ts +9 -5
  108. package/dist/services/a2a/index.js +8 -5
  109. package/dist/services/a2a/managers.d.ts +23 -0
  110. package/dist/services/a2a/managers.js +95 -0
  111. package/dist/services/a2a/messenger.d.ts +35 -0
  112. package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
  113. package/dist/services/a2a/service.d.ts +41 -371
  114. package/dist/services/a2a/service.js +239 -70
  115. package/dist/services/a2a/state-machine.d.ts +18 -0
  116. package/dist/services/a2a/state-machine.js +76 -0
  117. package/dist/services/a2a/streams.d.ts +22 -0
  118. package/dist/services/a2a/streams.js +98 -0
  119. package/dist/services/core/index.d.ts +1 -2
  120. package/dist/services/core/index.js +1 -2
  121. package/dist/services/core/manager.d.ts +15 -0
  122. package/dist/services/core/manager.js +42 -0
  123. package/dist/services/mcp/service.d.ts +11 -15
  124. package/dist/services/mcp/service.js +16 -16
  125. package/dist/transport/index.d.ts +0 -1
  126. package/dist/transport/index.js +1 -1
  127. package/dist/transport/rpc/parser.d.ts +2 -2
  128. package/dist/transport/rpc/parser.js +7 -7
  129. package/dist/transport/rpc/rpc-client.d.ts +5 -5
  130. package/dist/transport/rpc/rpc-client.js +7 -7
  131. package/dist/transport/streaming/event-stream.d.ts +3 -3
  132. package/dist/transport/streaming/event-stream.js +11 -10
  133. package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
  134. package/dist/transport/trpc/a2a/factory/router.js +2 -2
  135. package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
  136. package/dist/transport/trpc/a2a/routes/info.js +6 -2
  137. package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
  138. package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
  139. package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
  140. package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
  141. package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
  142. package/dist/types/a2a/a2a.d.ts +378 -0
  143. package/dist/types/a2a/a2a.js +14 -0
  144. package/dist/types/a2a/builder.d.ts +43 -0
  145. package/dist/types/a2a/index.d.ts +3 -0
  146. package/dist/types/a2a/index.js +2 -0
  147. package/dist/types/client.d.ts +133 -0
  148. package/dist/types/core/core.d.ts +31 -0
  149. package/dist/types/core/core.js +1 -0
  150. package/dist/types/core/index.d.ts +1 -0
  151. package/dist/types/core/index.js +1 -0
  152. package/dist/types/index.d.ts +6 -3
  153. package/dist/types/index.js +6 -3
  154. package/dist/types/mcp/index.d.ts +1 -0
  155. package/dist/types/mcp/index.js +1 -0
  156. package/dist/types/mcp/mcp.d.ts +50 -0
  157. package/dist/types/mcp/mcp.js +5 -0
  158. package/dist/types/protocol.d.ts +33 -0
  159. package/dist/types/protocol.js +34 -0
  160. package/dist/types/storage.d.ts +21 -0
  161. package/dist/utils/common/constants.d.ts +7 -7
  162. package/dist/utils/common/constants.js +10 -10
  163. package/dist/utils/common/errors.d.ts +18 -17
  164. package/dist/utils/common/errors.js +14 -13
  165. package/dist/utils/common/parse.d.ts +7 -0
  166. package/dist/utils/common/parse.js +14 -0
  167. package/dist/utils/common/schema-validation.d.ts +2 -0
  168. package/dist/utils/common/schema-validation.js +12 -0
  169. package/dist/utils/common/utils.d.ts +23 -0
  170. package/dist/utils/common/utils.js +32 -0
  171. package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
  172. package/dist/utils/common/zAsyncIterable-v3.js +2 -1
  173. package/dist/utils/index.d.ts +3 -3
  174. package/dist/utils/index.js +3 -3
  175. package/dist/utils/storage/file.d.ts +8 -17
  176. package/dist/utils/storage/file.js +44 -73
  177. package/package.json +86 -23
  178. package/dist/services/a2a/factory/event.d.ts +0 -58
  179. package/dist/services/a2a/factory/event.js +0 -177
  180. package/dist/services/a2a/factory/method.d.ts +0 -6
  181. package/dist/services/a2a/managers/cancellation.d.ts +0 -11
  182. package/dist/services/a2a/managers/cancellation.js +0 -16
  183. package/dist/services/a2a/managers/connection.d.ts +0 -11
  184. package/dist/services/a2a/managers/connection.js +0 -16
  185. package/dist/services/a2a/managers/context.d.ts +0 -11
  186. package/dist/services/a2a/managers/context.js +0 -16
  187. package/dist/services/a2a/managers/index.d.ts +0 -5
  188. package/dist/services/a2a/managers/index.js +0 -5
  189. package/dist/services/a2a/managers/task.d.ts +0 -11
  190. package/dist/services/a2a/managers/task.js +0 -16
  191. package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
  192. package/dist/services/a2a/methods/cancel-task.js +0 -43
  193. package/dist/services/a2a/methods/get-task.d.ts +0 -112
  194. package/dist/services/a2a/methods/get-task.js +0 -14
  195. package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
  196. package/dist/services/a2a/methods/resubscribe-task.js +0 -80
  197. package/dist/services/a2a/methods/send-message.d.ts +0 -7
  198. package/dist/services/a2a/methods/send-message.js +0 -19
  199. package/dist/services/a2a/methods/stream-message.d.ts +0 -8
  200. package/dist/services/a2a/methods/stream-message.js +0 -21
  201. package/dist/services/a2a/state/index.d.ts +0 -3
  202. package/dist/services/a2a/state/index.js +0 -3
  203. package/dist/services/a2a/state/load.d.ts +0 -14
  204. package/dist/services/a2a/state/load.js +0 -71
  205. package/dist/services/a2a/state/process.d.ts +0 -7
  206. package/dist/services/a2a/state/process.js +0 -13
  207. package/dist/services/a2a/state/update/index.d.ts +0 -2
  208. package/dist/services/a2a/state/update/index.js +0 -2
  209. package/dist/services/a2a/state/update/update.d.ts +0 -23
  210. package/dist/services/a2a/state/update/update.js +0 -123
  211. package/dist/services/core/execution/execute.d.ts +0 -6
  212. package/dist/services/core/execution/execute.js +0 -25
  213. package/dist/services/core/execution/index.d.ts +0 -1
  214. package/dist/services/core/execution/index.js +0 -1
  215. package/dist/services/core/managers/command.d.ts +0 -39
  216. package/dist/services/core/managers/event.d.ts +0 -18
  217. package/dist/services/core/managers/event.js +0 -56
  218. package/dist/services/core/managers/index.d.ts +0 -3
  219. package/dist/services/core/managers/index.js +0 -3
  220. package/dist/services/core/managers/stream.d.ts +0 -20
  221. package/dist/services/core/managers/stream.js +0 -77
  222. package/dist/types/ext.d.ts +0 -13
  223. package/dist/types/ext.js +0 -10
  224. package/dist/types/interfaces/index.d.ts +0 -3
  225. package/dist/types/interfaces/index.js +0 -3
  226. package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
  227. package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
  228. package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
  229. package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
  230. package/dist/types/interfaces/services/a2a/index.js +0 -5
  231. package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
  232. package/dist/types/interfaces/services/a2a/service.d.ts +0 -409
  233. package/dist/types/interfaces/services/a2a/service.js +0 -5
  234. package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
  235. package/dist/types/interfaces/services/core/context/command.js +0 -5
  236. package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
  237. package/dist/types/interfaces/services/core/context/context.js +0 -5
  238. package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
  239. package/dist/types/interfaces/services/core/context/index.js +0 -3
  240. package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
  241. package/dist/types/interfaces/services/core/context/types.js +0 -5
  242. package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
  243. package/dist/types/interfaces/services/core/execution/engine.js +0 -5
  244. package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
  245. package/dist/types/interfaces/services/core/execution/environment.js +0 -5
  246. package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
  247. package/dist/types/interfaces/services/core/execution/execute.js +0 -5
  248. package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
  249. package/dist/types/interfaces/services/core/execution/index.js +0 -3
  250. package/dist/types/interfaces/services/core/index.d.ts +0 -4
  251. package/dist/types/interfaces/services/core/index.js +0 -4
  252. package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  253. package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
  254. package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
  255. package/dist/types/interfaces/services/core/managers/connection.js +0 -5
  256. package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
  257. package/dist/types/interfaces/services/core/managers/context.js +0 -5
  258. package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
  259. package/dist/types/interfaces/services/core/managers/event.js +0 -5
  260. package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
  261. package/dist/types/interfaces/services/core/managers/index.js +0 -6
  262. package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
  263. package/dist/types/interfaces/services/core/managers/stream.js +0 -5
  264. package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
  265. package/dist/types/interfaces/services/core/service.d.ts +0 -115
  266. package/dist/types/interfaces/services/core/service.js +0 -5
  267. package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
  268. package/dist/types/interfaces/services/mcp/index.js +0 -1
  269. package/dist/types/interfaces/services/mcp/service.js +0 -5
  270. package/dist/types/interfaces/storage.d.ts +0 -8
  271. package/dist/types/schemas/a2a/agent.d.ts +0 -2583
  272. package/dist/types/schemas/a2a/agent.js +0 -323
  273. package/dist/types/schemas/a2a/auth.d.ts +0 -908
  274. package/dist/types/schemas/a2a/auth.js +0 -283
  275. package/dist/types/schemas/a2a/error.d.ts +0 -396
  276. package/dist/types/schemas/a2a/error.js +0 -163
  277. package/dist/types/schemas/a2a/index.d.ts +0 -11
  278. package/dist/types/schemas/a2a/index.js +0 -11
  279. package/dist/types/schemas/a2a/kind.d.ts +0 -11
  280. package/dist/types/schemas/a2a/kind.js +0 -20
  281. package/dist/types/schemas/a2a/message.d.ts +0 -10343
  282. package/dist/types/schemas/a2a/message.js +0 -130
  283. package/dist/types/schemas/a2a/notification.d.ts +0 -1517
  284. package/dist/types/schemas/a2a/notification.js +0 -203
  285. package/dist/types/schemas/a2a/parameters.d.ts +0 -956
  286. package/dist/types/schemas/a2a/parameters.js +0 -241
  287. package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
  288. package/dist/types/schemas/a2a/protocol.js +0 -59
  289. package/dist/types/schemas/a2a/rpc.d.ts +0 -182
  290. package/dist/types/schemas/a2a/rpc.js +0 -126
  291. package/dist/types/schemas/a2a/task.d.ts +0 -5886
  292. package/dist/types/schemas/a2a/task.js +0 -134
  293. package/dist/types/schemas/a2a/transport.d.ts +0 -31
  294. package/dist/types/schemas/a2a/transport.js +0 -28
  295. package/dist/types/schemas/index.d.ts +0 -1
  296. package/dist/types/schemas/index.js +0 -1
  297. package/dist/utils/logging/index.d.ts +0 -2
  298. package/dist/utils/logging/index.js +0 -2
  299. package/dist/utils/logging/log.d.ts +0 -33
  300. package/dist/utils/logging/log.js +0 -75
  301. package/dist/utils/logging/logger.d.ts +0 -18
  302. package/dist/utils/logging/logger.js +0 -18
  303. package/dist/utils/storage/memory.d.ts +0 -25
  304. package/dist/utils/storage/memory.js +0 -47
  305. /package/dist/{types/interfaces/services → browser/types}/a2a/builder.js +0 -0
  306. /package/dist/{types/interfaces → browser/types}/client.js +0 -0
  307. /package/dist/{types/interfaces/services/core/managers/task.js → browser/types/core/core.js} +0 -0
  308. /package/dist/{types/interfaces/services → browser/types}/protocol.d.ts +0 -0
  309. /package/dist/{types/interfaces/services → browser/types}/protocol.js +0 -0
  310. /package/dist/{types/interfaces → browser/types}/storage.js +0 -0
  311. /package/dist/services/a2a/{state/update → handlers}/artifact.js +0 -0
  312. /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
  313. /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
  314. /package/dist/types/{interfaces/services/a2a/context.js → a2a/builder.js} +0 -0
  315. /package/dist/types/{interfaces/services/a2a/engine.js → client.js} +0 -0
  316. /package/dist/types/{interfaces/services/a2a/legacy.js → storage.js} +0 -0
@@ -3,22 +3,23 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
- import { MessageSendParamsSchema, TaskIdParamsSchema, TaskSchema, AgentCardSchema, } from "../../types/index.js";
6
+ import { A2A } from "../../types/index.js";
7
+ import { formatJson } from "../../utils/common/utils.js";
7
8
  export class BaseMCPService extends McpServer {
8
9
  agent;
9
10
  _registerBaseTools(uri = "agent://card") {
10
11
  this.registerTool("send-message", {
11
12
  title: "Send Message",
12
- description: MessageSendParamsSchema.description,
13
- inputSchema: MessageSendParamsSchema.shape,
14
- outputSchema: TaskSchema.shape, //defaulting to task because unions are not supported
13
+ description: A2A.MessageSendParamsSchema.description,
14
+ inputSchema: A2A.MessageSendParamsSchema.shape,
15
+ outputSchema: A2A.TaskSchema.shape, //defaulting to task because unions are not supported
15
16
  }, async (args) => {
16
17
  const task = await this.agent.sendMessage(args);
17
18
  return {
18
19
  content: [
19
20
  {
20
21
  type: "text",
21
- text: JSON.stringify(task, null, 2),
22
+ text: formatJson(task),
22
23
  },
23
24
  ],
24
25
  structuredContent: task,
@@ -26,16 +27,16 @@ export class BaseMCPService extends McpServer {
26
27
  });
27
28
  this.registerTool("get-task", {
28
29
  title: "Get Task",
29
- description: TaskIdParamsSchema.description,
30
- inputSchema: TaskIdParamsSchema.shape,
31
- outputSchema: TaskSchema.shape,
30
+ description: A2A.TaskIdParamsSchema.description,
31
+ inputSchema: A2A.TaskIdParamsSchema.shape,
32
+ outputSchema: A2A.TaskSchema.shape,
32
33
  }, async (args) => {
33
34
  const task = await this.agent.getTask(args);
34
35
  return {
35
36
  content: [
36
37
  {
37
38
  type: "text",
38
- text: JSON.stringify(task, null, 2),
39
+ text: formatJson(task),
39
40
  },
40
41
  ],
41
42
  structuredContent: task,
@@ -43,16 +44,16 @@ export class BaseMCPService extends McpServer {
43
44
  });
44
45
  this.registerTool("cancel-task", {
45
46
  title: "Cancel Task",
46
- description: TaskIdParamsSchema.description,
47
- inputSchema: TaskIdParamsSchema.shape,
48
- outputSchema: TaskSchema.shape,
47
+ description: A2A.TaskIdParamsSchema.description,
48
+ inputSchema: A2A.TaskIdParamsSchema.shape,
49
+ outputSchema: A2A.TaskSchema.shape,
49
50
  }, async (args) => {
50
51
  const task = await this.agent.cancelTask(args);
51
52
  return {
52
53
  content: [
53
54
  {
54
55
  type: "text",
55
- text: JSON.stringify(task, null, 2),
56
+ text: formatJson(task),
56
57
  },
57
58
  ],
58
59
  structuredContent: task,
@@ -60,15 +61,14 @@ export class BaseMCPService extends McpServer {
60
61
  });
61
62
  this.registerResource("agent-card", uri, {
62
63
  title: "Agent Card",
63
- description: AgentCardSchema.description,
64
- outputSchema: AgentCardSchema.shape,
64
+ description: A2A.AgentCardSchema.description,
65
65
  mimeType: "application/json",
66
66
  }, async (uri) => {
67
67
  return {
68
68
  contents: [
69
69
  {
70
70
  uri: uri.href,
71
- text: JSON.stringify(this.agent.agentCard, null, 2),
71
+ text: formatJson(await this.agent.getAgentCard()),
72
72
  mimeType: "application/json",
73
73
  },
74
74
  ],
@@ -1,4 +1,3 @@
1
1
  export * from "./rpc/rpc-client.js";
2
2
  export * from "./streaming/event-stream.js";
3
3
  export * from "./rpc/parser.js";
4
- export * from "./trpc/index.js";
@@ -1,4 +1,4 @@
1
1
  export * from "./rpc/rpc-client.js";
2
2
  export * from "./streaming/event-stream.js";
3
3
  export * from "./rpc/parser.js";
4
- export * from "./trpc/index.js";
4
+ // export * from "./trpc/index.js";
@@ -2,7 +2,7 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { JSONRPCResponse } from "../../types/index.js";
5
+ import { MCP } from "../../types/index.js";
6
6
  /**
7
7
  * Parses a JSON-RPC response string and validates its structure.
8
8
  * If the response contains an error, it is thrown as an A2AError.
@@ -12,4 +12,4 @@ import { JSONRPCResponse } from "../../types/index.js";
12
12
  * @returns The parsed and validated response object
13
13
  * @throws A2AError if the response contains an error or is invalid
14
14
  */
15
- export declare function parseResponse<Res extends JSONRPCResponse>(data: string): Res;
15
+ export declare function parseResponse<Res extends MCP.JSONRPCResponse | MCP.JSONRPCError>(data: string): Res;
@@ -2,9 +2,9 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { JSONRPCErrorSchema, } from "../../types/index.js";
6
- import { SystemError, PARSE_ERROR } from "../../utils/index.js";
7
- import { logError } from "../../utils/logging/index.js";
5
+ import { MCP } from "../../types/index.js";
6
+ import { SystemError, PARSE_ERROR } from "../../utils/common/errors.js";
7
+ import { logger } from "../../config/index.js";
8
8
  /**
9
9
  * Parses a JSON-RPC response string and validates its structure.
10
10
  * If the response contains an error, it is thrown as an A2AError.
@@ -21,11 +21,11 @@ export function parseResponse(data) {
21
21
  try {
22
22
  const parsed = JSON.parse(data); //todo: leverage safe parse
23
23
  if (parsed.error) {
24
- const parsedError = JSONRPCErrorSchema.safeParse(parsed.error);
24
+ const parsedError = MCP.JSONRPCErrorSchema.safeParse(parsed);
25
25
  if (!parsedError.success) {
26
26
  throw PARSE_ERROR(parsedError.error);
27
27
  }
28
- throw new SystemError(parsedError.data.message, parsedError.data.code, parsedError.data.data);
28
+ throw new SystemError(parsedError.data.error.message, parsedError.data.error.code, parsedError.data.error.data);
29
29
  }
30
30
  if (typeof parsed !== "object" ||
31
31
  parsed === null ||
@@ -39,10 +39,10 @@ export function parseResponse(data) {
39
39
  }
40
40
  catch (error) {
41
41
  if (error instanceof SystemError) {
42
- logError("parseResponse", "SystemError:", error.message);
42
+ logger.error("parseResponse: SystemError:", error);
43
43
  throw error;
44
44
  }
45
- logError("parseResponse", "Error parsing response:", data);
45
+ logger.error("parseResponse: Error parsing response:", error);
46
46
  throw PARSE_ERROR(error);
47
47
  }
48
48
  }
@@ -2,7 +2,7 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import type { JSONRPCRequest, JSONRPCResponse, A2ARequest } from "../../types/index.js";
5
+ import type { A2A, MCP } from "../../types/index.js";
6
6
  /**
7
7
  * Creates a JSON-RPC request body with the specified method and parameters.
8
8
  *, ErrorCodeParseError
@@ -11,7 +11,7 @@ import type { JSONRPCRequest, JSONRPCResponse, A2ARequest } from "../../types/in
11
11
  * @param requestId Optional request ID (generates a UUID v4 if not provided)
12
12
  * @returns A properly formatted JSON-RPC request object
13
13
  */
14
- export declare function createJsonRpcRequest<Req extends A2ARequest>(method: Req["method"], params: Req["params"], requestId?: string | number): JSONRPCRequest;
14
+ export declare function createJsonRpcRequest<Req extends A2A.A2ARequest>(method: Req["method"], params: Req["params"], requestId?: string | number): MCP.JSONRPCRequest;
15
15
  /**
16
16
  * Sends a JSON-RPC request to the specified endpoint.
17
17
  *
@@ -23,7 +23,7 @@ export declare function createJsonRpcRequest<Req extends A2ARequest>(method: Req
23
23
  * @returns A Promise resolving to the fetch Response object
24
24
  * @throws RpcError if there's a network error
25
25
  */
26
- export declare function sendJsonRpcRequest<Req extends A2ARequest>(baseUrl: URL, method: Req["method"], params: Req["params"], headers?: Record<string, string>, acceptHeader?: "application/json" | "text/event-stream"): Promise<Response>;
26
+ export declare function sendJsonRpcRequest<Req extends A2A.A2ARequest>(baseUrl: URL, method: Req["method"], params: Req["params"], headers?: Record<string, string>, acceptHeader?: "application/json" | "text/event-stream"): Promise<Response>;
27
27
  /**
28
28
  * Sends a GET request to the specified endpoint.
29
29
  * This is used for non-JSON-RPC calls like agent card retrieval.
@@ -43,7 +43,7 @@ export declare function sendGetRequest(url: URL, headers?: Record<string, string
43
43
  * @returns A promise resolving to the result payload
44
44
  * @throws RpcError if there's an error in the response
45
45
  */
46
- export declare function handleJsonRpcResponse<Res extends JSONRPCResponse>(response: Response, expectedMethod?: string): Promise<NonNullable<Res["result"]>>;
46
+ export declare function handleJsonRpcResponse<Res extends MCP.JSONRPCResultResponse>(response: Response, expectedMethod?: string): Promise<NonNullable<Res["result"]>>;
47
47
  /**
48
48
  * Processes a JSON response from a regular GET request.
49
49
  * Handles error checking and returns the parsed JSON.
@@ -66,7 +66,7 @@ export declare function handleJsonResponse<T>(response: Response, endpoint?: str
66
66
  * @returns A Promise resolving to the result payload
67
67
  * @throws RpcError if there's a network error or error in the response
68
68
  */
69
- export declare function executeJsonRpcRequest<Req extends A2ARequest, Res extends JSONRPCResponse>(baseUrl: URL, method: Req["method"], params: Req["params"], headers?: Record<string, string>, acceptHeader?: "application/json" | "text/event-stream"): Promise<NonNullable<Res["result"]>>;
69
+ export declare function executeJsonRpcRequest<Req extends A2A.A2ARequest, Res extends MCP.JSONRPCResultResponse>(baseUrl: URL, method: Req["method"], params: Req["params"], headers?: Record<string, string>, acceptHeader?: "application/json" | "text/event-stream"): Promise<NonNullable<Res["result"]>>;
70
70
  /**
71
71
  * Sends a GET request and processes the JSON response.
72
72
  * Helper for non-RPC REST endpoints.
@@ -7,9 +7,9 @@
7
7
  * Handles the common pattern of sending JSON-RPC requests and processing responses.
8
8
  */
9
9
  import { v4 as uuidv4 } from "uuid";
10
- import { SystemError, INTERNAL_ERROR, PARSE_ERROR } from "../../utils/index.js";
10
+ import { SystemError, INTERNAL_ERROR, PARSE_ERROR, } from "../../utils/common/errors.js";
11
11
  import { parseResponse } from "./parser.js";
12
- import { logError, logWarn } from "../../utils/logging/index.js";
12
+ import { logger } from "../../config/index.js";
13
13
  /**
14
14
  * Creates a JSON-RPC request body with the specified method and parameters.
15
15
  *, ErrorCodeParseError
@@ -55,7 +55,7 @@ export async function sendJsonRpcRequest(baseUrl, method, params, headers = {},
55
55
  });
56
56
  }
57
57
  catch (networkError) {
58
- logError("SendJsonRpcRequest", "Network error during RPC call:", networkError);
58
+ logger.error("SendJsonRpcRequest: Network error during RPC call:", networkError);
59
59
  // Wrap network errors into a standard error format
60
60
  throw INTERNAL_ERROR(networkError);
61
61
  }
@@ -80,7 +80,7 @@ export async function sendGetRequest(url, headers = {}) {
80
80
  });
81
81
  }
82
82
  catch (networkError) {
83
- logError("SendGetRequest", "Network error during GET request:", networkError);
83
+ logger.error("SendGetRequest: Network error during GET request:", networkError);
84
84
  throw INTERNAL_ERROR(networkError);
85
85
  }
86
86
  }
@@ -105,7 +105,7 @@ export async function handleJsonRpcResponse(response, expectedMethod) {
105
105
  // But the HTTP status was not OK, so we throw a generic error
106
106
  }
107
107
  catch (parseError) {
108
- logWarn("handleJsonRpcResponse", "Error parsing JSON-RPC response:", parseError);
108
+ logger.warn("handleJsonRpcResponse", "Error parsing JSON-RPC response:", parseError);
109
109
  }
110
110
  // Throw a generic HTTP error if we couldn't extract an RPC error
111
111
  throw new Error(`HTTP error ${response.status}: ${response.statusText}${responseBody ? ` - ${responseBody}` : ""}`);
@@ -119,7 +119,7 @@ export async function handleJsonRpcResponse(response, expectedMethod) {
119
119
  return jsonResponse.result;
120
120
  }
121
121
  catch (error) {
122
- logError("handleJsonRpcResponse", `Error processing response [${expectedMethod}]:`, error);
122
+ logger.error(`handleJsonRpcResponse: Error processing response [${expectedMethod}]:`, error);
123
123
  // Re-throw RpcError instances directly, wrap others
124
124
  if (error instanceof SystemError) {
125
125
  throw error;
@@ -148,7 +148,7 @@ export async function handleJsonResponse(response, endpoint) {
148
148
  return JSON.parse(responseBody);
149
149
  }
150
150
  catch (error) {
151
- logError("handleJsonResponse", `Error processing response for ${endpoint || "unknown endpoint"}:`, error);
151
+ logger.error(`handleJsonResponse: Error processing response for ${endpoint || "unknown endpoint"}:`, error);
152
152
  if (error instanceof SystemError) {
153
153
  throw error;
154
154
  }
@@ -2,7 +2,7 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import type { JSONRPCResponse, A2ARequest } from "../../types/index.js";
5
+ import { A2A, MCP } from "../../types/index.js";
6
6
  /**
7
7
  * Creates an async generator for processing task events from an SSE stream
8
8
  *
@@ -10,7 +10,7 @@ import type { JSONRPCResponse, A2ARequest } from "../../types/index.js";
10
10
  * @param response The fetch Response object containing the event stream
11
11
  * @returns An async generator yielding the specified type of task events from StreamingResponse
12
12
  */
13
- export declare function handleEventStream<StreamRes extends JSONRPCResponse>(response: Response): AsyncGenerator<NonNullable<StreamRes["result"]>>;
13
+ export declare function handleEventStream<StreamRes extends MCP.JSONRPCResultResponse>(response: Response): AsyncGenerator<NonNullable<StreamRes["result"]>>;
14
14
  /**
15
15
  * Executes a streaming JSON-RPC request and yields events as they arrive
16
16
  *
@@ -22,4 +22,4 @@ export declare function handleEventStream<StreamRes extends JSONRPCResponse>(res
22
22
  * @param customHeaders Any custom headers to include in the request
23
23
  * @returns An AsyncIterable yielding events from the stream
24
24
  */
25
- export declare function executeStreamEvents<Req extends A2ARequest, StreamRes extends JSONRPCResponse>(baseUrl: URL, method: Req["method"], params: Req["params"], customHeaders: Record<string, string>): AsyncIterable<NonNullable<StreamRes["result"]>>;
25
+ export declare function executeStreamEvents<Req extends A2A.A2ARequest, StreamRes extends MCP.JSONRPCResultResponse>(baseUrl: URL, method: Req["method"], params: Req["params"], customHeaders: Record<string, string>): AsyncIterable<NonNullable<StreamRes["result"]>>;
@@ -8,7 +8,7 @@
8
8
  import { parseResponse } from "../rpc/parser.js";
9
9
  import { createParser, } from "eventsource-parser";
10
10
  import { sendJsonRpcRequest } from "../rpc/rpc-client.js";
11
- import { logError, logWarn, logDebug } from "../../utils/logging/index.js";
11
+ import { logger } from "../../config/index.js";
12
12
  /**
13
13
  * Creates an async generator for processing task events from an SSE stream
14
14
  *
@@ -23,8 +23,9 @@ export async function* handleEventStream(response) {
23
23
  errorText = await response.text();
24
24
  }
25
25
  catch (_) { }
26
- logError("handleEventStream", `HTTP error [${response.status}:${response.statusText}] - ${errorText}`, new Error(`HTTP error [${response.status}:${response.statusText}] - ${errorText}`));
27
- throw new Error(`HTTP error [${response.status}:${response.statusText}] - ${errorText}`);
26
+ const err = new Error(`HTTP error [${response.status}:${response.statusText}] - ${errorText}`);
27
+ logger.error(`handleEventStream: HTTP error [${response.status}:${response.statusText}] - ${errorText}`, err);
28
+ throw err;
28
29
  }
29
30
  // Use eventsource-parser to process the SSE stream
30
31
  const reader = response.body.getReader();
@@ -34,7 +35,7 @@ export async function* handleEventStream(response) {
34
35
  onEvent: (event) => {
35
36
  if (event.data) {
36
37
  if (event.event === "close") {
37
- logDebug("handleEventStream", "Stream closed");
38
+ logger.debug("handleEventStream", "Stream closed");
38
39
  return;
39
40
  }
40
41
  try {
@@ -44,7 +45,7 @@ export async function* handleEventStream(response) {
44
45
  events.push(eventResult);
45
46
  }
46
47
  else {
47
- logWarn("handleEventStream", "Failed to parse SSE data", parsedData);
48
+ logger.warn("handleEventStream", "Failed to parse SSE data", parsedData);
48
49
  }
49
50
  // if (parsedData.final && parsedData.final === true) {
50
51
  // logDebug("handleEventStream", "Stream completed");
@@ -52,15 +53,15 @@ export async function* handleEventStream(response) {
52
53
  // }
53
54
  }
54
55
  catch (e) {
55
- logWarn("handleEventStream", "Failed to parse SSE data", e);
56
+ logger.warn("handleEventStream", "Failed to parse SSE data", e);
56
57
  }
57
58
  }
58
59
  },
59
60
  onError: (error) => {
60
- logError("handleEventStream", "Error parsing SSE data", error);
61
+ logger.error("handleEventStream: Error parsing SSE data", error);
61
62
  },
62
63
  onRetry: (retry) => {
63
- logWarn("handleEventStream", "Retrying SSE connection", retry);
64
+ logger.warn("handleEventStream", "Retrying SSE connection", retry);
64
65
  },
65
66
  });
66
67
  try {
@@ -91,9 +92,9 @@ export async function* handleEventStream(response) {
91
92
  * @returns An AsyncIterable yielding events from the stream
92
93
  */
93
94
  export async function* executeStreamEvents(baseUrl, method, params, customHeaders) {
94
- logDebug("executeStreamEvents", `Sending streaming request to: ${baseUrl.toString()}, method: ${method}`);
95
+ logger.debug("executeStreamEvents", `Sending streaming request to: ${baseUrl.toString()}, method: ${method}`);
95
96
  const responsePromise = sendJsonRpcRequest(baseUrl, method, params, customHeaders, "text/event-stream");
96
97
  const response = await responsePromise;
97
- logDebug("executeStreamEvents", "Response", response);
98
+ logger.debug("executeStreamEvents", "Response", response);
98
99
  yield* handleEventStream(response);
99
100
  }