beeai-framework 0.1.3 → 0.1.5

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 (451) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  3. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +1 -1
  4. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +1 -1
  5. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  6. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  7. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  8. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  9. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +1 -1
  10. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +1 -1
  11. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  12. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  13. package/dist/adapters/anthropic/backend/chat.d.cts +1 -1
  14. package/dist/adapters/anthropic/backend/chat.d.ts +1 -1
  15. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  16. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  17. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  18. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  19. package/dist/adapters/anthropic/backend/embedding.d.cts +1 -1
  20. package/dist/adapters/anthropic/backend/embedding.d.ts +1 -1
  21. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  22. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  23. package/dist/adapters/azure-openai/backend/chat.d.cts +2 -2
  24. package/dist/adapters/azure-openai/backend/chat.d.ts +2 -2
  25. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  26. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  27. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  28. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  29. package/dist/adapters/azure-openai/backend/embedding.d.cts +1 -1
  30. package/dist/adapters/azure-openai/backend/embedding.d.ts +1 -1
  31. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  32. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  33. package/dist/adapters/dummy/backend/chat.d.cts +1 -1
  34. package/dist/adapters/dummy/backend/chat.d.ts +1 -1
  35. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  36. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  37. package/dist/adapters/dummy/backend/embedding.d.cts +1 -1
  38. package/dist/adapters/dummy/backend/embedding.d.ts +1 -1
  39. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  40. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  41. package/dist/adapters/google-vertex/backend/chat.d.cts +1 -1
  42. package/dist/adapters/google-vertex/backend/chat.d.ts +1 -1
  43. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  44. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  45. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  46. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  47. package/dist/adapters/google-vertex/backend/embedding.d.cts +1 -1
  48. package/dist/adapters/google-vertex/backend/embedding.d.ts +1 -1
  49. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  50. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  51. package/dist/adapters/groq/backend/chat.d.cts +1 -1
  52. package/dist/adapters/groq/backend/chat.d.ts +1 -1
  53. package/dist/adapters/groq/backend/chat.js.map +1 -1
  54. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  55. package/dist/adapters/groq/backend/client.js.map +1 -1
  56. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  57. package/dist/adapters/groq/backend/embedding.d.cts +1 -1
  58. package/dist/adapters/groq/backend/embedding.d.ts +1 -1
  59. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  60. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  61. package/dist/adapters/langchain/backend/chat.d.cts +1 -1
  62. package/dist/adapters/langchain/backend/chat.d.ts +1 -1
  63. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  64. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
  65. package/dist/adapters/langchain/backend/embedding.d.cts +1 -1
  66. package/dist/adapters/langchain/backend/embedding.d.ts +1 -1
  67. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  68. package/dist/adapters/langchain/tools.cjs.map +1 -1
  69. package/dist/adapters/langchain/tools.d.cts +1 -1
  70. package/dist/adapters/langchain/tools.d.ts +1 -1
  71. package/dist/adapters/langchain/tools.js.map +1 -1
  72. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  73. package/dist/adapters/ollama/backend/chat.d.cts +1 -1
  74. package/dist/adapters/ollama/backend/chat.d.ts +1 -1
  75. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  76. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  77. package/dist/adapters/ollama/backend/client.js.map +1 -1
  78. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  79. package/dist/adapters/ollama/backend/embedding.d.cts +1 -1
  80. package/dist/adapters/ollama/backend/embedding.d.ts +1 -1
  81. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  82. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  83. package/dist/adapters/openai/backend/chat.d.cts +1 -1
  84. package/dist/adapters/openai/backend/chat.d.ts +1 -1
  85. package/dist/adapters/openai/backend/chat.js.map +1 -1
  86. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  87. package/dist/adapters/openai/backend/client.js.map +1 -1
  88. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  89. package/dist/adapters/openai/backend/embedding.d.cts +2 -2
  90. package/dist/adapters/openai/backend/embedding.d.ts +2 -2
  91. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  92. package/dist/adapters/vercel/backend/chat.cjs +2 -2
  93. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  94. package/dist/adapters/vercel/backend/chat.d.cts +1 -1
  95. package/dist/adapters/vercel/backend/chat.d.ts +1 -1
  96. package/dist/adapters/vercel/backend/chat.js +2 -2
  97. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  98. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  99. package/dist/adapters/vercel/backend/embedding.d.cts +5 -5
  100. package/dist/adapters/vercel/backend/embedding.d.ts +5 -5
  101. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  102. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  103. package/dist/adapters/watsonx/backend/chat.d.cts +1 -1
  104. package/dist/adapters/watsonx/backend/chat.d.ts +1 -1
  105. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  106. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  107. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  108. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  109. package/dist/adapters/watsonx/backend/embedding.d.cts +1 -1
  110. package/dist/adapters/watsonx/backend/embedding.d.ts +1 -1
  111. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  112. package/dist/{agent-D9gpIPf2.d.ts → agent-DNfflu8t.d.ts} +4 -4
  113. package/dist/{agent-xmwFrFrh.d.cts → agent-wkCuP7e1.d.cts} +4 -4
  114. package/dist/agents/base.cjs +1 -1
  115. package/dist/agents/base.cjs.map +1 -1
  116. package/dist/agents/base.d.cts +2 -2
  117. package/dist/agents/base.d.ts +2 -2
  118. package/dist/agents/base.js +1 -1
  119. package/dist/agents/base.js.map +1 -1
  120. package/dist/agents/bee/agent.cjs.map +1 -1
  121. package/dist/agents/bee/agent.d.cts +3 -3
  122. package/dist/agents/bee/agent.d.ts +3 -3
  123. package/dist/agents/bee/agent.js.map +1 -1
  124. package/dist/agents/bee/prompts.cjs.map +1 -1
  125. package/dist/agents/bee/prompts.js.map +1 -1
  126. package/dist/agents/bee/runners/base.cjs.map +1 -1
  127. package/dist/agents/bee/runners/base.d.cts +3 -3
  128. package/dist/agents/bee/runners/base.d.ts +3 -3
  129. package/dist/agents/bee/runners/base.js.map +1 -1
  130. package/dist/agents/bee/runners/deep-think/prompts.cjs.map +1 -1
  131. package/dist/agents/bee/runners/deep-think/prompts.js.map +1 -1
  132. package/dist/agents/bee/runners/deep-think/runner.cjs +11 -11
  133. package/dist/agents/bee/runners/deep-think/runner.cjs.map +1 -1
  134. package/dist/agents/bee/runners/deep-think/runner.d.cts +3 -3
  135. package/dist/agents/bee/runners/deep-think/runner.d.ts +3 -3
  136. package/dist/agents/bee/runners/deep-think/runner.js +2 -2
  137. package/dist/agents/bee/runners/deep-think/runner.js.map +1 -1
  138. package/dist/agents/bee/runners/default/runner.cjs.map +1 -1
  139. package/dist/agents/bee/runners/default/runner.d.cts +3 -3
  140. package/dist/agents/bee/runners/default/runner.d.ts +3 -3
  141. package/dist/agents/bee/runners/default/runner.js +1 -1
  142. package/dist/agents/bee/runners/default/runner.js.map +1 -1
  143. package/dist/agents/bee/runners/default/runner.spec.cjs.map +1 -1
  144. package/dist/agents/bee/runners/default/runner.spec.js.map +1 -1
  145. package/dist/agents/bee/runners/granite/prompts.cjs.map +1 -1
  146. package/dist/agents/bee/runners/granite/prompts.js.map +1 -1
  147. package/dist/agents/bee/runners/granite/runner.cjs +11 -11
  148. package/dist/agents/bee/runners/granite/runner.cjs.map +1 -1
  149. package/dist/agents/bee/runners/granite/runner.d.cts +3 -3
  150. package/dist/agents/bee/runners/granite/runner.d.ts +3 -3
  151. package/dist/agents/bee/runners/granite/runner.js +2 -2
  152. package/dist/agents/bee/runners/granite/runner.js.map +1 -1
  153. package/dist/agents/bee/types.d.cts +1 -1
  154. package/dist/agents/bee/types.d.ts +1 -1
  155. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  156. package/dist/agents/experimental/replan/agent.d.cts +2 -2
  157. package/dist/agents/experimental/replan/agent.d.ts +2 -2
  158. package/dist/agents/experimental/replan/agent.js.map +1 -1
  159. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  160. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  161. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  162. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  163. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  164. package/dist/agents/experimental/streamlit/agent.d.cts +2 -2
  165. package/dist/agents/experimental/streamlit/agent.d.ts +2 -2
  166. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  167. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  168. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  169. package/dist/agents/types.d.cts +2 -2
  170. package/dist/agents/types.d.ts +2 -2
  171. package/dist/backend/backend.cjs.map +1 -1
  172. package/dist/backend/backend.d.cts +1 -1
  173. package/dist/backend/backend.d.ts +1 -1
  174. package/dist/backend/backend.js.map +1 -1
  175. package/dist/backend/chat.cjs +1 -1
  176. package/dist/backend/chat.cjs.map +1 -1
  177. package/dist/backend/chat.d.cts +1 -1
  178. package/dist/backend/chat.d.ts +1 -1
  179. package/dist/backend/chat.js +1 -1
  180. package/dist/backend/chat.js.map +1 -1
  181. package/dist/backend/client.cjs.map +1 -1
  182. package/dist/backend/client.js.map +1 -1
  183. package/dist/backend/constants.cjs.map +1 -1
  184. package/dist/backend/constants.js.map +1 -1
  185. package/dist/backend/core.d.cts +1 -1
  186. package/dist/backend/core.d.ts +1 -1
  187. package/dist/backend/embedding.cjs +1 -1
  188. package/dist/backend/embedding.cjs.map +1 -1
  189. package/dist/backend/embedding.d.cts +1 -1
  190. package/dist/backend/embedding.d.ts +1 -1
  191. package/dist/backend/embedding.js +1 -1
  192. package/dist/backend/embedding.js.map +1 -1
  193. package/dist/backend/errors.cjs.map +1 -1
  194. package/dist/backend/errors.js.map +1 -1
  195. package/dist/backend/message.cjs.map +1 -1
  196. package/dist/backend/message.js.map +1 -1
  197. package/dist/backend/utils.cjs +2 -1
  198. package/dist/backend/utils.cjs.map +1 -1
  199. package/dist/backend/utils.js +2 -1
  200. package/dist/backend/utils.js.map +1 -1
  201. package/dist/{base-daM6fHUP.d.cts → base-Csr9guq2.d.cts} +1 -1
  202. package/dist/{base-mmG-8Pk9.d.ts → base-DHhpWHQm.d.ts} +1 -1
  203. package/dist/cache/base.cjs.map +1 -1
  204. package/dist/cache/base.js.map +1 -1
  205. package/dist/cache/decoratorCache.cjs.map +1 -1
  206. package/dist/cache/decoratorCache.js.map +1 -1
  207. package/dist/cache/fileCache.cjs.map +1 -1
  208. package/dist/cache/fileCache.js.map +1 -1
  209. package/dist/cache/nullCache.cjs.map +1 -1
  210. package/dist/cache/nullCache.js.map +1 -1
  211. package/dist/cache/slidingCache.cjs.map +1 -1
  212. package/dist/cache/slidingCache.js.map +1 -1
  213. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  214. package/dist/cache/unconstrainedCache.js.map +1 -1
  215. package/dist/context.cjs.map +1 -1
  216. package/dist/context.d.cts +1 -1
  217. package/dist/context.d.ts +1 -1
  218. package/dist/context.js.map +1 -1
  219. package/dist/emitter/emitter.cjs.map +1 -1
  220. package/dist/emitter/emitter.d.cts +1 -1
  221. package/dist/emitter/emitter.d.ts +1 -1
  222. package/dist/emitter/emitter.js.map +1 -1
  223. package/dist/emitter/errors.cjs.map +1 -1
  224. package/dist/emitter/errors.js.map +1 -1
  225. package/dist/emitter/types.d.cts +1 -1
  226. package/dist/emitter/types.d.ts +1 -1
  227. package/dist/emitter/utils.cjs.map +1 -1
  228. package/dist/emitter/utils.js.map +1 -1
  229. package/dist/errors.cjs +4 -4
  230. package/dist/errors.cjs.map +1 -1
  231. package/dist/errors.js +4 -4
  232. package/dist/errors.js.map +1 -1
  233. package/dist/index.d.cts +2 -2
  234. package/dist/index.d.ts +2 -2
  235. package/dist/instrumentation/config.cjs.map +1 -1
  236. package/dist/instrumentation/config.js.map +1 -1
  237. package/dist/instrumentation/create-telemetry-middleware.cjs +1 -1
  238. package/dist/instrumentation/create-telemetry-middleware.cjs.map +1 -1
  239. package/dist/instrumentation/create-telemetry-middleware.d.cts +1 -1
  240. package/dist/instrumentation/create-telemetry-middleware.d.ts +1 -1
  241. package/dist/instrumentation/create-telemetry-middleware.js +1 -1
  242. package/dist/instrumentation/create-telemetry-middleware.js.map +1 -1
  243. package/dist/instrumentation/helpers/create-span.cjs.map +1 -1
  244. package/dist/instrumentation/helpers/create-span.js.map +1 -1
  245. package/dist/instrumentation/helpers/get-error-safe.cjs.map +1 -1
  246. package/dist/instrumentation/helpers/get-error-safe.js.map +1 -1
  247. package/dist/instrumentation/helpers/get-serialized-object-safe.cjs.map +1 -1
  248. package/dist/instrumentation/helpers/get-serialized-object-safe.js.map +1 -1
  249. package/dist/instrumentation/helpers/id-name-manager.cjs.map +1 -1
  250. package/dist/instrumentation/helpers/id-name-manager.js.map +1 -1
  251. package/dist/instrumentation/helpers/trace-serializer.cjs.map +1 -1
  252. package/dist/instrumentation/helpers/trace-serializer.js.map +1 -1
  253. package/dist/instrumentation/helpers/utils.cjs.map +1 -1
  254. package/dist/instrumentation/helpers/utils.d.cts +1 -1
  255. package/dist/instrumentation/helpers/utils.d.ts +1 -1
  256. package/dist/instrumentation/helpers/utils.js.map +1 -1
  257. package/dist/instrumentation/logger.cjs.map +1 -1
  258. package/dist/instrumentation/logger.js.map +1 -1
  259. package/dist/instrumentation/tracer.cjs.map +1 -1
  260. package/dist/instrumentation/tracer.js.map +1 -1
  261. package/dist/internals/env.cjs +2 -2
  262. package/dist/internals/env.cjs.map +1 -1
  263. package/dist/internals/env.js +2 -2
  264. package/dist/internals/env.js.map +1 -1
  265. package/dist/internals/fetcher.cjs.map +1 -1
  266. package/dist/internals/fetcher.d.cts +1 -1
  267. package/dist/internals/fetcher.d.ts +1 -1
  268. package/dist/internals/fetcher.js.map +1 -1
  269. package/dist/internals/helpers/array.cjs.map +1 -1
  270. package/dist/internals/helpers/array.js.map +1 -1
  271. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  272. package/dist/internals/helpers/cancellation.js.map +1 -1
  273. package/dist/internals/helpers/counter.cjs.map +1 -1
  274. package/dist/internals/helpers/counter.js.map +1 -1
  275. package/dist/internals/helpers/general.cjs.map +1 -1
  276. package/dist/internals/helpers/general.js.map +1 -1
  277. package/dist/internals/helpers/guards.cjs.map +1 -1
  278. package/dist/internals/helpers/guards.js.map +1 -1
  279. package/dist/internals/helpers/hash.cjs.map +1 -1
  280. package/dist/internals/helpers/hash.js.map +1 -1
  281. package/dist/internals/helpers/map.cjs.map +1 -1
  282. package/dist/internals/helpers/map.js.map +1 -1
  283. package/dist/internals/helpers/math.cjs.map +1 -1
  284. package/dist/internals/helpers/math.js.map +1 -1
  285. package/dist/internals/helpers/number.cjs.map +1 -1
  286. package/dist/internals/helpers/number.js.map +1 -1
  287. package/dist/internals/helpers/object.cjs.map +1 -1
  288. package/dist/internals/helpers/object.js.map +1 -1
  289. package/dist/internals/helpers/paginate.cjs.map +1 -1
  290. package/dist/internals/helpers/paginate.js.map +1 -1
  291. package/dist/internals/helpers/promise.cjs.map +1 -1
  292. package/dist/internals/helpers/promise.js.map +1 -1
  293. package/dist/internals/helpers/prototype.cjs.map +1 -1
  294. package/dist/internals/helpers/prototype.js.map +1 -1
  295. package/dist/internals/helpers/retry.cjs.map +1 -1
  296. package/dist/internals/helpers/retry.js.map +1 -1
  297. package/dist/internals/helpers/retryable.cjs.map +1 -1
  298. package/dist/internals/helpers/retryable.js.map +1 -1
  299. package/dist/internals/helpers/schema.cjs.map +1 -1
  300. package/dist/internals/helpers/schema.d.cts +1 -1
  301. package/dist/internals/helpers/schema.d.ts +1 -1
  302. package/dist/internals/helpers/schema.js.map +1 -1
  303. package/dist/internals/helpers/stream.cjs.map +1 -1
  304. package/dist/internals/helpers/stream.js.map +1 -1
  305. package/dist/internals/helpers/string.cjs.map +1 -1
  306. package/dist/internals/helpers/string.js.map +1 -1
  307. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  308. package/dist/internals/helpers/weakRef.js.map +1 -1
  309. package/dist/internals/serializable.cjs.map +1 -1
  310. package/dist/internals/serializable.js.map +1 -1
  311. package/dist/internals/types.cjs.map +1 -1
  312. package/dist/internals/types.js.map +1 -1
  313. package/dist/logger/logger.cjs.map +1 -1
  314. package/dist/logger/logger.js.map +1 -1
  315. package/dist/logger/pretty.cjs.map +1 -1
  316. package/dist/logger/pretty.js.map +1 -1
  317. package/dist/memory/base.cjs.map +1 -1
  318. package/dist/memory/base.js.map +1 -1
  319. package/dist/memory/slidingMemory.cjs.map +1 -1
  320. package/dist/memory/slidingMemory.js.map +1 -1
  321. package/dist/memory/summarizeMemory.cjs.map +1 -1
  322. package/dist/memory/summarizeMemory.d.cts +1 -1
  323. package/dist/memory/summarizeMemory.d.ts +1 -1
  324. package/dist/memory/summarizeMemory.js.map +1 -1
  325. package/dist/memory/tokenMemory.cjs.map +1 -1
  326. package/dist/memory/tokenMemory.js.map +1 -1
  327. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  328. package/dist/memory/unconstrainedMemory.js.map +1 -1
  329. package/dist/parsers/errors.cjs.map +1 -1
  330. package/dist/parsers/errors.js.map +1 -1
  331. package/dist/parsers/field.cjs.map +1 -1
  332. package/dist/parsers/field.js.map +1 -1
  333. package/dist/parsers/linePrefix.cjs.map +1 -1
  334. package/dist/parsers/linePrefix.d.cts +1 -1
  335. package/dist/parsers/linePrefix.d.ts +1 -1
  336. package/dist/parsers/linePrefix.js.map +1 -1
  337. package/dist/serializer/error.cjs.map +1 -1
  338. package/dist/serializer/error.js.map +1 -1
  339. package/dist/serializer/serializer.cjs +3 -3
  340. package/dist/serializer/serializer.cjs.map +1 -1
  341. package/dist/serializer/serializer.js +2 -2
  342. package/dist/serializer/serializer.js.map +1 -1
  343. package/dist/serializer/utils.cjs.map +1 -1
  344. package/dist/serializer/utils.js.map +1 -1
  345. package/dist/template.cjs.map +1 -1
  346. package/dist/template.d.cts +1 -1
  347. package/dist/template.d.ts +1 -1
  348. package/dist/template.js.map +1 -1
  349. package/dist/tools/arxiv.cjs.map +1 -1
  350. package/dist/tools/arxiv.d.cts +2 -2
  351. package/dist/tools/arxiv.d.ts +2 -2
  352. package/dist/tools/arxiv.js.map +1 -1
  353. package/dist/tools/base.cjs.map +1 -1
  354. package/dist/tools/base.d.cts +2 -2
  355. package/dist/tools/base.d.ts +2 -2
  356. package/dist/tools/base.js.map +1 -1
  357. package/dist/tools/calculator.cjs.map +1 -1
  358. package/dist/tools/calculator.d.cts +1 -1
  359. package/dist/tools/calculator.d.ts +1 -1
  360. package/dist/tools/calculator.js.map +1 -1
  361. package/dist/tools/custom.cjs.map +1 -1
  362. package/dist/tools/custom.d.cts +1 -1
  363. package/dist/tools/custom.d.ts +1 -1
  364. package/dist/tools/custom.js.map +1 -1
  365. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  366. package/dist/tools/database/elasticsearch.d.cts +1 -1
  367. package/dist/tools/database/elasticsearch.d.ts +1 -1
  368. package/dist/tools/database/elasticsearch.js.map +1 -1
  369. package/dist/tools/database/metadata.cjs.map +1 -1
  370. package/dist/tools/database/metadata.js.map +1 -1
  371. package/dist/tools/database/milvus.cjs.map +1 -1
  372. package/dist/tools/database/milvus.d.cts +1 -1
  373. package/dist/tools/database/milvus.d.ts +1 -1
  374. package/dist/tools/database/milvus.js.map +1 -1
  375. package/dist/tools/database/sql.cjs.map +1 -1
  376. package/dist/tools/database/sql.d.cts +3 -3
  377. package/dist/tools/database/sql.d.ts +3 -3
  378. package/dist/tools/database/sql.js.map +1 -1
  379. package/dist/tools/llm.cjs.map +1 -1
  380. package/dist/tools/llm.d.cts +1 -1
  381. package/dist/tools/llm.d.ts +1 -1
  382. package/dist/tools/llm.js +1 -1
  383. package/dist/tools/llm.js.map +1 -1
  384. package/dist/tools/mcp.cjs.map +1 -1
  385. package/dist/tools/mcp.d.cts +1 -1
  386. package/dist/tools/mcp.d.ts +1 -1
  387. package/dist/tools/mcp.js.map +1 -1
  388. package/dist/tools/openapi.cjs.map +1 -1
  389. package/dist/tools/openapi.d.cts +1 -1
  390. package/dist/tools/openapi.d.ts +1 -1
  391. package/dist/tools/openapi.js +1 -1
  392. package/dist/tools/openapi.js.map +1 -1
  393. package/dist/tools/python/output.cjs.map +1 -1
  394. package/dist/tools/python/output.d.cts +1 -1
  395. package/dist/tools/python/output.d.ts +1 -1
  396. package/dist/tools/python/output.js.map +1 -1
  397. package/dist/tools/python/python.cjs.map +1 -1
  398. package/dist/tools/python/python.d.cts +1 -1
  399. package/dist/tools/python/python.d.ts +1 -1
  400. package/dist/tools/python/python.js.map +1 -1
  401. package/dist/tools/python/storage.cjs.map +1 -1
  402. package/dist/tools/python/storage.js.map +1 -1
  403. package/dist/tools/search/base.cjs.map +1 -1
  404. package/dist/tools/search/base.d.cts +1 -1
  405. package/dist/tools/search/base.d.ts +1 -1
  406. package/dist/tools/search/base.js.map +1 -1
  407. package/dist/tools/search/duckDuckGoSearch.cjs +19 -19
  408. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  409. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -4
  410. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -4
  411. package/dist/tools/search/duckDuckGoSearch.js +17 -13
  412. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  413. package/dist/tools/search/googleSearch.cjs.map +1 -1
  414. package/dist/tools/search/googleSearch.d.cts +1 -1
  415. package/dist/tools/search/googleSearch.d.ts +1 -1
  416. package/dist/tools/search/googleSearch.js.map +1 -1
  417. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  418. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  419. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  420. package/dist/tools/search/searXNGSearch.js.map +1 -1
  421. package/dist/tools/search/wikipedia.cjs.map +1 -1
  422. package/dist/tools/search/wikipedia.d.cts +1 -1
  423. package/dist/tools/search/wikipedia.d.ts +1 -1
  424. package/dist/tools/search/wikipedia.js.map +1 -1
  425. package/dist/tools/similarity.cjs.map +1 -1
  426. package/dist/tools/similarity.d.cts +2 -2
  427. package/dist/tools/similarity.d.ts +2 -2
  428. package/dist/tools/similarity.js.map +1 -1
  429. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  430. package/dist/tools/weather/openMeteo.d.cts +2 -2
  431. package/dist/tools/weather/openMeteo.d.ts +2 -2
  432. package/dist/tools/weather/openMeteo.js.map +1 -1
  433. package/dist/tools/web/webCrawler.cjs.map +1 -1
  434. package/dist/tools/web/webCrawler.d.cts +2 -2
  435. package/dist/tools/web/webCrawler.d.ts +2 -2
  436. package/dist/tools/web/webCrawler.js.map +1 -1
  437. package/dist/version.cjs +1 -1
  438. package/dist/version.cjs.map +1 -1
  439. package/dist/version.js +1 -1
  440. package/dist/version.js.map +1 -1
  441. package/dist/workflows/agent.cjs.map +1 -1
  442. package/dist/workflows/agent.d.cts +2 -2
  443. package/dist/workflows/agent.d.ts +2 -2
  444. package/dist/workflows/agent.js.map +1 -1
  445. package/dist/workflows/workflow.cjs.map +1 -1
  446. package/dist/workflows/workflow.d.cts +1 -1
  447. package/dist/workflows/workflow.d.ts +1 -1
  448. package/dist/workflows/workflow.js.map +1 -1
  449. package/package.json +28 -20
  450. package/dist/{emitter-C9EN5B0j.d.cts → emitter-BWtGHYn0.d.cts} +1 -1
  451. package/dist/{emitter-BxVxGBbJ.d.ts → emitter-l0W9gC1A.d.ts} +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","constructor","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"Framework error has occurred.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError\n ? error\n : new FrameworkError(\"Framework error has occurred.\", [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"Provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"Operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
