@artinet/sdk 0.5.18 → 0.6.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/README.md +36 -617
  2. package/dist/browser/browser.d.ts +1 -1
  3. package/dist/browser/browser.js +1 -1
  4. package/dist/browser/client/a2a-client.d.ts +19 -18
  5. package/dist/browser/client/a2a-client.js +18 -6
  6. package/dist/browser/config/index.d.ts +158 -0
  7. package/dist/browser/config/index.js +155 -0
  8. package/dist/browser/config/observability.d.ts +119 -0
  9. package/dist/browser/config/observability.js +35 -0
  10. package/dist/browser/services/a2a/helpers/message-builder.d.ts +13 -8
  11. package/dist/browser/services/a2a/helpers/message-builder.js +5 -0
  12. package/dist/browser/transport/rpc/parser.d.ts +2 -2
  13. package/dist/browser/transport/rpc/parser.js +6 -6
  14. package/dist/browser/transport/rpc/rpc-client.d.ts +5 -5
  15. package/dist/browser/transport/rpc/rpc-client.js +6 -6
  16. package/dist/browser/transport/streaming/event-stream.d.ts +3 -3
  17. package/dist/browser/transport/streaming/event-stream.js +11 -10
  18. package/dist/browser/types/a2a/a2a.d.ts +378 -0
  19. package/dist/browser/types/a2a/a2a.js +14 -0
  20. package/dist/browser/types/a2a/builder.d.ts +43 -0
  21. package/dist/browser/types/a2a/index.d.ts +3 -0
  22. package/dist/browser/types/a2a/index.js +2 -0
  23. package/dist/{types/interfaces → browser/types}/client.d.ts +25 -27
  24. package/dist/browser/types/core/core.d.ts +31 -0
  25. package/dist/browser/types/core/index.d.ts +1 -0
  26. package/dist/browser/types/core/index.js +1 -0
  27. package/dist/browser/types/index.d.ts +6 -3
  28. package/dist/browser/types/index.js +6 -3
  29. package/dist/browser/types/mcp/index.d.ts +1 -0
  30. package/dist/browser/types/mcp/index.js +1 -0
  31. package/dist/browser/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
  32. package/dist/browser/types/{interfaces/services/a2a/context.js → mcp/mcp.js} +1 -1
  33. package/dist/browser/types/storage.d.ts +21 -0
  34. package/dist/browser/utils/common/constants.d.ts +7 -7
  35. package/dist/browser/utils/common/constants.js +9 -9
  36. package/dist/browser/utils/common/errors.d.ts +18 -18
  37. package/dist/browser/utils/common/errors.js +14 -14
  38. package/dist/browser/utils/common/utils.d.ts +23 -0
  39. package/dist/browser/utils/common/utils.js +32 -0
  40. package/dist/client/a2a-client.d.ts +19 -18
  41. package/dist/client/a2a-client.js +18 -6
  42. package/dist/config/default.d.ts +50 -0
  43. package/dist/config/default.js +62 -0
  44. package/dist/config/index.d.ts +158 -0
  45. package/dist/config/index.js +155 -0
  46. package/dist/config/observability.d.ts +119 -0
  47. package/dist/config/observability.js +35 -0
  48. package/dist/extensions/otel.d.ts +98 -0
  49. package/dist/extensions/otel.js +190 -0
  50. package/dist/extensions/pino.d.ts +44 -0
  51. package/dist/extensions/pino.js +107 -0
  52. package/dist/extensions/winston.d.ts +47 -0
  53. package/dist/extensions/winston.js +114 -0
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.js +2 -0
  56. package/dist/server/express/errors.js +3 -3
  57. package/dist/server/express/middeware.d.ts +2 -2
  58. package/dist/server/express/middeware.js +11 -4
  59. package/dist/server/express/server.d.ts +9 -56
  60. package/dist/server/express/server.js +21 -28
  61. package/dist/services/a2a/execute.d.ts +6 -0
  62. package/dist/services/a2a/execute.js +25 -0
  63. package/dist/services/a2a/factory/builder.d.ts +21 -80
  64. package/dist/services/a2a/factory/builder.js +20 -15
  65. package/dist/services/a2a/factory/context.d.ts +15 -128
  66. package/dist/services/a2a/factory/context.js +31 -136
  67. package/dist/services/a2a/factory/handler.d.ts +6 -0
  68. package/dist/services/a2a/factory/{method.js → handler.js} +2 -2
  69. package/dist/services/a2a/factory/index.d.ts +1 -2
  70. package/dist/services/a2a/factory/index.js +1 -2
  71. package/dist/services/a2a/factory/service.d.ts +20 -7
  72. package/dist/services/a2a/factory/service.js +4 -4
  73. package/dist/services/a2a/factory/state-machine.d.ts +11 -0
  74. package/dist/services/a2a/factory/state-machine.js +66 -0
  75. package/dist/services/a2a/{state/update → handlers}/artifact.d.ts +4 -4
  76. package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
  77. package/dist/services/a2a/handlers/cancel-task.js +33 -0
  78. package/dist/services/a2a/handlers/get-task.d.ts +11 -0
  79. package/dist/services/a2a/handlers/get-task.js +13 -0
  80. package/dist/services/a2a/handlers/resubscribe-task.d.ts +11 -0
  81. package/dist/services/a2a/handlers/resubscribe-task.js +56 -0
  82. package/dist/services/a2a/handlers/send-message.d.ts +11 -0
  83. package/dist/services/a2a/handlers/send-message.js +35 -0
  84. package/dist/services/a2a/handlers/stream-message.d.ts +11 -0
  85. package/dist/services/a2a/handlers/stream-message.js +19 -0
  86. package/dist/services/a2a/handlers/update.d.ts +17 -0
  87. package/dist/services/a2a/handlers/update.js +114 -0
  88. package/dist/services/a2a/helpers/agentcard-builder.d.ts +9 -5
  89. package/dist/services/a2a/helpers/agentcard-builder.js +4 -0
  90. package/dist/services/a2a/helpers/content.d.ts +2 -2
  91. package/dist/services/a2a/helpers/content.js +4 -0
  92. package/dist/services/a2a/helpers/history.d.ts +6 -2
  93. package/dist/services/a2a/helpers/history.js +4 -0
  94. package/dist/services/a2a/helpers/index.d.ts +2 -2
  95. package/dist/services/a2a/helpers/index.js +2 -2
  96. package/dist/services/a2a/helpers/message-builder.d.ts +13 -8
  97. package/dist/services/a2a/helpers/message-builder.js +5 -0
  98. package/dist/services/a2a/helpers/part.d.ts +9 -9
  99. package/dist/services/a2a/helpers/references.d.ts +6 -0
  100. package/dist/services/a2a/helpers/references.js +22 -0
  101. package/dist/services/a2a/index.d.ts +9 -5
  102. package/dist/services/a2a/index.js +8 -5
  103. package/dist/services/a2a/managers.d.ts +23 -0
  104. package/dist/services/a2a/managers.js +95 -0
  105. package/dist/services/a2a/messenger.d.ts +35 -0
  106. package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
  107. package/dist/services/a2a/service.d.ts +41 -372
  108. package/dist/services/a2a/service.js +238 -83
  109. package/dist/services/a2a/state-machine.d.ts +18 -0
  110. package/dist/services/a2a/state-machine.js +76 -0
  111. package/dist/services/a2a/streams.d.ts +22 -0
  112. package/dist/services/a2a/streams.js +98 -0
  113. package/dist/services/core/index.d.ts +1 -2
  114. package/dist/services/core/index.js +1 -2
  115. package/dist/services/core/manager.d.ts +15 -0
  116. package/dist/services/core/manager.js +42 -0
  117. package/dist/services/mcp/service.d.ts +11 -15
  118. package/dist/services/mcp/service.js +16 -15
  119. package/dist/transport/index.d.ts +0 -1
  120. package/dist/transport/index.js +1 -1
  121. package/dist/transport/rpc/parser.d.ts +2 -2
  122. package/dist/transport/rpc/parser.js +6 -6
  123. package/dist/transport/rpc/rpc-client.d.ts +5 -5
  124. package/dist/transport/rpc/rpc-client.js +6 -6
  125. package/dist/transport/streaming/event-stream.d.ts +3 -3
  126. package/dist/transport/streaming/event-stream.js +11 -10
  127. package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
  128. package/dist/transport/trpc/a2a/factory/router.js +2 -2
  129. package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
  130. package/dist/transport/trpc/a2a/routes/info.js +6 -2
  131. package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
  132. package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
  133. package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
  134. package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
  135. package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
  136. package/dist/types/a2a/a2a.d.ts +378 -0
  137. package/dist/types/a2a/a2a.js +14 -0
  138. package/dist/types/a2a/builder.d.ts +43 -0
  139. package/dist/types/a2a/index.d.ts +3 -0
  140. package/dist/types/a2a/index.js +2 -0
  141. package/dist/{browser/types/interfaces → types}/client.d.ts +25 -27
  142. package/dist/types/core/core.d.ts +31 -0
  143. package/dist/types/core/index.d.ts +1 -0
  144. package/dist/types/core/index.js +1 -0
  145. package/dist/types/index.d.ts +6 -3
  146. package/dist/types/index.js +6 -3
  147. package/dist/types/mcp/index.d.ts +1 -0
  148. package/dist/types/mcp/index.js +1 -0
  149. package/dist/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
  150. package/dist/{browser/types/interfaces/services/a2a/engine.js → types/mcp/mcp.js} +1 -1
  151. package/dist/types/storage.d.ts +21 -0
  152. package/dist/utils/common/constants.d.ts +7 -7
  153. package/dist/utils/common/constants.js +9 -9
  154. package/dist/utils/common/errors.d.ts +18 -18
  155. package/dist/utils/common/errors.js +14 -14
  156. package/dist/utils/common/parse.d.ts +7 -0
  157. package/dist/utils/common/parse.js +14 -0
  158. package/dist/utils/common/schema-validation.d.ts +1 -1
  159. package/dist/utils/common/schema-validation.js +7 -7
  160. package/dist/utils/common/utils.d.ts +23 -0
  161. package/dist/utils/common/utils.js +32 -0
  162. package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
  163. package/dist/utils/common/zAsyncIterable-v3.js +2 -1
  164. package/dist/utils/index.d.ts +2 -3
  165. package/dist/utils/index.js +2 -3
  166. package/dist/utils/storage/file.d.ts +8 -17
  167. package/dist/utils/storage/file.js +44 -73
  168. package/package.json +73 -13
  169. package/dist/browser/types/ext.d.ts +0 -13
  170. package/dist/browser/types/ext.js +0 -10
  171. package/dist/browser/types/interfaces/index.d.ts +0 -3
  172. package/dist/browser/types/interfaces/index.js +0 -3
  173. package/dist/browser/types/interfaces/services/a2a/builder.d.ts +0 -37
  174. package/dist/browser/types/interfaces/services/a2a/context.d.ts +0 -162
  175. package/dist/browser/types/interfaces/services/a2a/engine.d.ts +0 -7
  176. package/dist/browser/types/interfaces/services/a2a/index.d.ts +0 -5
  177. package/dist/browser/types/interfaces/services/a2a/index.js +0 -5
  178. package/dist/browser/types/interfaces/services/a2a/legacy.d.ts +0 -93
  179. package/dist/browser/types/interfaces/services/a2a/legacy.js +0 -5
  180. package/dist/browser/types/interfaces/services/a2a/service.d.ts +0 -413
  181. package/dist/browser/types/interfaces/services/a2a/service.js +0 -5
  182. package/dist/browser/types/interfaces/services/core/context/command.d.ts +0 -25
  183. package/dist/browser/types/interfaces/services/core/context/command.js +0 -5
  184. package/dist/browser/types/interfaces/services/core/context/context.d.ts +0 -207
  185. package/dist/browser/types/interfaces/services/core/context/context.js +0 -5
  186. package/dist/browser/types/interfaces/services/core/context/index.d.ts +0 -3
  187. package/dist/browser/types/interfaces/services/core/context/index.js +0 -3
  188. package/dist/browser/types/interfaces/services/core/context/types.d.ts +0 -11
  189. package/dist/browser/types/interfaces/services/core/context/types.js +0 -5
  190. package/dist/browser/types/interfaces/services/core/execution/engine.d.ts +0 -106
  191. package/dist/browser/types/interfaces/services/core/execution/engine.js +0 -5
  192. package/dist/browser/types/interfaces/services/core/execution/environment.d.ts +0 -11
  193. package/dist/browser/types/interfaces/services/core/execution/environment.js +0 -5
  194. package/dist/browser/types/interfaces/services/core/execution/execute.d.ts +0 -7
  195. package/dist/browser/types/interfaces/services/core/execution/execute.js +0 -5
  196. package/dist/browser/types/interfaces/services/core/execution/index.d.ts +0 -3
  197. package/dist/browser/types/interfaces/services/core/execution/index.js +0 -3
  198. package/dist/browser/types/interfaces/services/core/index.d.ts +0 -4
  199. package/dist/browser/types/interfaces/services/core/index.js +0 -4
  200. package/dist/browser/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  201. package/dist/browser/types/interfaces/services/core/managers/cancellation.js +0 -5
  202. package/dist/browser/types/interfaces/services/core/managers/connection.d.ts +0 -9
  203. package/dist/browser/types/interfaces/services/core/managers/connection.js +0 -5
  204. package/dist/browser/types/interfaces/services/core/managers/context.d.ts +0 -17
  205. package/dist/browser/types/interfaces/services/core/managers/context.js +0 -5
  206. package/dist/browser/types/interfaces/services/core/managers/event.d.ts +0 -328
  207. package/dist/browser/types/interfaces/services/core/managers/event.js +0 -5
  208. package/dist/browser/types/interfaces/services/core/managers/index.d.ts +0 -6
  209. package/dist/browser/types/interfaces/services/core/managers/index.js +0 -6
  210. package/dist/browser/types/interfaces/services/core/managers/stream.d.ts +0 -217
  211. package/dist/browser/types/interfaces/services/core/managers/stream.js +0 -5
  212. package/dist/browser/types/interfaces/services/core/managers/task.d.ts +0 -9
  213. package/dist/browser/types/interfaces/services/core/service.d.ts +0 -115
  214. package/dist/browser/types/interfaces/services/core/service.js +0 -5
  215. package/dist/browser/types/interfaces/services/index.d.ts +0 -4
  216. package/dist/browser/types/interfaces/services/index.js +0 -4
  217. package/dist/browser/types/interfaces/services/mcp/index.d.ts +0 -1
  218. package/dist/browser/types/interfaces/services/mcp/index.js +0 -1
  219. package/dist/browser/types/interfaces/services/mcp/service.js +0 -5
  220. package/dist/browser/types/interfaces/storage.d.ts +0 -8
  221. package/dist/browser/types/schemas/a2a/agent.d.ts +0 -2583
  222. package/dist/browser/types/schemas/a2a/agent.js +0 -323
  223. package/dist/browser/types/schemas/a2a/auth.d.ts +0 -908
  224. package/dist/browser/types/schemas/a2a/auth.js +0 -283
  225. package/dist/browser/types/schemas/a2a/error.d.ts +0 -396
  226. package/dist/browser/types/schemas/a2a/error.js +0 -163
  227. package/dist/browser/types/schemas/a2a/index.d.ts +0 -11
  228. package/dist/browser/types/schemas/a2a/index.js +0 -11
  229. package/dist/browser/types/schemas/a2a/kind.d.ts +0 -11
  230. package/dist/browser/types/schemas/a2a/kind.js +0 -20
  231. package/dist/browser/types/schemas/a2a/message.d.ts +0 -10343
  232. package/dist/browser/types/schemas/a2a/message.js +0 -130
  233. package/dist/browser/types/schemas/a2a/notification.d.ts +0 -1517
  234. package/dist/browser/types/schemas/a2a/notification.js +0 -203
  235. package/dist/browser/types/schemas/a2a/parameters.d.ts +0 -956
  236. package/dist/browser/types/schemas/a2a/parameters.js +0 -241
  237. package/dist/browser/types/schemas/a2a/protocol.d.ts +0 -14363
  238. package/dist/browser/types/schemas/a2a/protocol.js +0 -59
  239. package/dist/browser/types/schemas/a2a/rpc.d.ts +0 -182
  240. package/dist/browser/types/schemas/a2a/rpc.js +0 -126
  241. package/dist/browser/types/schemas/a2a/task.d.ts +0 -5886
  242. package/dist/browser/types/schemas/a2a/task.js +0 -134
  243. package/dist/browser/types/schemas/a2a/transport.d.ts +0 -31
  244. package/dist/browser/types/schemas/a2a/transport.js +0 -28
  245. package/dist/browser/types/schemas/index.d.ts +0 -1
  246. package/dist/browser/types/schemas/index.js +0 -1
  247. package/dist/browser/utils/logging/index.d.ts +0 -2
  248. package/dist/browser/utils/logging/index.js +0 -2
  249. package/dist/browser/utils/logging/log.d.ts +0 -33
  250. package/dist/browser/utils/logging/log.js +0 -75
  251. package/dist/browser/utils/logging/logger.d.ts +0 -18
  252. package/dist/browser/utils/logging/logger.js +0 -18
  253. package/dist/services/a2a/factory/event.d.ts +0 -58
  254. package/dist/services/a2a/factory/event.js +0 -177
  255. package/dist/services/a2a/factory/method.d.ts +0 -6
  256. package/dist/services/a2a/managers/cancellation.d.ts +0 -11
  257. package/dist/services/a2a/managers/cancellation.js +0 -16
  258. package/dist/services/a2a/managers/connection.d.ts +0 -11
  259. package/dist/services/a2a/managers/connection.js +0 -16
  260. package/dist/services/a2a/managers/context.d.ts +0 -11
  261. package/dist/services/a2a/managers/context.js +0 -16
  262. package/dist/services/a2a/managers/index.d.ts +0 -5
  263. package/dist/services/a2a/managers/index.js +0 -5
  264. package/dist/services/a2a/managers/task.d.ts +0 -11
  265. package/dist/services/a2a/managers/task.js +0 -16
  266. package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
  267. package/dist/services/a2a/methods/cancel-task.js +0 -43
  268. package/dist/services/a2a/methods/get-task.d.ts +0 -112
  269. package/dist/services/a2a/methods/get-task.js +0 -16
  270. package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
  271. package/dist/services/a2a/methods/resubscribe-task.js +0 -80
  272. package/dist/services/a2a/methods/send-message.d.ts +0 -7
  273. package/dist/services/a2a/methods/send-message.js +0 -36
  274. package/dist/services/a2a/methods/stream-message.d.ts +0 -8
  275. package/dist/services/a2a/methods/stream-message.js +0 -21
  276. package/dist/services/a2a/state/index.d.ts +0 -3
  277. package/dist/services/a2a/state/index.js +0 -3
  278. package/dist/services/a2a/state/load.d.ts +0 -14
  279. package/dist/services/a2a/state/load.js +0 -71
  280. package/dist/services/a2a/state/process.d.ts +0 -7
  281. package/dist/services/a2a/state/process.js +0 -13
  282. package/dist/services/a2a/state/update/index.d.ts +0 -2
  283. package/dist/services/a2a/state/update/index.js +0 -2
  284. package/dist/services/a2a/state/update/update.d.ts +0 -23
  285. package/dist/services/a2a/state/update/update.js +0 -123
  286. package/dist/services/core/execution/execute.d.ts +0 -6
  287. package/dist/services/core/execution/execute.js +0 -25
  288. package/dist/services/core/execution/index.d.ts +0 -1
  289. package/dist/services/core/execution/index.js +0 -1
  290. package/dist/services/core/managers/command.d.ts +0 -39
  291. package/dist/services/core/managers/event.d.ts +0 -18
  292. package/dist/services/core/managers/event.js +0 -56
  293. package/dist/services/core/managers/index.d.ts +0 -3
  294. package/dist/services/core/managers/index.js +0 -3
  295. package/dist/services/core/managers/stream.d.ts +0 -20
  296. package/dist/services/core/managers/stream.js +0 -77
  297. package/dist/types/ext.d.ts +0 -13
  298. package/dist/types/ext.js +0 -10
  299. package/dist/types/interfaces/index.d.ts +0 -3
  300. package/dist/types/interfaces/index.js +0 -3
  301. package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
  302. package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
  303. package/dist/types/interfaces/services/a2a/context.js +0 -5
  304. package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
  305. package/dist/types/interfaces/services/a2a/engine.js +0 -5
  306. package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
  307. package/dist/types/interfaces/services/a2a/index.js +0 -5
  308. package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
  309. package/dist/types/interfaces/services/a2a/legacy.js +0 -5
  310. package/dist/types/interfaces/services/a2a/service.d.ts +0 -413
  311. package/dist/types/interfaces/services/a2a/service.js +0 -5
  312. package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
  313. package/dist/types/interfaces/services/core/context/command.js +0 -5
  314. package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
  315. package/dist/types/interfaces/services/core/context/context.js +0 -5
  316. package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
  317. package/dist/types/interfaces/services/core/context/index.js +0 -3
  318. package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
  319. package/dist/types/interfaces/services/core/context/types.js +0 -5
  320. package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
  321. package/dist/types/interfaces/services/core/execution/engine.js +0 -5
  322. package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
  323. package/dist/types/interfaces/services/core/execution/environment.js +0 -5
  324. package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
  325. package/dist/types/interfaces/services/core/execution/execute.js +0 -5
  326. package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
  327. package/dist/types/interfaces/services/core/execution/index.js +0 -3
  328. package/dist/types/interfaces/services/core/index.d.ts +0 -4
  329. package/dist/types/interfaces/services/core/index.js +0 -4
  330. package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
  331. package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
  332. package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
  333. package/dist/types/interfaces/services/core/managers/connection.js +0 -5
  334. package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
  335. package/dist/types/interfaces/services/core/managers/context.js +0 -5
  336. package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
  337. package/dist/types/interfaces/services/core/managers/event.js +0 -5
  338. package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
  339. package/dist/types/interfaces/services/core/managers/index.js +0 -6
  340. package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
  341. package/dist/types/interfaces/services/core/managers/stream.js +0 -5
  342. package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
  343. package/dist/types/interfaces/services/core/service.d.ts +0 -115
  344. package/dist/types/interfaces/services/core/service.js +0 -5
  345. package/dist/types/interfaces/services/index.d.ts +0 -4
  346. package/dist/types/interfaces/services/index.js +0 -4
  347. package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
  348. package/dist/types/interfaces/services/mcp/index.js +0 -1
  349. package/dist/types/interfaces/services/mcp/service.js +0 -5
  350. package/dist/types/interfaces/storage.d.ts +0 -8
  351. package/dist/types/schemas/a2a/agent.d.ts +0 -2583
  352. package/dist/types/schemas/a2a/agent.js +0 -323
  353. package/dist/types/schemas/a2a/auth.d.ts +0 -908
  354. package/dist/types/schemas/a2a/auth.js +0 -283
  355. package/dist/types/schemas/a2a/error.d.ts +0 -396
  356. package/dist/types/schemas/a2a/error.js +0 -163
  357. package/dist/types/schemas/a2a/index.d.ts +0 -11
  358. package/dist/types/schemas/a2a/index.js +0 -11
  359. package/dist/types/schemas/a2a/kind.d.ts +0 -11
  360. package/dist/types/schemas/a2a/kind.js +0 -20
  361. package/dist/types/schemas/a2a/message.d.ts +0 -10343
  362. package/dist/types/schemas/a2a/message.js +0 -130
  363. package/dist/types/schemas/a2a/notification.d.ts +0 -1517
  364. package/dist/types/schemas/a2a/notification.js +0 -203
  365. package/dist/types/schemas/a2a/parameters.d.ts +0 -956
  366. package/dist/types/schemas/a2a/parameters.js +0 -241
  367. package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
  368. package/dist/types/schemas/a2a/protocol.js +0 -59
  369. package/dist/types/schemas/a2a/rpc.d.ts +0 -182
  370. package/dist/types/schemas/a2a/rpc.js +0 -126
  371. package/dist/types/schemas/a2a/task.d.ts +0 -5886
  372. package/dist/types/schemas/a2a/task.js +0 -134
  373. package/dist/types/schemas/a2a/transport.d.ts +0 -31
  374. package/dist/types/schemas/a2a/transport.js +0 -28
  375. package/dist/types/schemas/index.d.ts +0 -1
  376. package/dist/types/schemas/index.js +0 -1
  377. package/dist/utils/logging/index.d.ts +0 -2
  378. package/dist/utils/logging/index.js +0 -2
  379. package/dist/utils/logging/log.d.ts +0 -33
  380. package/dist/utils/logging/log.js +0 -75
  381. package/dist/utils/logging/logger.d.ts +0 -18
  382. package/dist/utils/logging/logger.js +0 -18
  383. package/dist/utils/storage/memory.d.ts +0 -25
  384. package/dist/utils/storage/memory.js +0 -47
  385. /package/dist/browser/types/{interfaces/services/a2a → a2a}/builder.js +0 -0
  386. /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
  387. /package/dist/browser/types/{interfaces/services/core/managers/task.js → core/core.js} +0 -0
  388. /package/dist/browser/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
  389. /package/dist/browser/types/{interfaces/services/protocol.js → protocol.js} +0 -0
  390. /package/dist/browser/types/{interfaces/storage.js → storage.js} +0 -0
  391. /package/dist/services/a2a/{state/update → handlers}/artifact.js +0 -0
  392. /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
  393. /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
  394. /package/dist/types/{interfaces/services/a2a → a2a}/builder.js +0 -0
  395. /package/dist/types/{interfaces/client.js → client.js} +0 -0
  396. /package/dist/types/{interfaces/services/core/managers/task.js → core/core.js} +0 -0
  397. /package/dist/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
  398. /package/dist/types/{interfaces/services/protocol.js → protocol.js} +0 -0
  399. /package/dist/types/{interfaces/storage.js → storage.js} +0 -0
