@artinet/sdk 0.5.18 → 0.6.0-preview.2

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 (434) hide show
  1. package/README.md +36 -617
  2. package/dist/browser/browser.d.ts +1 -1
  3. package/dist/browser/browser.js +1 -1
  4. package/dist/browser/client/a2a-client.d.ts +19 -18
  5. package/dist/browser/client/a2a-client.js +20 -8
  6. package/dist/browser/config/index.d.ts +158 -0
  7. package/dist/browser/config/index.js +155 -0
  8. package/dist/browser/config/observability.d.ts +119 -0
  9. package/dist/browser/config/observability.js +35 -0
  10. package/dist/browser/create/agentcard-builder.d.ts +47 -0
  11. package/dist/browser/create/agentcard-builder.js +65 -0
  12. package/dist/browser/create/base.d.ts +4 -0
  13. package/dist/browser/create/describe.d.ts +8 -0
  14. package/dist/browser/create/describe.js +8 -0
  15. package/dist/browser/create/message-builder.d.ts +78 -0
  16. package/dist/browser/create/message-builder.js +108 -0
  17. package/dist/browser/create/part-builder.d.ts +60 -0
  18. package/dist/browser/create/part-builder.js +81 -0
  19. package/dist/browser/create/task-builder.d.ts +251 -0
  20. package/dist/browser/create/task-builder.js +379 -0
  21. package/dist/browser/transport/rpc/parser.d.ts +2 -2
  22. package/dist/browser/transport/rpc/parser.js +7 -6
  23. package/dist/browser/transport/rpc/rpc-client.d.ts +5 -5
  24. package/dist/browser/transport/rpc/rpc-client.js +6 -6
  25. package/dist/browser/transport/streaming/event-stream.d.ts +3 -3
  26. package/dist/browser/transport/streaming/event-stream.js +11 -10
  27. package/dist/browser/types/a2a/a2a.d.ts +382 -0
  28. package/dist/browser/types/a2a/a2a.js +14 -0
  29. package/dist/browser/types/a2a/index.d.ts +5 -0
  30. package/dist/browser/types/a2a/index.js +1 -0
  31. package/dist/browser/types/{interfaces/client.d.ts → client.d.ts} +25 -27
  32. package/dist/browser/types/core/core.d.ts +31 -0
  33. package/dist/browser/types/core/index.d.ts +1 -0
  34. package/dist/browser/types/core/index.js +1 -0
  35. package/dist/browser/types/index.d.ts +6 -3
  36. package/dist/browser/types/index.js +6 -3
  37. package/dist/browser/types/mcp/index.d.ts +1 -0
  38. package/dist/browser/types/mcp/index.js +1 -0
  39. package/dist/{types/interfaces/services/mcp/service.d.ts → browser/types/mcp/mcp.d.ts} +4 -3
  40. package/dist/browser/types/{interfaces/services/a2a/builder.js → mcp/mcp.js} +1 -1
  41. package/dist/browser/types/storage.d.ts +21 -0
  42. package/dist/browser/utils/common/constants.d.ts +2 -7
  43. package/dist/browser/utils/common/constants.js +5 -32
  44. package/dist/browser/utils/common/errors.d.ts +74 -18
  45. package/dist/browser/utils/common/errors.js +81 -28
  46. package/dist/browser/utils/common/utils.d.ts +23 -0
  47. package/dist/browser/utils/common/utils.js +32 -0
  48. package/dist/client/a2a-client.d.ts +19 -18
  49. package/dist/client/a2a-client.js +20 -8
  50. package/dist/config/default.d.ts +50 -0
  51. package/dist/config/default.js +62 -0
  52. package/dist/config/index.d.ts +158 -0
  53. package/dist/config/index.js +155 -0
  54. package/dist/config/observability.d.ts +119 -0
  55. package/dist/config/observability.js +35 -0
  56. package/dist/create/agent-builder.d.ts +77 -0
  57. package/dist/create/agent-builder.js +20 -0
  58. package/dist/create/agentcard-builder.d.ts +47 -0
  59. package/dist/create/agentcard-builder.js +66 -0
  60. package/dist/create/base.d.ts +4 -0
  61. package/dist/create/base.js +1 -0
  62. package/dist/create/create.d.ts +762 -0
  63. package/dist/create/create.js +556 -0
  64. package/dist/create/describe.d.ts +8 -0
  65. package/dist/create/describe.js +8 -0
  66. package/dist/create/index.d.ts +4 -0
  67. package/dist/create/index.js +4 -0
  68. package/dist/create/message-builder.d.ts +78 -0
  69. package/dist/create/message-builder.js +110 -0
  70. package/dist/create/part-builder.d.ts +60 -0
  71. package/dist/create/part-builder.js +84 -0
  72. package/dist/create/status-builder.d.ts +26 -0
  73. package/dist/create/status-builder.js +46 -0
  74. package/dist/create/task-builder.d.ts +251 -0
  75. package/dist/create/task-builder.js +384 -0
  76. package/dist/create/transform.d.ts +16 -0
  77. package/dist/create/transform.js +106 -0
  78. package/dist/extensions/otel.d.ts +98 -0
  79. package/dist/extensions/otel.js +190 -0
  80. package/dist/extensions/pino.d.ts +44 -0
  81. package/dist/extensions/pino.js +107 -0
  82. package/dist/extensions/winston.d.ts +47 -0
  83. package/dist/extensions/winston.js +114 -0
  84. package/dist/index.d.ts +4 -0
  85. package/dist/index.js +4 -0
  86. package/dist/server/express/errors.js +7 -11
  87. package/dist/server/express/middeware.d.ts +2 -2
  88. package/dist/server/express/middeware.js +26 -40
  89. package/dist/server/express/server.d.ts +14 -56
  90. package/dist/server/express/server.js +46 -35
  91. package/dist/services/a2a/execute.d.ts +11 -0
  92. package/dist/services/a2a/execute.js +32 -0
  93. package/dist/services/a2a/factory/context.d.ts +15 -128
  94. package/dist/services/a2a/factory/context.js +30 -136
  95. package/dist/services/a2a/factory/handler.d.ts +6 -0
  96. package/dist/services/a2a/factory/handler.js +14 -0
  97. package/dist/services/a2a/factory/index.d.ts +1 -3
  98. package/dist/services/a2a/factory/index.js +1 -3
  99. package/dist/services/a2a/factory/service.d.ts +20 -7
  100. package/dist/services/a2a/factory/service.js +5 -5
  101. package/dist/services/a2a/factory/state-machine.d.ts +11 -0
  102. package/dist/services/a2a/factory/state-machine.js +88 -0
  103. package/dist/services/a2a/handlers/artifact.d.ts +7 -0
  104. package/dist/services/a2a/handlers/artifact.js +28 -0
  105. package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
  106. package/dist/services/a2a/handlers/cancel-task.js +35 -0
  107. package/dist/services/a2a/handlers/get-task.d.ts +11 -0
  108. package/dist/services/a2a/handlers/get-task.js +13 -0
  109. package/dist/services/a2a/handlers/resubscribe-task.d.ts +19 -0
  110. package/dist/services/a2a/handlers/resubscribe-task.js +59 -0
  111. package/dist/services/a2a/handlers/send-message.d.ts +11 -0
  112. package/dist/services/a2a/handlers/send-message.js +31 -0
  113. package/dist/services/a2a/handlers/stream-message.d.ts +19 -0
  114. package/dist/services/a2a/handlers/stream-message.js +23 -0
  115. package/dist/services/a2a/handlers/update.d.ts +17 -0
  116. package/dist/services/a2a/handlers/update.js +119 -0
  117. package/dist/services/a2a/helpers/content.d.ts +6 -2
  118. package/dist/services/a2a/helpers/content.js +9 -1
  119. package/dist/services/a2a/helpers/history.d.ts +6 -2
  120. package/dist/services/a2a/helpers/history.js +4 -0
  121. package/dist/services/a2a/helpers/index.d.ts +3 -3
  122. package/dist/services/a2a/helpers/index.js +3 -3
  123. package/dist/services/a2a/helpers/part.d.ts +9 -9
  124. package/dist/services/a2a/helpers/references.d.ts +6 -0
  125. package/dist/services/a2a/helpers/references.js +22 -0
  126. package/dist/services/a2a/index.d.ts +9 -5
  127. package/dist/services/a2a/index.js +8 -5
  128. package/dist/services/a2a/managers.d.ts +23 -0
  129. package/dist/services/a2a/managers.js +101 -0
  130. package/dist/services/a2a/messenger.d.ts +35 -0
  131. package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
  132. package/dist/services/a2a/service.d.ts +45 -372
  133. package/dist/services/a2a/service.js +232 -84
  134. package/dist/services/a2a/state-machine.d.ts +18 -0
  135. package/dist/services/a2a/state-machine.js +78 -0
  136. package/dist/services/a2a/streams.d.ts +22 -0
  137. package/dist/services/a2a/streams.js +98 -0
  138. package/dist/services/core/index.d.ts +1 -2
  139. package/dist/services/core/index.js +1 -2
  140. package/dist/services/core/manager.d.ts +15 -0
  141. package/dist/services/core/manager.js +42 -0
  142. package/dist/services/mcp/service.d.ts +11 -15
  143. package/dist/services/mcp/service.js +16 -15
  144. package/dist/transport/index.d.ts +0 -1
  145. package/dist/transport/index.js +1 -1
  146. package/dist/transport/rpc/parser.d.ts +2 -2
  147. package/dist/transport/rpc/parser.js +7 -6
  148. package/dist/transport/rpc/rpc-client.d.ts +5 -5
  149. package/dist/transport/rpc/rpc-client.js +6 -6
  150. package/dist/transport/streaming/event-stream.d.ts +3 -3
  151. package/dist/transport/streaming/event-stream.js +11 -10
  152. package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
  153. package/dist/transport/trpc/a2a/factory/router.js +2 -2
  154. package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
  155. package/dist/transport/trpc/a2a/routes/info.js +6 -2
  156. package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
  157. package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
  158. package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
  159. package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
  160. package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
  161. package/dist/types/a2a/a2a.d.ts +382 -0
  162. package/dist/types/a2a/a2a.js +14 -0
  163. package/dist/types/a2a/index.d.ts +5 -0
  164. package/dist/types/a2a/index.js +1 -0
  165. package/dist/types/{interfaces/client.d.ts → client.d.ts} +25 -27
  166. package/dist/types/core/core.d.ts +31 -0
  167. package/dist/types/core/core.js +1 -0
  168. package/dist/types/core/index.d.ts +1 -0
  169. package/dist/types/core/index.js +1 -0
  170. package/dist/types/index.d.ts +6 -3
  171. package/dist/types/index.js +6 -3
  172. package/dist/types/mcp/index.d.ts +1 -0
  173. package/dist/types/mcp/index.js +1 -0
  174. package/dist/{browser/types/interfaces/services/mcp/service.d.ts → types/mcp/mcp.d.ts} +4 -3
  175. package/dist/{browser/types/interfaces/services/a2a/context.js → types/mcp/mcp.js} +1 -1
  176. package/dist/types/storage.d.ts +21 -0
  177. package/dist/utils/common/constants.d.ts +2 -7
  178. package/dist/utils/common/constants.js +5 -32
  179. package/dist/utils/common/errors.d.ts +74 -18
  180. package/dist/utils/common/errors.js +81 -28
  181. package/dist/utils/common/parse.d.ts +7 -0
  182. package/dist/utils/common/parse.js +14 -0
  183. package/dist/utils/common/schema-validation.d.ts +2 -2
  184. package/dist/utils/common/schema-validation.js +7 -7
  185. package/dist/utils/common/utils.d.ts +23 -0
  186. package/dist/utils/common/utils.js +32 -0
  187. package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
  188. package/dist/utils/common/zAsyncIterable-v3.js +2 -1
  189. package/dist/utils/index.d.ts +2 -3
  190. package/dist/utils/index.js +2 -3
  191. package/dist/utils/storage/file.d.ts +8 -17
  192. package/dist/utils/storage/file.js +44 -73
  193. package/package.json +76 -13
  194. package/dist/browser/services/a2a/helpers/message-builder.d.ts +0 -12
  195. package/dist/browser/services/a2a/helpers/message-builder.js +0 -61
  196. package/dist/browser/types/ext.d.ts +0 -13
  197. package/dist/browser/types/ext.js +0 -10
  198. package/dist/browser/types/interfaces/index.d.ts +0 -3
  199. package/dist/browser/types/interfaces/index.js +0 -3
  200. package/dist/browser/types/interfaces/services/a2a/builder.d.ts +0 -37
  201. package/dist/browser/types/interfaces/services/a2a/context.d.ts +0 -162
  202. package/dist/browser/types/interfaces/services/a2a/engine.d.ts +0 -7
  203. package/dist/browser/types/interfaces/services/a2a/engine.js +0 -5
  204. package/dist/browser/types/interfaces/services/a2a/index.d.ts +0 -5
  205. package/dist/browser/types/interfaces/services/a2a/index.js +0 -5
  206. package/dist/browser/types/interfaces/services/a2a/legacy.d.ts +0 -93
  207. package/dist/browser/types/interfaces/services/a2a/legacy.js +0 -5
  208. package/dist/browser/types/interfaces/services/a2a/service.d.ts +0 -413
  209. package/dist/browser/types/interfaces/services/a2a/service.js +0 -5
  210. package/dist/browser/types/interfaces/services/core/context/command.d.ts +0 -25
  211. package/dist/browser/types/interfaces/services/core/context/command.js +0 -5
  212. package/dist/browser/types/interfaces/services/core/context/context.d.ts +0 -207
  213. package/dist/browser/types/interfaces/services/core/context/context.js +0 -5
  214. package/dist/browser/types/interfaces/services/core/context/index.d.ts +0 -3
  215. package/dist/browser/types/interfaces/services/core/context/index.js +0 -3
  216. package/dist/browser/types/interfaces/services/core/context/types.d.ts +0 -11
  217. package/dist/browser/types/interfaces/services/core/context/types.js +0 -5
  218. package/dist/browser/types/interfaces/services/core/execution/engine.d.ts +0 -106
  219. package/dist/browser/types/interfaces/services/core/execution/engine.js +0 -5
  220. package/dist/browser/types/interfaces/services/core/execution/environment.d.ts +0 -11
  221. package/dist/browser/types/interfaces/services/core/execution/environment.js +0 -5
  222. package/dist/browser/types/interfaces/services/core/execution/execute.d.ts +0 -7
  223. package/dist/browser/types/interfaces/services/core/execution/execute.js +0 -5
  224. package/dist/browser/types/interfaces/services/core/execution/index.d.ts +0 -3
  225. package/dist/browser/types/interfaces/services/core/execution/index.js +0 -3
  226. package/dist/browser/types/interfaces/services/core/index.d.ts +0 -4
  227. package/dist/browser/types/interfaces/services/core/index.js +0 -4
  228. package/dist/browser/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  229. package/dist/browser/types/interfaces/services/core/managers/cancellation.js +0 -5
  230. package/dist/browser/types/interfaces/services/core/managers/connection.d.ts +0 -9
  231. package/dist/browser/types/interfaces/services/core/managers/connection.js +0 -5
  232. package/dist/browser/types/interfaces/services/core/managers/context.d.ts +0 -17
  233. package/dist/browser/types/interfaces/services/core/managers/context.js +0 -5
  234. package/dist/browser/types/interfaces/services/core/managers/event.d.ts +0 -328
  235. package/dist/browser/types/interfaces/services/core/managers/event.js +0 -5
  236. package/dist/browser/types/interfaces/services/core/managers/index.d.ts +0 -6
  237. package/dist/browser/types/interfaces/services/core/managers/index.js +0 -6
  238. package/dist/browser/types/interfaces/services/core/managers/stream.d.ts +0 -217
  239. package/dist/browser/types/interfaces/services/core/managers/stream.js +0 -5
  240. package/dist/browser/types/interfaces/services/core/managers/task.d.ts +0 -9
  241. package/dist/browser/types/interfaces/services/core/service.d.ts +0 -115
  242. package/dist/browser/types/interfaces/services/core/service.js +0 -5
  243. package/dist/browser/types/interfaces/services/index.d.ts +0 -4
  244. package/dist/browser/types/interfaces/services/index.js +0 -4
  245. package/dist/browser/types/interfaces/services/mcp/index.d.ts +0 -1
  246. package/dist/browser/types/interfaces/services/mcp/index.js +0 -1
  247. package/dist/browser/types/interfaces/services/mcp/service.js +0 -5
  248. package/dist/browser/types/interfaces/storage.d.ts +0 -8
  249. package/dist/browser/types/schemas/a2a/agent.d.ts +0 -2583
  250. package/dist/browser/types/schemas/a2a/agent.js +0 -323
  251. package/dist/browser/types/schemas/a2a/auth.d.ts +0 -908
  252. package/dist/browser/types/schemas/a2a/auth.js +0 -283
  253. package/dist/browser/types/schemas/a2a/error.d.ts +0 -396
  254. package/dist/browser/types/schemas/a2a/error.js +0 -163
  255. package/dist/browser/types/schemas/a2a/index.d.ts +0 -11
  256. package/dist/browser/types/schemas/a2a/index.js +0 -11
  257. package/dist/browser/types/schemas/a2a/kind.d.ts +0 -11
  258. package/dist/browser/types/schemas/a2a/kind.js +0 -20
  259. package/dist/browser/types/schemas/a2a/message.d.ts +0 -10343
  260. package/dist/browser/types/schemas/a2a/message.js +0 -130
  261. package/dist/browser/types/schemas/a2a/notification.d.ts +0 -1517
  262. package/dist/browser/types/schemas/a2a/notification.js +0 -203
  263. package/dist/browser/types/schemas/a2a/parameters.d.ts +0 -956
  264. package/dist/browser/types/schemas/a2a/parameters.js +0 -241
  265. package/dist/browser/types/schemas/a2a/protocol.d.ts +0 -14363
  266. package/dist/browser/types/schemas/a2a/protocol.js +0 -59
  267. package/dist/browser/types/schemas/a2a/rpc.d.ts +0 -182
  268. package/dist/browser/types/schemas/a2a/rpc.js +0 -126
  269. package/dist/browser/types/schemas/a2a/task.d.ts +0 -5886
  270. package/dist/browser/types/schemas/a2a/task.js +0 -134
  271. package/dist/browser/types/schemas/a2a/transport.d.ts +0 -31
  272. package/dist/browser/types/schemas/a2a/transport.js +0 -28
  273. package/dist/browser/types/schemas/index.d.ts +0 -1
  274. package/dist/browser/types/schemas/index.js +0 -1
  275. package/dist/browser/utils/logging/index.d.ts +0 -2
  276. package/dist/browser/utils/logging/index.js +0 -2
  277. package/dist/browser/utils/logging/log.d.ts +0 -33
  278. package/dist/browser/utils/logging/log.js +0 -75
  279. package/dist/browser/utils/logging/logger.d.ts +0 -18
  280. package/dist/browser/utils/logging/logger.js +0 -18
  281. package/dist/services/a2a/factory/builder.d.ts +0 -351
  282. package/dist/services/a2a/factory/builder.js +0 -365
  283. package/dist/services/a2a/factory/event.d.ts +0 -58
  284. package/dist/services/a2a/factory/event.js +0 -177
  285. package/dist/services/a2a/factory/method.d.ts +0 -6
  286. package/dist/services/a2a/factory/method.js +0 -14
  287. package/dist/services/a2a/helpers/agentcard-builder.d.ts +0 -7
  288. package/dist/services/a2a/helpers/agentcard-builder.js +0 -23
  289. package/dist/services/a2a/helpers/message-builder.d.ts +0 -12
  290. package/dist/services/a2a/helpers/message-builder.js +0 -61
  291. package/dist/services/a2a/managers/cancellation.d.ts +0 -11
  292. package/dist/services/a2a/managers/cancellation.js +0 -16
  293. package/dist/services/a2a/managers/connection.d.ts +0 -11
  294. package/dist/services/a2a/managers/connection.js +0 -16
  295. package/dist/services/a2a/managers/context.d.ts +0 -11
  296. package/dist/services/a2a/managers/context.js +0 -16
  297. package/dist/services/a2a/managers/index.d.ts +0 -5
  298. package/dist/services/a2a/managers/index.js +0 -5
  299. package/dist/services/a2a/managers/task.d.ts +0 -11
  300. package/dist/services/a2a/managers/task.js +0 -16
  301. package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
  302. package/dist/services/a2a/methods/cancel-task.js +0 -43
  303. package/dist/services/a2a/methods/get-task.d.ts +0 -112
  304. package/dist/services/a2a/methods/get-task.js +0 -16
  305. package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
  306. package/dist/services/a2a/methods/resubscribe-task.js +0 -80
  307. package/dist/services/a2a/methods/send-message.d.ts +0 -7
  308. package/dist/services/a2a/methods/send-message.js +0 -36
  309. package/dist/services/a2a/methods/stream-message.d.ts +0 -8
  310. package/dist/services/a2a/methods/stream-message.js +0 -21
  311. package/dist/services/a2a/state/index.d.ts +0 -3
  312. package/dist/services/a2a/state/index.js +0 -3
  313. package/dist/services/a2a/state/load.d.ts +0 -14
  314. package/dist/services/a2a/state/load.js +0 -71
  315. package/dist/services/a2a/state/process.d.ts +0 -7
  316. package/dist/services/a2a/state/process.js +0 -13
  317. package/dist/services/a2a/state/update/artifact.d.ts +0 -10
  318. package/dist/services/a2a/state/update/artifact.js +0 -39
  319. package/dist/services/a2a/state/update/index.d.ts +0 -2
  320. package/dist/services/a2a/state/update/index.js +0 -2
  321. package/dist/services/a2a/state/update/update.d.ts +0 -23
  322. package/dist/services/a2a/state/update/update.js +0 -123
  323. package/dist/services/core/execution/execute.d.ts +0 -6
  324. package/dist/services/core/execution/execute.js +0 -25
  325. package/dist/services/core/execution/index.d.ts +0 -1
  326. package/dist/services/core/execution/index.js +0 -1
  327. package/dist/services/core/managers/command.d.ts +0 -39
  328. package/dist/services/core/managers/event.d.ts +0 -18
  329. package/dist/services/core/managers/event.js +0 -56
  330. package/dist/services/core/managers/index.d.ts +0 -3
  331. package/dist/services/core/managers/index.js +0 -3
  332. package/dist/services/core/managers/stream.d.ts +0 -20
  333. package/dist/services/core/managers/stream.js +0 -77
  334. package/dist/types/ext.d.ts +0 -13
  335. package/dist/types/ext.js +0 -10
  336. package/dist/types/interfaces/index.d.ts +0 -3
  337. package/dist/types/interfaces/index.js +0 -3
  338. package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
  339. package/dist/types/interfaces/services/a2a/builder.js +0 -5
  340. package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
  341. package/dist/types/interfaces/services/a2a/context.js +0 -5
  342. package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
  343. package/dist/types/interfaces/services/a2a/engine.js +0 -5
  344. package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
  345. package/dist/types/interfaces/services/a2a/index.js +0 -5
  346. package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
  347. package/dist/types/interfaces/services/a2a/legacy.js +0 -5
  348. package/dist/types/interfaces/services/a2a/service.d.ts +0 -413
  349. package/dist/types/interfaces/services/a2a/service.js +0 -5
  350. package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
  351. package/dist/types/interfaces/services/core/context/command.js +0 -5
  352. package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
  353. package/dist/types/interfaces/services/core/context/context.js +0 -5
  354. package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
  355. package/dist/types/interfaces/services/core/context/index.js +0 -3
  356. package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
  357. package/dist/types/interfaces/services/core/context/types.js +0 -5
  358. package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
  359. package/dist/types/interfaces/services/core/execution/engine.js +0 -5
  360. package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
  361. package/dist/types/interfaces/services/core/execution/environment.js +0 -5
  362. package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
  363. package/dist/types/interfaces/services/core/execution/execute.js +0 -5
  364. package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
  365. package/dist/types/interfaces/services/core/execution/index.js +0 -3
  366. package/dist/types/interfaces/services/core/index.d.ts +0 -4
  367. package/dist/types/interfaces/services/core/index.js +0 -4
  368. package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  369. package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
  370. package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
  371. package/dist/types/interfaces/services/core/managers/connection.js +0 -5
  372. package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
  373. package/dist/types/interfaces/services/core/managers/context.js +0 -5
  374. package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
  375. package/dist/types/interfaces/services/core/managers/event.js +0 -5
  376. package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
  377. package/dist/types/interfaces/services/core/managers/index.js +0 -6
  378. package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
  379. package/dist/types/interfaces/services/core/managers/stream.js +0 -5
  380. package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
  381. package/dist/types/interfaces/services/core/service.d.ts +0 -115
  382. package/dist/types/interfaces/services/core/service.js +0 -5
  383. package/dist/types/interfaces/services/index.d.ts +0 -4
  384. package/dist/types/interfaces/services/index.js +0 -4
  385. package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
  386. package/dist/types/interfaces/services/mcp/index.js +0 -1
  387. package/dist/types/interfaces/services/mcp/service.js +0 -5
  388. package/dist/types/interfaces/storage.d.ts +0 -8
  389. package/dist/types/schemas/a2a/agent.d.ts +0 -2583
  390. package/dist/types/schemas/a2a/agent.js +0 -323
  391. package/dist/types/schemas/a2a/auth.d.ts +0 -908
  392. package/dist/types/schemas/a2a/auth.js +0 -283
  393. package/dist/types/schemas/a2a/error.d.ts +0 -396
  394. package/dist/types/schemas/a2a/error.js +0 -163
  395. package/dist/types/schemas/a2a/index.d.ts +0 -11
  396. package/dist/types/schemas/a2a/index.js +0 -11
  397. package/dist/types/schemas/a2a/kind.d.ts +0 -11
  398. package/dist/types/schemas/a2a/kind.js +0 -20
  399. package/dist/types/schemas/a2a/message.d.ts +0 -10343
  400. package/dist/types/schemas/a2a/message.js +0 -130
  401. package/dist/types/schemas/a2a/notification.d.ts +0 -1517
  402. package/dist/types/schemas/a2a/notification.js +0 -203
  403. package/dist/types/schemas/a2a/parameters.d.ts +0 -956
  404. package/dist/types/schemas/a2a/parameters.js +0 -241
  405. package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
  406. package/dist/types/schemas/a2a/protocol.js +0 -59
  407. package/dist/types/schemas/a2a/rpc.d.ts +0 -182
  408. package/dist/types/schemas/a2a/rpc.js +0 -126
  409. package/dist/types/schemas/a2a/task.d.ts +0 -5886
  410. package/dist/types/schemas/a2a/task.js +0 -134
  411. package/dist/types/schemas/a2a/transport.d.ts +0 -31
  412. package/dist/types/schemas/a2a/transport.js +0 -28
  413. package/dist/types/schemas/index.d.ts +0 -1
  414. package/dist/types/schemas/index.js +0 -1
  415. package/dist/utils/logging/index.d.ts +0 -2
  416. package/dist/utils/logging/index.js +0 -2
  417. package/dist/utils/logging/log.d.ts +0 -33
  418. package/dist/utils/logging/log.js +0 -75
  419. package/dist/utils/logging/logger.d.ts +0 -18
  420. package/dist/utils/logging/logger.js +0 -18
  421. package/dist/utils/storage/memory.d.ts +0 -25
  422. package/dist/utils/storage/memory.js +0 -47
  423. /package/dist/browser/{types/interfaces/services/core/managers/task.js → create/base.js} +0 -0
  424. /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
  425. /package/dist/{types/interfaces/services/core/managers/task.js → browser/types/core/core.js} +0 -0
  426. /package/dist/browser/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
  427. /package/dist/browser/types/{interfaces/services/protocol.js → protocol.js} +0 -0
  428. /package/dist/browser/types/{interfaces/storage.js → storage.js} +0 -0
  429. /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
  430. /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
  431. /package/dist/types/{interfaces/client.js → client.js} +0 -0
  432. /package/dist/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
  433. /package/dist/types/{interfaces/services/protocol.js → protocol.js} +0 -0
  434. /package/dist/types/{interfaces/storage.js → storage.js} +0 -0