1
+ {"version":3,"sources":["errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","constructor","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","undefined","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,MAAMA,uBAAuBC,cAAAA,CAAAA;EA1BpC;;;EA2BEC,OAAU,GAAA,KAAA;EACVC,WAAc,GAAA,IAAA;AACdC,EAAAA,OAAAA;AAEAC,EAAAA,WAAAA,CACEC,UAAU,+CACVC,EAAAA,MAAAA,GAAkB,EAClBC,EAAAA,OAAAA,GAAiC,EACjC,EAAA;AACA,IAAMD,KAAAA,CAAAA,MAAAA,IAAU,EAAA,EAAID,OAAAA,CAAAA;AACpB,IAAKG,IAAAA,CAAAA,IAAAA,GAAO,KAAKJ,WAAYI,CAAAA,IAAAA;AAC7BC,IAAMC,KAAAA,CAAAA,iBAAAA,CAAkB,MAAMV,cAAAA,CAAAA;AAE9B,IAAA,IAAIW,YAAEC,CAAAA,SAAAA,CAAUL,OAASN,EAAAA,OAAAA,CAAU,EAAA;AACjC,MAAA,IAAA,CAAKA,UAAUM,OAASN,EAAAA,OAAAA;AAC1B;AACA,IAAA,IAAIU,YAAEC,CAAAA,SAAAA,CAAUL,OAASL,EAAAA,WAAAA,CAAc,EAAA;AACrC,MAAA,IAAA,CAAKA,cAAcK,OAAQL,CAAAA,WAAAA;AAC7B;AACA,IAAKC,IAAAA,CAAAA,OAAAA,GAAUI,OAASJ,EAAAA,OAAAA,IAAW,EAAC;AACtC;EAEAU,aAAgB,GAAA;AACd,IAAA,IAAI,KAAKZ,OAAS,EAAA;AAChB,MAAO,OAAA,IAAA;AACT;AACA,IAAWa,KAAAA,MAAAA,GAAAA,IAAO,IAAKC,CAAAA,cAAAA,EAAkB,EAAA;AACvC,MAAID,IAAAA,GAAAA,YAAef,cAAkBe,IAAAA,GAAAA,CAAIb,OAAS,EAAA;AAChD,QAAO,OAAA,IAAA;AACT;AACF;AACA,IAAO,OAAA,KAAA;AACT;AAEA,EAAA,CAACc,cAAmC,GAAA;AAClC,IAAWC,KAAAA,MAAAA,KAAAA,IAAS,KAAKV,MAAQ,EAAA;AAC/B,MAAMU,MAAAA,KAAAA;AACN,MAAA,IAAIA,iBAAiBjB,cAAgB,EAAA;AACnC,QAAA,OAAOiB,MAAMD,cAAc,EAAA;AAC7B;AACF;AACF;EAEAE,QAAkB,GAAA;AAChB,IAAA,MAAMX,MAASY,GAAAA,KAAAA,CAAMC,IAAK,CAAA,IAAA,CAAKJ,gBAAc,CAAA;AAC7C,IAAOT,OAAAA,MAAAA,CAAOc,EAAG,CAAA,EAAC,CAAM,IAAA,IAAA;AAC1B;EAEAC,OAAkB,GAAA;AAChB,IAAA,MAAMC,SAAS,EAAA;AACf,IAAW,KAAA,MAAA,CAACC,KAAOP,EAAAA,KAAAA,CAAU,IAAA;AAAC,MAAA,IAAA;AAAS,MAAA,GAAA,IAAA,CAAKD,cAAc;AAAIS,KAAAA,CAAAA,OAAAA,EAAW,EAAA;AACvE,MAAA,MAAMC,MAAS,GAAA,CAAA,EAAA,CAAA,CAAKC,MAAO,CAAA,CAAA,GAAIH,KAAAA,CAAAA;AAC/BD,MAAAA,MAAAA,CAAOK,KAAK,CAAGF,EAAAA,MAAAA,GAAST,KAAMY,CAAAA,QAAAA,EAAQ,CAAI,CAAA,CAAA;AAC1C,MAAA,IAAIZ,MAAMa,KAAO,EAAA;AACfP,QAAOK,MAAAA,CAAAA,IAAAA,CAAK,GAAGF,MAAAA,CAAAA,OAAAA,EAAgBT,MAAMa,KAAMD,CAAAA,QAAAA,EAAQ,CAAI,CAAA,CAAA;AACzD;AACF;AACA,IAAON,OAAAA,MAAAA,CAAOQ,KAAK,IAAA,CAAA;AACrB;EAEAC,IAAO,GAAA;AACL,IAAOC,OAAAA,qBAAAA,CAAKC,QAAQ,IAAM,EAAA;MACxBC,OAAS,EAAA,KAAA;MACTC,KAAOC,EAAAA;KACT,CAAA;AACF;AAEA,EAAA,OAAOC,OAAOrB,KAA8B,EAAA;AAC1C,IAAA,OAAOA,KAAiBjB,YAAAA,cAAAA,GAAiBiB,KAAQ,GAAA,IAAIjB,eAAeuC,MAAW,EAAA;AAACtB,MAAAA;AAAM,KAAA,CAAA;AACxF;AAEA,EAAA,OAAOuB,aAAavB,KAAyC,EAAA;AAC3D,IAAA,OAAOA,KAAiBjB,YAAAA,cAAAA;AAC1B;AAEA,EAAA,OAAOyC,aAAaxB,KAAgB,EAAA;AAClC,IAAA,OAAOA,KAAiByB,YAAAA,UAAAA,IAAezB,KAAiBP,YAAAA,KAAAA,IAASO,OAAOR,IAAS,KAAA,YAAA;AACnF;AAEA,EAAA,OAAON,YAAYc,KAAgB,EAAA;AACjC,IAAA,IAAIA,iBAAiBjB,cAAgB,EAAA;AACnC,MAAA,OAAOiB,KAAMd,CAAAA,WAAAA;AACf;AACA,IAAO,OAAA,CAACH,cAAeyC,CAAAA,YAAAA,CAAaxB,KAAAA,CAAAA;AACtC;AACF;AAEO,MAAM0B,4BAA4B3C,cAAAA,CAAAA;EAlHzC;;;EAmHEK,WAAYC,CAAAA,OAAAA,GAAU,oBAAoBC,MAAkB,EAAA;AAC1D,IAAA,KAAA,CAAMD,SAASC,MAAQ,EAAA;MACrBL,OAAS,EAAA,IAAA;MACTC,WAAa,EAAA;KACf,CAAA;AACF;AACF;AAEO,MAAMyC,mBAAmB5C,cAAAA,CAAAA;EA3HhC;;;AA4HEK,EAAAA,WAAAA,CACEC,OAAU,GAAA,sCAAA,EACVC,MAAkB,GAAA,IAClBC,OACA,EAAA;AACA,IAAMF,KAAAA,CAAAA,OAAAA,EAASC,QAAQC,OAAAA,CAAAA;AACzB;AACF;AAEO,MAAMkC,mBAAmB1C,cAAAA,CAAAA;EArIhC;;;AAsIEK,EAAAA,WAAAA,CACEC,OAAU,GAAA,iCAAA,EACVC,MAAkB,GAAA,IAClBC,OACA,EAAA;AACA,IAAMF,KAAAA,CAAAA,OAAAA,EAASC,QAAQC,OAAAA,CAAAA;AACzB;AACF","file":"errors.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"The BeeAI Framework has encountered an error.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError ? error : new FrameworkError(undefined, [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"The provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"The operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
package/dist/errors.js CHANGED
@@ -10,7 +10,7 @@ class FrameworkError extends AggregateError {
10
10
  isFatal = false;
11
11
  isRetryable = true;
12
12
  context;
13
- constructor(message = "Framework error has occurred.", errors = [], options = {}) {
13
+ constructor(message = "The BeeAI Framework has encountered an error.", errors = [], options = {}) {
14
14
  super(errors || [], message);
15
15
  this.name = this.constructor.name;
16
16
  Error.captureStackTrace(this, AggregateError);
@@ -66,7 +66,7 @@ class FrameworkError extends AggregateError {
66
66
  });
67
67
  }
68
68
  static ensure(error) {
69
- return error instanceof FrameworkError ? error : new FrameworkError("Framework error has occurred.", [
69
+ return error instanceof FrameworkError ? error : new FrameworkError(void 0, [
70
70
  error
71
71
  ]);
72
72
  }
@@ -98,7 +98,7 @@ class ValueError extends FrameworkError {
98
98
  static {
99
99
  __name(this, "ValueError");
100
100
  }
101
- constructor(message = "Provided value is not supported!", errors = [], options) {
101
+ constructor(message = "The provided value is not supported!", errors = [], options) {
102
102
  super(message, errors, options);
103
103
  }
104
104
  }
@@ -106,7 +106,7 @@ class AbortError extends FrameworkError {
106
106
  static {
107
107
  __name(this, "AbortError");
108
108
  }
109
- constructor(message = "Operation has been aborted!", errors = [], options) {
109
+ constructor(message = "The operation has been aborted!", errors = [], options) {
110
110
  super(message, errors, options);
111
111
  }
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","constructor","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"Framework error has occurred.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError\n ? error\n : new FrameworkError(\"Framework error has occurred.\", [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"Provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"Operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
1
+ {"version":3,"sources":["errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","constructor","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","undefined","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"The BeeAI Framework has encountered an error.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError ? error : new FrameworkError(undefined, [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"The provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"The operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -3,7 +3,7 @@ export { PromptTemplate, PromptTemplateError, PromptTemplateInput, PromptTemplat
3
3
  export { AbortError, FrameworkError, FrameworkErrorOptions, NotImplementedError, ValueError } from './errors.cjs';
4
4
  export { Version } from './version.cjs';
5
5
  export { S as SerializeFactory, a as Serializer } from './serializer-CJx5ZpUx.cjs';
6
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-daM6fHUP.cjs';
6
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-Csr9guq2.cjs';
7
7
  import 'pino';
8
8
  import './internals/serializable.cjs';
9
9
  import './internals/types.cjs';
@@ -11,7 +11,7 @@ import './internals/helpers/guards.cjs';
11
11
  import 'zod';
12
12
  import 'ajv';
13
13
  import './context.cjs';
14
- import './emitter-C9EN5B0j.cjs';
14
+ import './emitter-BWtGHYn0.cjs';
15
15
  import './internals/helpers/promise.cjs';
16
16
  import './memory/base.cjs';
17
17
  import './backend/message.cjs';
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export { PromptTemplate, PromptTemplateError, PromptTemplateInput, PromptTemplat
3
3
  export { AbortError, FrameworkError, FrameworkErrorOptions, NotImplementedError, ValueError } from './errors.js';
4
4
  export { Version } from './version.js';
5
5
  export { S as SerializeFactory, a as Serializer } from './serializer-VYDhdryk.js';
6
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-mmG-8Pk9.js';
6
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-DHhpWHQm.js';
7
7
  import 'pino';
8
8
  import './internals/serializable.js';
9
9
  import './internals/types.js';
@@ -11,7 +11,7 @@ import './internals/helpers/guards.js';
11
11
  import 'zod';
12
12
  import 'ajv';
13
13
  import './context.js';
14
- import './emitter-BxVxGBbJ.js';
14
+ import './emitter-l0W9gC1A.js';
15
15
  import './internals/helpers/promise.js';
16
16
  import './memory/base.js';
17
17
  import './backend/message.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/instrumentation/config.ts"],"names":["INSTRUMENTATION_ENABLED","parseEnv","asBoolean","INSTRUMENTATION_IGNORED_KEYS","z","string","split","filter","Boolean"],"mappings":";;;;;AAmBaA,MAAAA,uBAAAA,GAA0BC,gBAASC,CAAAA,SAAAA,CAAU,uCAAA;AAEnD,MAAMC,4BAA+BF,GAAAA,gBAAAA,CAC1C,4CACAG,EAAAA,KAAAA,CAAEC,MAAM,EAAA,EACR,EAAA,CAAA,CAECC,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAOC,OAAAA","file":"config.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\n\nexport const INSTRUMENTATION_ENABLED = parseEnv.asBoolean(\"BEE_FRAMEWORK_INSTRUMENTATION_ENABLED\");\n\nexport const INSTRUMENTATION_IGNORED_KEYS = parseEnv(\n \"BEE_FRAMEWORK_INSTRUMENTATION_IGNORED_KEYS\",\n z.string(),\n \"\",\n)\n .split(\",\")\n .filter(Boolean);\n"]}
1
+ {"version":3,"sources":["config.ts"],"names":["INSTRUMENTATION_ENABLED","parseEnv","asBoolean","INSTRUMENTATION_IGNORED_KEYS","z","string","split","filter","Boolean"],"mappings":";;;;;AAmBaA,MAAAA,uBAAAA,GAA0BC,gBAASC,CAAAA,SAAAA,CAAU,uCAAA;AAEnD,MAAMC,4BAA+BF,GAAAA,gBAAAA,CAC1C,4CACAG,EAAAA,KAAAA,CAAEC,MAAM,EAAA,EACR,EAAA,CAAA,CAECC,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAOC,OAAAA","file":"config.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\n\nexport const INSTRUMENTATION_ENABLED = parseEnv.asBoolean(\"BEE_FRAMEWORK_INSTRUMENTATION_ENABLED\");\n\nexport const INSTRUMENTATION_IGNORED_KEYS = parseEnv(\n \"BEE_FRAMEWORK_INSTRUMENTATION_IGNORED_KEYS\",\n z.string(),\n \"\",\n)\n .split(\",\")\n .filter(Boolean);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/instrumentation/config.ts"],"names":["INSTRUMENTATION_ENABLED","parseEnv","asBoolean","INSTRUMENTATION_IGNORED_KEYS","z","string","split","filter","Boolean"],"mappings":";;;AAmBaA,MAAAA,uBAAAA,GAA0BC,QAASC,CAAAA,SAAAA,CAAU,uCAAA;AAEnD,MAAMC,4BAA+BF,GAAAA,QAAAA,CAC1C,4CACAG,EAAAA,CAAAA,CAAEC,MAAM,EAAA,EACR,EAAA,CAAA,CAECC,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAOC,OAAAA","file":"config.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\n\nexport const INSTRUMENTATION_ENABLED = parseEnv.asBoolean(\"BEE_FRAMEWORK_INSTRUMENTATION_ENABLED\");\n\nexport const INSTRUMENTATION_IGNORED_KEYS = parseEnv(\n \"BEE_FRAMEWORK_INSTRUMENTATION_IGNORED_KEYS\",\n z.string(),\n \"\",\n)\n .split(\",\")\n .filter(Boolean);\n"]}
1
+ {"version":3,"sources":["config.ts"],"names":["INSTRUMENTATION_ENABLED","parseEnv","asBoolean","INSTRUMENTATION_IGNORED_KEYS","z","string","split","filter","Boolean"],"mappings":";;;AAmBaA,MAAAA,uBAAAA,GAA0BC,QAASC,CAAAA,SAAAA,CAAU,uCAAA;AAEnD,MAAMC,4BAA+BF,GAAAA,QAAAA,CAC1C,4CACAG,EAAAA,CAAAA,CAAEC,MAAM,EAAA,EACR,EAAA,CAAA,CAECC,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAOC,OAAAA","file":"config.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\n\nexport const INSTRUMENTATION_ENABLED = parseEnv.asBoolean(\"BEE_FRAMEWORK_INSTRUMENTATION_ENABLED\");\n\nexport const INSTRUMENTATION_IGNORED_KEYS = parseEnv(\n \"BEE_FRAMEWORK_INSTRUMENTATION_IGNORED_KEYS\",\n z.string(),\n \"\",\n)\n .split(\",\")\n .filter(Boolean);\n"]}
@@ -92,7 +92,7 @@ function createTelemetryMiddleware() {
92
92
  if (!prompt && instance instanceof base_cjs.BaseAgent) {
93
93
  prompt = remeda.findLast(instance.memory.messages, (message) => message.role === message_cjs.Role.USER)?.text;
94
94
  if (!prompt) {
95
- throw new errors_cjs.FrameworkError("The prompt must be defined for the Agent's run", [], {
95
+ throw new errors_cjs.FrameworkError("The prompt must be defined for the agent's run", [], {
96
96
  context
97
97
  });
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/instrumentation/create-telemetry-middleware.ts"],"names":["createTelemetryMiddleware","context","emitter","trace","id","FrameworkError","traceId","activeTracesMap","has","set","instance","constructor","name","instrumentationLogger","debug","source","runParams","basePath","createFullPath","namespace","prompt","BaseAgent","spansMap","Map","parentIdsMap","spansToDeleteMap","generatedMessage","undefined","history","groupIterations","idNameManager","IdNameManager","newTokenEventName","partialUpdateEventName","successEventName","finishEventName","startEventName","errorEventName","eventsIterationsMap","startTimeDate","Date","getTime","startTimePerf","performance","now","convertDateToPerformance","date","serializer","traceSerializer","ignored_keys","INSTRUMENTATION_IGNORED_KEYS","cleanSpanSources","spanId","parentId","get","parent_id","spanCount","delete","match","event","path","_","meta","findLast","memory","messages","message","role","Role","USER","text","buildTraceTree","spans","JSON","parse","Array","from","values","version","Version","runErrorSpanKey","startTime","endTime","e","warn","data","includes","runId","groupId","parentRunId","createSpan","target","startedAt","createdAt","push","parentSpanId","getIds","serializedData","getSerializedObjectSafe","isEmpty","span","parent","ctx","error","getErrorSafe","lastIteration","length","lastIterationOnNewTokenSpanId","lastIterationEventSpanId","attributes","isDeepEqual","span_id","creator","dataObject","map","msg","assertLLMWithMessagesToPromptFn","rawPrompt","createSnapshot"],"mappings":"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","file":"create-telemetry-middleware.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getSerializedObjectSafe } from \"./helpers/get-serialized-object-safe.js\";\nimport { createSpan } from \"./helpers/create-span.js\";\nimport { IdNameManager } from \"./helpers/id-name-manager.js\";\nimport { getErrorSafe } from \"./helpers/get-error-safe.js\";\nimport { findLast, isDeepEqual, isEmpty } from \"remeda\";\nimport type { BeeCallbacks } from \"@/agents/bee/types.js\";\nimport type { InferCallbackValue } from \"@/emitter/types.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Version } from \"@/version.js\";\nimport type { GetRunContext, RunInstance } from \"@/context.js\";\nimport type { GeneratedResponse, FrameworkSpan } from \"./types.js\";\nimport { activeTracesMap, buildTraceTree } from \"./tracer.js\";\nimport { traceSerializer } from \"./helpers/trace-serializer.js\";\nimport { INSTRUMENTATION_IGNORED_KEYS } from \"./config.js\";\nimport { createFullPath } from \"@/emitter/utils.js\";\nimport type { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { instrumentationLogger } from \"./logger.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { assertLLMWithMessagesToPromptFn } from \"./helpers/utils.js\";\nimport { Role } from \"@/backend/message.js\";\nimport { ChatModelEvents } from \"@/backend/chat.js\";\n\nexport function createTelemetryMiddleware() {\n return (context: GetRunContext<RunInstance, unknown>) => {\n if (!context.emitter?.trace?.id) {\n throw new FrameworkError(`Fatal error. Missing traceId`, [], { context });\n }\n\n const traceId = context.emitter?.trace?.id;\n if (activeTracesMap.has(traceId)) {\n return;\n }\n activeTracesMap.set(traceId, context.instance.constructor.name);\n\n instrumentationLogger.debug(\n {\n source: context.instance.constructor.name,\n traceId: traceId,\n },\n \"createTelemetryMiddleware\",\n );\n const { emitter, runParams, instance } = context;\n const basePath = createFullPath(emitter.namespace, \"\");\n\n let prompt: string | undefined | null = null;\n if (instance instanceof BaseAgent) {\n prompt = (runParams as Parameters<BeeAgent[\"run\"]>)[0].prompt;\n }\n\n const spansMap = new Map<string, FrameworkSpan>();\n const parentIdsMap = new Map<string, number>();\n const spansToDeleteMap = new Map<string, undefined>();\n\n let generatedMessage: GeneratedResponse | undefined = undefined;\n let history: GeneratedResponse[] | undefined = undefined;\n const groupIterations: string[] = [];\n\n const idNameManager = new IdNameManager();\n\n const newTokenEventName: keyof ChatModelEvents = `newToken`;\n const partialUpdateEventName: keyof BeeCallbacks = \"partialUpdate\";\n const successEventName: keyof ChatModelEvents = `success`;\n const finishEventName: keyof ChatModelEvents = `finish`;\n const startEventName: keyof ChatModelEvents = `start`;\n const errorEventName: keyof ChatModelEvents = `error`;\n\n const eventsIterationsMap = new Map<string, Map<string, string>>();\n\n const startTimeDate = new Date().getTime();\n const startTimePerf = performance.now();\n function convertDateToPerformance(date: Date) {\n return date.getTime() - startTimeDate + startTimePerf;\n }\n\n const serializer = traceSerializer({ ignored_keys: INSTRUMENTATION_IGNORED_KEYS });\n\n function cleanSpanSources({ spanId }: { spanId: string }) {\n const parentId = spansMap.get(spanId)?.parent_id;\n if (!parentId) {\n return;\n }\n\n const spanCount = parentIdsMap.get(parentId);\n if (!spanCount) {\n return;\n }\n\n if (spanCount > 1) {\n // increase the span count for the parentId\n parentIdsMap.set(parentId, spanCount - 1);\n } else if (spanCount === 1) {\n parentIdsMap.delete(parentId);\n // check the `spansToDelete` if the span should be deleted when it has no children's\n if (spansToDeleteMap.has(parentId)) {\n spansMap.delete(parentId);\n spansToDeleteMap.delete(parentId);\n }\n }\n }\n\n /**\n * Create OpenTelemetry spans from collected data\n */\n emitter.match(\n (event) => event.path === `${basePath}.run.${finishEventName}`,\n async (_, meta) => {\n try {\n instrumentationLogger.debug({ path: meta.path, traceId: traceId }, \"run finish event\");\n\n if (!prompt && instance instanceof BaseAgent) {\n prompt = findLast(\n instance.memory.messages,\n (message) => message.role === Role.USER,\n )?.text;\n\n if (!prompt) {\n throw new FrameworkError(\"The prompt must be defined for the Agent's run\", [], {\n context,\n });\n }\n }\n\n // create tracer spans from collected data\n buildTraceTree({\n prompt: prompt,\n history,\n generatedMessage,\n spans: JSON.parse(serializer(Array.from(spansMap.values()))),\n traceId,\n version: Version,\n runErrorSpanKey: `${basePath}.run.${errorEventName}`,\n startTime: startTimePerf,\n endTime: performance.now(),\n source: activeTracesMap.get(traceId)!,\n });\n } catch (e) {\n instrumentationLogger.warn(e, \"Instrumentation error\");\n } finally {\n activeTracesMap.delete(traceId);\n }\n },\n );\n\n /**\n * This block collects all \"not run category\" events with their data and prepares spans for the OpenTelemetry.\n * The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information\n * The framework event tree structure is different from the open-telemetry tree structure and must be transformed from groupId and parentGroupId pattern via idNameManager\n * The artificial \"iteration\" main tree level is computed from the `meta.groupId`\n */\n emitter.match(\"*.*\", (data, meta) => {\n // allow `run.error` event due to the runtime error information\n if (meta.path.includes(\".run.\") && meta.path !== `${basePath}.run.${errorEventName}`) {\n return;\n }\n if (!meta.trace?.runId) {\n throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {\n context,\n });\n }\n\n /**\n * create groupId span level (id does not exist)\n * I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity\n */\n if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {\n spansMap.set(\n meta.groupId,\n createSpan({\n id: meta.groupId,\n name: meta.groupId,\n target: \"groupId\",\n startedAt: convertDateToPerformance(meta.createdAt),\n }),\n );\n groupIterations.push(meta.groupId);\n }\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path: meta.path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n const serializedData = getSerializedObjectSafe(data);\n\n // skip partialUpdate events with no data\n if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {\n return;\n }\n\n const span = createSpan({\n id: spanId,\n name: meta.name,\n target: meta.path,\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n ctx: getSerializedObjectSafe(meta.context),\n data: serializedData,\n error: getErrorSafe(data),\n startedAt: convertDateToPerformance(meta.createdAt),\n });\n\n const lastIteration = groupIterations[groupIterations.length - 1];\n\n // delete the `newToken` event if exists and create the new one\n const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {\n // delete span\n cleanSpanSources({ spanId: lastIterationOnNewTokenSpanId });\n spansMap.delete(lastIterationOnNewTokenSpanId);\n }\n\n // delete the last `partialUpdate` event if the new one has same data and the original one does not have nested spans\n const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (\n lastIterationEventSpanId &&\n partialUpdateEventName === meta.name &&\n spansMap.has(lastIterationEventSpanId)\n ) {\n const { attributes, context } = spansMap.get(lastIterationEventSpanId)!;\n\n if (isDeepEqual(serializedData, attributes.data)) {\n if (parentIdsMap.has(context.span_id)) {\n spansToDeleteMap.set(lastIterationEventSpanId, undefined);\n } else {\n // delete span\n cleanSpanSources({ spanId: lastIterationEventSpanId });\n spansMap.delete(lastIterationEventSpanId);\n }\n }\n }\n\n // create new span\n spansMap.set(span.context.span_id, span);\n // update number of nested spans for parent_id if exists\n if (span.parent_id) {\n parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);\n }\n\n // save the last event for each iteration\n if (groupIterations.length > 0) {\n if (eventsIterationsMap.has(lastIteration)) {\n eventsIterationsMap.get(lastIteration)!.set(meta.name, span.context.span_id);\n } else {\n eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));\n }\n }\n });\n\n // The generated response and message history are collected from the `success` agent's event\n emitter.match(\n (event) => event.name === successEventName && event.creator instanceof BaseAgent,\n (data: InferCallbackValue<BeeCallbacks[typeof successEventName]>) => {\n const { data: dataObject, memory } = data;\n\n generatedMessage = {\n role: dataObject.role,\n text: dataObject.text,\n };\n history = memory.messages.map((msg) => ({ text: msg.text, role: msg.role }));\n },\n );\n\n // Read rawPrompt from llm input only for supported adapters and create the custom event with it\n emitter.match(\n (event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName,\n (_, meta) => {\n if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {\n // create a custom path to prevent event duplication\n const path = `${meta.path}.custom`;\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n spansMap.set(\n spanId,\n createSpan({\n id: spanId,\n name: `${meta.name}Custom`,\n target: path,\n startedAt: convertDateToPerformance(meta.createdAt),\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n data: {\n rawPrompt: undefined,\n creator: meta.creator.createSnapshot(),\n },\n }),\n );\n }\n },\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["create-telemetry-middleware.ts"],"names":["createTelemetryMiddleware","context","emitter","trace","id","FrameworkError","traceId","activeTracesMap","has","set","instance","constructor","name","instrumentationLogger","debug","source","runParams","basePath","createFullPath","namespace","prompt","BaseAgent","spansMap","Map","parentIdsMap","spansToDeleteMap","generatedMessage","undefined","history","groupIterations","idNameManager","IdNameManager","newTokenEventName","partialUpdateEventName","successEventName","finishEventName","startEventName","errorEventName","eventsIterationsMap","startTimeDate","Date","getTime","startTimePerf","performance","now","convertDateToPerformance","date","serializer","traceSerializer","ignored_keys","INSTRUMENTATION_IGNORED_KEYS","cleanSpanSources","spanId","parentId","get","parent_id","spanCount","delete","match","event","path","_","meta","findLast","memory","messages","message","role","Role","USER","text","buildTraceTree","spans","JSON","parse","Array","from","values","version","Version","runErrorSpanKey","startTime","endTime","e","warn","data","includes","runId","groupId","parentRunId","createSpan","target","startedAt","createdAt","push","parentSpanId","getIds","serializedData","getSerializedObjectSafe","isEmpty","span","parent","ctx","error","getErrorSafe","lastIteration","length","lastIterationOnNewTokenSpanId","lastIterationEventSpanId","attributes","isDeepEqual","span_id","creator","dataObject","map","msg","assertLLMWithMessagesToPromptFn","rawPrompt","createSnapshot"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsCO,SAASA,yBAAAA,GAAAA;AACd,EAAA,OAAO,CAACC,OAAAA,KAAAA;AACN,IAAA,IAAI,CAACA,OAAAA,CAAQC,OAASC,EAAAA,KAAAA,EAAOC,EAAI,EAAA;AAC/B,MAAA,MAAM,IAAIC,yBAAAA,CAAe,CAAgC,4BAAA,CAAA,EAAA,EAAI,EAAA;AAAEJ,QAAAA;OAAQ,CAAA;AACzE;AAEA,IAAMK,MAAAA,OAAAA,GAAUL,OAAQC,CAAAA,OAAAA,EAASC,KAAOC,EAAAA,EAAAA;AACxC,IAAIG,IAAAA,0BAAAA,CAAgBC,GAAIF,CAAAA,OAAAA,CAAU,EAAA;AAChC,MAAA;AACF;AACAC,IAAAA,0BAAAA,CAAgBE,GAAIH,CAAAA,OAAAA,EAASL,OAAQS,CAAAA,QAAAA,CAASC,YAAYC,IAAI,CAAA;AAE9DC,IAAAA,gCAAAA,CAAsBC,KACpB,CAAA;MACEC,MAAQd,EAAAA,OAAAA,CAAQS,SAASC,WAAYC,CAAAA,IAAAA;AACrCN,MAAAA;AACF,KAAA,EACA,2BAAA,CAAA;AAEF,IAAA,MAAM,EAAEJ,OAAAA,EAASc,SAAWN,EAAAA,QAAAA,EAAaT,GAAAA,OAAAA;AACzC,IAAA,MAAMgB,QAAWC,GAAAA,wBAAAA,CAAehB,OAAQiB,CAAAA,SAAAA,EAAW,EAAA,CAAA;AAEnD,IAAA,IAAIC,MAAoC,GAAA,IAAA;AACxC,IAAA,IAAIV,oBAAoBW,kBAAW,EAAA;AACjCD,MAAUJ,MAAAA,GAAAA,SAAAA,CAA0C,CAAA,CAAGI,CAAAA,MAAAA;AACzD;AAEA,IAAME,MAAAA,QAAAA,uBAAeC,GAAAA,EAAAA;AACrB,IAAMC,MAAAA,YAAAA,uBAAmBD,GAAAA,EAAAA;AACzB,IAAME,MAAAA,gBAAAA,uBAAuBF,GAAAA,EAAAA;AAE7B,IAAA,IAAIG,gBAAkDC,GAAAA,MAAAA;AACtD,IAAA,IAAIC,OAA2CD,GAAAA,MAAAA;AAC/C,IAAA,MAAME,kBAA4B,EAAA;AAElC,IAAMC,MAAAA,aAAAA,GAAgB,IAAIC,+BAAAA,EAAAA;AAE1B,IAAA,MAAMC,iBAA2C,GAAA,CAAA,QAAA,CAAA;AACjD,IAAA,MAAMC,sBAA6C,GAAA,eAAA;AACnD,IAAA,MAAMC,gBAA0C,GAAA,CAAA,OAAA,CAAA;AAChD,IAAA,MAAMC,eAAyC,GAAA,CAAA,MAAA,CAAA;AAC/C,IAAA,MAAMC,cAAwC,GAAA,CAAA,KAAA,CAAA;AAC9C,IAAA,MAAMC,cAAwC,GAAA,CAAA,KAAA,CAAA;AAE9C,IAAMC,MAAAA,mBAAAA,uBAA0Bf,GAAAA,EAAAA;AAEhC,IAAA,MAAMgB,aAAgB,GAAA,iBAAA,IAAIC,IAAAA,EAAAA,EAAOC,OAAO,EAAA;AACxC,IAAMC,MAAAA,aAAAA,GAAgBC,YAAYC,GAAG,EAAA;AACrC,IAAA,SAASC,yBAAyBC,IAAU,EAAA;AAC1C,MAAOA,OAAAA,IAAAA,CAAKL,OAAO,EAAA,GAAKF,aAAgBG,GAAAA,aAAAA;AAC1C;AAFSG,IAAAA,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,IAAA,MAAME,aAAaC,mCAAgB,CAAA;MAAEC,YAAcC,EAAAA;KAA6B,CAAA;AAEhF,IAASC,SAAAA,gBAAAA,CAAiB,EAAEC,MAAAA,EAA4B,EAAA;AACtD,MAAA,MAAMC,QAAW/B,GAAAA,QAAAA,CAASgC,GAAIF,CAAAA,MAAAA,CAASG,EAAAA,SAAAA;AACvC,MAAA,IAAI,CAACF,QAAU,EAAA;AACb,QAAA;AACF;AAEA,MAAMG,MAAAA,SAAAA,GAAYhC,YAAa8B,CAAAA,GAAAA,CAAID,QAAAA,CAAAA;AACnC,MAAA,IAAI,CAACG,SAAW,EAAA;AACd,QAAA;AACF;AAEA,MAAA,IAAIA,YAAY,CAAG,EAAA;AAEjBhC,QAAaf,YAAAA,CAAAA,GAAAA,CAAI4C,QAAUG,EAAAA,SAAAA,GAAY,CAAA,CAAA;AACzC,OAAA,MAAA,IAAWA,cAAc,CAAG,EAAA;AAC1BhC,QAAAA,YAAAA,CAAaiC,OAAOJ,QAAAA,CAAAA;AAEpB,QAAI5B,IAAAA,gBAAAA,CAAiBjB,GAAI6C,CAAAA,QAAAA,CAAW,EAAA;AAClC/B,UAAAA,QAAAA,CAASmC,OAAOJ,QAAAA,CAAAA;AAChB5B,UAAAA,gBAAAA,CAAiBgC,OAAOJ,QAAAA,CAAAA;AAC1B;AACF;AACF;AAtBSF,IAAAA,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AA2BTjD,IAAAA,OAAAA,CAAQwD,KACN,CAAA,CAACC,KAAUA,KAAAA,KAAAA,CAAMC,IAAS,KAAA,CAAA,EAAG3C,QAAAA,CAAAA,KAAAA,EAAgBkB,eAAAA,CAAAA,CAAAA,EAC7C,OAAO0B,CAAAA,EAAGC,IAAAA,KAAAA;AACR,MAAI,IAAA;AACFjD,QAAAA,gCAAAA,CAAsBC,KAAM,CAAA;AAAE8C,UAAAA,IAAAA,EAAME,IAAKF,CAAAA,IAAAA;AAAMtD,UAAAA;AAAiB,SAAA,EAAG,kBAAA,CAAA;AAEnE,QAAI,IAAA,CAACc,MAAUV,IAAAA,QAAAA,YAAoBW,kBAAW,EAAA;AAC5CD,UAAS2C,MAAAA,GAAAA,eAAAA,CACPrD,QAASsD,CAAAA,MAAAA,CAAOC,QAChB,EAAA,CAACC,YAAYA,OAAQC,CAAAA,IAAAA,KAASC,gBAAKC,CAAAA,IAAI,CACtCC,EAAAA,IAAAA;AAEH,UAAA,IAAI,CAAClD,MAAQ,EAAA;AACX,YAAA,MAAM,IAAIf,yBAAAA,CAAe,gDAAkD,EAAA,EAAI,EAAA;AAC7EJ,cAAAA;aACF,CAAA;AACF;AACF;AAGAsE,QAAeA,yBAAA,CAAA;AACbnD,UAAAA,MAAAA;AACAQ,UAAAA,OAAAA;AACAF,UAAAA,gBAAAA;UACA8C,KAAOC,EAAAA,IAAAA,CAAKC,MAAM3B,UAAW4B,CAAAA,KAAAA,CAAMC,KAAKtD,QAASuD,CAAAA,MAAAA,EAAM,CAAA,CAAA,CAAA;AACvDvE,UAAAA,OAAAA;UACAwE,OAASC,EAAAA,mBAAAA;UACTC,eAAiB,EAAA,CAAA,EAAG/D,QAAAA,CAAAA,KAAAA,EAAgBoB,cAAAA,CAAAA,CAAAA;UACpC4C,SAAWvC,EAAAA,aAAAA;AACXwC,UAAAA,OAAAA,EAASvC,YAAYC,GAAG,EAAA;UACxB7B,MAAQR,EAAAA,0BAAAA,CAAgB+C,IAAIhD,OAAAA;SAC9B,CAAA;AACF,OAAA,CAAA,OAAS6E,CAAG,EAAA;AACVtE,QAAsBuE,gCAAAA,CAAAA,IAAAA,CAAKD,GAAG,uBAAA,CAAA;OAChC,SAAA;AACE5E,QAAAA,0BAAAA,CAAgBkD,OAAOnD,OAAAA,CAAAA;AACzB;KACF,CAAA;AASFJ,IAAAA,OAAAA,CAAQwD,KAAM,CAAA,KAAA,EAAO,CAAC2B,IAAAA,EAAMvB,IAAAA,KAAAA;AAE1B,MAAIA,IAAAA,IAAAA,CAAKF,IAAK0B,CAAAA,QAAAA,CAAS,OAAA,CAAA,IAAYxB,IAAKF,CAAAA,IAAAA,KAAS,CAAG3C,EAAAA,QAAAA,CAAgBoB,KAAAA,EAAAA,cAAAA,CAAkB,CAAA,EAAA;AACpF,QAAA;AACF;AACA,MAAI,IAAA,CAACyB,IAAK3D,CAAAA,KAAAA,EAAOoF,KAAO,EAAA;AACtB,QAAA,MAAM,IAAIlF,yBAAe,CAAA,CAAA,sCAAA,EAAyCyD,KAAKF,IAAI,CAAA,CAAA,EAAI,EAAI,EAAA;AACjF3D,UAAAA;SACF,CAAA;AACF;AAMA,MAAI6D,IAAAA,IAAAA,CAAK0B,OAAW,IAAA,CAAC1B,IAAK3D,CAAAA,KAAAA,CAAMsF,WAAe,IAAA,CAAC5D,eAAgByD,CAAAA,QAAAA,CAASxB,IAAK0B,CAAAA,OAAO,CAAG,EAAA;AACtFlE,QAASb,QAAAA,CAAAA,GAAAA,CACPqD,IAAK0B,CAAAA,OAAAA,EACLE,yBAAW,CAAA;AACTtF,UAAAA,EAAAA,EAAI0D,IAAK0B,CAAAA,OAAAA;AACT5E,UAAAA,IAAAA,EAAMkD,IAAK0B,CAAAA,OAAAA;UACXG,MAAQ,EAAA,SAAA;UACRC,SAAW/C,EAAAA,wBAAAA,CAAyBiB,KAAK+B,SAAS;AACpD,SAAA,CAAA,CAAA;AAEFhE,QAAgBiE,eAAAA,CAAAA,IAAAA,CAAKhC,KAAK0B,OAAO,CAAA;AACnC;AAEA,MAAA,MAAM,EAAEpC,MAAAA,EAAQ2C,YAAY,EAAA,GAAKjE,cAAckE,MAAO,CAAA;AACpDpC,QAAAA,IAAAA,EAAME,IAAKF,CAAAA,IAAAA;AACXxD,QAAAA,EAAAA,EAAI0D,IAAK1D,CAAAA,EAAAA;AACTmF,QAAAA,KAAAA,EAAOzB,KAAK3D,KAAMoF,CAAAA,KAAAA;AAClBE,QAAAA,WAAAA,EAAa3B,KAAK3D,KAAMsF,CAAAA,WAAAA;AACxBD,QAAAA,OAAAA,EAAS1B,IAAK0B,CAAAA;OAChB,CAAA;AAEA,MAAMS,MAAAA,cAAAA,GAAiBC,oDAAwBb,IAAAA,CAAAA;AAG/C,MAAA,IAAIvB,IAAKlD,CAAAA,IAAAA,KAASqB,sBAA0BkE,IAAAA,cAAAA,CAAQF,cAAAA,CAAiB,EAAA;AACnE,QAAA;AACF;AAEA,MAAA,MAAMG,OAAOV,yBAAW,CAAA;QACtBtF,EAAIgD,EAAAA,MAAAA;AACJxC,QAAAA,IAAAA,EAAMkD,IAAKlD,CAAAA,IAAAA;AACX+E,QAAAA,MAAAA,EAAQ7B,IAAKF,CAAAA,IAAAA;AACb,QAAA,GAAImC,YAAgB,IAAA;UAAEM,MAAQ,EAAA;YAAEjG,EAAI2F,EAAAA;AAAa;AAAE,SAAA;QACnDO,GAAKJ,EAAAA,mDAAAA,CAAwBpC,KAAK7D,OAAO,CAAA;QACzCoF,IAAMY,EAAAA,cAAAA;AACNM,QAAAA,KAAAA,EAAOC,8BAAanB,IAAAA,CAAAA;QACpBO,SAAW/C,EAAAA,wBAAAA,CAAyBiB,KAAK+B,SAAS;OACpD,CAAA;AAEA,MAAA,MAAMY,aAAgB5E,GAAAA,eAAAA,CAAgBA,eAAgB6E,CAAAA,MAAAA,GAAS,CAAA,CAAA;AAG/D,MAAA,MAAMC,gCAAgCrE,mBAAoBgB,CAAAA,GAAAA,CAAImD,aAAAA,CAAgBnD,EAAAA,GAAAA,CAAIQ,KAAKlD,IAAI,CAAA;AAC3F,MAAI+F,IAAAA,6BAAAA,IAAiC7C,IAAKlD,CAAAA,IAAAA,KAASoB,iBAAmB,EAAA;AAEpEmB,QAAiB,gBAAA,CAAA;UAAEC,MAAQuD,EAAAA;SAA8B,CAAA;AACzDrF,QAAAA,QAAAA,CAASmC,OAAOkD,6BAAAA,CAAAA;AAClB;AAGA,MAAA,MAAMC,2BAA2BtE,mBAAoBgB,CAAAA,GAAAA,CAAImD,aAAAA,CAAgBnD,EAAAA,GAAAA,CAAIQ,KAAKlD,IAAI,CAAA;AACtF,MAAA,IACEgG,4BACA3E,sBAA2B6B,KAAAA,IAAAA,CAAKlD,QAChCU,QAASd,CAAAA,GAAAA,CAAIoG,wBAAAA,CACb,EAAA;AACA,QAAA,MAAM,EAAEC,UAAY5G,EAAAA,OAAAA,EAAAA,UAAYqB,GAAAA,QAAAA,CAASgC,IAAIsD,wBAAAA,CAAAA;AAE7C,QAAA,IAAIE,kBAAYb,CAAAA,cAAAA,EAAgBY,UAAWxB,CAAAA,IAAI,CAAG,EAAA;AAChD,UAAA,IAAI7D,YAAahB,CAAAA,GAAAA,CAAIP,QAAQ8G,CAAAA,OAAO,CAAG,EAAA;AACrCtF,YAAiBhB,gBAAAA,CAAAA,GAAAA,CAAImG,0BAA0BjF,MAAAA,CAAAA;WAC1C,MAAA;AAELwB,YAAiB,gBAAA,CAAA;cAAEC,MAAQwD,EAAAA;aAAyB,CAAA;AACpDtF,YAAAA,QAAAA,CAASmC,OAAOmD,wBAAAA,CAAAA;AAClB;AACF;AACF;AAGAtF,MAAAA,QAAAA,CAASb,GAAI2F,CAAAA,IAAAA,CAAKnG,OAAQ8G,CAAAA,OAAAA,EAASX,IAAAA,CAAAA;AAEnC,MAAA,IAAIA,KAAK7C,SAAW,EAAA;AAClB/B,QAAaf,YAAAA,CAAAA,GAAAA,CAAI2F,KAAK7C,SAAY/B,EAAAA,CAAAA,YAAAA,CAAa8B,IAAI8C,IAAK7C,CAAAA,SAAS,CAAK,IAAA,CAAA,IAAK,CAAA,CAAA;AAC7E;AAGA,MAAI1B,IAAAA,eAAAA,CAAgB6E,SAAS,CAAG,EAAA;AAC9B,QAAIpE,IAAAA,mBAAAA,CAAoB9B,GAAIiG,CAAAA,aAAAA,CAAgB,EAAA;AAC1CnE,UAAoBgB,mBAAAA,CAAAA,GAAAA,CAAImD,aAAAA,CAAgBhG,CAAAA,GAAAA,CAAIqD,KAAKlD,IAAMwF,EAAAA,IAAAA,CAAKnG,QAAQ8G,OAAO,CAAA;SACtE,MAAA;AACLzE,UAAoB7B,mBAAAA,CAAAA,GAAAA,CAAIgG,aAAe,EAAA,iBAAA,IAAIlF,GAAAA,EAAAA,EAAMd,GAAIqD,CAAAA,IAAAA,CAAKlD,IAAMwF,EAAAA,IAAAA,CAAKnG,OAAQ8G,CAAAA,OAAO,CAAA,CAAA;AACtF;AACF;KACF,CAAA;AAGA7G,IAAQwD,OAAAA,CAAAA,KAAAA,CACN,CAACC,KAAAA,KAAUA,KAAM/C,CAAAA,IAAAA,KAASsB,oBAAoByB,KAAMqD,CAAAA,OAAAA,YAAmB3F,kBACvE,EAAA,CAACgE,IAAAA,KAAAA;AACC,MAAA,MAAM,EAAEA,IAAAA,EAAM4B,UAAYjD,EAAAA,MAAAA,EAAWqB,GAAAA,IAAAA;AAErC3D,MAAmB,gBAAA,GAAA;AACjByC,QAAAA,IAAAA,EAAM8C,UAAW9C,CAAAA,IAAAA;AACjBG,QAAAA,IAAAA,EAAM2C,UAAW3C,CAAAA;AACnB,OAAA;AACA1C,MAAAA,OAAAA,GAAUoC,MAAOC,CAAAA,QAAAA,CAASiD,GAAI,CAAA,CAACC,GAAS,MAAA;AAAE7C,QAAAA,IAAAA,EAAM6C,GAAI7C,CAAAA,IAAAA;AAAMH,QAAAA,IAAAA,EAAMgD,GAAIhD,CAAAA;OAAK,CAAA,CAAA;KAC3E,CAAA;AAIFjE,IAAAA,OAAAA,CAAQwD,KACN,CAAA,CAACC,KAAUyD,KAAAA,2CAAAA,CAAgCzD,KAAMqD,CAAAA,OAAO,CAAKrD,IAAAA,KAAAA,CAAM/C,IAASwB,KAAAA,cAAAA,EAC5E,CAACyB,CAAAA,EAAGC,IAAAA,KAAAA;AACF,MAAA,IAAIsD,2CAAgCtD,CAAAA,IAAAA,CAAKkD,OAAO,CAAA,IAAKlD,KAAK3D,KAAO,EAAA;AAE/D,QAAMyD,MAAAA,IAAAA,GAAO,CAAGE,EAAAA,IAAAA,CAAKF,IAAI,CAAA,OAAA,CAAA;AAEzB,QAAA,MAAM,EAAER,MAAAA,EAAQ2C,YAAY,EAAA,GAAKjE,cAAckE,MAAO,CAAA;AACpDpC,UAAAA,IAAAA;AACAxD,UAAAA,EAAAA,EAAI0D,IAAK1D,CAAAA,EAAAA;AACTmF,UAAAA,KAAAA,EAAOzB,KAAK3D,KAAMoF,CAAAA,KAAAA;AAClBE,UAAAA,WAAAA,EAAa3B,KAAK3D,KAAMsF,CAAAA,WAAAA;AACxBD,UAAAA,OAAAA,EAAS1B,IAAK0B,CAAAA;SAChB,CAAA;AAEAlE,QAASb,QAAAA,CAAAA,GAAAA,CACP2C,QACAsC,yBAAW,CAAA;UACTtF,EAAIgD,EAAAA,MAAAA;UACJxC,IAAM,EAAA,CAAA,EAAGkD,KAAKlD,IAAI,CAAA,MAAA,CAAA;UAClB+E,MAAQ/B,EAAAA,IAAAA;UACRgC,SAAW/C,EAAAA,wBAAAA,CAAyBiB,KAAK+B,SAAS,CAAA;AAClD,UAAA,GAAIE,YAAgB,IAAA;YAAEM,MAAQ,EAAA;cAAEjG,EAAI2F,EAAAA;AAAa;AAAE,WAAA;UACnDV,IAAM,EAAA;YACJgC,SAAW1F,EAAAA,MAAAA;YACXqF,OAASlD,EAAAA,IAAAA,CAAKkD,QAAQM,cAAc;AACtC;AACF,SAAA,CAAA,CAAA;AAEJ;KACF,CAAA;AAEJ,GAAA;AACF;AApRgBtH,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA","file":"create-telemetry-middleware.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getSerializedObjectSafe } from \"./helpers/get-serialized-object-safe.js\";\nimport { createSpan } from \"./helpers/create-span.js\";\nimport { IdNameManager } from \"./helpers/id-name-manager.js\";\nimport { getErrorSafe } from \"./helpers/get-error-safe.js\";\nimport { findLast, isDeepEqual, isEmpty } from \"remeda\";\nimport type { BeeCallbacks } from \"@/agents/bee/types.js\";\nimport type { InferCallbackValue } from \"@/emitter/types.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Version } from \"@/version.js\";\nimport type { GetRunContext, RunInstance } from \"@/context.js\";\nimport type { GeneratedResponse, FrameworkSpan } from \"./types.js\";\nimport { activeTracesMap, buildTraceTree } from \"./tracer.js\";\nimport { traceSerializer } from \"./helpers/trace-serializer.js\";\nimport { INSTRUMENTATION_IGNORED_KEYS } from \"./config.js\";\nimport { createFullPath } from \"@/emitter/utils.js\";\nimport type { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { instrumentationLogger } from \"./logger.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { assertLLMWithMessagesToPromptFn } from \"./helpers/utils.js\";\nimport { Role } from \"@/backend/message.js\";\nimport { ChatModelEvents } from \"@/backend/chat.js\";\n\nexport function createTelemetryMiddleware() {\n return (context: GetRunContext<RunInstance, unknown>) => {\n if (!context.emitter?.trace?.id) {\n throw new FrameworkError(`Fatal error. Missing traceId`, [], { context });\n }\n\n const traceId = context.emitter?.trace?.id;\n if (activeTracesMap.has(traceId)) {\n return;\n }\n activeTracesMap.set(traceId, context.instance.constructor.name);\n\n instrumentationLogger.debug(\n {\n source: context.instance.constructor.name,\n traceId: traceId,\n },\n \"createTelemetryMiddleware\",\n );\n const { emitter, runParams, instance } = context;\n const basePath = createFullPath(emitter.namespace, \"\");\n\n let prompt: string | undefined | null = null;\n if (instance instanceof BaseAgent) {\n prompt = (runParams as Parameters<BeeAgent[\"run\"]>)[0].prompt;\n }\n\n const spansMap = new Map<string, FrameworkSpan>();\n const parentIdsMap = new Map<string, number>();\n const spansToDeleteMap = new Map<string, undefined>();\n\n let generatedMessage: GeneratedResponse | undefined = undefined;\n let history: GeneratedResponse[] | undefined = undefined;\n const groupIterations: string[] = [];\n\n const idNameManager = new IdNameManager();\n\n const newTokenEventName: keyof ChatModelEvents = `newToken`;\n const partialUpdateEventName: keyof BeeCallbacks = \"partialUpdate\";\n const successEventName: keyof ChatModelEvents = `success`;\n const finishEventName: keyof ChatModelEvents = `finish`;\n const startEventName: keyof ChatModelEvents = `start`;\n const errorEventName: keyof ChatModelEvents = `error`;\n\n const eventsIterationsMap = new Map<string, Map<string, string>>();\n\n const startTimeDate = new Date().getTime();\n const startTimePerf = performance.now();\n function convertDateToPerformance(date: Date) {\n return date.getTime() - startTimeDate + startTimePerf;\n }\n\n const serializer = traceSerializer({ ignored_keys: INSTRUMENTATION_IGNORED_KEYS });\n\n function cleanSpanSources({ spanId }: { spanId: string }) {\n const parentId = spansMap.get(spanId)?.parent_id;\n if (!parentId) {\n return;\n }\n\n const spanCount = parentIdsMap.get(parentId);\n if (!spanCount) {\n return;\n }\n\n if (spanCount > 1) {\n // increase the span count for the parentId\n parentIdsMap.set(parentId, spanCount - 1);\n } else if (spanCount === 1) {\n parentIdsMap.delete(parentId);\n // check the `spansToDelete` if the span should be deleted when it has no children's\n if (spansToDeleteMap.has(parentId)) {\n spansMap.delete(parentId);\n spansToDeleteMap.delete(parentId);\n }\n }\n }\n\n /**\n * Create OpenTelemetry spans from collected data\n */\n emitter.match(\n (event) => event.path === `${basePath}.run.${finishEventName}`,\n async (_, meta) => {\n try {\n instrumentationLogger.debug({ path: meta.path, traceId: traceId }, \"run finish event\");\n\n if (!prompt && instance instanceof BaseAgent) {\n prompt = findLast(\n instance.memory.messages,\n (message) => message.role === Role.USER,\n )?.text;\n\n if (!prompt) {\n throw new FrameworkError(\"The prompt must be defined for the agent's run\", [], {\n context,\n });\n }\n }\n\n // create tracer spans from collected data\n buildTraceTree({\n prompt: prompt,\n history,\n generatedMessage,\n spans: JSON.parse(serializer(Array.from(spansMap.values()))),\n traceId,\n version: Version,\n runErrorSpanKey: `${basePath}.run.${errorEventName}`,\n startTime: startTimePerf,\n endTime: performance.now(),\n source: activeTracesMap.get(traceId)!,\n });\n } catch (e) {\n instrumentationLogger.warn(e, \"Instrumentation error\");\n } finally {\n activeTracesMap.delete(traceId);\n }\n },\n );\n\n /**\n * This block collects all \"not run category\" events with their data and prepares spans for the OpenTelemetry.\n * The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information\n * The framework event tree structure is different from the open-telemetry tree structure and must be transformed from groupId and parentGroupId pattern via idNameManager\n * The artificial \"iteration\" main tree level is computed from the `meta.groupId`\n */\n emitter.match(\"*.*\", (data, meta) => {\n // allow `run.error` event due to the runtime error information\n if (meta.path.includes(\".run.\") && meta.path !== `${basePath}.run.${errorEventName}`) {\n return;\n }\n if (!meta.trace?.runId) {\n throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {\n context,\n });\n }\n\n /**\n * create groupId span level (id does not exist)\n * I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity\n */\n if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {\n spansMap.set(\n meta.groupId,\n createSpan({\n id: meta.groupId,\n name: meta.groupId,\n target: \"groupId\",\n startedAt: convertDateToPerformance(meta.createdAt),\n }),\n );\n groupIterations.push(meta.groupId);\n }\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path: meta.path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n const serializedData = getSerializedObjectSafe(data);\n\n // skip partialUpdate events with no data\n if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {\n return;\n }\n\n const span = createSpan({\n id: spanId,\n name: meta.name,\n target: meta.path,\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n ctx: getSerializedObjectSafe(meta.context),\n data: serializedData,\n error: getErrorSafe(data),\n startedAt: convertDateToPerformance(meta.createdAt),\n });\n\n const lastIteration = groupIterations[groupIterations.length - 1];\n\n // delete the `newToken` event if exists and create the new one\n const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {\n // delete span\n cleanSpanSources({ spanId: lastIterationOnNewTokenSpanId });\n spansMap.delete(lastIterationOnNewTokenSpanId);\n }\n\n // delete the last `partialUpdate` event if the new one has same data and the original one does not have nested spans\n const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (\n lastIterationEventSpanId &&\n partialUpdateEventName === meta.name &&\n spansMap.has(lastIterationEventSpanId)\n ) {\n const { attributes, context } = spansMap.get(lastIterationEventSpanId)!;\n\n if (isDeepEqual(serializedData, attributes.data)) {\n if (parentIdsMap.has(context.span_id)) {\n spansToDeleteMap.set(lastIterationEventSpanId, undefined);\n } else {\n // delete span\n cleanSpanSources({ spanId: lastIterationEventSpanId });\n spansMap.delete(lastIterationEventSpanId);\n }\n }\n }\n\n // create new span\n spansMap.set(span.context.span_id, span);\n // update number of nested spans for parent_id if exists\n if (span.parent_id) {\n parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);\n }\n\n // save the last event for each iteration\n if (groupIterations.length > 0) {\n if (eventsIterationsMap.has(lastIteration)) {\n eventsIterationsMap.get(lastIteration)!.set(meta.name, span.context.span_id);\n } else {\n eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));\n }\n }\n });\n\n // The generated response and message history are collected from the `success` agent's event\n emitter.match(\n (event) => event.name === successEventName && event.creator instanceof BaseAgent,\n (data: InferCallbackValue<BeeCallbacks[typeof successEventName]>) => {\n const { data: dataObject, memory } = data;\n\n generatedMessage = {\n role: dataObject.role,\n text: dataObject.text,\n };\n history = memory.messages.map((msg) => ({ text: msg.text, role: msg.role }));\n },\n );\n\n // Read rawPrompt from llm input only for supported adapters and create the custom event with it\n emitter.match(\n (event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName,\n (_, meta) => {\n if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {\n // create a custom path to prevent event duplication\n const path = `${meta.path}.custom`;\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n spansMap.set(\n spanId,\n createSpan({\n id: spanId,\n name: `${meta.name}Custom`,\n target: path,\n startedAt: convertDateToPerformance(meta.createdAt),\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n data: {\n rawPrompt: undefined,\n creator: meta.creator.createSnapshot(),\n },\n }),\n );\n }\n },\n );\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { GetRunContext, RunInstance } from '../context.cjs';
2
- import '../emitter-C9EN5B0j.cjs';
2
+ import '../emitter-BWtGHYn0.cjs';
3
3
  import '../internals/types.cjs';
4
4
  import '../internals/helpers/guards.cjs';
5
5
  import '../internals/serializable.cjs';
@@ -1,5 +1,5 @@
1
1
  import { GetRunContext, RunInstance } from '../context.js';
2
- import '../emitter-BxVxGBbJ.js';
2
+ import '../emitter-l0W9gC1A.js';
3
3
  import '../internals/types.js';
4
4
  import '../internals/helpers/guards.js';
5
5
  import '../internals/serializable.js';
@@ -90,7 +90,7 @@ function createTelemetryMiddleware() {
90
90
  if (!prompt && instance instanceof BaseAgent) {
91
91
  prompt = findLast(instance.memory.messages, (message) => message.role === Role.USER)?.text;
92
92
  if (!prompt) {
93
- throw new FrameworkError("The prompt must be defined for the Agent's run", [], {
93
+ throw new FrameworkError("The prompt must be defined for the agent's run", [], {
94
94
  context
95
95
  });
96
96
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/instrumentation/create-telemetry-middleware.ts"],"names":["createTelemetryMiddleware","context","emitter","trace","id","FrameworkError","traceId","activeTracesMap","has","set","instance","constructor","name","instrumentationLogger","debug","source","runParams","basePath","createFullPath","namespace","prompt","BaseAgent","spansMap","Map","parentIdsMap","spansToDeleteMap","generatedMessage","undefined","history","groupIterations","idNameManager","IdNameManager","newTokenEventName","partialUpdateEventName","successEventName","finishEventName","startEventName","errorEventName","eventsIterationsMap","startTimeDate","Date","getTime","startTimePerf","performance","now","convertDateToPerformance","date","serializer","traceSerializer","ignored_keys","INSTRUMENTATION_IGNORED_KEYS","cleanSpanSources","spanId","parentId","get","parent_id","spanCount","delete","match","event","path","_","meta","findLast","memory","messages","message","role","Role","USER","text","buildTraceTree","spans","JSON","parse","Array","from","values","version","Version","runErrorSpanKey","startTime","endTime","e","warn","data","includes","runId","groupId","parentRunId","createSpan","target","startedAt","createdAt","push","parentSpanId","getIds","serializedData","getSerializedObjectSafe","isEmpty","span","parent","ctx","error","getErrorSafe","lastIteration","length","lastIterationOnNewTokenSpanId","lastIterationEventSpanId","attributes","isDeepEqual","span_id","creator","dataObject","map","msg","assertLLMWithMessagesToPromptFn","rawPrompt","createSnapshot"],"mappings":"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","file":"create-telemetry-middleware.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getSerializedObjectSafe } from \"./helpers/get-serialized-object-safe.js\";\nimport { createSpan } from \"./helpers/create-span.js\";\nimport { IdNameManager } from \"./helpers/id-name-manager.js\";\nimport { getErrorSafe } from \"./helpers/get-error-safe.js\";\nimport { findLast, isDeepEqual, isEmpty } from \"remeda\";\nimport type { BeeCallbacks } from \"@/agents/bee/types.js\";\nimport type { InferCallbackValue } from \"@/emitter/types.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Version } from \"@/version.js\";\nimport type { GetRunContext, RunInstance } from \"@/context.js\";\nimport type { GeneratedResponse, FrameworkSpan } from \"./types.js\";\nimport { activeTracesMap, buildTraceTree } from \"./tracer.js\";\nimport { traceSerializer } from \"./helpers/trace-serializer.js\";\nimport { INSTRUMENTATION_IGNORED_KEYS } from \"./config.js\";\nimport { createFullPath } from \"@/emitter/utils.js\";\nimport type { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { instrumentationLogger } from \"./logger.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { assertLLMWithMessagesToPromptFn } from \"./helpers/utils.js\";\nimport { Role } from \"@/backend/message.js\";\nimport { ChatModelEvents } from \"@/backend/chat.js\";\n\nexport function createTelemetryMiddleware() {\n return (context: GetRunContext<RunInstance, unknown>) => {\n if (!context.emitter?.trace?.id) {\n throw new FrameworkError(`Fatal error. Missing traceId`, [], { context });\n }\n\n const traceId = context.emitter?.trace?.id;\n if (activeTracesMap.has(traceId)) {\n return;\n }\n activeTracesMap.set(traceId, context.instance.constructor.name);\n\n instrumentationLogger.debug(\n {\n source: context.instance.constructor.name,\n traceId: traceId,\n },\n \"createTelemetryMiddleware\",\n );\n const { emitter, runParams, instance } = context;\n const basePath = createFullPath(emitter.namespace, \"\");\n\n let prompt: string | undefined | null = null;\n if (instance instanceof BaseAgent) {\n prompt = (runParams as Parameters<BeeAgent[\"run\"]>)[0].prompt;\n }\n\n const spansMap = new Map<string, FrameworkSpan>();\n const parentIdsMap = new Map<string, number>();\n const spansToDeleteMap = new Map<string, undefined>();\n\n let generatedMessage: GeneratedResponse | undefined = undefined;\n let history: GeneratedResponse[] | undefined = undefined;\n const groupIterations: string[] = [];\n\n const idNameManager = new IdNameManager();\n\n const newTokenEventName: keyof ChatModelEvents = `newToken`;\n const partialUpdateEventName: keyof BeeCallbacks = \"partialUpdate\";\n const successEventName: keyof ChatModelEvents = `success`;\n const finishEventName: keyof ChatModelEvents = `finish`;\n const startEventName: keyof ChatModelEvents = `start`;\n const errorEventName: keyof ChatModelEvents = `error`;\n\n const eventsIterationsMap = new Map<string, Map<string, string>>();\n\n const startTimeDate = new Date().getTime();\n const startTimePerf = performance.now();\n function convertDateToPerformance(date: Date) {\n return date.getTime() - startTimeDate + startTimePerf;\n }\n\n const serializer = traceSerializer({ ignored_keys: INSTRUMENTATION_IGNORED_KEYS });\n\n function cleanSpanSources({ spanId }: { spanId: string }) {\n const parentId = spansMap.get(spanId)?.parent_id;\n if (!parentId) {\n return;\n }\n\n const spanCount = parentIdsMap.get(parentId);\n if (!spanCount) {\n return;\n }\n\n if (spanCount > 1) {\n // increase the span count for the parentId\n parentIdsMap.set(parentId, spanCount - 1);\n } else if (spanCount === 1) {\n parentIdsMap.delete(parentId);\n // check the `spansToDelete` if the span should be deleted when it has no children's\n if (spansToDeleteMap.has(parentId)) {\n spansMap.delete(parentId);\n spansToDeleteMap.delete(parentId);\n }\n }\n }\n\n /**\n * Create OpenTelemetry spans from collected data\n */\n emitter.match(\n (event) => event.path === `${basePath}.run.${finishEventName}`,\n async (_, meta) => {\n try {\n instrumentationLogger.debug({ path: meta.path, traceId: traceId }, \"run finish event\");\n\n if (!prompt && instance instanceof BaseAgent) {\n prompt = findLast(\n instance.memory.messages,\n (message) => message.role === Role.USER,\n )?.text;\n\n if (!prompt) {\n throw new FrameworkError(\"The prompt must be defined for the Agent's run\", [], {\n context,\n });\n }\n }\n\n // create tracer spans from collected data\n buildTraceTree({\n prompt: prompt,\n history,\n generatedMessage,\n spans: JSON.parse(serializer(Array.from(spansMap.values()))),\n traceId,\n version: Version,\n runErrorSpanKey: `${basePath}.run.${errorEventName}`,\n startTime: startTimePerf,\n endTime: performance.now(),\n source: activeTracesMap.get(traceId)!,\n });\n } catch (e) {\n instrumentationLogger.warn(e, \"Instrumentation error\");\n } finally {\n activeTracesMap.delete(traceId);\n }\n },\n );\n\n /**\n * This block collects all \"not run category\" events with their data and prepares spans for the OpenTelemetry.\n * The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information\n * The framework event tree structure is different from the open-telemetry tree structure and must be transformed from groupId and parentGroupId pattern via idNameManager\n * The artificial \"iteration\" main tree level is computed from the `meta.groupId`\n */\n emitter.match(\"*.*\", (data, meta) => {\n // allow `run.error` event due to the runtime error information\n if (meta.path.includes(\".run.\") && meta.path !== `${basePath}.run.${errorEventName}`) {\n return;\n }\n if (!meta.trace?.runId) {\n throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {\n context,\n });\n }\n\n /**\n * create groupId span level (id does not exist)\n * I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity\n */\n if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {\n spansMap.set(\n meta.groupId,\n createSpan({\n id: meta.groupId,\n name: meta.groupId,\n target: \"groupId\",\n startedAt: convertDateToPerformance(meta.createdAt),\n }),\n );\n groupIterations.push(meta.groupId);\n }\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path: meta.path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n const serializedData = getSerializedObjectSafe(data);\n\n // skip partialUpdate events with no data\n if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {\n return;\n }\n\n const span = createSpan({\n id: spanId,\n name: meta.name,\n target: meta.path,\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n ctx: getSerializedObjectSafe(meta.context),\n data: serializedData,\n error: getErrorSafe(data),\n startedAt: convertDateToPerformance(meta.createdAt),\n });\n\n const lastIteration = groupIterations[groupIterations.length - 1];\n\n // delete the `newToken` event if exists and create the new one\n const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {\n // delete span\n cleanSpanSources({ spanId: lastIterationOnNewTokenSpanId });\n spansMap.delete(lastIterationOnNewTokenSpanId);\n }\n\n // delete the last `partialUpdate` event if the new one has same data and the original one does not have nested spans\n const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (\n lastIterationEventSpanId &&\n partialUpdateEventName === meta.name &&\n spansMap.has(lastIterationEventSpanId)\n ) {\n const { attributes, context } = spansMap.get(lastIterationEventSpanId)!;\n\n if (isDeepEqual(serializedData, attributes.data)) {\n if (parentIdsMap.has(context.span_id)) {\n spansToDeleteMap.set(lastIterationEventSpanId, undefined);\n } else {\n // delete span\n cleanSpanSources({ spanId: lastIterationEventSpanId });\n spansMap.delete(lastIterationEventSpanId);\n }\n }\n }\n\n // create new span\n spansMap.set(span.context.span_id, span);\n // update number of nested spans for parent_id if exists\n if (span.parent_id) {\n parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);\n }\n\n // save the last event for each iteration\n if (groupIterations.length > 0) {\n if (eventsIterationsMap.has(lastIteration)) {\n eventsIterationsMap.get(lastIteration)!.set(meta.name, span.context.span_id);\n } else {\n eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));\n }\n }\n });\n\n // The generated response and message history are collected from the `success` agent's event\n emitter.match(\n (event) => event.name === successEventName && event.creator instanceof BaseAgent,\n (data: InferCallbackValue<BeeCallbacks[typeof successEventName]>) => {\n const { data: dataObject, memory } = data;\n\n generatedMessage = {\n role: dataObject.role,\n text: dataObject.text,\n };\n history = memory.messages.map((msg) => ({ text: msg.text, role: msg.role }));\n },\n );\n\n // Read rawPrompt from llm input only for supported adapters and create the custom event with it\n emitter.match(\n (event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName,\n (_, meta) => {\n if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {\n // create a custom path to prevent event duplication\n const path = `${meta.path}.custom`;\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n spansMap.set(\n spanId,\n createSpan({\n id: spanId,\n name: `${meta.name}Custom`,\n target: path,\n startedAt: convertDateToPerformance(meta.createdAt),\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n data: {\n rawPrompt: undefined,\n creator: meta.creator.createSnapshot(),\n },\n }),\n );\n }\n },\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["create-telemetry-middleware.ts"],"names":["createTelemetryMiddleware","context","emitter","trace","id","FrameworkError","traceId","activeTracesMap","has","set","instance","constructor","name","instrumentationLogger","debug","source","runParams","basePath","createFullPath","namespace","prompt","BaseAgent","spansMap","Map","parentIdsMap","spansToDeleteMap","generatedMessage","undefined","history","groupIterations","idNameManager","IdNameManager","newTokenEventName","partialUpdateEventName","successEventName","finishEventName","startEventName","errorEventName","eventsIterationsMap","startTimeDate","Date","getTime","startTimePerf","performance","now","convertDateToPerformance","date","serializer","traceSerializer","ignored_keys","INSTRUMENTATION_IGNORED_KEYS","cleanSpanSources","spanId","parentId","get","parent_id","spanCount","delete","match","event","path","_","meta","findLast","memory","messages","message","role","Role","USER","text","buildTraceTree","spans","JSON","parse","Array","from","values","version","Version","runErrorSpanKey","startTime","endTime","e","warn","data","includes","runId","groupId","parentRunId","createSpan","target","startedAt","createdAt","push","parentSpanId","getIds","serializedData","getSerializedObjectSafe","isEmpty","span","parent","ctx","error","getErrorSafe","lastIteration","length","lastIterationOnNewTokenSpanId","lastIterationEventSpanId","attributes","isDeepEqual","span_id","creator","dataObject","map","msg","assertLLMWithMessagesToPromptFn","rawPrompt","createSnapshot"],"mappings":"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","file":"create-telemetry-middleware.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getSerializedObjectSafe } from \"./helpers/get-serialized-object-safe.js\";\nimport { createSpan } from \"./helpers/create-span.js\";\nimport { IdNameManager } from \"./helpers/id-name-manager.js\";\nimport { getErrorSafe } from \"./helpers/get-error-safe.js\";\nimport { findLast, isDeepEqual, isEmpty } from \"remeda\";\nimport type { BeeCallbacks } from \"@/agents/bee/types.js\";\nimport type { InferCallbackValue } from \"@/emitter/types.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Version } from \"@/version.js\";\nimport type { GetRunContext, RunInstance } from \"@/context.js\";\nimport type { GeneratedResponse, FrameworkSpan } from \"./types.js\";\nimport { activeTracesMap, buildTraceTree } from \"./tracer.js\";\nimport { traceSerializer } from \"./helpers/trace-serializer.js\";\nimport { INSTRUMENTATION_IGNORED_KEYS } from \"./config.js\";\nimport { createFullPath } from \"@/emitter/utils.js\";\nimport type { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { instrumentationLogger } from \"./logger.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { assertLLMWithMessagesToPromptFn } from \"./helpers/utils.js\";\nimport { Role } from \"@/backend/message.js\";\nimport { ChatModelEvents } from \"@/backend/chat.js\";\n\nexport function createTelemetryMiddleware() {\n return (context: GetRunContext<RunInstance, unknown>) => {\n if (!context.emitter?.trace?.id) {\n throw new FrameworkError(`Fatal error. Missing traceId`, [], { context });\n }\n\n const traceId = context.emitter?.trace?.id;\n if (activeTracesMap.has(traceId)) {\n return;\n }\n activeTracesMap.set(traceId, context.instance.constructor.name);\n\n instrumentationLogger.debug(\n {\n source: context.instance.constructor.name,\n traceId: traceId,\n },\n \"createTelemetryMiddleware\",\n );\n const { emitter, runParams, instance } = context;\n const basePath = createFullPath(emitter.namespace, \"\");\n\n let prompt: string | undefined | null = null;\n if (instance instanceof BaseAgent) {\n prompt = (runParams as Parameters<BeeAgent[\"run\"]>)[0].prompt;\n }\n\n const spansMap = new Map<string, FrameworkSpan>();\n const parentIdsMap = new Map<string, number>();\n const spansToDeleteMap = new Map<string, undefined>();\n\n let generatedMessage: GeneratedResponse | undefined = undefined;\n let history: GeneratedResponse[] | undefined = undefined;\n const groupIterations: string[] = [];\n\n const idNameManager = new IdNameManager();\n\n const newTokenEventName: keyof ChatModelEvents = `newToken`;\n const partialUpdateEventName: keyof BeeCallbacks = \"partialUpdate\";\n const successEventName: keyof ChatModelEvents = `success`;\n const finishEventName: keyof ChatModelEvents = `finish`;\n const startEventName: keyof ChatModelEvents = `start`;\n const errorEventName: keyof ChatModelEvents = `error`;\n\n const eventsIterationsMap = new Map<string, Map<string, string>>();\n\n const startTimeDate = new Date().getTime();\n const startTimePerf = performance.now();\n function convertDateToPerformance(date: Date) {\n return date.getTime() - startTimeDate + startTimePerf;\n }\n\n const serializer = traceSerializer({ ignored_keys: INSTRUMENTATION_IGNORED_KEYS });\n\n function cleanSpanSources({ spanId }: { spanId: string }) {\n const parentId = spansMap.get(spanId)?.parent_id;\n if (!parentId) {\n return;\n }\n\n const spanCount = parentIdsMap.get(parentId);\n if (!spanCount) {\n return;\n }\n\n if (spanCount > 1) {\n // increase the span count for the parentId\n parentIdsMap.set(parentId, spanCount - 1);\n } else if (spanCount === 1) {\n parentIdsMap.delete(parentId);\n // check the `spansToDelete` if the span should be deleted when it has no children's\n if (spansToDeleteMap.has(parentId)) {\n spansMap.delete(parentId);\n spansToDeleteMap.delete(parentId);\n }\n }\n }\n\n /**\n * Create OpenTelemetry spans from collected data\n */\n emitter.match(\n (event) => event.path === `${basePath}.run.${finishEventName}`,\n async (_, meta) => {\n try {\n instrumentationLogger.debug({ path: meta.path, traceId: traceId }, \"run finish event\");\n\n if (!prompt && instance instanceof BaseAgent) {\n prompt = findLast(\n instance.memory.messages,\n (message) => message.role === Role.USER,\n )?.text;\n\n if (!prompt) {\n throw new FrameworkError(\"The prompt must be defined for the agent's run\", [], {\n context,\n });\n }\n }\n\n // create tracer spans from collected data\n buildTraceTree({\n prompt: prompt,\n history,\n generatedMessage,\n spans: JSON.parse(serializer(Array.from(spansMap.values()))),\n traceId,\n version: Version,\n runErrorSpanKey: `${basePath}.run.${errorEventName}`,\n startTime: startTimePerf,\n endTime: performance.now(),\n source: activeTracesMap.get(traceId)!,\n });\n } catch (e) {\n instrumentationLogger.warn(e, \"Instrumentation error\");\n } finally {\n activeTracesMap.delete(traceId);\n }\n },\n );\n\n /**\n * This block collects all \"not run category\" events with their data and prepares spans for the OpenTelemetry.\n * The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information\n * The framework event tree structure is different from the open-telemetry tree structure and must be transformed from groupId and parentGroupId pattern via idNameManager\n * The artificial \"iteration\" main tree level is computed from the `meta.groupId`\n */\n emitter.match(\"*.*\", (data, meta) => {\n // allow `run.error` event due to the runtime error information\n if (meta.path.includes(\".run.\") && meta.path !== `${basePath}.run.${errorEventName}`) {\n return;\n }\n if (!meta.trace?.runId) {\n throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {\n context,\n });\n }\n\n /**\n * create groupId span level (id does not exist)\n * I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity\n */\n if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {\n spansMap.set(\n meta.groupId,\n createSpan({\n id: meta.groupId,\n name: meta.groupId,\n target: \"groupId\",\n startedAt: convertDateToPerformance(meta.createdAt),\n }),\n );\n groupIterations.push(meta.groupId);\n }\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path: meta.path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n const serializedData = getSerializedObjectSafe(data);\n\n // skip partialUpdate events with no data\n if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {\n return;\n }\n\n const span = createSpan({\n id: spanId,\n name: meta.name,\n target: meta.path,\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n ctx: getSerializedObjectSafe(meta.context),\n data: serializedData,\n error: getErrorSafe(data),\n startedAt: convertDateToPerformance(meta.createdAt),\n });\n\n const lastIteration = groupIterations[groupIterations.length - 1];\n\n // delete the `newToken` event if exists and create the new one\n const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {\n // delete span\n cleanSpanSources({ spanId: lastIterationOnNewTokenSpanId });\n spansMap.delete(lastIterationOnNewTokenSpanId);\n }\n\n // delete the last `partialUpdate` event if the new one has same data and the original one does not have nested spans\n const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (\n lastIterationEventSpanId &&\n partialUpdateEventName === meta.name &&\n spansMap.has(lastIterationEventSpanId)\n ) {\n const { attributes, context } = spansMap.get(lastIterationEventSpanId)!;\n\n if (isDeepEqual(serializedData, attributes.data)) {\n if (parentIdsMap.has(context.span_id)) {\n spansToDeleteMap.set(lastIterationEventSpanId, undefined);\n } else {\n // delete span\n cleanSpanSources({ spanId: lastIterationEventSpanId });\n spansMap.delete(lastIterationEventSpanId);\n }\n }\n }\n\n // create new span\n spansMap.set(span.context.span_id, span);\n // update number of nested spans for parent_id if exists\n if (span.parent_id) {\n parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);\n }\n\n // save the last event for each iteration\n if (groupIterations.length > 0) {\n if (eventsIterationsMap.has(lastIteration)) {\n eventsIterationsMap.get(lastIteration)!.set(meta.name, span.context.span_id);\n } else {\n eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));\n }\n }\n });\n\n // The generated response and message history are collected from the `success` agent's event\n emitter.match(\n (event) => event.name === successEventName && event.creator instanceof BaseAgent,\n (data: InferCallbackValue<BeeCallbacks[typeof successEventName]>) => {\n const { data: dataObject, memory } = data;\n\n generatedMessage = {\n role: dataObject.role,\n text: dataObject.text,\n };\n history = memory.messages.map((msg) => ({ text: msg.text, role: msg.role }));\n },\n );\n\n // Read rawPrompt from llm input only for supported adapters and create the custom event with it\n emitter.match(\n (event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName,\n (_, meta) => {\n if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {\n // create a custom path to prevent event duplication\n const path = `${meta.path}.custom`;\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n spansMap.set(\n spanId,\n createSpan({\n id: spanId,\n name: `${meta.name}Custom`,\n target: path,\n startedAt: convertDateToPerformance(meta.createdAt),\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n data: {\n rawPrompt: undefined,\n creator: meta.creator.createSnapshot(),\n },\n }),\n );\n }\n },\n );\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/create-span.ts"],"names":["createSpan","target","name","data","error","ctx","parent","id","startedAt","attributes","isEmpty","context","span_id","parent_id","status","code","SpanStatusCode","ERROR","OK","message","start_time","end_time","performance","now"],"mappings":";;;;;;;AA+BO,SAASA,UAAAA,CAAW,EACzBC,MAAAA,EACAC,IACAC,EAAAA,IAAAA,EACAC,OACAC,GACAC,EAAAA,MAAAA,EACAC,EACAC,EAAAA,SAAAA,EACgB,EAAA;AAChB,EAAO,OAAA;AACLN,IAAAA,IAAAA;IACAO,UAAY,EAAA;AACVR,MAAAA,MAAAA;AACAE,MAAAA,IAAAA,EAAMA,IAAQ,IAAA,CAACO,cAAQP,CAAAA,IAAAA,CAAQ,GAAA;QAAE,GAAGA;OAAS,GAAA,IAAA;AAC7CE,MAAAA,GAAAA,EAAKA,GAAO,IAAA,CAACK,cAAQL,CAAAA,GAAAA,CAAO,GAAA;QAAE,GAAGA;OAAQ,GAAA;AAC3C,KAAA;IACAM,OAAS,EAAA;MACPC,OAASL,EAAAA;AACX,KAAA;AACAM,IAAAA,SAAAA,EAAWP,MAAQC,EAAAA,EAAAA;IACnBO,MAAQ,EAAA;MACNC,IAAMX,EAAAA,KAAAA,GAAQY,kBAAeC,CAAAA,KAAAA,GAAQD,kBAAeE,CAAAA,EAAAA;AACpDC,MAAAA,OAAAA,EAASf,QAAQA,KAAQ,GAAA;AAC3B,KAAA;IACAgB,UAAYZ,EAAAA,SAAAA;AACZa,IAAAA,QAAAA,EAAUC,YAAYC,GAAG;AAC3B,GAAA;AACF;AA5BgBvB,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"create-span.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SpanStatusCode, TimeInput } from \"@opentelemetry/api\";\nimport { FrameworkSpan } from \"@/instrumentation/types.js\";\nimport { isEmpty } from \"remeda\";\n\ninterface CreateSpanProps {\n id: string;\n name: string;\n target: string;\n startedAt: TimeInput;\n ctx?: any;\n data?: any;\n error?: string;\n parent?: { id: string };\n}\n\nexport function createSpan({\n target,\n name,\n data,\n error,\n ctx,\n parent,\n id,\n startedAt,\n}: CreateSpanProps): FrameworkSpan {\n return {\n name: name,\n attributes: {\n target,\n data: data && !isEmpty(data) ? { ...data } : null,\n ctx: ctx && !isEmpty(ctx) ? { ...ctx } : null,\n },\n context: {\n span_id: id,\n },\n parent_id: parent?.id,\n status: {\n code: error ? SpanStatusCode.ERROR : SpanStatusCode.OK,\n message: error ? error : \"\",\n },\n start_time: startedAt,\n end_time: performance.now(),\n };\n}\n"]}
1
+ {"version":3,"sources":["create-span.ts"],"names":["createSpan","target","name","data","error","ctx","parent","id","startedAt","attributes","isEmpty","context","span_id","parent_id","status","code","SpanStatusCode","ERROR","OK","message","start_time","end_time","performance","now"],"mappings":";;;;;;;AA+BO,SAASA,UAAAA,CAAW,EACzBC,MAAAA,EACAC,IACAC,EAAAA,IAAAA,EACAC,OACAC,GACAC,EAAAA,MAAAA,EACAC,EACAC,EAAAA,SAAAA,EACgB,EAAA;AAChB,EAAO,OAAA;AACLN,IAAAA,IAAAA;IACAO,UAAY,EAAA;AACVR,MAAAA,MAAAA;AACAE,MAAAA,IAAAA,EAAMA,IAAQ,IAAA,CAACO,cAAQP,CAAAA,IAAAA,CAAQ,GAAA;QAAE,GAAGA;OAAS,GAAA,IAAA;AAC7CE,MAAAA,GAAAA,EAAKA,GAAO,IAAA,CAACK,cAAQL,CAAAA,GAAAA,CAAO,GAAA;QAAE,GAAGA;OAAQ,GAAA;AAC3C,KAAA;IACAM,OAAS,EAAA;MACPC,OAASL,EAAAA;AACX,KAAA;AACAM,IAAAA,SAAAA,EAAWP,MAAQC,EAAAA,EAAAA;IACnBO,MAAQ,EAAA;MACNC,IAAMX,EAAAA,KAAAA,GAAQY,kBAAeC,CAAAA,KAAAA,GAAQD,kBAAeE,CAAAA,EAAAA;AACpDC,MAAAA,OAAAA,EAASf,QAAQA,KAAQ,GAAA;AAC3B,KAAA;IACAgB,UAAYZ,EAAAA,SAAAA;AACZa,IAAAA,QAAAA,EAAUC,YAAYC,GAAG;AAC3B,GAAA;AACF;AA5BgBvB,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"create-span.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SpanStatusCode, TimeInput } from \"@opentelemetry/api\";\nimport { FrameworkSpan } from \"@/instrumentation/types.js\";\nimport { isEmpty } from \"remeda\";\n\ninterface CreateSpanProps {\n id: string;\n name: string;\n target: string;\n startedAt: TimeInput;\n ctx?: any;\n data?: any;\n error?: string;\n parent?: { id: string };\n}\n\nexport function createSpan({\n target,\n name,\n data,\n error,\n ctx,\n parent,\n id,\n startedAt,\n}: CreateSpanProps): FrameworkSpan {\n return {\n name: name,\n attributes: {\n target,\n data: data && !isEmpty(data) ? { ...data } : null,\n ctx: ctx && !isEmpty(ctx) ? { ...ctx } : null,\n },\n context: {\n span_id: id,\n },\n parent_id: parent?.id,\n status: {\n code: error ? SpanStatusCode.ERROR : SpanStatusCode.OK,\n message: error ? error : \"\",\n },\n start_time: startedAt,\n end_time: performance.now(),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/create-span.ts"],"names":["createSpan","target","name","data","error","ctx","parent","id","startedAt","attributes","isEmpty","context","span_id","parent_id","status","code","SpanStatusCode","ERROR","OK","message","start_time","end_time","performance","now"],"mappings":";;;;;AA+BO,SAASA,UAAAA,CAAW,EACzBC,MAAAA,EACAC,IACAC,EAAAA,IAAAA,EACAC,OACAC,GACAC,EAAAA,MAAAA,EACAC,EACAC,EAAAA,SAAAA,EACgB,EAAA;AAChB,EAAO,OAAA;AACLN,IAAAA,IAAAA;IACAO,UAAY,EAAA;AACVR,MAAAA,MAAAA;AACAE,MAAAA,IAAAA,EAAMA,IAAQ,IAAA,CAACO,OAAQP,CAAAA,IAAAA,CAAQ,GAAA;QAAE,GAAGA;OAAS,GAAA,IAAA;AAC7CE,MAAAA,GAAAA,EAAKA,GAAO,IAAA,CAACK,OAAQL,CAAAA,GAAAA,CAAO,GAAA;QAAE,GAAGA;OAAQ,GAAA;AAC3C,KAAA;IACAM,OAAS,EAAA;MACPC,OAASL,EAAAA;AACX,KAAA;AACAM,IAAAA,SAAAA,EAAWP,MAAQC,EAAAA,EAAAA;IACnBO,MAAQ,EAAA;MACNC,IAAMX,EAAAA,KAAAA,GAAQY,cAAeC,CAAAA,KAAAA,GAAQD,cAAeE,CAAAA,EAAAA;AACpDC,MAAAA,OAAAA,EAASf,QAAQA,KAAQ,GAAA;AAC3B,KAAA;IACAgB,UAAYZ,EAAAA,SAAAA;AACZa,IAAAA,QAAAA,EAAUC,YAAYC,GAAG;AAC3B,GAAA;AACF;AA5BgBvB,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"create-span.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SpanStatusCode, TimeInput } from \"@opentelemetry/api\";\nimport { FrameworkSpan } from \"@/instrumentation/types.js\";\nimport { isEmpty } from \"remeda\";\n\ninterface CreateSpanProps {\n id: string;\n name: string;\n target: string;\n startedAt: TimeInput;\n ctx?: any;\n data?: any;\n error?: string;\n parent?: { id: string };\n}\n\nexport function createSpan({\n target,\n name,\n data,\n error,\n ctx,\n parent,\n id,\n startedAt,\n}: CreateSpanProps): FrameworkSpan {\n return {\n name: name,\n attributes: {\n target,\n data: data && !isEmpty(data) ? { ...data } : null,\n ctx: ctx && !isEmpty(ctx) ? { ...ctx } : null,\n },\n context: {\n span_id: id,\n },\n parent_id: parent?.id,\n status: {\n code: error ? SpanStatusCode.ERROR : SpanStatusCode.OK,\n message: error ? error : \"\",\n },\n start_time: startedAt,\n end_time: performance.now(),\n };\n}\n"]}
1
+ {"version":3,"sources":["create-span.ts"],"names":["createSpan","target","name","data","error","ctx","parent","id","startedAt","attributes","isEmpty","context","span_id","parent_id","status","code","SpanStatusCode","ERROR","OK","message","start_time","end_time","performance","now"],"mappings":";;;;;AA+BO,SAASA,UAAAA,CAAW,EACzBC,MAAAA,EACAC,IACAC,EAAAA,IAAAA,EACAC,OACAC,GACAC,EAAAA,MAAAA,EACAC,EACAC,EAAAA,SAAAA,EACgB,EAAA;AAChB,EAAO,OAAA;AACLN,IAAAA,IAAAA;IACAO,UAAY,EAAA;AACVR,MAAAA,MAAAA;AACAE,MAAAA,IAAAA,EAAMA,IAAQ,IAAA,CAACO,OAAQP,CAAAA,IAAAA,CAAQ,GAAA;QAAE,GAAGA;OAAS,GAAA,IAAA;AAC7CE,MAAAA,GAAAA,EAAKA,GAAO,IAAA,CAACK,OAAQL,CAAAA,GAAAA,CAAO,GAAA;QAAE,GAAGA;OAAQ,GAAA;AAC3C,KAAA;IACAM,OAAS,EAAA;MACPC,OAASL,EAAAA;AACX,KAAA;AACAM,IAAAA,SAAAA,EAAWP,MAAQC,EAAAA,EAAAA;IACnBO,MAAQ,EAAA;MACNC,IAAMX,EAAAA,KAAAA,GAAQY,cAAeC,CAAAA,KAAAA,GAAQD,cAAeE,CAAAA,EAAAA;AACpDC,MAAAA,OAAAA,EAASf,QAAQA,KAAQ,GAAA;AAC3B,KAAA;IACAgB,UAAYZ,EAAAA,SAAAA;AACZa,IAAAA,QAAAA,EAAUC,YAAYC,GAAG;AAC3B,GAAA;AACF;AA5BgBvB,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"create-span.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SpanStatusCode, TimeInput } from \"@opentelemetry/api\";\nimport { FrameworkSpan } from \"@/instrumentation/types.js\";\nimport { isEmpty } from \"remeda\";\n\ninterface CreateSpanProps {\n id: string;\n name: string;\n target: string;\n startedAt: TimeInput;\n ctx?: any;\n data?: any;\n error?: string;\n parent?: { id: string };\n}\n\nexport function createSpan({\n target,\n name,\n data,\n error,\n ctx,\n parent,\n id,\n startedAt,\n}: CreateSpanProps): FrameworkSpan {\n return {\n name: name,\n attributes: {\n target,\n data: data && !isEmpty(data) ? { ...data } : null,\n ctx: ctx && !isEmpty(ctx) ? { ...ctx } : null,\n },\n context: {\n span_id: id,\n },\n parent_id: parent?.id,\n status: {\n code: error ? SpanStatusCode.ERROR : SpanStatusCode.OK,\n message: error ? error : \"\",\n },\n start_time: startedAt,\n end_time: performance.now(),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/get-error-safe.ts"],"names":["getErrorSafe","data","error","getProp","FrameworkError","ensure","explain"],"mappings":";;;;;;;AAmBO,SAASA,aAAaC,IAAa,EAAA;AACxC,EAAMC,MAAAA,KAAAA,GAAQC,mBAAQF,IAAM,EAAA;AAAC,IAAA;KAAUA,IAAAA,CAAAA;AAEvC,EAAA,IAAIC,iBAAiBE,yBAAgB,EAAA;AACnC,IAAA,OAAOA,yBAAeC,CAAAA,MAAAA,CAAOH,KAAAA,CAAAA,CAAOI,OAAO,EAAA;AAC7C;AACF;AANgBN,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"get-error-safe.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getErrorSafe(data: unknown): string | undefined {\n const error = getProp(data, [\"error\"], data);\n\n if (error instanceof FrameworkError) {\n return FrameworkError.ensure(error).explain();\n }\n}\n"]}
1
+ {"version":3,"sources":["get-error-safe.ts"],"names":["getErrorSafe","data","error","getProp","FrameworkError","ensure","explain"],"mappings":";;;;;;;AAmBO,SAASA,aAAaC,IAAa,EAAA;AACxC,EAAMC,MAAAA,KAAAA,GAAQC,mBAAQF,IAAM,EAAA;AAAC,IAAA;KAAUA,IAAAA,CAAAA;AAEvC,EAAA,IAAIC,iBAAiBE,yBAAgB,EAAA;AACnC,IAAA,OAAOA,yBAAeC,CAAAA,MAAAA,CAAOH,KAAAA,CAAAA,CAAOI,OAAO,EAAA;AAC7C;AACF;AANgBN,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"get-error-safe.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getErrorSafe(data: unknown): string | undefined {\n const error = getProp(data, [\"error\"], data);\n\n if (error instanceof FrameworkError) {\n return FrameworkError.ensure(error).explain();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/get-error-safe.ts"],"names":["getErrorSafe","data","error","getProp","FrameworkError","ensure","explain"],"mappings":";;;;;AAmBO,SAASA,aAAaC,IAAa,EAAA;AACxC,EAAMC,MAAAA,KAAAA,GAAQC,QAAQF,IAAM,EAAA;AAAC,IAAA;KAAUA,IAAAA,CAAAA;AAEvC,EAAA,IAAIC,iBAAiBE,cAAgB,EAAA;AACnC,IAAA,OAAOA,cAAeC,CAAAA,MAAAA,CAAOH,KAAAA,CAAAA,CAAOI,OAAO,EAAA;AAC7C;AACF;AANgBN,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"get-error-safe.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getErrorSafe(data: unknown): string | undefined {\n const error = getProp(data, [\"error\"], data);\n\n if (error instanceof FrameworkError) {\n return FrameworkError.ensure(error).explain();\n }\n}\n"]}
1
+ {"version":3,"sources":["get-error-safe.ts"],"names":["getErrorSafe","data","error","getProp","FrameworkError","ensure","explain"],"mappings":";;;;;AAmBO,SAASA,aAAaC,IAAa,EAAA;AACxC,EAAMC,MAAAA,KAAAA,GAAQC,QAAQF,IAAM,EAAA;AAAC,IAAA;KAAUA,IAAAA,CAAAA;AAEvC,EAAA,IAAIC,iBAAiBE,cAAgB,EAAA;AACnC,IAAA,OAAOA,cAAeC,CAAAA,MAAAA,CAAOH,KAAAA,CAAAA,CAAOI,OAAO,EAAA;AAC7C;AACF;AANgBN,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"get-error-safe.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getErrorSafe(data: unknown): string | undefined {\n const error = getProp(data, [\"error\"], data);\n\n if (error instanceof FrameworkError) {\n return FrameworkError.ensure(error).explain();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/get-serialized-object-safe.ts"],"names":["getSerializedObjectSafe","dataObject","data","getProp","Serializable","createSnapshot","e","instrumentationLogger","warn"],"mappings":";;;;;;;;AAoBO,SAASA,wBAAwBC,UAAe,EAAA;AACrD,EAAMC,MAAAA,IAAAA,GAAOC,mBAAQF,UAAY,EAAA;AAAC,IAAA;KAASA,UAAAA,CAAAA;AAE3C,EAAA,IAAIC,gBAAgBE,6BAAc,EAAA;AAChC,IAAI,IAAA;AACF,MAAA,OAAOF,KAAKG,cAAc,EAAA;AAC5B,KAAA,CAAA,OAASC,CAAG,EAAA;AACVC,MAAsBC,gCAAAA,CAAAA,IAAAA,CAAKF,GAAG,yDAAA,CAAA;AAC9B,MAAO,OAAA,IAAA;AACT;AACF;AACA,EAAOJ,OAAAA,IAAAA;AACT;AAZgBF,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"get-serialized-object-safe.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { instrumentationLogger } from \"@/instrumentation/logger.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getSerializedObjectSafe(dataObject: any) {\n const data = getProp(dataObject, [\"data\"], dataObject);\n\n if (data instanceof Serializable) {\n try {\n return data.createSnapshot();\n } catch (e) {\n instrumentationLogger.warn(e, \"Invalid createSnapshot method in the Serializable class\");\n return null;\n }\n }\n return data;\n}\n"]}
1
+ {"version":3,"sources":["get-serialized-object-safe.ts"],"names":["getSerializedObjectSafe","dataObject","data","getProp","Serializable","createSnapshot","e","instrumentationLogger","warn"],"mappings":";;;;;;;;AAoBO,SAASA,wBAAwBC,UAAe,EAAA;AACrD,EAAMC,MAAAA,IAAAA,GAAOC,mBAAQF,UAAY,EAAA;AAAC,IAAA;KAASA,UAAAA,CAAAA;AAE3C,EAAA,IAAIC,gBAAgBE,6BAAc,EAAA;AAChC,IAAI,IAAA;AACF,MAAA,OAAOF,KAAKG,cAAc,EAAA;AAC5B,KAAA,CAAA,OAASC,CAAG,EAAA;AACVC,MAAsBC,gCAAAA,CAAAA,IAAAA,CAAKF,GAAG,yDAAA,CAAA;AAC9B,MAAO,OAAA,IAAA;AACT;AACF;AACA,EAAOJ,OAAAA,IAAAA;AACT;AAZgBF,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"get-serialized-object-safe.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { instrumentationLogger } from \"@/instrumentation/logger.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getSerializedObjectSafe(dataObject: any) {\n const data = getProp(dataObject, [\"data\"], dataObject);\n\n if (data instanceof Serializable) {\n try {\n return data.createSnapshot();\n } catch (e) {\n instrumentationLogger.warn(e, \"Invalid createSnapshot method in the Serializable class\");\n return null;\n }\n }\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/get-serialized-object-safe.ts"],"names":["getSerializedObjectSafe","dataObject","data","getProp","Serializable","createSnapshot","e","instrumentationLogger","warn"],"mappings":";;;;;;AAoBO,SAASA,wBAAwBC,UAAe,EAAA;AACrD,EAAMC,MAAAA,IAAAA,GAAOC,QAAQF,UAAY,EAAA;AAAC,IAAA;KAASA,UAAAA,CAAAA;AAE3C,EAAA,IAAIC,gBAAgBE,YAAc,EAAA;AAChC,IAAI,IAAA;AACF,MAAA,OAAOF,KAAKG,cAAc,EAAA;AAC5B,KAAA,CAAA,OAASC,CAAG,EAAA;AACVC,MAAsBC,qBAAAA,CAAAA,IAAAA,CAAKF,GAAG,yDAAA,CAAA;AAC9B,MAAO,OAAA,IAAA;AACT;AACF;AACA,EAAOJ,OAAAA,IAAAA;AACT;AAZgBF,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"get-serialized-object-safe.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { instrumentationLogger } from \"@/instrumentation/logger.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getSerializedObjectSafe(dataObject: any) {\n const data = getProp(dataObject, [\"data\"], dataObject);\n\n if (data instanceof Serializable) {\n try {\n return data.createSnapshot();\n } catch (e) {\n instrumentationLogger.warn(e, \"Invalid createSnapshot method in the Serializable class\");\n return null;\n }\n }\n return data;\n}\n"]}
1
+ {"version":3,"sources":["get-serialized-object-safe.ts"],"names":["getSerializedObjectSafe","dataObject","data","getProp","Serializable","createSnapshot","e","instrumentationLogger","warn"],"mappings":";;;;;;AAoBO,SAASA,wBAAwBC,UAAe,EAAA;AACrD,EAAMC,MAAAA,IAAAA,GAAOC,QAAQF,UAAY,EAAA;AAAC,IAAA;KAASA,UAAAA,CAAAA;AAE3C,EAAA,IAAIC,gBAAgBE,YAAc,EAAA;AAChC,IAAI,IAAA;AACF,MAAA,OAAOF,KAAKG,cAAc,EAAA;AAC5B,KAAA,CAAA,OAASC,CAAG,EAAA;AACVC,MAAsBC,qBAAAA,CAAAA,IAAAA,CAAKF,GAAG,yDAAA,CAAA;AAC9B,MAAO,OAAA,IAAA;AACT;AACF;AACA,EAAOJ,OAAAA,IAAAA;AACT;AAZgBF,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"get-serialized-object-safe.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { instrumentationLogger } from \"@/instrumentation/logger.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function getSerializedObjectSafe(dataObject: any) {\n const data = getProp(dataObject, [\"data\"], dataObject);\n\n if (data instanceof Serializable) {\n try {\n return data.createSnapshot();\n } catch (e) {\n instrumentationLogger.warn(e, \"Invalid createSnapshot method in the Serializable class\");\n return null;\n }\n }\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/id-name-manager.ts"],"names":["IdNameManager","Map","name","count","get","set","getIds","path","id","runId","parentRunId","groupId","spanId","parentSpanId"],"mappings":";;;;AAwBO,MAAMA,aAAAA,CAAAA;EAxBb;;;;AA0BE,EAAA,eAAA,uBAAsBC,GAAAA,EAAAA;;AAEtB,EAAA,UAAA,uBAAiBA,GAAAA,EAAAA;;AAEjB,EAAA,SAAA,uBAAgBA,GAAAA,EAAAA;AAEhB,EAAA,gBAAA,CAAiBC,IAAY,EAAA;AAC3B,IAAA,MAAMC,KAAQ,GAAA,IAAA,CAAK,eAAgBC,CAAAA,GAAAA,CAAIF,IAAAA,CAAS,IAAA,CAAA;AAChD,IAAA,IAAA,CAAK,eAAgBG,CAAAA,GAAAA,CAAIH,IAAMC,EAAAA,KAAAA,GAAQ,CAAA,CAAA;AACvC,IAAA,OAAO,GAAGD,IAAAA,CAAAA,CAAAA,EAAQ,KAAK,eAAgBE,CAAAA,GAAAA,CAAIF,IAAAA,CAAAA,CAAAA,CAAAA;AAC7C;AAEAI,EAAAA,MAAAA,CAAO,EAAEC,IAAMC,EAAAA,EAAAA,EAAIC,KAAOC,EAAAA,WAAAA,EAAaC,SAAwB,EAAA;AAC7D,IAAK,IAAA,CAAA,SAAA,CAAUN,GAAII,CAAAA,KAAAA,EAAOD,EAAAA,CAAAA;AAC1B,IAAMI,MAAAA,MAAAA,GAAS,IAAK,CAAA,gBAAA,CAAiBL,IAAAA,CAAAA;AAErC,IAAK,IAAA,CAAA,UAAA,CAAWF,GAAIG,CAAAA,EAAAA,EAAII,MAAAA,CAAAA;AACxB,IAAMC,MAAAA,YAAAA,GAAeH,WACjB,GAAA,IAAA,CAAK,UAAWN,CAAAA,GAAAA,CAAI,IAAK,CAAA,SAAA,CAAUA,GAAIM,CAAAA,WAAAA,CAAgB,IAAA,EAAA,CACvDC,GAAAA,OAAAA;AAEJ,IAAO,OAAA;AACLC,MAAAA,MAAAA;AACAC,MAAAA;AACF,KAAA;AACF;AACF","file":"id-name-manager.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GetIdsProps {\n path: string;\n id: string;\n runId: string;\n parentRunId?: string;\n groupId?: string;\n}\n\nexport class IdNameManager {\n /** Current index for each event */\n #idNamesCounter = new Map<string, number>();\n /** The new span id names and the original framework emitter event ids dictionary */\n #idNameMap = new Map<string, string>();\n /** We need to map the run tree structure with duplicities to the event tree structure */\n #runIdMap = new Map<string, string>();\n\n #spanIdGenerator(name: string) {\n const count = this.#idNamesCounter.get(name) || 0;\n this.#idNamesCounter.set(name, count + 1);\n return `${name}-${this.#idNamesCounter.get(name)}`;\n }\n\n getIds({ path, id, runId, parentRunId, groupId }: GetIdsProps) {\n this.#runIdMap.set(runId, id);\n const spanId = this.#spanIdGenerator(path);\n\n this.#idNameMap.set(id, spanId);\n const parentSpanId = parentRunId\n ? this.#idNameMap.get(this.#runIdMap.get(parentRunId) || \"\")\n : groupId;\n\n return {\n spanId,\n parentSpanId,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["id-name-manager.ts"],"names":["IdNameManager","Map","name","count","get","set","getIds","path","id","runId","parentRunId","groupId","spanId","parentSpanId"],"mappings":";;;;AAwBO,MAAMA,aAAAA,CAAAA;EAxBb;;;;AA0BE,EAAA,eAAA,uBAAsBC,GAAAA,EAAAA;;AAEtB,EAAA,UAAA,uBAAiBA,GAAAA,EAAAA;;AAEjB,EAAA,SAAA,uBAAgBA,GAAAA,EAAAA;AAEhB,EAAA,gBAAA,CAAiBC,IAAY,EAAA;AAC3B,IAAA,MAAMC,KAAQ,GAAA,IAAA,CAAK,eAAgBC,CAAAA,GAAAA,CAAIF,IAAAA,CAAS,IAAA,CAAA;AAChD,IAAA,IAAA,CAAK,eAAgBG,CAAAA,GAAAA,CAAIH,IAAMC,EAAAA,KAAAA,GAAQ,CAAA,CAAA;AACvC,IAAA,OAAO,GAAGD,IAAAA,CAAAA,CAAAA,EAAQ,KAAK,eAAgBE,CAAAA,GAAAA,CAAIF,IAAAA,CAAAA,CAAAA,CAAAA;AAC7C;AAEAI,EAAAA,MAAAA,CAAO,EAAEC,IAAMC,EAAAA,EAAAA,EAAIC,KAAOC,EAAAA,WAAAA,EAAaC,SAAwB,EAAA;AAC7D,IAAK,IAAA,CAAA,SAAA,CAAUN,GAAII,CAAAA,KAAAA,EAAOD,EAAAA,CAAAA;AAC1B,IAAMI,MAAAA,MAAAA,GAAS,IAAK,CAAA,gBAAA,CAAiBL,IAAAA,CAAAA;AAErC,IAAK,IAAA,CAAA,UAAA,CAAWF,GAAIG,CAAAA,EAAAA,EAAII,MAAAA,CAAAA;AACxB,IAAMC,MAAAA,YAAAA,GAAeH,WACjB,GAAA,IAAA,CAAK,UAAWN,CAAAA,GAAAA,CAAI,IAAK,CAAA,SAAA,CAAUA,GAAIM,CAAAA,WAAAA,CAAgB,IAAA,EAAA,CACvDC,GAAAA,OAAAA;AAEJ,IAAO,OAAA;AACLC,MAAAA,MAAAA;AACAC,MAAAA;AACF,KAAA;AACF;AACF","file":"id-name-manager.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GetIdsProps {\n path: string;\n id: string;\n runId: string;\n parentRunId?: string;\n groupId?: string;\n}\n\nexport class IdNameManager {\n /** Current index for each event */\n #idNamesCounter = new Map<string, number>();\n /** The new span id names and the original framework emitter event ids dictionary */\n #idNameMap = new Map<string, string>();\n /** We need to map the run tree structure with duplicities to the event tree structure */\n #runIdMap = new Map<string, string>();\n\n #spanIdGenerator(name: string) {\n const count = this.#idNamesCounter.get(name) || 0;\n this.#idNamesCounter.set(name, count + 1);\n return `${name}-${this.#idNamesCounter.get(name)}`;\n }\n\n getIds({ path, id, runId, parentRunId, groupId }: GetIdsProps) {\n this.#runIdMap.set(runId, id);\n const spanId = this.#spanIdGenerator(path);\n\n this.#idNameMap.set(id, spanId);\n const parentSpanId = parentRunId\n ? this.#idNameMap.get(this.#runIdMap.get(parentRunId) || \"\")\n : groupId;\n\n return {\n spanId,\n parentSpanId,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instrumentation/helpers/id-name-manager.ts"],"names":["IdNameManager","Map","name","count","get","set","getIds","path","id","runId","parentRunId","groupId","spanId","parentSpanId"],"mappings":";;AAwBO,MAAMA,aAAAA,CAAAA;EAxBb;;;;AA0BE,EAAA,eAAA,uBAAsBC,GAAAA,EAAAA;;AAEtB,EAAA,UAAA,uBAAiBA,GAAAA,EAAAA;;AAEjB,EAAA,SAAA,uBAAgBA,GAAAA,EAAAA;AAEhB,EAAA,gBAAA,CAAiBC,IAAY,EAAA;AAC3B,IAAA,MAAMC,KAAQ,GAAA,IAAA,CAAK,eAAgBC,CAAAA,GAAAA,CAAIF,IAAAA,CAAS,IAAA,CAAA;AAChD,IAAA,IAAA,CAAK,eAAgBG,CAAAA,GAAAA,CAAIH,IAAMC,EAAAA,KAAAA,GAAQ,CAAA,CAAA;AACvC,IAAA,OAAO,GAAGD,IAAAA,CAAAA,CAAAA,EAAQ,KAAK,eAAgBE,CAAAA,GAAAA,CAAIF,IAAAA,CAAAA,CAAAA,CAAAA;AAC7C;AAEAI,EAAAA,MAAAA,CAAO,EAAEC,IAAMC,EAAAA,EAAAA,EAAIC,KAAOC,EAAAA,WAAAA,EAAaC,SAAwB,EAAA;AAC7D,IAAK,IAAA,CAAA,SAAA,CAAUN,GAAII,CAAAA,KAAAA,EAAOD,EAAAA,CAAAA;AAC1B,IAAMI,MAAAA,MAAAA,GAAS,IAAK,CAAA,gBAAA,CAAiBL,IAAAA,CAAAA;AAErC,IAAK,IAAA,CAAA,UAAA,CAAWF,GAAIG,CAAAA,EAAAA,EAAII,MAAAA,CAAAA;AACxB,IAAMC,MAAAA,YAAAA,GAAeH,WACjB,GAAA,IAAA,CAAK,UAAWN,CAAAA,GAAAA,CAAI,IAAK,CAAA,SAAA,CAAUA,GAAIM,CAAAA,WAAAA,CAAgB,IAAA,EAAA,CACvDC,GAAAA,OAAAA;AAEJ,IAAO,OAAA;AACLC,MAAAA,MAAAA;AACAC,MAAAA;AACF,KAAA;AACF;AACF","file":"id-name-manager.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GetIdsProps {\n path: string;\n id: string;\n runId: string;\n parentRunId?: string;\n groupId?: string;\n}\n\nexport class IdNameManager {\n /** Current index for each event */\n #idNamesCounter = new Map<string, number>();\n /** The new span id names and the original framework emitter event ids dictionary */\n #idNameMap = new Map<string, string>();\n /** We need to map the run tree structure with duplicities to the event tree structure */\n #runIdMap = new Map<string, string>();\n\n #spanIdGenerator(name: string) {\n const count = this.#idNamesCounter.get(name) || 0;\n this.#idNamesCounter.set(name, count + 1);\n return `${name}-${this.#idNamesCounter.get(name)}`;\n }\n\n getIds({ path, id, runId, parentRunId, groupId }: GetIdsProps) {\n this.#runIdMap.set(runId, id);\n const spanId = this.#spanIdGenerator(path);\n\n this.#idNameMap.set(id, spanId);\n const parentSpanId = parentRunId\n ? this.#idNameMap.get(this.#runIdMap.get(parentRunId) || \"\")\n : groupId;\n\n return {\n spanId,\n parentSpanId,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["id-name-manager.ts"],"names":["IdNameManager","Map","name","count","get","set","getIds","path","id","runId","parentRunId","groupId","spanId","parentSpanId"],"mappings":";;AAwBO,MAAMA,aAAAA,CAAAA;EAxBb;;;;AA0BE,EAAA,eAAA,uBAAsBC,GAAAA,EAAAA;;AAEtB,EAAA,UAAA,uBAAiBA,GAAAA,EAAAA;;AAEjB,EAAA,SAAA,uBAAgBA,GAAAA,EAAAA;AAEhB,EAAA,gBAAA,CAAiBC,IAAY,EAAA;AAC3B,IAAA,MAAMC,KAAQ,GAAA,IAAA,CAAK,eAAgBC,CAAAA,GAAAA,CAAIF,IAAAA,CAAS,IAAA,CAAA;AAChD,IAAA,IAAA,CAAK,eAAgBG,CAAAA,GAAAA,CAAIH,IAAMC,EAAAA,KAAAA,GAAQ,CAAA,CAAA;AACvC,IAAA,OAAO,GAAGD,IAAAA,CAAAA,CAAAA,EAAQ,KAAK,eAAgBE,CAAAA,GAAAA,CAAIF,IAAAA,CAAAA,CAAAA,CAAAA;AAC7C;AAEAI,EAAAA,MAAAA,CAAO,EAAEC,IAAMC,EAAAA,EAAAA,EAAIC,KAAOC,EAAAA,WAAAA,EAAaC,SAAwB,EAAA;AAC7D,IAAK,IAAA,CAAA,SAAA,CAAUN,GAAII,CAAAA,KAAAA,EAAOD,EAAAA,CAAAA;AAC1B,IAAMI,MAAAA,MAAAA,GAAS,IAAK,CAAA,gBAAA,CAAiBL,IAAAA,CAAAA;AAErC,IAAK,IAAA,CAAA,UAAA,CAAWF,GAAIG,CAAAA,EAAAA,EAAII,MAAAA,CAAAA;AACxB,IAAMC,MAAAA,YAAAA,GAAeH,WACjB,GAAA,IAAA,CAAK,UAAWN,CAAAA,GAAAA,CAAI,IAAK,CAAA,SAAA,CAAUA,GAAIM,CAAAA,WAAAA,CAAgB,IAAA,EAAA,CACvDC,GAAAA,OAAAA;AAEJ,IAAO,OAAA;AACLC,MAAAA,MAAAA;AACAC,MAAAA;AACF,KAAA;AACF;AACF","file":"id-name-manager.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GetIdsProps {\n path: string;\n id: string;\n runId: string;\n parentRunId?: string;\n groupId?: string;\n}\n\nexport class IdNameManager {\n /** Current index for each event */\n #idNamesCounter = new Map<string, number>();\n /** The new span id names and the original framework emitter event ids dictionary */\n #idNameMap = new Map<string, string>();\n /** We need to map the run tree structure with duplicities to the event tree structure */\n #runIdMap = new Map<string, string>();\n\n #spanIdGenerator(name: string) {\n const count = this.#idNamesCounter.get(name) || 0;\n this.#idNamesCounter.set(name, count + 1);\n return `${name}-${this.#idNamesCounter.get(name)}`;\n }\n\n getIds({ path, id, runId, parentRunId, groupId }: GetIdsProps) {\n this.#runIdMap.set(runId, id);\n const spanId = this.#spanIdGenerator(path);\n\n this.#idNameMap.set(id, spanId);\n const parentSpanId = parentRunId\n ? this.#idNameMap.get(this.#runIdMap.get(parentRunId) || \"\")\n : groupId;\n\n return {\n spanId,\n parentSpanId,\n };\n }\n}\n"]}