@@ -5,5 +5,5 @@ export { executeStreamEvents } from "./transport/streaming/event-stream.js";
5
5
  export * from "./utils/common/constants.js";
6
6
  export * from "./utils/common/errors.js";
7
7
  export * from "./utils/common/utils.js";
8
- export * from "./utils/logging/log.js";
8
+ export * from "./config/index.js";
9
9
  export { A2AClient } from "./client/a2a-client.js";
@@ -6,5 +6,5 @@ export { executeStreamEvents } from "./transport/streaming/event-stream.js";
6
6
  export * from "./utils/common/constants.js";
7
7
  export * from "./utils/common/errors.js";
8
8
  export * from "./utils/common/utils.js";
9
- export * from "./utils/logging/log.js";
9
+ export * from "./config/index.js";
10
10
  export { A2AClient } from "./client/a2a-client.js";
@@ -2,8 +2,8 @@
2
2
  * Copyright 2025 The Artinet Project
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import type { AgentCard, MessageSendParams, TaskQueryParams, TaskIdParams, TaskPushNotificationConfig, Task, Message, UpdateEvent } from "../types/index.js";
6
- import type { Client } from "../types/interfaces/client.js";
5
+ import { A2A } from "../types/index.js";
6
+ import type { Client } from "../types/client.js";
7
7
  /**
8
8
  * A2AClient is the main client class for interacting with Agent2Agent (A2A) protocol-compliant services.
9
9
  * It provides methods for sending tasks, retrieving statuses, canceling operations, and handling streaming responses.
@@ -35,68 +35,69 @@ export declare class A2AClient implements Client {
35
35
  * Caches the result after the first successful fetch.
36
36
  * @returns A promise resolving to the AgentCard.
37
37
  */