@@ -1,413 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- /**
6
- * @fileoverview A2A Service Interface Definitions
7
- *
8
- * This module defines interfaces for Agent-to-Agent (A2A) service implementations,
9
- * including factory parameters, method options, and the main service interface.
10
- * It extends the core service framework with A2A-specific functionality for
11
- * agent communication, task management, and message handling.
12
- *
13
- * @module A2AService
14
- * @version 0.5.7
15
- * @since 0.5.6
16
- * @author The Artinet Project
17
- */
18
- import { ConnectionManagerInterface, CancellationManagerInterface, ContextManagerInterface, ServiceInterface, TaskManagerInterface, EventManagerOptions } from "../core/index.js";
19
- import { AgentCard, MessageSendParams, SendMessageSuccessResult, Task, TaskIdParams, TaskQueryParams } from "../../../schemas/a2a/index.js";
20
- import { UpdateEvent, Command, State, Update } from "./context.js";
21
- import { A2AEngine } from "./engine.js";
22
- export type AgentCardParams = (Partial<AgentCard> & Required<Pick<AgentCard, "name">>) | string;
23
- /**
24
- * Configuration parameters for creating A2A service instances.
25
- *
26
- * This interface defines the required and optional components needed to
27
- * instantiate an A2A service, including the agent identity, execution engine,
28
- * and various manager interfaces for handling different aspects of A2A operations.
29
- *
30
- * @example
31
- * ```typescript
32
- * const factoryParams: FactoryParams = {
33
- * agentCard: {
34
- * id: 'agent-123',
35
- * name: 'MyAgent',
36
- * capabilities: ['messaging', 'task-processing']
37
- * },
38
- * engine: createA2AEngine(),
39
- * contexts: createContextManager(),
40
- * connections: createConnectionManager(),
41
- * methods: {
42
- * sendMessage: customSendMessage,
43
- * getTask: customGetTask
44
- * }
45
- * };
46
- *
47
- * const service = createA2AService(factoryParams);
48
- * ```
49
- *
50
- * @public
51
- * @since 0.5.6
52
- */
53
- export interface FactoryParams {
54
- /** Agent identity and capabilities information */
55
- agentCard: AgentCardParams;
56
- /** Execution engine for processing A2A commands */
57
- engine: A2AEngine;
58
- /** Optional context manager for execution state management */
59
- contexts?: ContextManagerInterface<Command, State, Update>;
60
- /** Optional connection manager for agent connections */
61
- connections?: ConnectionManagerInterface;
62
- /** Optional cancellation manager for handling operation cancellations */
63
- cancellations?: CancellationManagerInterface;
64
- /** Optional task manager for task lifecycle management */
65
- tasks?: TaskManagerInterface<State>;
66
- /** Optional custom method implementations */
67
- methods?: Partial<MethodOptions>;
68
- /** Optional event manager configuration overrides */
69
- events?: EventManagerOptions<Command, State, Update>;
70
- /** Enforce parameter validation */
71
- enforceParamValidation?: boolean;
72
- }
73
- /**
74
- * Parameters passed to A2A method implementations.
75
- *
76
- * This interface defines the dependencies and context information that
77
- * method implementations receive when they are invoked. It provides access
78
- * to the service instance, execution engine, context management, and
79
- * cancellation mechanisms.
80
- *
81
- * @example
82
- * ```typescript
83
- * const customSendMessage = async (
84
- * message: MessageSendParams,
85
- * params: MethodParams
86
- * ): Promise<SendMessageSuccessResult> => {
87
- * const { service, engine, contextManager, signal } = params;
88
- *
89
- * // Create execution context
90
- * const context = contextManager.createContext(message);
91
- *
92
- * // Check for cancellation
93
- * if (signal.aborted) {
94
- * throw new Error('Operation cancelled');
95
- * }
96
- *
97
- * // Execute message sending
98
- * return await service.execute(engine, context);
99
- * };
100
- * ```
101
- *
102
- * @public
103
- * @since 0.5.6
104
- */
105
- export interface MethodParams {
106
- /** The A2A service instance */
107
- service: A2AServiceInterface<Command, State, Update>;
108
- /** The execution engine for processing */
109
- engine: A2AEngine;
110
- /** Context manager for execution state */
111
- contextManager: ContextManagerInterface<Command, State, Update>;
112
- /** Abort signal for cancellation handling */
113
- signal: AbortSignal;
114
- /** Enforce input validation */
115
- enforceValidation?: boolean;
116
- }
117
- /**
118
- * Custom method implementation options for A2A services.
119
- *
120
- * This interface allows customization of core A2A operations by providing
121
- * alternative implementations for task management, message handling, and
122
- * streaming operations. Each method can be individually overridden to
123
- * provide custom behavior while maintaining the standard interface.
124
- *
125
- * @example
126
- * ```typescript
127
- * const customMethods: MethodOptions = {
128
- * sendMessage: async (message, params) => {
129
- * // Custom message sending logic
130
- * console.log(`Sending message to: ${message.recipient}`);
131
- * const result = await defaultSendMessage(message, params);
132
- * console.log(`Message sent with ID: ${result.messageId}`);
133
- * return result;
134
- * },
135
- *
136
- * getTask: async (input, params) => {
137
- * // Custom task retrieval with caching
138
- * const cached = taskCache.get(input.taskId);
139
- * if (cached) return cached;
140
- *
141
- * const task = await defaultGetTask(input, params);
142
- * taskCache.set(input.taskId, task);
143
- * return task;
144
- * }
145
- * };
146
- * ```
147
- *
148
- * @public
149
- * @since 0.5.6
150
- */
151
- export interface MethodOptions {
152
- /**
153
- * Custom task retrieval implementation.
154
- *
155
- * @param input - Task query parameters
156
- * @param params - Method execution parameters (without engine, contextManager, signal)
157
- * @returns Promise resolving to the requested task
158
- */
159
- getTask: (input: TaskQueryParams, params: Omit<MethodParams, "engine" | "contextManager" | "signal">) => Promise<Task>;
160
- /**
161
- * Task cancellation.
162
- *
163
- * @param input - Task identification parameters
164
- * @param params - Method execution parameters (without engine, signal)
165
- * @returns Promise resolving to the cancelled task
166
- */
167
- cancelTask: (input: TaskIdParams, params: Omit<MethodParams, "engine" | "signal">) => Promise<Task>;
168
- /**
169
- * Message sending.
170
- *
171
- * @param message - Message parameters to send
172
- * @param params - Full method execution parameters
173
- * @returns Promise resolving to send operation result
174
- */
175
- sendMessage: (message: MessageSendParams, params: MethodParams) => Promise<SendMessageSuccessResult>;
176
- /**
177
- * Streaming messages.
178
- *
179
- * @param message - Message parameters to send
180
- * @param params - Full method execution parameters
181
- * @returns AsyncGenerator yielding update events
182
- */
183
- streamMessage: (message: MessageSendParams, params: MethodParams) => AsyncGenerator<UpdateEvent>;
184
- /**
185
- * Resubscription.
186
- *
187
- * @param input - Task identification parameters
188
- * @param params - Full method execution parameters
189
- * @returns AsyncGenerator yielding update events
190
- */
191
- resubscribe: (input: TaskIdParams, params: MethodParams) => AsyncGenerator<UpdateEvent>;
192
- }
193
- /**
194
- * Public interface for A2A service methods.
195
- *
196
- * This interface defines the public API that consumers of A2A services
197
- * can use to interact with agents. It provides simplified method signatures
198
- * that hide internal complexity while exposing the essential functionality
199
- * for agent-to-agent communication.
200
- *
201
- * @example
202
- * ```typescript
203
- * // Using the methods interface
204
- * const service: MethodsInterface = createA2AService(params);
205
- *
206
- * // Get a task
207
- * const task = await service.getTask({ taskId: 'task-123' });
208
- *
209
- * // Send a message
210
- * const result = await service.sendMessage({
211
- * recipient: 'agent-456',
212
- * content: 'Hello, how are you?'
213
- * });
214
- *
215
- * // Stream messages for real-time updates
216
- * for await (const update of service.streamMessage({
217
- * recipient: 'agent-456',
218
- * content: 'Processing your request...'
219
- * })) {
220
- * console.log('Update:', update);
221
- * }
222
- * ```
223
- *
224
- * @public
225
- * @since 0.5.6
226
- */
227
- export interface MethodsInterface {
228
- /**
229
- * Retrieves a task by its ID.
230
- *
231
- * @param input - Task identification parameters
232
- * @returns Promise resolving to the requested task
233
- */
234
- getTask: (input: TaskQueryParams) => Promise<Task>;
235
- /**
236
- * Cancels a task by its ID.
237
- *
238
- * @param input - Task identification parameters
239
- * @returns Promise resolving to the cancelled task
240
- */
241
- cancelTask: (input: TaskIdParams) => Promise<Task>;
242
- /**
243
- * Sends a message to another agent.
244
- *
245
- * @param message - Message parameters to send
246
- * @param params - Optional execution parameters
247
- * @returns Promise resolving to send operation result
248
- */
249
- sendMessage: (message: MessageSendParams, params?: Partial<Omit<MethodParams, "service" | "contextManager">>) => Promise<SendMessageSuccessResult>;
250
- /**
251
- * Sends a message with streaming updates.
252
- *
253
- * @param message - Message parameters to send
254
- * @param params - Optional execution parameters
255
- * @returns AsyncGenerator yielding update events
256
- */
257
- streamMessage: (message: MessageSendParams, params?: Partial<Omit<MethodParams, "service" | "contextManager">>) => AsyncGenerator<UpdateEvent>;
258
- /**
259
- * Resubscribes to updates for a specific task.
260
- *
261
- * @param input - Task identification parameters
262
- * @param params - Optional execution parameters
263
- * @returns AsyncGenerator yielding update events
264
- */
265
- resubscribe: (input: TaskIdParams, params?: Partial<Omit<MethodParams, "service" | "contextManager">>) => AsyncGenerator<UpdateEvent>;
266
- }
267
- /**
268
- * Main interface for A2A service implementations.
269
- *
270
- * This interface extends the core ServiceInterface and MethodsInterface to provide
271
- * a complete A2A service implementation. It includes agent identity management,
272
- * connection tracking, cancellation handling, and state management capabilities
273
- * specific to agent-to-agent communication scenarios.
274
- *
275
- * @template TCommand - The command type, must extend Command
276
- * @template TState - The state type, must extend State
277
- * @template TUpdate - The update type, must extend Update
278
- *
279
- * @example
280
- * ```typescript
281
- * class MyA2AService implements A2AServiceInterface {
282
- * constructor(
283
- * public agentCard: AgentCard,
284
- * private engine: A2AEngine
285
- * ) {}
286
- *
287
- * async execute(engine, context) {
288
- * // Handle execution
289
- * }
290
- *
291
- * async sendMessage(message, params) {
292
- * // Handle message sending
293
- * }
294
- *
295
- * addConnection(id: string) {
296
- * this.connections.add(id);
297
- * console.log(`Added connection: ${id}`);
298
- * }
299
- *
300
- * // ... implement other methods
301
- * }
302
- * ```
303
- *
304
- * @public
305
- * @since 0.5.6
306
- */
307
- export interface A2AServiceInterface<TCommand extends Command = Command, TState extends State = State, TUpdate extends Update = Update> extends ServiceInterface<TCommand, TState, TUpdate>, MethodsInterface {
308
- /**
309
- * Optional event manager configuration overrides.
310
- *
311
- * When present, these overrides customize the default event handling
312
- * behavior for this service instance.
313
- */
314
- readonly eventOverrides: EventManagerOptions<TCommand, TState, TUpdate> | undefined;
315
- /**
316
- * Agent identity and capabilities information.
317
- *
318
- * This card identifies the agent and describes its capabilities,
319
- * which is used for agent discovery and capability matching.
320
- */
321
- agentCard: AgentCard;
322
- /**
323
- * Adds a connection to the active connections registry.
324
- *
325
- * @param id - Unique identifier for the connection
326
- *
327
- * @example
328
- * ```typescript
329
- * service.addConnection('connection-123');
330
- * ```
331
- */
332
- addConnection: (id: string) => void;
333
- /**
334
- * Removes a connection from the active connections registry.
335
- *
336
- * @param id - Unique identifier for the connection
337
- *
338
- * @example
339
- * ```typescript
340
- * service.removeConnection('connection-123');
341
- * ```
342
- */
343
- removeConnection: (id: string) => void;
344
- /**
345
- * Checks if a specific execution context has been cancelled.
346
- *
347
- * @param id - Context or execution identifier
348
- * @returns True if cancelled, false otherwise
349
- *
350
- * @example
351
- * ```typescript
352
- * if (service.isCancelled('context-123')) {
353
- * console.log('Execution was cancelled');
354
- * return;
355
- * }
356
- * ```
357
- */
358
- isCancelled: (id: string) => boolean;
359
- /**
360
- * Adds a cancellation marker for a specific execution context.
361
- *
362
- * @param id - Context or execution identifier to cancel
363
- *
364
- * @example
365
- * ```typescript
366
- * service.addCancellation('context-123');
367
- * ```
368
- */
369
- addCancellation: (id: string) => void;
370
- /**
371
- * Removes a cancellation marker for a specific execution context.
372
- *
373
- * @param id - Context or execution identifier
374
- *
375
- * @example
376
- * ```typescript
377
- * service.removeCancellation('context-123');
378
- * ```
379
- */
380
- removeCancellation: (id: string) => void;
381
- /**
382
- * Retrieves the current state for a specific Task.
383
- *
384
- * @param id - Task identifier
385
- * @returns Promise resolving to the state, or undefined if not found
386
- *
387
- * @example
388
- * ```typescript
389
- * const state = await service.getState('task-123');
390
- * if (state) {
391
- * console.log('Current progress:', state.progress);
392
- * }
393
- * ```
394
- */
395
- getState: (id: string) => Promise<TState | undefined>;
396
- /**
397
- * Sets the state for a specific Task.
398
- *
399
- * @param id - Task identifier
400
- * @param data - The state data to store
401
- * @returns Promise that resolves when state is saved
402
- *
403
- * @example
404
- * ```typescript
405
- * await service.setState('task-123', {
406
- * progress: 0.75,
407
- * status: 'processing',
408
- * data: processedResults
409
- * });
410
- * ```
411
- */
412
- setState: (id: string, data: TState) => Promise<void>;
413
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- export {};
@@ -1,25 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- import { CoreCommand } from "./types.js";
6
- import { EventEmitter } from "events";
7
- export interface CommandChannelMap<TCommand extends CoreCommand = CoreCommand> {
8
- send: [TCommand];
9
- close: [];
10
- }
11
- export interface SendCommandInterface<TCommand extends CoreCommand = CoreCommand> {
12
- isOpen: boolean;
13
- send(command: TCommand): void;
14
- }
15
- export interface ReceiveCommandInterface<TCommand extends CoreCommand = CoreCommand> extends AsyncIterable<TCommand, TCommand, TCommand | undefined>, EventEmitter<CommandChannelMap<TCommand>> {
16
- command: TCommand;
17
- commandList: TCommand[];
18
- close(): void;
19
- next(): Promise<IteratorResult<TCommand>>;
20
- return(value: TCommand): Promise<IteratorResult<TCommand>>;
21
- }
22
- export type ReceiveCommandProxyInterface<TCommand extends CoreCommand = CoreCommand> = ReceiveCommandInterface<TCommand> & TCommand;
23
- export interface CommandChannelInterface<TCommand extends CoreCommand = CoreCommand> extends ReceiveCommandInterface<TCommand>, SendCommandInterface<TCommand> {
24
- }
25
- export type CommandChannelProxyInterface<TCommand extends CoreCommand = CoreCommand> = CommandChannelInterface<TCommand> & TCommand;
@@ -1,5 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- export {};
@@ -1,207 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- /**
6
- * @fileoverview Core Context Interface Definition
7
- *
8
- * This module defines the CoreContext interface, which serves as the central
9
- * execution environment for all command processing. The context encapsulates
10
- * the command, state management, event handling, and cancellation mechanisms
11
- * required for execution engine operations.
12
- *
13
- * @module CoreContext
14
- * @version 0.5.7
15
- * @since 0.5.6
16
- * @author The Artinet Project
17
- */
18
- import { EventManagerInterface } from "../managers/event.js";
19
- import { CoreCommand, CoreState, CoreUpdate } from "./types.js";
20
- import { ReceiveCommandProxyInterface } from "./command.js";
21
- /**
22
- * Core execution context interface that provide the complete environment for command execution.
23
- *
24
- * The CoreContext serves as the primary execution environment passed to execution engines.
25
- * It encapsulates all the necessary components for command processing, including the command
26
- * itself, state management, event handling, and cancellation signals. This design enables
27
- * execution engines to be stateless functions that receive everything they need through
28
- * the context parameter.
29
- *
30
- * The context is designed to support "Context Engineering" - the practice of carefully
31
- * constructing execution environments that contain all necessary information and capabilities
32
- * for effective command processing. As the system evolves, the context becomes increasingly
33
- * important for enabling sophisticated execution patterns.
34
- *
35
- * @template TCommand - The command type, must extend CoreCommand
36
- * @template TState - The state type, must extend CoreState
37
- * @template TUpdate - The update type, must extend CoreUpdate
38
- *
39
- * @example
40
- * ```typescript
41
- * // Using context in an execution engine
42
- * const myEngine: ExecutionEngine<MyCommand, MyState, MyUpdate> = async function* (context) {
43
- * const { command, State, events, signal, isCancelled } = context;
44
- *
45
- * // Get current state
46
- * const currentState = State();
47
- *
48
- * // Check for cancellation
49
- * if (isCancelled() || signal.aborted) {
50
- * yield { type: 'cancelled' };
51
- * return;
52
- * }
53
- *
54
- * // Process command
55
- * const result = await processCommand(command);
56
- *
57
- * // Emit events and yield updates
58
- * events.emit('progress', { progress: 0.5 });
59
- * yield { type: 'progress', progress: 0.5, data: result };
60
- * };
61
- * ```
62
- *
63
- * @example
64
- * ```typescript
65
- * // Creating and using a context
66
- * const context: CoreContext<MyCommand, MyState, MyUpdate> = {
67
- * contextId: 'execution-123',
68
- * command: createCommandProxy(myCommand),
69
- * events: createEventManager(),
70
- * signal: abortController.signal,
71
- * isCancelled: () => abortController.signal.aborted,
72
- * State: () => getCurrentState()
73
- * };
74
- *
75
- * // Execute with context
76
- * for await (const update of myEngine(context)) {
77
- * console.log('Update:', update);
78
- * }
79
- * ```
80
- *
81
- * @remarks
82
- * **Design Philosophy:**
83
- * The context represents a shift toward functional execution patterns where execution
84
- * engines are pure functions that receive all necessary dependencies through the
85
- * context parameter. This approach enables:
86
- *
87
- * - **Testability**: Easy to mock and test individual components
88
- * - **Composability**: Different engines can work with the same context interface
89
- * - **Flexibility**: Context can be enhanced without changing engine signatures
90
- * - **Debugging**: Complete execution environment is visible and traceable
91
- *
92
- * **Context Engineering:**
93
- * As mentioned in the original note, Context Engineering is becoming increasingly
94
- * important. This involves carefully designing contexts that provide the right
95
- * level of abstraction and capability for specific execution scenarios.
96
- *
97
- * @public
98
- * @since 0.5.6
99
- */
100
- export interface CoreContext<TCommand extends CoreCommand = CoreCommand, TState extends CoreState = CoreState, TUpdate extends CoreUpdate = CoreUpdate> {
101
- /**
102
- * Unique identifier for this execution context.
103
- *
104
- * This ID is used throughout the system to track and correlate execution
105
- * activities, logs, and state updates with specific command executions.
106
- *
107
- * @example
108
- * ```typescript
109
- * console.log(`Starting execution: ${context.contextId}`);
110
- * loggerService.info(`[${context.contextId}] Processing command`);
111
- * ```
112
- */
113
- readonly contextId: string;
114
- /**
115
- * Command proxy interface providing access to the command being executed.
116
- *
117
- * The command proxy wraps the original command and may provide additional
118
- * functionality such as validation, logging, or transformation. It allows
119
- * execution engines to access command data in a controlled manner.
120
- *
121
- * @example
122
- * ```typescript
123
- * const { command } = context;
124
- *
125
- * // Access command properties
126
- * const userId = command.metadata?.userId;
127
- * const taskType = command.type;
128
- * const parameters = command.params;
129
- *
130
- * // Use command data in processing
131
- * const result = await processTask(taskType, parameters, userId);
132
- * ```
133
- */
134
- command: ReceiveCommandProxyInterface<TCommand>;
135
- /**
136
- * Function to check if the execution has been cancelled.
137
- *
138
- * This function provides a convenient way to check cancellation status
139
- * throughout execution. It may aggregate multiple cancellation sources
140
- * including abort signals, service-level cancellation, and timeout conditions.
141
- *
142
- * @returns True if the execution should be cancelled, false otherwise
143
- *
144
- * @example
145
- * ```typescript
146
- * // Check before expensive operations
147
- * if (context.isCancelled()) {
148
- * yield { type: 'cancelled', reason: 'User cancellation' };
149
- * return;
150
- * }
151
- *
152
- * // Check in processing loops
153
- * for (const item of largeDataSet) {
154
- * if (context.isCancelled()) break;
155
- * await processItem(item);
156
- * }
157
- * ```
158
- */
159
- readonly isCancelled: () => boolean;
160
- /**
161
- * Abort signal for cancellation handling.
162
- *
163
- * This standard AbortSignal provides a way to handle cancellation in a
164
- * platform-standard manner. It can be passed to fetch requests, timeouts,
165
- * and other async operations that support cancellation.
166
- */
167
- readonly signal: AbortSignal;
168
- /**
169
- * Event manager for handling execution lifecycle events.
170
- *
171
- * The event manager provides event emission and subscription capabilities
172
- * for execution lifecycle events. It handles state transitions, error
173
- * scenarios, and completion notifications.
174
- *
175
- * @example
176
- * ```typescript
177
- * const { events } = context;
178
- *
179
- * // Listen for events
180
- * events.on('update', (state, update) => {
181
- * console.log('State updated:', state);
182
- * });
183
- *
184
- * // Handle errors
185
- * events.on('error', (error, state) => {
186
- * console.error('Execution error:', error);
187
- * });
188
- * ```
189
- */
190
- readonly events: EventManagerInterface<TCommand, TState, TUpdate>;
191
- /**
192
- * Function to get the current execution state.
193
- *
194
- * This function provides access to the current state of the execution.
195
- * The state represents the accumulated result of all updates processed
196
- * so far and serves as the foundation for decision-making in execution engines.
197
- *
198
- * @returns The current execution state
199
- *
200
- * @example
201
- * ```typescript
202
- * // Get current state for decision making
203
- * const currentState = context.State();
204
- * ```
205
- */
206
- readonly State: () => TState;
207
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- export {};
@@ -1,3 +0,0 @@
1
- export * from "./command.js";
2
- export * from "./context.js";
3
- export * from "./types.js";
@@ -1,3 +0,0 @@
1
- export * from "./command.js";
2
- export * from "./context.js";
3
- export * from "./types.js";
@@ -1,11 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- /**
6
- * We're starting with simple base types for the core context.
7
- * The base types will expand as we determine what is common across all services.
8
- */
9
- export type CoreCommand<TCommand extends object = object> = TCommand;
10
- export type CoreState<TState extends {} = {}> = TState;
11
- export type CoreUpdate<TUpdate = unknown> = TUpdate;
@@ -1,5 +0,0 @@
1
- /**
2
- * Copyright 2025 The Artinet Project
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- export {};