@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
@@ -1,21 +1,17 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
1
  import { EventEmitter } from "events";
6
- export class CommandChannel extends EventEmitter {
7
- _command;
8
- commands = [];
2
+ export class Messenger extends EventEmitter {
3
+ _message;
4
+ _messages = [];
9
5
  resolvers = [];
10
6
  done = false;
11
7
  /**
12
- * @param command - The initial command to send
13
- * @note The initial command is tied to the channel and cannot be changed
8
+ * @param message - The initial message to send
9
+ * @note The initial message is tied to the messenger and cannot be changed
14
10
  */
15
- constructor(_command) {
11
+ constructor(message) {
16
12
  super();
17
- this._command = _command;
18
- this.commands.push(_command);
13
+ this._message = message;
14
+ this._messages.push(message);
19
15
  }
20
16
  /**
21
17
  * @returns True if the channel is open
@@ -26,14 +22,14 @@ export class CommandChannel extends EventEmitter {
26
22
  /**
27
23
  * @returns The list of commands
28
24
  */
29
- get commandList() {
30
- return this.commands;
25
+ get message() {
26
+ return this._messages[0] ?? this._message;
31
27
  }
32
28
  /**
33
- * @returns The current command
29
+ * @returns The current message
34
30
  */
35
- get command() {
36
- return this.commands[0] ?? this._command;
31
+ get messages() {
32
+ return this._messages;
37
33
  }
38
34
  /**
39
35
  * @returns The command channel as an async iterable
@@ -42,30 +38,30 @@ export class CommandChannel extends EventEmitter {
42
38
  return this;
43
39
  }
44
40
  valueOf() {
45
- return this.command;
41
+ return this.message;
46
42
  }
47
- send(command) {
43
+ async send(message) {
48
44
  if (this.done) {
49
- throw new Error("Command channel is closed");
45
+ throw new Error("Messenger is closed");
50
46
  }
51
47
  const resolver = this.resolvers.shift();
52
48
  if (resolver) {
53
- resolver({ value: command, done: false });
49
+ resolver({ value: message, done: false });
54
50
  }
55
51
  else {
56
- this.commands.push(command);
52
+ this._messages.push(message);
57
53
  }
58
- this.emit("send", command);
54
+ this.emit("message", message);
59
55
  }
60
- close() {
56
+ async close() {
61
57
  this.done = true;
62
58
  this.resolvers.forEach((resolver) => resolver({ value: undefined, done: true }));
63
59
  this.resolvers = [];
64
60
  this.emit("close");
65
61
  }
66
62
  async next() {
67
- if (this.commands.length)
68
- return Promise.resolve({ value: this.commands.shift(), done: false });
63
+ if (this._messages.length)
64
+ return Promise.resolve({ value: this._messages.shift(), done: false });
69
65
  if (this.done)
70
66
  return Promise.resolve({ value: undefined, done: true });
71
67
  return new Promise((resolve) => {
@@ -74,15 +70,15 @@ export class CommandChannel extends EventEmitter {
74
70
  }
75
71
  return(value) {
76
72
  this.close();
77
- this.commands = [];
73
+ this._messages = [];
78
74
  return Promise.resolve({ value, done: true });
79
75
  }
80
- static create(command) {
81
- const instance = new CommandChannel(command);
76
+ static create(messageParams) {
77
+ const instance = new Messenger(messageParams);
82
78
  return new Proxy(instance, {
83
79
  get(target, prop, _) {
84
- if (prop in target.command) {
85
- return target.command[prop];
80
+ if (prop in target.message) {
81
+ return target.message[prop];
86
82
  }
87
83
  else if (prop in target) {
88
84
  return target[prop];
@@ -2,376 +2,46 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { A2AServiceInterface, A2AEngine, AgentCard, ContextManagerInterface, ConnectionManagerInterface, CancellationManagerInterface, TaskManagerInterface, MethodOptions, TaskAndHistory, TaskIdParams, MessageSendParams, Command, State, Update, CoreContext, EventManagerOptions, MethodParams, TaskQueryParams } from "../../types/index.js";
6
- export declare class A2AService implements A2AServiceInterface {
7
- readonly agentCard: AgentCard;
8
- private engine;
9
- private connections;
10
- private cancellations;
11
- private tasks;
12
- private contexts;
13
- private methods;
14
- readonly eventOverrides: EventManagerOptions<Command, State, Update> | undefined;
15
- constructor(agentCard: AgentCard, engine: A2AEngine, contexts: ContextManagerInterface<Command, State, Update>, connections: ConnectionManagerInterface, cancellations: CancellationManagerInterface, tasks: TaskManagerInterface<TaskAndHistory>, methods: MethodOptions, eventOverrides?: EventManagerOptions<Command, State, Update>);
16
- execute(engine: A2AEngine, context: CoreContext<Command, State, Update>): Promise<void>;
5
+ import { A2A } from "../../types/index.js";
6
+ import { ServiceParams } from "./factory/service.js";
7
+ export declare class Service implements A2A.Service {
8
+ private _agentCard;
9
+ private _engine;
10
+ private _connections;
11
+ private _cancellations;
12
+ private _tasks;
13
+ private _contexts;
14
+ private _streams;
15
+ private _methods;
16
+ private _overrides?;
17
+ constructor(_agentCard: A2A.AgentCard, _engine: A2A.Engine, _connections: A2A.Connections, _cancellations: A2A.Cancellations, _tasks: A2A.Tasks, _contexts: A2A.Contexts, _streams: A2A.Streams, _methods: Omit<A2A.RequestHandler, "getAgentCard">, _overrides?: Partial<Omit<A2A.EventConsumer, "contextId">> | undefined);
18
+ get methods(): Omit<A2A.RequestHandler, "getAgentCard">;
19
+ set methods(methods: Partial<Omit<A2A.RequestHandler, "getAgentCard">>);
20
+ get agentCard(): A2A.AgentCard;
21
+ get engine(): A2A.Engine;
22
+ set engine(engine: A2A.Engine);
23
+ get connections(): A2A.Connections;
24
+ get cancellations(): A2A.Cancellations;
25
+ get tasks(): A2A.Tasks;
26
+ get contexts(): A2A.Contexts;
27
+ set contexts(contexts: A2A.Contexts);
28
+ get streams(): A2A.Streams;
29
+ get overrides(): Partial<Omit<A2A.EventConsumer, "contextId">> | undefined;
30
+ set overrides(overrides: Partial<Omit<A2A.EventConsumer, "contextId">>);
31
+ execute({ engine, context, }: {
32
+ engine: A2A.Engine;
33
+ context: A2A.Context;
34
+ }): Promise<void>;
35
+ getAgentCard(): Promise<A2A.AgentCard>;
17
36
  stop(): Promise<void>;
18
- addConnection(id: string): void;
19
- removeConnection(id: string): void;
20
- isCancelled(id: string): boolean;
21
- addCancellation(id: string): void;
22
- removeCancellation(id: string): void;
23
- getState(id: string): Promise<TaskAndHistory | undefined>;
24
- setState(id: string, data: TaskAndHistory): Promise<void>;
25
- getTask(input: TaskQueryParams): Promise<{
26
- id: string;
27
- status: {
28
- state: "failed" | "unknown" | "completed" | "canceled" | "rejected" | "submitted" | "working" | "input-required" | "auth-required";
29
- message?: {
30
- role: "user" | "agent";
31
- kind: "message";
32
- parts: ({
33
- file: {
34
- bytes: string;
35
- name?: string | undefined;
36
- mimeType?: string | undefined;
37
- uri?: undefined;
38
- } | {
39
- uri: string;
40
- name?: string | undefined;
41
- bytes?: undefined;
42
- mimeType?: string | undefined;
43
- };
44
- kind: "file";
45
- metadata?: Record<string, unknown> | undefined;
46
- } | {
47
- text: string;
48
- kind: "text";
49
- metadata?: Record<string, unknown> | undefined;
50
- } | {
51
- data: Record<string, unknown>;
52
- kind: "data";
53
- metadata?: Record<string, unknown> | undefined;
54
- })[];
55
- messageId: string;
56
- metadata?: Record<string, unknown> | undefined;
57
- extensions?: string[] | undefined;
58
- referenceTaskIds?: string[] | undefined;
59
- taskId?: string | undefined;
60
- contextId?: string | undefined;
61
- } | undefined;
62
- timestamp?: string | undefined;
63
- };
64
- kind: "task";
65
- contextId: string;
66
- metadata?: Record<string, unknown> | undefined;
67
- history?: {
68
- role: "user" | "agent";
69
- kind: "message";
70
- parts: ({
71
- file: {
72
- bytes: string;
73
- name?: string | undefined;
74
- mimeType?: string | undefined;
75
- uri?: undefined;
76
- } | {
77
- uri: string;
78
- name?: string | undefined;
79
- bytes?: undefined;
80
- mimeType?: string | undefined;
81
- };
82
- kind: "file";
83
- metadata?: Record<string, unknown> | undefined;
84
- } | {
85
- text: string;
86
- kind: "text";
87
- metadata?: Record<string, unknown> | undefined;
88
- } | {
89
- data: Record<string, unknown>;
90
- kind: "data";
91
- metadata?: Record<string, unknown> | undefined;
92
- })[];
93
- messageId: string;
94
- metadata?: Record<string, unknown> | undefined;
95
- extensions?: string[] | undefined;
96
- referenceTaskIds?: string[] | undefined;
97
- taskId?: string | undefined;
98
- contextId?: string | undefined;
99
- }[] | undefined;
100
- artifacts?: {
101
- artifactId: string;
102
- parts: ({
103
- file: {
104
- bytes: string;
105
- name?: string | undefined;
106
- mimeType?: string | undefined;
107
- uri?: undefined;
108
- } | {
109
- uri: string;
110
- name?: string | undefined;
111
- bytes?: undefined;
112
- mimeType?: string | undefined;
113
- };
114
- kind: "file";
115
- metadata?: Record<string, unknown> | undefined;
116
- } | {
117
- text: string;
118
- kind: "text";
119
- metadata?: Record<string, unknown> | undefined;
120
- } | {
121
- data: Record<string, unknown>;
122
- kind: "data";
123
- metadata?: Record<string, unknown> | undefined;
124
- })[];
125
- name?: string | undefined;
126
- metadata?: Record<string, unknown> | undefined;
127
- description?: string | undefined;
128
- extension?: string[] | undefined;
129
- }[] | undefined;
130
- }>;
131
- cancelTask(input: TaskIdParams): Promise<{
132
- id: string;
133
- status: {
134
- state: "failed" | "unknown" | "completed" | "canceled" | "rejected" | "submitted" | "working" | "input-required" | "auth-required";
135
- message?: {
136
- role: "user" | "agent";
137
- kind: "message";
138
- parts: ({
139
- file: {
140
- bytes: string;
141
- name?: string | undefined;
142
- mimeType?: string | undefined;
143
- uri?: undefined;
144
- } | {
145
- uri: string;
146
- name?: string | undefined;
147
- bytes?: undefined;
148
- mimeType?: string | undefined;
149
- };
150
- kind: "file";
151
- metadata?: Record<string, unknown> | undefined;
152
- } | {
153
- text: string;
154
- kind: "text";
155
- metadata?: Record<string, unknown> | undefined;
156
- } | {
157
- data: Record<string, unknown>;
158
- kind: "data";
159
- metadata?: Record<string, unknown> | undefined;
160
- })[];
161
- messageId: string;
162
- metadata?: Record<string, unknown> | undefined;
163
- extensions?: string[] | undefined;
164
- referenceTaskIds?: string[] | undefined;
165
- taskId?: string | undefined;
166
- contextId?: string | undefined;
167
- } | undefined;
168
- timestamp?: string | undefined;
169
- };
170
- kind: "task";
171
- contextId: string;
172
- metadata?: Record<string, unknown> | undefined;
173
- history?: {
174
- role: "user" | "agent";
175
- kind: "message";
176
- parts: ({
177
- file: {
178
- bytes: string;
179
- name?: string | undefined;
180
- mimeType?: string | undefined;
181
- uri?: undefined;
182
- } | {
183
- uri: string;
184
- name?: string | undefined;
185
- bytes?: undefined;
186
- mimeType?: string | undefined;
187
- };
188
- kind: "file";
189
- metadata?: Record<string, unknown> | undefined;
190
- } | {
191
- text: string;
192
- kind: "text";
193
- metadata?: Record<string, unknown> | undefined;
194
- } | {
195
- data: Record<string, unknown>;
196
- kind: "data";
197
- metadata?: Record<string, unknown> | undefined;
198
- })[];
199
- messageId: string;
200
- metadata?: Record<string, unknown> | undefined;
201
- extensions?: string[] | undefined;
202
- referenceTaskIds?: string[] | undefined;
203
- taskId?: string | undefined;
204
- contextId?: string | undefined;
205
- }[] | undefined;
206
- artifacts?: {
207
- artifactId: string;
208
- parts: ({
209
- file: {
210
- bytes: string;
211
- name?: string | undefined;
212
- mimeType?: string | undefined;
213
- uri?: undefined;
214
- } | {
215
- uri: string;
216
- name?: string | undefined;
217
- bytes?: undefined;
218
- mimeType?: string | undefined;
219
- };
220
- kind: "file";
221
- metadata?: Record<string, unknown> | undefined;
222
- } | {
223
- text: string;
224
- kind: "text";
225
- metadata?: Record<string, unknown> | undefined;
226
- } | {
227
- data: Record<string, unknown>;
228
- kind: "data";
229
- metadata?: Record<string, unknown> | undefined;
230
- })[];
231
- name?: string | undefined;
232
- metadata?: Record<string, unknown> | undefined;
233
- description?: string | undefined;
234
- extension?: string[] | undefined;
235
- }[] | undefined;
236
- }>;
237
- sendMessage(message: MessageSendParams | string, params?: Partial<Omit<MethodParams, "service" | "contextManager">>): Promise<{
238
- role: "user" | "agent";
239
- kind: "message";
240
- parts: ({
241
- file: {
242
- bytes: string;
243
- name?: string | undefined;
244
- mimeType?: string | undefined;
245
- uri?: undefined;
246
- } | {
247
- uri: string;
248
- name?: string | undefined;
249
- bytes?: undefined;
250
- mimeType?: string | undefined;
251
- };
252
- kind: "file";
253
- metadata?: Record<string, unknown> | undefined;
254
- } | {
255
- text: string;
256
- kind: "text";
257
- metadata?: Record<string, unknown> | undefined;
258
- } | {
259
- data: Record<string, unknown>;
260
- kind: "data";
261
- metadata?: Record<string, unknown> | undefined;
262
- })[];
263
- messageId: string;
264
- metadata?: Record<string, unknown> | undefined;
265
- extensions?: string[] | undefined;
266
- referenceTaskIds?: string[] | undefined;
267
- taskId?: string | undefined;
268
- contextId?: string | undefined;
269
- } | {
270
- id: string;
271
- status: {
272
- state: "failed" | "unknown" | "completed" | "canceled" | "rejected" | "submitted" | "working" | "input-required" | "auth-required";
273
- message?: {
274
- role: "user" | "agent";
275
- kind: "message";
276
- parts: ({
277
- file: {
278
- bytes: string;
279
- name?: string | undefined;
280
- mimeType?: string | undefined;
281
- uri?: undefined;
282
- } | {
283
- uri: string;
284
- name?: string | undefined;
285
- bytes?: undefined;
286
- mimeType?: string | undefined;
287
- };
288
- kind: "file";
289
- metadata?: Record<string, unknown> | undefined;
290
- } | {
291
- text: string;
292
- kind: "text";
293
- metadata?: Record<string, unknown> | undefined;
294
- } | {
295
- data: Record<string, unknown>;
296
- kind: "data";
297
- metadata?: Record<string, unknown> | undefined;
298
- })[];
299
- messageId: string;
300
- metadata?: Record<string, unknown> | undefined;
301
- extensions?: string[] | undefined;
302
- referenceTaskIds?: string[] | undefined;
303
- taskId?: string | undefined;
304
- contextId?: string | undefined;
305
- } | undefined;
306
- timestamp?: string | undefined;
307
- };
308
- kind: "task";
309
- contextId: string;
310
- metadata?: Record<string, unknown> | undefined;
311
- history?: {
312
- role: "user" | "agent";
313
- kind: "message";
314
- parts: ({
315
- file: {
316
- bytes: string;
317
- name?: string | undefined;
318
- mimeType?: string | undefined;
319
- uri?: undefined;
320
- } | {
321
- uri: string;
322
- name?: string | undefined;
323
- bytes?: undefined;
324
- mimeType?: string | undefined;
325
- };
326
- kind: "file";
327
- metadata?: Record<string, unknown> | undefined;
328
- } | {
329
- text: string;
330
- kind: "text";
331
- metadata?: Record<string, unknown> | undefined;
332
- } | {
333
- data: Record<string, unknown>;
334
- kind: "data";
335
- metadata?: Record<string, unknown> | undefined;
336
- })[];
337
- messageId: string;
338
- metadata?: Record<string, unknown> | undefined;
339
- extensions?: string[] | undefined;
340
- referenceTaskIds?: string[] | undefined;
341
- taskId?: string | undefined;
342
- contextId?: string | undefined;
343
- }[] | undefined;
344
- artifacts?: {
345
- artifactId: string;
346
- parts: ({
347
- file: {
348
- bytes: string;
349
- name?: string | undefined;
350
- mimeType?: string | undefined;
351
- uri?: undefined;
352
- } | {
353
- uri: string;
354
- name?: string | undefined;
355
- bytes?: undefined;
356
- mimeType?: string | undefined;
357
- };
358
- kind: "file";
359
- metadata?: Record<string, unknown> | undefined;
360
- } | {
361
- text: string;
362
- kind: "text";
363
- metadata?: Record<string, unknown> | undefined;
364
- } | {
365
- data: Record<string, unknown>;
366
- kind: "data";
367
- metadata?: Record<string, unknown> | undefined;
368
- })[];
369
- name?: string | undefined;
370
- metadata?: Record<string, unknown> | undefined;
371
- description?: string | undefined;
372
- extension?: string[] | undefined;
373
- }[] | undefined;
374
- }>;
375
- streamMessage(message: MessageSendParams | string, params?: Partial<Omit<MethodParams, "service" | "contextManager">>): AsyncGenerator<import("../../types/index.js").UpdateEvent, void, any>;
376
- resubscribe(input: TaskIdParams, params?: Partial<Omit<MethodParams, "service" | "contextManager">>): AsyncGenerator<import("../../types/index.js").UpdateEvent, void, any>;
37
+ getTask(params: A2A.TaskQueryParams, context?: A2A.Context, options?: A2A.ServiceOptions): Promise<A2A.Task>;
38
+ cancelTask(params: A2A.TaskIdParams, context?: A2A.Context, options?: A2A.ServiceOptions): Promise<A2A.Task>;
39
+ sendMessage(params: A2A.MessageSendParams, context?: A2A.Context, options?: A2A.ServiceOptions): Promise<A2A.SendMessageSuccessResult>;
40
+ sendMessage(message: string | A2A.MessageSendParams["message"], context?: A2A.Context, options?: A2A.ServiceOptions): Promise<A2A.SendMessageSuccessResult>;
41
+ _sendMessage(params: A2A.MessageSendParams, context?: A2A.Context, options?: A2A.ServiceOptions): Promise<A2A.SendMessageSuccessResult>;
42
+ streamMessage(params: A2A.MessageSendParams, context?: A2A.Context, options?: A2A.ServiceOptions): AsyncGenerator<A2A.Update>;
43
+ streamMessage(message: string, context?: A2A.Context, options?: A2A.ServiceOptions): AsyncGenerator<A2A.Update>;
44
+ _streamMessage(params: A2A.MessageSendParams, context?: A2A.Context, options?: A2A.ServiceOptions): AsyncGenerator<A2A.Update>;
45
+ resubscribe(params: A2A.TaskIdParams, context?: A2A.Context, options?: A2A.ServiceOptions): AsyncGenerator<A2A.Update>;
46
+ static create(params: ServiceParams): Service;
377
47
  }