38
- agentCard(): Promise<AgentCard>;
38
+ agentCard(): Promise<A2A.AgentCard>;
39
39
  /**
40
- * Refreshes the cached AgentCard by fetching it again from the server.
41
- * @returns A promise resolving to the updated AgentCard.
40
+ * Retrieves the AgentCard from the A2A server.
41
+ * @returns A promise resolving to the AgentCard.
42
42
  */
43
- refreshAgentCard(): Promise<AgentCard>;
43
+ getAgentCard(): Promise<A2A.AgentCard>;
44
44
  /**
45
- * Sends a Message to an agent server.
46
- * @param params The parameters for the message/send method.
47
- * @returns A promise resolving to Message/Task response from the agent server or null.
45
+ * Refreshes the cached AgentCard by fetching it again from the server.
46
+ * @returns A promise resolving to the updated AgentCard.
48
47
  */
49
- sendMessage(params: MessageSendParams | string): Promise<Message | Task | null>;
48
+ refreshAgentCard(): Promise<A2A.AgentCard>;
49
+ sendMessage(params: A2A.MessageSendParams): Promise<A2A.Message | A2A.Task | null>;
50
+ sendMessage(params: string | A2A.MessageSendParams["message"]): Promise<A2A.Message | A2A.Task | null>;
50
51
  /**
51
52
  * @deprecated Use sendMessage instead.
52
53
  * Sends a task request to the agent (non-streaming).
53
54
  * @param params The parameters for the message/send method.
54
55
  * @returns A promise resolving to the Task object or null.
55
56
  */
