@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,11 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { Command, State, Update, CoreContext, ContextManagerInterface } from "../../../types/index.js";
6
- export declare class ContextManager<TCommand extends Command = Command, TState extends State = State, TUpdate extends Update = Update> implements ContextManagerInterface<TCommand, TState, TUpdate> {
7
- private contexts;
8
- deleteContext(id: string): void;
9
- setContext(id: string, context: CoreContext<TCommand, TState, TUpdate>): void;
10
- getContext(id: string): CoreContext<TCommand, TState, TUpdate> | undefined;
11
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- export class ContextManager {
6
- contexts = new Map();
7
- deleteContext(id) {
8
- this.contexts.delete(id);
9
- }
10
- setContext(id, context) {
11
- this.contexts.set(id, context);
12
- }
13
- getContext(id) {
14
- return this.contexts.get(id);
15
- }
16
- }
@@ -1,5 +0,0 @@
1
- export * from "./cancellation.js";
2
- export * from "./connection.js";
3
- export * from "./context.js";
4
- export * from "../factory/event.js";
5
- export * from "./task.js";
@@ -1,5 +0,0 @@
1
- export * from "./cancellation.js";
2
- export * from "./connection.js";
3
- export * from "./context.js";
4
- export * from "../factory/event.js";
5
- export * from "./task.js";
@@ -1,11 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskManagerInterface, TaskAndHistory } from "../../../types/index.js";
6
- export declare class TaskManager<TaskType extends TaskAndHistory> implements TaskManagerInterface<TaskType> {
7
- private states;
8
- getState(id: string): TaskType | Promise<TaskType | undefined> | undefined;
9
- setState(id: string, data: TaskType): Promise<void> | void;
10
- getStates(): Promise<string[]> | string[];
11
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- export class TaskManager {
6
- states = new Map();
7
- getState(id) {
8
- return this.states.get(id);
9
- }
10
- setState(id, data) {
11
- this.states.set(id, data);
12
- }
13
- getStates() {
14
- return Array.from(this.states.keys());
15
- }
16
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskIdParams, Task, MethodParams } from "../../../types/index.js";
6
- export declare function cancelTask(input: TaskIdParams, params: Omit<MethodParams, "engine" | "signal">): Promise<Task>;
7
- export type CancelTaskMethod = typeof cancelTask;
@@ -1,43 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskState, } from "../../../types/index.js";
6
- import { FINAL_STATES, TASK_NOT_FOUND, TASK_NOT_CANCELABLE, } from "../../../utils/index.js";
7
- export async function cancelTask(input, params) {
8
- const { service, contextManager } = params;
9
- const originalState = await service.getState(input.id);
10
- const task = originalState?.task;
11
- if (!task) {
12
- throw TASK_NOT_FOUND({ taskId: input.id });
13
- }
14
- if (FINAL_STATES.includes(task.status.state)) {
15
- throw TASK_NOT_CANCELABLE("Task is in a final state: " + task.status.state);
16
- }
17
- service.addCancellation(input.id);
18
- const cancelledTask = {
19
- ...task,
20
- status: {
21
- ...task.status,
22
- state: TaskState.canceled,
23
- },
24
- };
25
- const context = contextManager.getContext(task.contextId ?? input.id);
26
- if (!context) {
27
- service.setState(input.id, {
28
- ...originalState,
29
- task: {
30
- ...originalState?.task,
31
- ...cancelledTask,
32
- },
33
- history: [], //deprecating history
34
- });
35
- return cancelledTask;
36
- }
37
- context.events.on("complete", () => {
38
- service.removeCancellation(input.id);
39
- contextManager.deleteContext(context.contextId);
40
- });
41
- await context.events.onCancel(cancelledTask);
42
- return cancelledTask;
43
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskQueryParams, MethodParams } from "../../../types/index.js";
6
- export declare function getTask(input: TaskQueryParams, params: Omit<MethodParams, "engine" | "contextManager" | "signal">): Promise<{
7
- id: string;
8
- status: {
9
- state: "failed" | "unknown" | "completed" | "canceled" | "rejected" | "submitted" | "working" | "input-required" | "auth-required";
10
- message?: {
11
- role: "user" | "agent";
12
- kind: "message";
13
- parts: ({
14
- file: {
15
- bytes: string;
16
- name?: string | undefined;
17
- mimeType?: string | undefined;
18
- uri?: undefined;
19
- } | {
20
- uri: string;
21
- name?: string | undefined;
22
- bytes?: undefined;
23
- mimeType?: string | undefined;
24
- };
25
- kind: "file";
26
- metadata?: Record<string, unknown> | undefined;
27
- } | {
28
- text: string;
29
- kind: "text";
30
- metadata?: Record<string, unknown> | undefined;
31
- } | {
32
- data: Record<string, unknown>;
33
- kind: "data";
34
- metadata?: Record<string, unknown> | undefined;
35
- })[];
36
- messageId: string;
37
- metadata?: Record<string, unknown> | undefined;
38
- extensions?: string[] | undefined;
39
- referenceTaskIds?: string[] | undefined;
40
- taskId?: string | undefined;
41
- contextId?: string | undefined;
42
- } | undefined;
43
- timestamp?: string | undefined;
44
- };
45
- kind: "task";
46
- contextId: string;
47
- metadata?: Record<string, unknown> | undefined;
48
- history?: {
49
- role: "user" | "agent";
50
- kind: "message";
51
- parts: ({
52
- file: {
53
- bytes: string;
54
- name?: string | undefined;
55
- mimeType?: string | undefined;
56
- uri?: undefined;
57
- } | {
58
- uri: string;
59
- name?: string | undefined;
60
- bytes?: undefined;
61
- mimeType?: string | undefined;
62
- };
63
- kind: "file";
64
- metadata?: Record<string, unknown> | undefined;
65
- } | {
66
- text: string;
67
- kind: "text";
68
- metadata?: Record<string, unknown> | undefined;
69
- } | {
70
- data: Record<string, unknown>;
71
- kind: "data";
72
- metadata?: Record<string, unknown> | undefined;
73
- })[];
74
- messageId: string;
75
- metadata?: Record<string, unknown> | undefined;
76
- extensions?: string[] | undefined;
77
- referenceTaskIds?: string[] | undefined;
78
- taskId?: string | undefined;
79
- contextId?: string | undefined;
80
- }[] | undefined;
81
- artifacts?: {
82
- artifactId: string;
83
- parts: ({
84
- file: {
85
- bytes: string;
86
- name?: string | undefined;
87
- mimeType?: string | undefined;
88
- uri?: undefined;
89
- } | {
90
- uri: string;
91
- name?: string | undefined;
92
- bytes?: undefined;
93
- mimeType?: string | undefined;
94
- };
95
- kind: "file";
96
- metadata?: Record<string, unknown> | undefined;
97
- } | {
98
- text: string;
99
- kind: "text";
100
- metadata?: Record<string, unknown> | undefined;
101
- } | {
102
- data: Record<string, unknown>;
103
- kind: "data";
104
- metadata?: Record<string, unknown> | undefined;
105
- })[];
106
- name?: string | undefined;
107
- metadata?: Record<string, unknown> | undefined;
108
- description?: string | undefined;
109
- extension?: string[] | undefined;
110
- }[] | undefined;
111
- }>;
112
- export type GetTaskMethod = typeof getTask;
@@ -1,14 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TASK_NOT_FOUND } from "../../../utils/index.js";
6
- export async function getTask(input, params) {
7
- const { service } = params;
8
- const state = await service.getState(input.id);
9
- const task = state?.task;
10
- if (!task) {
11
- throw TASK_NOT_FOUND({ taskId: input.id });
12
- }
13
- return task;
14
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskIdParams, UpdateEvent, MethodParams } from "../../../types/index.js";
6
- export declare function resubscribe(input: TaskIdParams, params: MethodParams): AsyncGenerator<NonNullable<UpdateEvent>, void, unknown>;
7
- export type ResubscribeTaskMethod = typeof resubscribe;
@@ -1,80 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { Kind, } from "../../../types/index.js";
6
- import { createContext } from "../factory/context.js";
7
- import { FINAL_STATES, INVALID_REQUEST, TASK_NOT_FOUND, } from "../../../utils/index.js";
8
- import { StreamManager } from "../../core/managers/stream.js";
9
- const createMessageParams = (task) => {
10
- const latestUserMessage = task.history
11
- ?.filter((msg) => msg.role === "user")
12
- ?.pop();
13
- if (!latestUserMessage) {
14
- throw INVALID_REQUEST("No user message found");
15
- }
16
- const messageParams = {
17
- message: {
18
- ...latestUserMessage,
19
- taskId: task.id,
20
- contextId: latestUserMessage.contextId ?? task.contextId,
21
- },
22
- metadata: task.metadata,
23
- };
24
- return messageParams;
25
- };
26
- const flushArtifacts = (taskId, contextId, task, stream) => {
27
- if (task.artifacts && task.artifacts.length > 0) {
28
- for (const artifact of task.artifacts) {
29
- const artifactUpdate = {
30
- kind: Kind["artifact-update"],
31
- taskId,
32
- contextId,
33
- artifact,
34
- lastChunk: task.artifacts.length === 1,
35
- metadata: task.metadata,
36
- };
37
- stream.addUpdate(artifactUpdate);
38
- task.artifacts.shift();
39
- }
40
- }
41
- };
42
- export async function* resubscribe(input, params) {
43
- const { service, engine, contextManager, signal } = params;
44
- const state = await service.getState(input.id);
45
- if (!state || !state.task) {
46
- throw TASK_NOT_FOUND({ taskId: input.id });
47
- }
48
- const contextId = state.task?.contextId;
49
- const stream = new StreamManager();
50
- const context = createContext(createMessageParams(state.task), service, contextManager, signal, contextId, {
51
- ...service.eventOverrides,
52
- onStart: async (context) => {
53
- const request = context.command;
54
- const task = state.task;
55
- const taskId = request?.message.taskId ?? task.id;
56
- const contextId = request?.message.contextId ??
57
- task.contextId ??
58
- stream.getContextId();
59
- const statusUpdate = {
60
- kind: "status-update",
61
- taskId,
62
- contextId,
63
- status: task.status,
64
- final: false,
65
- metadata: task.metadata,
66
- };
67
- stream.addUpdate(statusUpdate);
68
- if (FINAL_STATES.includes(task.status.state)) {
69
- flushArtifacts(taskId, contextId, task, stream);
70
- stream.setCompleted();
71
- }
72
- return state;
73
- },
74
- });
75
- context.events.on("error", () => {
76
- context.events.onComplete();
77
- });
78
- stream.setExecutionContext(context);
79
- yield* stream.stream(engine, service);
80
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { MessageSendParams, SendMessageSuccessResult, MethodParams } from "../../../types/index.js";
6
- export declare function sendMessage(input: MessageSendParams, params: MethodParams): Promise<SendMessageSuccessResult>;
7
- export type SendMessageMethod = typeof sendMessage;
@@ -1,19 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { createContext } from "../factory/context.js";
6
- export async function sendMessage(input, params) {
7
- const { service, engine, contextManager, signal } = params;
8
- const contextId = input.message.contextId;
9
- const context = createContext(input, service, contextManager, signal, contextId ?? undefined, service.eventOverrides);
10
- context.events.on("complete", () => {
11
- contextManager.deleteContext(context.events.contextId);
12
- });
13
- context.events.on("error", () => {
14
- context.events.onComplete();
15
- });
16
- await service.execute(engine, context);
17
- const state = context.events.getState();
18
- return state.task ?? state;
19
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { MessageSendParams, UpdateEvent } from "../../../types/index.js";
6
- import { MethodParams } from "../../../types/index.js";
7
- export declare function streamMessage(input: MessageSendParams, params: MethodParams): AsyncGenerator<NonNullable<UpdateEvent>, void, unknown>;
8
- export type StreamMessageMethod = typeof streamMessage;
@@ -1,21 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { StreamManager } from "../../core/managers/stream.js";
6
- import { createContext } from "../factory/context.js";
7
- export async function* streamMessage(input, params) {
8
- const { service, engine, contextManager, signal } = params;
9
- let contextId = input.message.contextId;
10
- const context = createContext(input, service, contextManager, signal, contextId ?? undefined, service.eventOverrides);
11
- const stream = new StreamManager(context);
12
- contextId = stream.getContextId();
13
- context.events.on("complete", () => {
14
- contextManager.deleteContext(contextId);
15
- stream.setCompleted();
16
- });
17
- context.events.on("error", () => {
18
- context.events.onComplete();
19
- });
20
- yield* stream.stream(engine, service);
21
- }
@@ -1,3 +0,0 @@
1
- export * from "./update/index.js";
2
- export * from "./process.js";
3
- export * from "./load.js";
@@ -1,3 +0,0 @@
1
- export * from "./update/index.js";
2
- export * from "./process.js";
3
- export * from "./load.js";
@@ -1,14 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { Message, TaskAndHistory, TaskStore } from "../../../types/index.js";
6
- /**
7
- * Loads or creates a task and its history.
8
- * @param taskId The task ID
9
- * @param message The message to process
10
- * @param contextId Optional context ID
11
- * @param metadata Optional metadata
12
- * @returns The task and history
13
- */
14
- export declare function loadState(taskStore: TaskStore, message: Message, metadata?: Record<string, unknown> | null, taskId?: string | null, contextId?: string | null): Promise<TaskAndHistory>;
@@ -1,71 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { getCurrentTimestamp, logError } from "../../../utils/index.js";
6
- import { TaskState, } from "../../../types/index.js";
7
- import { v4 as uuidv4 } from "uuid";
8
- async function getReferences(referenceTaskIds, taskStore) {
9
- try {
10
- const references = await Promise.all(referenceTaskIds.map((referenceTaskId) => {
11
- return taskStore.load(referenceTaskId);
12
- }));
13
- return references
14
- .filter((reference) => reference !== null)
15
- .map((reference) => reference?.task);
16
- }
17
- catch (error) {
18
- logError("getReferences", "failed to load references", error, {
19
- referenceTaskIds,
20
- });
21
- return [];
22
- }
23
- }
24
- /**
25
- * Loads or creates a task and its history.
26
- * @param taskId The task ID
27
- * @param message The message to process
28
- * @param contextId Optional context ID
29
- * @param metadata Optional metadata
30
- * @returns The task and history
31
- */
32
- export async function loadState(taskStore, message, metadata, taskId, contextId) {
33
- if (taskId) {
34
- const existingData = await taskStore.load(taskId);
35
- if (existingData) {
36
- return {
37
- ...existingData,
38
- task: {
39
- ...existingData.task,
40
- metadata: {
41
- //we'll update the metadata to ensure it's the latest
42
- ...existingData.task.metadata,
43
- ...metadata,
44
- //we'll update the referencedTasks we have the latest versions
45
- referencedTasks: await getReferences(message.referenceTaskIds ?? [], taskStore),
46
- },
47
- },
48
- };
49
- }
50
- }
51
- const timestamp = getCurrentTimestamp();
52
- const newTask = {
53
- id: taskId ?? uuidv4(),
54
- contextId: contextId ?? uuidv4(),
55
- kind: "task",
56
- status: {
57
- state: TaskState.submitted,
58
- timestamp,
59
- },
60
- metadata: {
61
- ...metadata,
62
- //we should only need to load referenceTasks once; on the creation of a new task
63
- //we'll store them in the metadata for now until we're sure they will remain in the A2A spec
64
- referencedTasks: await getReferences(message.referenceTaskIds ?? [], taskStore),
65
- },
66
- history: [message],
67
- };
68
- message.taskId = newTask.id;
69
- message.contextId = newTask.contextId;
70
- return { task: newTask, history: [] };
71
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskAndHistory, TaskStore } from "../../../types/index.js";
6
- import { UpdateProps } from "./update/update.js";
7
- export declare function processUpdate(taskStore: TaskStore, updateProps: UpdateProps): Promise<TaskAndHistory>;
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { updateState } from "./update/update.js";
6
- export async function processUpdate(taskStore, updateProps) {
7
- if (!(await updateState(updateProps))) {
8
- console.error("processUpdate: Invalid update", updateProps);
9
- throw new Error("processUpdate: Invalid update");
10
- }
11
- await taskStore.save(updateProps.current);
12
- return updateProps.current;
13
- }
@@ -1,2 +0,0 @@
1
- export * from "./update.js";
2
- export * from "./artifact.js";
@@ -1,2 +0,0 @@
1
- export * from "./update.js";
2
- export * from "./artifact.js";
@@ -1,23 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { TaskContext, Message, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent, UpdateEvent, TaskAndHistory } from "../../../../types/index.js";
6
- export declare enum UpdateKind {
7
- Message = "message",
8
- Task = "task",
9
- StatusUpdate = "status-update",
10
- ArtifactUpdate = "artifact-update"
11
- }
12
- export interface UpdateProps<T extends UpdateEvent = UpdateEvent> {
13
- context: TaskContext;
14
- current: TaskAndHistory;
15
- update: T;
16
- }
17
- type UpdateFunction<T extends UpdateEvent> = (props: UpdateProps<T>) => Promise<boolean>;
18
- export declare const updateMessage: UpdateFunction<Message>;
19
- export declare const updateTask: UpdateFunction<Task>;
20
- export declare const updateTaskStatusUpdate: UpdateFunction<TaskStatusUpdateEvent>;
21
- export declare const updateTaskArtifactUpdate: UpdateFunction<TaskArtifactUpdateEvent>;
22
- export declare const updateState: UpdateFunction<UpdateEvent>;
23
- export {};