56
- sendTask(params: MessageSendParams): Promise<Message | Task | null>;
57
+ sendTask(params: A2A.MessageSendParams): Promise<A2A.Message | A2A.Task | null>;
57
58
  /**
58
59
  * Sends a Message and returns a stream of status and artifact updates.
59
60
  * @param params Task parameters for the request
60
61
  * @returns An AsyncIterable that yields TaskStatusUpdateEvent/TaskArtifactUpdateEvent/Task/Message payloads.
61
62
  */
62
- sendStreamingMessage(params: MessageSendParams | string): AsyncIterable<UpdateEvent>;
63
+ sendStreamingMessage(params: A2A.MessageSendParams | string): AsyncIterable<A2A.Update>;
63
64
  /**
64
65
  * @deprecated Use sendStreamingMessage instead.
65
66
  * Sends a task and returns a subscription to status and artifact updates.
66
67
  * @param params Task parameters for the request
67
68
  * @returns An AsyncIterable that yields TaskStatusUpdateEvent or TaskArtifactUpdateEvent payloads.
68
69
  */
69
- sendTaskSubscribe(params: MessageSendParams): AsyncIterable<UpdateEvent>;
70
+ sendTaskSubscribe(params: A2A.MessageSendParams): AsyncIterable<A2A.Update>;
70
71
  /**
71
72
  * Retrieves the current state of a task.
72
73
  * @param params The parameters for the tasks/get method.
73
74
  * @returns A promise resolving to the Task object or null.
74
75
  */
75
- getTask(params: TaskQueryParams): Promise<Task | null>;
76
+ getTask(params: A2A.TaskQueryParams): Promise<A2A.Task | null>;
76
77
  /**
77
78
  * Cancels a currently running task.
78
79
  * @param params The parameters for the tasks/cancel method.
79
80
  * @returns A promise resolving to the updated Task object (usually canceled state) or null.
80
81
  */
81
- cancelTask(params: TaskIdParams): Promise<Task | null>;
82
+ cancelTask(params: A2A.TaskIdParams): Promise<A2A.Task | null>;
82
83
  /**
83
84
  * Sets or updates the push notification config for a task.
84
85
  * @param params The parameters for the tasks/pushNotificationConfig/set method (which is TaskPushNotificationConfig).
85
86
  * @returns A promise resolving to the confirmed TaskPushNotificationConfig or null.
86
87
  */
87
- setTaskPushNotification(params: TaskPushNotificationConfig): Promise<TaskPushNotificationConfig | null>;
88
+ setTaskPushNotification(params: A2A.TaskPushNotificationConfig): Promise<A2A.TaskPushNotificationConfig | null>;
88
89
  /**
89
90
  * Retrieves the currently configured push notification config for a task.
90
91
  * @param params The parameters for the tasks/pushNotificationConfig/get method.
91
92
  * @returns A promise resolving to the TaskPushNotificationConfig or null.
92
93
  */
93
- getTaskPushNotification(params: TaskIdParams): Promise<TaskPushNotificationConfig | null>;
94
+ getTaskPushNotification(params: A2A.TaskIdParams): Promise<A2A.TaskPushNotificationConfig | null>;
94
95
  /**
95
96
  * Resubscribes to an existing task's update stream.
96
97
  * @param params Parameters identifying the task to resubscribe to
97
98
  * @returns An AsyncIterable that yields TaskStatusUpdateEvent or TaskArtifactUpdateEvent payloads.
98
99
  */
99
- resubscribeTask(params: TaskQueryParams): AsyncIterable<UpdateEvent>;
100
+ resubscribeTask(params: A2A.TaskQueryParams): AsyncIterable<A2A.Update>;
100
101
  /**
101
102
  * Checks if the server supports a specific capability based on the agent card.
102
103
  * @param capability The capability to check (e.g., 'streaming', 'pushNotifications').
@@ -5,7 +5,7 @@
5
5
  import { executeJsonRpcRequest, executeGetRequest, } from "../transport/rpc/rpc-client.js";
6
6
  import { executeStreamEvents } from "../transport/streaming/event-stream.js";
7
7
  import { INTERNAL_ERROR } from "../utils/common/errors.js";
8
- import { logError } from "../utils/logging/log.js";
8
+ import { logger } from "../config/index.js";
9
9
  import { createMessageSendParams } from "../services/a2a/helpers/message-builder.js";
10
10
  /**
11
11
  * A2AClient is the main client class for interacting with Agent2Agent (A2A) protocol-compliant services.
@@ -61,6 +61,7 @@ export class A2AClient {
61
61
  this.cachedAgentCard = card;
62
62
  }
63
63
  catch (error) {
64
+ logger.error("A2AClient:agentCard: Failed to fetch agent card (well-known):", error);
64
65
  const fallbackUrl = new URL(this.fallbackPath, this.baseUrl);
65
66
  if (this.mergePath) {
66
67
  fallbackUrl.pathname = this.baseUrl.pathname + fallbackUrl.pathname;
@@ -69,18 +70,25 @@ export class A2AClient {
69
70
  if (!fallbackCard.name ||
70
71
  fallbackCard.name === null ||
71
72
  fallbackCard.name === undefined) {
72
- throw new Error("No fallback agent card found");
73
+ throw new Error("No fallback agent card found" + error);
73
74
  }
74
75
  this.cachedAgentCard = fallbackCard;
75
76
  }
76
77
  }
77
78
  catch (error) {
78
- logError("A2AClient:agentCard", "Failed to fetch or parse agent card:", error);
79
- throw INTERNAL_ERROR(`Could not retrieve agent card: ${error instanceof Error ? error.message : String(error)}`);
79
+ logger.error("A2AClient:agentCard: Failed to fetch or parse agent card:", error);
80
+ throw INTERNAL_ERROR(error);
80
81
  }
81
82
  this.agentUrl = new URL(this.cachedAgentCard.url, this.baseUrl);
82
83
  return this.cachedAgentCard;
83
84
  }
85
+ /**
86
+ * Retrieves the AgentCard from the A2A server.
87
+ * @returns A promise resolving to the AgentCard.
88
+ */
89
+ getAgentCard() {
90
+ return this.agentCard();
91
+ }
84
92
  /**
85
93
  * Refreshes the cached AgentCard by fetching it again from the server.
86
94
  * @returns A promise resolving to the updated AgentCard.
@@ -95,7 +103,11 @@ export class A2AClient {
95
103
  * @returns A promise resolving to Message/Task response from the agent server or null.
96
104
  */
97
105
  async sendMessage(params) {
98
- return await executeJsonRpcRequest(this.agentUrl, "message/send", createMessageSendParams(params), this.customHeaders);
106
+ return await executeJsonRpcRequest(this.agentUrl, "message/send", typeof params === "string"
107
+ ? createMessageSendParams(params)
108
+ : typeof params === "object" && "message" in params
109
+ ? params
110
+ : createMessageSendParams({ message: params }), this.customHeaders);
99
111
  }
100
112
  /**
101
113
  * @deprecated Use sendMessage instead.
@@ -186,7 +198,7 @@ export class A2AClient {
186
198
  }
187
199
  }
188
200
  catch (error) {
189
- logError("A2AClient:supports", `Failed to determine support for capability '${capability}':`, error);
201
+ logger.error(`A2AClient:supports: Failed to determine support for capability '${capability}':`, error);
190
202
  return false; // Assume not supported if card fetch fails
191
203
  }
192
204
  }
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @fileoverview Global configuration for the Artinet runtime.
3
+ *
4
+ * Provides a centralized configuration interface that consumers use to
5
+ * inject their implementations of observability, storage, and other
6
+ * platform-specific dependencies.
7
+ *
8
+ * Design principles:
9
+ * - Single configuration point for the entire SDK
10
+ * - No-op defaults for all optional dependencies
11
+ * - Type-safe configuration interface
12
+ * - Configure once at application startup
13
+ *
14
+ * @module config
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { configure, getLogger, getTracer } from '@artinet/core';
19
+ * import pino from 'pino';
20
+ *
21
+ * // Configure at app startup
22
+ * configure({
23
+ * logger: {
24
+ * debug: (msg, ctx) => pino().debug(ctx, msg),
25
+ * info: (msg, ctx) => pino().info(ctx, msg),
26
+ * warn: (msg, ctx) => pino().warn(ctx, msg),
27
+ * error: (msg, ctx) => pino().error(ctx, msg),
28
+ * },
29
+ * });
30
+ *
31
+ * // Later in your code
32
+ * const logger = getLogger();
33
+ * logger.info('Application started');
34
+ * ```
35
+ */
36
+ import { ILogger } from "./observability.js";
37
+ import { Tracer } from "@opentelemetry/api";
38
+ /**
39
+ * Artinet SDK configuration interface.
40
+ *
41
+ * All properties are optional - the SDK provides sensible no-op defaults.
42
+ * Configure only what you need.
43
+ */
44
+ export interface ArtinetConfig {
45
+ /**
46
+ * Logger implementation for structured logging.
47
+ * @default noopLogger (no logging)
48
+ */
49
+ logger?: ILogger;
50
+ /**
51
+ * Tracer implementation for distributed tracing.
52
+ * @default trace.getTracer('artinet') (no tracing)
53
+ */
54
+ tracer?: Tracer;
55
+ }
56
+ /**
57
+ * Configure the Artinet SDK.
58
+ *
59
+ * Call this once at application startup to inject your implementations.
60
+ * Subsequent calls will merge with existing configuration.
61
+ *
62
+ * @param config - Configuration options
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * // Basic configuration with console
67
+ * configure({ logger: console });
68
+ * ```
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * // Production configuration with Pino and OpenTelemetry
73
+ * import pino from 'pino';
74
+ * import { trace } from '@opentelemetry/api';
75
+ *
76
+ * const pinoLogger = pino();
77
+ *
78
+ * configure({
79
+ * logger: {
80
+ * debug: (msg, ...args) => pinoLogger.debug(Object.assign({}, ...args), msg),
81
+ * info: (msg, ...args) => pinoLogger.info(Object.assign({}, ...args), msg),
82
+ * warn: (msg, ...args) => pinoLogger.warn(Object.assign({}, ...args), msg),
83
+ * error: (msg, ...args) => pinoLogger.error(Object.assign({}, ...args), msg),
84
+ * },
85
+ * tracer: {
86
+ * startSpan: (name, attrs) => {
87
+ * const span = trace.getTracer('my-app').startSpan(name);
88
+ * // ... wrap span
89
+ * return wrappedSpan;
90
+ * },
91
+ * },
92
+ * });
93
+ * ```
94
+ */
95
+ export declare function configure(config: ArtinetConfig): void;
96
+ /**
97
+ * Reset configuration to defaults.
98
+ *
99
+ * Primarily useful for testing to ensure clean state between tests.
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * beforeEach(() => {
104
+ * resetConfig();
105
+ * });
106
+ * ```
107
+ */
108
+ export declare function resetConfig(): void;
109
+ /**
110
+ * Get the current configuration.
111
+ *
112
+ * Returns a copy to prevent external mutation.
113
+ *
114
+ * @returns Current configuration (readonly copy)
115
+ */
116
+ export declare function getConfig(): Readonly<ArtinetConfig>;
117
+ /**
118
+ * Get the configured logger or no-op default.
119
+ *
120
+ * @returns Logger implementation
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * const logger = getLogger();
125
+ * logger.info('Processing request', { requestId: '123' }, 'extra data');
126
+ * ```
127
+ */
128
+ export declare function getLogger(): ILogger;
129
+ /**
130
+ * Get the configured tracer or no-op default.
131
+ *
132
+ * @returns Tracer implementation
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * const tracer = getTracer();
137
+ * const span = tracer.startSpan('processRequest', { requestId: '123' });
138
+ * try {
139
+ * // ... do work
140
+ * span.setStatus('ok');
141
+ * } catch (error) {
142
+ * span.setStatus('error', error.message);
143
+ * throw error;
144
+ * } finally {
145
+ * span.end();
146
+ * }
147
+ * ```
148
+ */
149
+ export declare function getTracer(): Tracer;
150
+ export declare const logger: {
151
+ debug: (msg: string, ...args: unknown[]) => void;
152
+ info: (msg: string, ...args: unknown[]) => void;
153
+ warn: (msg: string, ...args: unknown[]) => void;
154
+ error: (msg: string, err: unknown) => void;
155
+ setLevel: (level: "debug" | "info" | "warn" | "error") => void | undefined;
156
+ getLevel: () => "error" | "trace" | "verbose" | "debug" | "info" | "warn" | "silent";
157
+ child: (context: Record<string, unknown>) => ILogger;
158
+ };
@@ -0,0 +1,155 @@
1
+ /**
2
+ * @fileoverview Global configuration for the Artinet runtime.
3
+ *
4
+ * Provides a centralized configuration interface that consumers use to
5
+ * inject their implementations of observability, storage, and other
6
+ * platform-specific dependencies.
7
+ *
8
+ * Design principles:
9
+ * - Single configuration point for the entire SDK
10
+ * - No-op defaults for all optional dependencies
11
+ * - Type-safe configuration interface
12
+ * - Configure once at application startup
13
+ *
14
+ * @module config
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { configure, getLogger, getTracer } from '@artinet/core';
19
+ * import pino from 'pino';
20
+ *
21
+ * // Configure at app startup
22
+ * configure({
23
+ * logger: {
24
+ * debug: (msg, ctx) => pino().debug(ctx, msg),
25
+ * info: (msg, ctx) => pino().info(ctx, msg),
26
+ * warn: (msg, ctx) => pino().warn(ctx, msg),
27
+ * error: (msg, ctx) => pino().error(ctx, msg),
28
+ * },
29
+ * });
30
+ *
31
+ * // Later in your code
32
+ * const logger = getLogger();
33
+ * logger.info('Application started');
34
+ * ```
35
+ */
36
+ import { noopLogger } from "./observability.js";
37
+ import { trace } from "@opentelemetry/api";
38
+ /**
39
+ * Internal configuration state.
40
+ * @internal
41
+ */
42
+ let _config = {};
43
+ /**
44
+ * Configure the Artinet SDK.
45
+ *
46
+ * Call this once at application startup to inject your implementations.
47
+ * Subsequent calls will merge with existing configuration.
48
+ *
49
+ * @param config - Configuration options
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Basic configuration with console
54
+ * configure({ logger: console });
55
+ * ```
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Production configuration with Pino and OpenTelemetry
60
+ * import pino from 'pino';
61
+ * import { trace } from '@opentelemetry/api';
62
+ *
63
+ * const pinoLogger = pino();
64
+ *
65
+ * configure({
66
+ * logger: {
67
+ * debug: (msg, ...args) => pinoLogger.debug(Object.assign({}, ...args), msg),
68
+ * info: (msg, ...args) => pinoLogger.info(Object.assign({}, ...args), msg),
69
+ * warn: (msg, ...args) => pinoLogger.warn(Object.assign({}, ...args), msg),
70
+ * error: (msg, ...args) => pinoLogger.error(Object.assign({}, ...args), msg),
71
+ * },
72
+ * tracer: {
73
+ * startSpan: (name, attrs) => {
74
+ * const span = trace.getTracer('my-app').startSpan(name);
75
+ * // ... wrap span
76
+ * return wrappedSpan;
77
+ * },
78
+ * },
79
+ * });
80
+ * ```
81
+ */
82
+ export function configure(config) {
83
+ _config = { ..._config, ...config };
84
+ }
85
+ /**
86
+ * Reset configuration to defaults.
87
+ *
88
+ * Primarily useful for testing to ensure clean state between tests.
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * beforeEach(() => {
93
+ * resetConfig();
94
+ * });
95
+ * ```
96
+ */
97
+ export function resetConfig() {
98
+ _config = {};
99
+ }
100
+ /**
101
+ * Get the current configuration.
102
+ *
103
+ * Returns a copy to prevent external mutation.
104
+ *
105
+ * @returns Current configuration (readonly copy)
106
+ */
107
+ export function getConfig() {
108
+ return { ..._config };
109
+ }
110
+ /**
111
+ * Get the configured logger or no-op default.
112
+ *
113
+ * @returns Logger implementation
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const logger = getLogger();
118
+ * logger.info('Processing request', { requestId: '123' }, 'extra data');
119
+ * ```
120
+ */
121
+ export function getLogger() {
122
+ return _config.logger ?? noopLogger;
123
+ }
124
+ /**
125
+ * Get the configured tracer or no-op default.
126
+ *
127
+ * @returns Tracer implementation
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const tracer = getTracer();
132
+ * const span = tracer.startSpan('processRequest', { requestId: '123' });
133
+ * try {
134
+ * // ... do work
135
+ * span.setStatus('ok');
136
+ * } catch (error) {
137
+ * span.setStatus('error', error.message);
138
+ * throw error;
139
+ * } finally {
140
+ * span.end();
141
+ * }
142
+ * ```
143
+ */
144
+ export function getTracer() {
145
+ return _config.tracer ?? trace.getTracer("artinet");
146
+ }
147
+ export const logger = {
148
+ debug: (msg, ...args) => getLogger()?.debug?.(msg, ...args),
149
+ info: (msg, ...args) => getLogger()?.info?.(msg, ...args),
150
+ warn: (msg, ...args) => getLogger()?.warn?.(msg, ...args),
151
+ error: (msg, err) => getLogger()?.error?.(msg, err),
152
+ setLevel: (level) => getLogger()?.setLevel?.(level),
153
+ getLevel: () => getLogger()?.getLevel?.() ?? "info",
154
+ child: (context) => getLogger()?.child?.(context) ?? noopLogger,
155
+ };
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /** //todo move to @artinet/sdk from core v0.1
6
+ * @fileoverview Zero-dependency observability interfaces for the Artinet ecosystem.
7
+ *
8
+ * Provides minimal interfaces for logging and tracing that consumers can implement
9
+ * with their preferred tools (Pino, Winston, OpenTelemetry, etc.).
10
+ *
11
+ * Design principles:
12
+ * - Zero runtime dependencies
13
+ * - No-op defaults for zero overhead when not configured
14
+ * - Environment agnostic (Node, Deno, Bun, edge, browser)
15
+ * - Consumer brings their own implementation
16
+ *
17
+ * @module utils/observability
18
+ */
19
+ /**
20
+ * Minimal logger interface.
21
+ *
22
+ * Consumers provide their own implementation using their preferred
23
+ * logging library (Pino, Winston, console, etc.).
24
+ *
25
+ * Uses spread args for maximum compatibility - works naturally with
26
+ * console.log, Pino, Winston, and most logging libraries.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * // Console implementation (just works)
31
+ * const logger: ILogger = console;
32
+ *
33
+ * // Pino implementation
34
+ * import pino from 'pino';
35
+ * const pinoLogger = pino();
36
+ *
37
+ * const logger: ILogger = {
38
+ * debug: (msg, ...args) => pinoLogger.debug(Object.assign({}, ...args), msg),
39
+ * info: (msg, ...args) => pinoLogger.info(Object.assign({}, ...args), msg),
40
+ * warn: (msg, ...args) => pinoLogger.warn(Object.assign({}, ...args), msg),
41
+ * error: (msg, ...args) => pinoLogger.error(Object.assign({}, ...args), msg),
42
+ * };
43
+ *
44
+ * // Winston implementation
45
+ * import winston from 'winston';
46
+ * const winstonLogger = winston.createLogger({ ... });
47
+ *
48
+ * const logger: ILogger = {
49
+ * debug: (msg, ...args) => winstonLogger.debug(msg, ...args),
50
+ * info: (msg, ...args) => winstonLogger.info(msg, ...args),
51
+ * warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
52
+ * error: (msg, ...args) => winstonLogger.error(msg, ...args),
53
+ * };
54
+ * ```
55
+ */
56
+ export interface ILogger {
57
+ /**
58
+ * Log level.
59
+ * @default "info"
60
+ */
61
+ level?: "trace" | "verbose" | "debug" | "info" | "warn" | "error" | "silent";
62
+ /**
63
+ * Log debug-level message.
64
+ * @param msg - Log message
65
+ * @param args - Optional additional arguments (context, data, etc.)
66
+ */
67
+ debug(msg: string, ...args: unknown[]): void;
68
+ /**
69
+ * Log info-level message.
70
+ * @param msg - Log message
71
+ * @param args - Optional additional arguments (context, data, etc.)
72
+ */
73
+ info(msg: string, ...args: unknown[]): void;
74
+ /**
75
+ * Log warn-level message.
76
+ * @param msg - Log message
77
+ * @param args - Optional additional arguments (context, data, etc.)
78
+ */
79
+ warn(msg: string, ...args: unknown[]): void;
80
+ /**
81
+ * Log error-level message.
82
+ * @param msg - Log message
83
+ * @param err - Error to log
84
+ */
85
+ error(msg: string, err: unknown): void;
86
+ /**
87
+ * Set log level.
88
+ * @param level - Log level
89
+ */
90
+ setLevel?(level: "trace" | "verbose" | "debug" | "info" | "warn" | "error" | "silent"): void;
91
+ /**
92
+ * Get log level.
93
+ * @returns Current log level or undefined if not set
94
+ */
95
+ getLevel?(): "trace" | "verbose" | "debug" | "info" | "warn" | "error" | "silent";
96
+ /**
97
+ * Create child logger with bound context.
98
+ * @param context - Context to bind to the child logger
99
+ * @returns Child logger or undefined if not implemented
100
+ */
101
+ child?(context: Record<string, unknown>): ILogger;
102
+ }
103
+ /**
104
+ * Format error for logging.
105
+ * @param err - Error to format
106
+ * @returns Formatted error
107
+ */
108
+ export declare function formatError(err: unknown): Record<string, unknown>;
109
+ /**
110
+ * No-op logger implementation.
111
+ * Used when no logger is configured - zero overhead.
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const logger = config.logger ?? noopLogger;
116
+ * logger.info('This does nothing if no logger configured');
117
+ * ```
118
+ */
119
+ export declare const noopLogger: ILogger;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Format error for logging.
7
+ * @param err - Error to format
8
+ * @returns Formatted error
9
+ */
10
+ export function formatError(err) {
11
+ if (err instanceof Error) {
12
+ return {
13
+ message: err.message,
14
+ stack: err.stack,
15
+ name: err.name,
16
+ };
17
+ }
18
+ return { error: String(err) };
19
+ }
20
+ /**
21
+ * No-op logger implementation.
22
+ * Used when no logger is configured - zero overhead.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const logger = config.logger ?? noopLogger;
27
+ * logger.info('This does nothing if no logger configured');
28
+ * ```
29
+ */
30
+ export const noopLogger = {
31
+ debug: () => { },
32
+ info: () => { },
33
+ warn: () => { },
34
+ error: () => { },
35
+ };
@@ -1,12 +1,17 @@
1
- import { MessageSendParams, Message as MessageType, MessageSendConfiguration } from "../../../types/index.js";
1
+ /**
2
+ * Copyright 2025 The Artinet Project
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { A2A } from "../../../types/index.js";
2
6
  export declare class MessageBuilder {
3
- message: MessageType;
4
- constructor(message?: Partial<MessageType>);
5
- valueOf(): MessageType;
7
+ message: A2A.Message;
8
+ constructor(message?: Partial<A2A.Message>);
9
+ valueOf(): A2A.Message;
6
10
  }
11
+ export declare const MESSAGE: (message?: Partial<A2A.Message>) => A2A.Message;
7
12
  export declare class MessageSendConfigurationBuilder {
8
- configuration: MessageSendConfiguration;
9
- constructor(configuration?: Partial<MessageSendConfiguration> | null);
10
- valueOf(): MessageSendConfiguration;
13
+ configuration: A2A.MessageSendConfiguration;
14
+ constructor(configuration?: Partial<A2A.MessageSendConfiguration> | null);
15
+ valueOf(): A2A.MessageSendConfiguration;
11
16
  }
12
- export declare const createMessageSendParams: (messageSendParams: Partial<MessageSendParams> | string) => MessageSendParams;
17
+ export declare const createMessageSendParams: (messageSendParams: Partial<A2A.MessageSendParams> | string) => A2A.MessageSendParams;