@strands-agents/sdk 0.6.0 → 0.7.0

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 (370) hide show
  1. package/README.md +64 -0
  2. package/dist/src/__fixtures__/agent-helpers.d.ts +37 -4
  3. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/agent-helpers.js +31 -4
  5. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  6. package/dist/src/__fixtures__/metrics-helpers.d.ts +30 -0
  7. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/metrics-helpers.js +29 -6
  9. package/dist/src/__fixtures__/metrics-helpers.js.map +1 -1
  10. package/dist/src/__fixtures__/mock-message-model.d.ts +8 -4
  11. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  12. package/dist/src/__fixtures__/mock-message-model.js +13 -7
  13. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  14. package/dist/src/__fixtures__/mock-meter.d.ts +32 -0
  15. package/dist/src/__fixtures__/mock-meter.d.ts.map +1 -0
  16. package/dist/src/__fixtures__/mock-meter.js +47 -0
  17. package/dist/src/__fixtures__/mock-meter.js.map +1 -0
  18. package/dist/src/__fixtures__/mock-plugin.d.ts +13 -0
  19. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -0
  20. package/dist/src/__fixtures__/{mock-hook-provider.js → mock-plugin.js} +8 -5
  21. package/dist/src/__fixtures__/mock-plugin.js.map +1 -0
  22. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  23. package/dist/src/__fixtures__/tool-helpers.js +5 -2
  24. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  25. package/dist/src/__tests__/index.test.js +21 -0
  26. package/dist/src/__tests__/index.test.js.map +1 -1
  27. package/dist/src/__tests__/mcp.test.js.map +1 -1
  28. package/dist/src/__tests__/mime.test.d.ts +2 -0
  29. package/dist/src/__tests__/mime.test.d.ts.map +1 -0
  30. package/dist/src/__tests__/mime.test.js +83 -0
  31. package/dist/src/__tests__/mime.test.js.map +1 -0
  32. package/dist/src/__tests__/state-store.test.d.ts +2 -0
  33. package/dist/src/__tests__/state-store.test.d.ts.map +1 -0
  34. package/dist/src/__tests__/{app-state.test.js → state-store.test.js} +86 -51
  35. package/dist/src/__tests__/state-store.test.js.map +1 -0
  36. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts +2 -0
  37. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts.map +1 -0
  38. package/dist/src/a2a/__tests__/a2a-agent.test.js +364 -0
  39. package/dist/src/a2a/__tests__/a2a-agent.test.js.map +1 -0
  40. package/dist/src/a2a/__tests__/adapters.test.d.ts +2 -0
  41. package/dist/src/a2a/__tests__/adapters.test.d.ts.map +1 -0
  42. package/dist/src/a2a/__tests__/adapters.test.js +151 -0
  43. package/dist/src/a2a/__tests__/adapters.test.js.map +1 -0
  44. package/dist/src/a2a/__tests__/executor.test.d.ts +2 -0
  45. package/dist/src/a2a/__tests__/executor.test.d.ts.map +1 -0
  46. package/dist/src/a2a/__tests__/executor.test.js +196 -0
  47. package/dist/src/a2a/__tests__/executor.test.js.map +1 -0
  48. package/dist/src/a2a/__tests__/server.test.d.ts +2 -0
  49. package/dist/src/a2a/__tests__/server.test.d.ts.map +1 -0
  50. package/dist/src/a2a/__tests__/server.test.js +51 -0
  51. package/dist/src/a2a/__tests__/server.test.js.map +1 -0
  52. package/dist/src/a2a/__tests__/server.test.node.d.ts +2 -0
  53. package/dist/src/a2a/__tests__/server.test.node.d.ts.map +1 -0
  54. package/dist/src/a2a/__tests__/server.test.node.js +110 -0
  55. package/dist/src/a2a/__tests__/server.test.node.js.map +1 -0
  56. package/dist/src/a2a/a2a-agent.d.ts +132 -0
  57. package/dist/src/a2a/a2a-agent.d.ts.map +1 -0
  58. package/dist/src/a2a/a2a-agent.js +255 -0
  59. package/dist/src/a2a/a2a-agent.js.map +1 -0
  60. package/dist/src/a2a/adapters.d.ts +27 -0
  61. package/dist/src/a2a/adapters.d.ts.map +1 -0
  62. package/dist/src/a2a/adapters.js +175 -0
  63. package/dist/src/a2a/adapters.js.map +1 -0
  64. package/dist/src/a2a/events.d.ts +42 -0
  65. package/dist/src/a2a/events.d.ts.map +1 -0
  66. package/dist/src/a2a/events.js +35 -0
  67. package/dist/src/a2a/events.js.map +1 -0
  68. package/dist/src/a2a/executor.d.ts +57 -0
  69. package/dist/src/a2a/executor.d.ts.map +1 -0
  70. package/dist/src/a2a/executor.js +130 -0
  71. package/dist/src/a2a/executor.js.map +1 -0
  72. package/dist/src/a2a/express-server.d.ts +67 -0
  73. package/dist/src/a2a/express-server.d.ts.map +1 -0
  74. package/dist/src/a2a/express-server.js +95 -0
  75. package/dist/src/a2a/express-server.js.map +1 -0
  76. package/dist/src/a2a/index.d.ts +16 -0
  77. package/dist/src/a2a/index.d.ts.map +1 -0
  78. package/dist/src/a2a/index.js +16 -0
  79. package/dist/src/a2a/index.js.map +1 -0
  80. package/dist/src/a2a/logging.d.ts +8 -0
  81. package/dist/src/a2a/logging.d.ts.map +1 -0
  82. package/dist/src/a2a/logging.js +15 -0
  83. package/dist/src/a2a/logging.js.map +1 -0
  84. package/dist/src/a2a/server.d.ts +67 -0
  85. package/dist/src/a2a/server.d.ts.map +1 -0
  86. package/dist/src/a2a/server.js +67 -0
  87. package/dist/src/a2a/server.js.map +1 -0
  88. package/dist/src/agent/__tests__/agent.hook.test.js +87 -51
  89. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  90. package/dist/src/agent/__tests__/agent.test.js +87 -10
  91. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  92. package/dist/src/agent/__tests__/agent.tracer.test.js +10 -10
  93. package/dist/src/agent/__tests__/agent.tracer.test.js.map +1 -1
  94. package/dist/src/agent/__tests__/snapshot.test.js +11 -11
  95. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  96. package/dist/src/agent/agent.d.ts +39 -43
  97. package/dist/src/agent/agent.d.ts.map +1 -1
  98. package/dist/src/agent/agent.js +66 -40
  99. package/dist/src/agent/agent.js.map +1 -1
  100. package/dist/src/agent/snapshot.d.ts.map +1 -1
  101. package/dist/src/agent/snapshot.js +3 -2
  102. package/dist/src/agent/snapshot.js.map +1 -1
  103. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
  104. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
  105. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +100 -0
  106. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
  107. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +26 -10
  108. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  109. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +84 -21
  110. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  111. package/dist/src/conversation-manager/conversation-manager.d.ts +87 -0
  112. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
  113. package/dist/src/conversation-manager/conversation-manager.js +59 -0
  114. package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
  115. package/dist/src/conversation-manager/index.d.ts +1 -0
  116. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  117. package/dist/src/conversation-manager/index.js +1 -0
  118. package/dist/src/conversation-manager/index.js.map +1 -1
  119. package/dist/src/conversation-manager/null-conversation-manager.d.ts +12 -8
  120. package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -1
  121. package/dist/src/conversation-manager/null-conversation-manager.js +13 -7
  122. package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -1
  123. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +28 -19
  124. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  125. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +44 -36
  126. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  127. package/dist/src/hooks/__tests__/registry.test.js +10 -154
  128. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  129. package/dist/src/hooks/events.d.ts +44 -44
  130. package/dist/src/hooks/events.d.ts.map +1 -1
  131. package/dist/src/hooks/events.js +11 -11
  132. package/dist/src/hooks/events.js.map +1 -1
  133. package/dist/src/hooks/index.d.ts +3 -3
  134. package/dist/src/hooks/index.d.ts.map +1 -1
  135. package/dist/src/hooks/index.js +2 -2
  136. package/dist/src/hooks/registry.d.ts +1 -32
  137. package/dist/src/hooks/registry.d.ts.map +1 -1
  138. package/dist/src/hooks/registry.js +1 -47
  139. package/dist/src/hooks/registry.js.map +1 -1
  140. package/dist/src/hooks/types.d.ts +0 -31
  141. package/dist/src/hooks/types.d.ts.map +1 -1
  142. package/dist/src/index.d.ts +12 -12
  143. package/dist/src/index.d.ts.map +1 -1
  144. package/dist/src/index.js +8 -8
  145. package/dist/src/index.js.map +1 -1
  146. package/dist/src/mime.d.ts +24 -0
  147. package/dist/src/mime.d.ts.map +1 -0
  148. package/dist/src/mime.js +82 -0
  149. package/dist/src/mime.js.map +1 -0
  150. package/dist/src/models/__tests__/anthropic.test.js +78 -1
  151. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  152. package/dist/src/models/__tests__/bedrock.test.js +1844 -613
  153. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  154. package/dist/src/models/__tests__/gemini.test.js +100 -1
  155. package/dist/src/models/__tests__/gemini.test.js.map +1 -1
  156. package/dist/src/models/__tests__/model.test.js +25 -0
  157. package/dist/src/models/__tests__/model.test.js.map +1 -1
  158. package/dist/src/models/__tests__/openai.test.js +184 -32
  159. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  160. package/dist/src/models/anthropic.d.ts.map +1 -1
  161. package/dist/src/models/anthropic.js +6 -7
  162. package/dist/src/models/anthropic.js.map +1 -1
  163. package/dist/src/models/bedrock.d.ts +64 -10
  164. package/dist/src/models/bedrock.d.ts.map +1 -1
  165. package/dist/src/models/bedrock.js +202 -23
  166. package/dist/src/models/bedrock.js.map +1 -1
  167. package/dist/src/models/gemini/adapters.d.ts.map +1 -1
  168. package/dist/src/models/gemini/adapters.js +65 -14
  169. package/dist/src/models/gemini/adapters.js.map +1 -1
  170. package/dist/src/models/model.d.ts +12 -0
  171. package/dist/src/models/model.d.ts.map +1 -1
  172. package/dist/src/models/model.js +5 -9
  173. package/dist/src/models/model.js.map +1 -1
  174. package/dist/src/models/openai.d.ts +15 -0
  175. package/dist/src/models/openai.d.ts.map +1 -1
  176. package/dist/src/models/openai.js +108 -64
  177. package/dist/src/models/openai.js.map +1 -1
  178. package/dist/src/models/streaming.d.ts +5 -0
  179. package/dist/src/models/streaming.d.ts.map +1 -1
  180. package/dist/src/multiagent/__tests__/events.test.js +24 -7
  181. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  182. package/dist/src/multiagent/__tests__/graph.test.js +28 -13
  183. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  184. package/dist/src/multiagent/__tests__/nodes.test.js +28 -10
  185. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  186. package/dist/src/multiagent/__tests__/swarm.test.js +33 -10
  187. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  188. package/dist/src/multiagent/events.d.ts +48 -14
  189. package/dist/src/multiagent/events.d.ts.map +1 -1
  190. package/dist/src/multiagent/events.js +11 -3
  191. package/dist/src/multiagent/events.js.map +1 -1
  192. package/dist/src/multiagent/graph.d.ts +21 -11
  193. package/dist/src/multiagent/graph.d.ts.map +1 -1
  194. package/dist/src/multiagent/graph.js +35 -29
  195. package/dist/src/multiagent/graph.js.map +1 -1
  196. package/dist/src/multiagent/index.d.ts +3 -2
  197. package/dist/src/multiagent/index.d.ts.map +1 -1
  198. package/dist/src/multiagent/index.js.map +1 -1
  199. package/dist/src/multiagent/multiagent.d.ts +41 -0
  200. package/dist/src/multiagent/multiagent.d.ts.map +1 -0
  201. package/dist/src/multiagent/multiagent.js +2 -0
  202. package/dist/src/multiagent/multiagent.js.map +1 -0
  203. package/dist/src/multiagent/nodes.d.ts +18 -21
  204. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  205. package/dist/src/multiagent/nodes.js +27 -11
  206. package/dist/src/multiagent/nodes.js.map +1 -1
  207. package/dist/src/multiagent/plugins.d.ts +70 -0
  208. package/dist/src/multiagent/plugins.d.ts.map +1 -0
  209. package/dist/src/multiagent/plugins.js +70 -0
  210. package/dist/src/multiagent/plugins.js.map +1 -0
  211. package/dist/src/multiagent/state.d.ts +2 -2
  212. package/dist/src/multiagent/state.d.ts.map +1 -1
  213. package/dist/src/multiagent/state.js +2 -2
  214. package/dist/src/multiagent/state.js.map +1 -1
  215. package/dist/src/multiagent/swarm.d.ts +26 -16
  216. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  217. package/dist/src/multiagent/swarm.js +31 -13
  218. package/dist/src/multiagent/swarm.js.map +1 -1
  219. package/dist/src/plugins/__tests__/plugin.test.d.ts +2 -0
  220. package/dist/src/plugins/__tests__/plugin.test.d.ts.map +1 -0
  221. package/dist/src/plugins/__tests__/plugin.test.js +114 -0
  222. package/dist/src/plugins/__tests__/plugin.test.js.map +1 -0
  223. package/dist/src/plugins/__tests__/registry.test.d.ts +2 -0
  224. package/dist/src/plugins/__tests__/registry.test.d.ts.map +1 -0
  225. package/dist/src/plugins/__tests__/registry.test.js +147 -0
  226. package/dist/src/plugins/__tests__/registry.test.js.map +1 -0
  227. package/dist/src/plugins/index.d.ts +30 -0
  228. package/dist/src/plugins/index.d.ts.map +1 -0
  229. package/dist/src/plugins/index.js +30 -0
  230. package/dist/src/plugins/index.js.map +1 -0
  231. package/dist/src/plugins/plugin.d.ts +74 -0
  232. package/dist/src/plugins/plugin.d.ts.map +1 -0
  233. package/dist/src/plugins/plugin.js +8 -0
  234. package/dist/src/plugins/plugin.js.map +1 -0
  235. package/dist/src/plugins/registry.d.ts +25 -0
  236. package/dist/src/plugins/registry.d.ts.map +1 -0
  237. package/dist/src/plugins/registry.js +41 -0
  238. package/dist/src/plugins/registry.js.map +1 -0
  239. package/dist/src/session/__tests__/session-manager.test.js +74 -92
  240. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  241. package/dist/src/session/index.d.ts +0 -1
  242. package/dist/src/session/index.d.ts.map +1 -1
  243. package/dist/src/session/index.js +0 -1
  244. package/dist/src/session/index.js.map +1 -1
  245. package/dist/src/session/session-manager.d.ts +9 -5
  246. package/dist/src/session/session-manager.d.ts.map +1 -1
  247. package/dist/src/session/session-manager.js +14 -8
  248. package/dist/src/session/session-manager.js.map +1 -1
  249. package/dist/src/session/storage.d.ts +1 -1
  250. package/dist/src/session/storage.d.ts.map +1 -1
  251. package/dist/src/session/types.d.ts +2 -2
  252. package/dist/src/session/types.d.ts.map +1 -1
  253. package/dist/src/{app-state.d.ts → state-store.d.ts} +11 -11
  254. package/dist/src/state-store.d.ts.map +1 -0
  255. package/dist/src/{app-state.js → state-store.js} +8 -7
  256. package/dist/src/state-store.js.map +1 -0
  257. package/dist/src/telemetry/__tests__/config.test.js +24 -0
  258. package/dist/src/telemetry/__tests__/config.test.js.map +1 -1
  259. package/dist/src/telemetry/__tests__/config.test.node.js +56 -0
  260. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -1
  261. package/dist/src/telemetry/__tests__/meter.test.js +176 -9
  262. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  263. package/dist/src/telemetry/__tests__/tracer.test.node.js +123 -2
  264. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
  265. package/dist/src/telemetry/config.d.ts +72 -12
  266. package/dist/src/telemetry/config.d.ts.map +1 -1
  267. package/dist/src/telemetry/config.js +101 -24
  268. package/dist/src/telemetry/config.js.map +1 -1
  269. package/dist/src/telemetry/index.d.ts +10 -7
  270. package/dist/src/telemetry/index.d.ts.map +1 -1
  271. package/dist/src/telemetry/index.js +9 -6
  272. package/dist/src/telemetry/index.js.map +1 -1
  273. package/dist/src/telemetry/meter.d.ts +23 -4
  274. package/dist/src/telemetry/meter.d.ts.map +1 -1
  275. package/dist/src/telemetry/meter.js +78 -5
  276. package/dist/src/telemetry/meter.js.map +1 -1
  277. package/dist/src/telemetry/tracer.d.ts +27 -0
  278. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  279. package/dist/src/telemetry/tracer.js +80 -5
  280. package/dist/src/telemetry/tracer.js.map +1 -1
  281. package/dist/src/telemetry/types.d.ts +2 -0
  282. package/dist/src/telemetry/types.d.ts.map +1 -1
  283. package/dist/src/telemetry/utils.d.ts +10 -0
  284. package/dist/src/telemetry/utils.d.ts.map +1 -0
  285. package/dist/src/telemetry/utils.js +13 -0
  286. package/dist/src/telemetry/utils.js.map +1 -0
  287. package/dist/src/tools/__tests__/tool.test.js +22 -1
  288. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  289. package/dist/src/tools/function-tool.d.ts +11 -1
  290. package/dist/src/tools/function-tool.d.ts.map +1 -1
  291. package/dist/src/tools/function-tool.js +64 -3
  292. package/dist/src/tools/function-tool.js.map +1 -1
  293. package/dist/src/tools/tool.d.ts +2 -2
  294. package/dist/src/tools/tool.d.ts.map +1 -1
  295. package/dist/src/tsconfig.tsbuildinfo +1 -1
  296. package/dist/src/types/__tests__/media.test.js +22 -16
  297. package/dist/src/types/__tests__/media.test.js.map +1 -1
  298. package/dist/src/types/agent.d.ts +75 -7
  299. package/dist/src/types/agent.d.ts.map +1 -1
  300. package/dist/src/types/agent.js.map +1 -1
  301. package/dist/src/types/media.d.ts +27 -30
  302. package/dist/src/types/media.d.ts.map +1 -1
  303. package/dist/src/types/media.js +15 -56
  304. package/dist/src/types/media.js.map +1 -1
  305. package/dist/src/types/messages.d.ts +18 -4
  306. package/dist/src/types/messages.d.ts.map +1 -1
  307. package/dist/src/types/messages.js +22 -26
  308. package/dist/src/types/messages.js.map +1 -1
  309. package/dist/src/types/serializable.d.ts +34 -4
  310. package/dist/src/types/serializable.d.ts.map +1 -1
  311. package/dist/src/types/serializable.js +31 -2
  312. package/dist/src/types/serializable.js.map +1 -1
  313. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +5 -4
  314. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  315. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  316. package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.js +11 -4
  317. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -0
  318. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts +1 -1
  319. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts.map +1 -1
  320. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js +2 -2
  321. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js.map +1 -1
  322. package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts.map +1 -1
  323. package/dist/src/vended-tools/file-editor/index.js.map +1 -0
  324. package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts.map +1 -1
  325. package/dist/src/vended-tools/file-editor/types.js.map +1 -0
  326. package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts.map +1 -0
  327. package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js.map +1 -1
  328. package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts.map +1 -1
  329. package/dist/src/vended-tools/{http_request → http-request}/http-request.js.map +1 -1
  330. package/dist/src/vended-tools/{http_request → http-request}/index.d.ts.map +1 -1
  331. package/dist/src/vended-tools/http-request/index.js.map +1 -0
  332. package/dist/src/vended-tools/{http_request → http-request}/types.d.ts.map +1 -1
  333. package/dist/src/vended-tools/http-request/types.js.map +1 -0
  334. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +5 -4
  335. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  336. package/dist/src/vended-tools/notebook/notebook.js +2 -2
  337. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  338. package/package.json +52 -10
  339. package/dist/src/__fixtures__/mock-hook-provider.d.ts +0 -10
  340. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +0 -1
  341. package/dist/src/__fixtures__/mock-hook-provider.js.map +0 -1
  342. package/dist/src/__tests__/app-state.test.d.ts +0 -2
  343. package/dist/src/__tests__/app-state.test.d.ts.map +0 -1
  344. package/dist/src/__tests__/app-state.test.js.map +0 -1
  345. package/dist/src/app-state.d.ts.map +0 -1
  346. package/dist/src/app-state.js.map +0 -1
  347. package/dist/src/multiagent/base.d.ts +0 -25
  348. package/dist/src/multiagent/base.d.ts.map +0 -1
  349. package/dist/src/multiagent/base.js +0 -2
  350. package/dist/src/multiagent/base.js.map +0 -1
  351. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +0 -1
  352. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +0 -1
  353. package/dist/src/vended-tools/file_editor/index.js.map +0 -1
  354. package/dist/src/vended-tools/file_editor/types.js.map +0 -1
  355. package/dist/src/vended-tools/http_request/__tests__/http-request.test.d.ts.map +0 -1
  356. package/dist/src/vended-tools/http_request/index.js.map +0 -1
  357. package/dist/src/vended-tools/http_request/types.js.map +0 -1
  358. /package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.d.ts +0 -0
  359. /package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts +0 -0
  360. /package/dist/src/vended-tools/{file_editor → file-editor}/index.js +0 -0
  361. /package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts +0 -0
  362. /package/dist/src/vended-tools/{file_editor → file-editor}/types.js +0 -0
  363. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.d.ts +0 -0
  364. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js +0 -0
  365. /package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts +0 -0
  366. /package/dist/src/vended-tools/{http_request → http-request}/http-request.js +0 -0
  367. /package/dist/src/vended-tools/{http_request → http-request}/index.d.ts +0 -0
  368. /package/dist/src/vended-tools/{http_request → http-request}/index.js +0 -0
  369. /package/dist/src/vended-tools/{http_request → http-request}/types.d.ts +0 -0
  370. /package/dist/src/vended-tools/{http_request → http-request}/types.js +0 -0
@@ -1,17 +1,26 @@
1
1
  /**
2
2
  * OpenTelemetry configuration and setup utilities for Strands agents.
3
3
  *
4
+ * Provides {@link setupTracer} for distributed tracing and {@link setupMeter}
5
+ * for OTEL metrics export. Both use the global OTel API so any provider
6
+ * registered here (or by the user) is automatically picked up by the Agent.
7
+ *
8
+ * This module is only loaded when the user explicitly imports and calls
9
+ * {@link setupTracer} or {@link setupMeter}. The core agent loop
10
+ * (tracer.ts, meter.ts) does not depend on this module.
11
+ *
4
12
  * Uses NodeTracerProvider when available for async context propagation
5
13
  * across MCP server boundaries. Falls back to BasicTracerProvider in
6
14
  * environments without async_hooks support.
7
- *
8
- * @see https://github.com/strands-agents/sdk-typescript/issues/447
9
15
  */
10
- import { trace } from '@opentelemetry/api';
16
+ import { metrics as otelMetrics, trace } from '@opentelemetry/api';
11
17
  import { Resource, envDetectorSync } from '@opentelemetry/resources';
12
18
  import { BasicTracerProvider, ConsoleSpanExporter, SimpleSpanProcessor, BatchSpanProcessor, } from '@opentelemetry/sdk-trace-base';
19
+ import { MeterProvider, PeriodicExportingMetricReader, ConsoleMetricExporter } from '@opentelemetry/sdk-metrics';
13
20
  import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
21
+ import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
14
22
  import { logger } from '../logging/index.js';
23
+ import { getServiceName } from './utils.js';
15
24
  let DefaultTracerProvider = BasicTracerProvider;
16
25
  if (typeof globalThis.process?.getBuiltinModule === 'function') {
17
26
  try {
@@ -25,17 +34,8 @@ if (typeof globalThis.process?.getBuiltinModule === 'function') {
25
34
  logger.info('sdk-trace-node not available; using BasicTracerProvider without async context propagation');
26
35
  }
27
36
  }
28
- const DEFAULT_SERVICE_NAME = 'strands-agents';
29
37
  const DEFAULT_SERVICE_NAMESPACE = 'strands';
30
38
  const DEFAULT_DEPLOYMENT_ENVIRONMENT = 'development';
31
- /**
32
- * Get the service name, respecting the OTEL_SERVICE_NAME environment variable.
33
- *
34
- * @returns The service name from OTEL_SERVICE_NAME or the default 'strands-agents'
35
- */
36
- export function getServiceName() {
37
- return globalThis?.process?.env?.OTEL_SERVICE_NAME || DEFAULT_SERVICE_NAME;
38
- }
39
39
  /**
40
40
  * Get an OpenTelemetry Tracer instance.
41
41
  *
@@ -46,13 +46,13 @@ export function getServiceName() {
46
46
  *
47
47
  * @example
48
48
  * ```typescript
49
- * import { telemetry } from '@strands-agents/sdk'
49
+ * import { setupTracer, getTracer } from '@strands-agents/sdk/telemetry'
50
50
  *
51
51
  * // Set up telemetry first (or register your own NodeTracerProvider)
52
- * telemetry.setupTracer({ exporters: { otlp: true } })
52
+ * setupTracer({ exporters: { otlp: true } })
53
53
  *
54
54
  * // Get a tracer and create custom spans
55
- * const tracer = telemetry.getTracer()
55
+ * const tracer = getTracer()
56
56
  * const span = tracer.startSpan('my-custom-operation')
57
57
  * span.setAttribute('custom.key', 'value')
58
58
  *
@@ -64,6 +64,29 @@ export function getServiceName() {
64
64
  export function getTracer() {
65
65
  return trace.getTracer(getServiceName());
66
66
  }
67
+ /**
68
+ * Get an OpenTelemetry Meter instance.
69
+ *
70
+ * Wraps the OTel metrics API to provide a consistent meter scoped to the
71
+ * configured service name. Returns a no-op meter until a MeterProvider is
72
+ * registered (either via {@link setupMeter} or by the user directly).
73
+ *
74
+ * @returns An OTel Meter instance from the global meter provider
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * import { setupMeter, getMeter } from '@strands-agents/sdk/telemetry'
79
+ *
80
+ * setupMeter({ exporters: { otlp: true } })
81
+ *
82
+ * const meter = getMeter()
83
+ * const counter = meter.createCounter('my.custom.counter')
84
+ * counter.add(1)
85
+ * ```
86
+ */
87
+ export function getMeter() {
88
+ return otelMetrics.getMeter(getServiceName());
89
+ }
67
90
  let _provider = null;
68
91
  /**
69
92
  * Set up the tracer provider with the given configuration.
@@ -84,12 +107,13 @@ export function setupTracer(config = {}) {
84
107
  return _provider;
85
108
  }
86
109
  _provider = config.provider ?? new DefaultTracerProvider({ resource: getOtelResource() });
110
+ // Exporters are additive — if a custom provider already has processors, these append to them.
87
111
  if (config.exporters?.otlp)
88
- addOtlpExporter(_provider);
112
+ addOtlpTraceExporter(_provider);
89
113
  if (config.exporters?.console)
90
- addConsoleExporter(_provider);
114
+ addConsoleTraceExporter(_provider);
91
115
  _provider.register();
92
- if (typeof globalThis?.process?.once === 'function') {
116
+ if (typeof globalThis.process?.once === 'function') {
93
117
  globalThis.process.once('beforeExit', () => {
94
118
  if (_provider) {
95
119
  _provider.forceFlush().catch((err) => {
@@ -100,26 +124,79 @@ export function setupTracer(config = {}) {
100
124
  }
101
125
  return _provider;
102
126
  }
103
- function addOtlpExporter(provider) {
127
+ let _meterProvider = null;
128
+ /**
129
+ * Set up the OTEL meter provider with the given configuration.
130
+ *
131
+ * @param config - Meter configuration options
132
+ * @returns The configured meter provider
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * import { telemetry } from '\@strands-agents/sdk'
137
+ *
138
+ * telemetry.setupMeter({ exporters: { otlp: true } })
139
+ * ```
140
+ */
141
+ export function setupMeter(config = {}) {
142
+ if (_meterProvider) {
143
+ logger.warn('meter provider already initialized, returning existing provider');
144
+ return _meterProvider;
145
+ }
146
+ _meterProvider = config.provider ?? new MeterProvider({ resource: getOtelResource() });
147
+ // Exporters are additive — if a custom provider already has readers, these append to them.
148
+ if (config.exporters?.otlp)
149
+ addOtlpMetricReader(_meterProvider);
150
+ if (config.exporters?.console)
151
+ addConsoleMetricReader(_meterProvider);
152
+ otelMetrics.setGlobalMeterProvider(_meterProvider);
153
+ if (typeof globalThis.process?.once === 'function') {
154
+ globalThis.process.once('beforeExit', () => {
155
+ if (_meterProvider) {
156
+ _meterProvider.forceFlush().catch((err) => {
157
+ logger.warn(`error=<${err}> | failed to flush meter provider on exit`);
158
+ });
159
+ }
160
+ });
161
+ }
162
+ return _meterProvider;
163
+ }
164
+ function addOtlpTraceExporter(provider) {
104
165
  try {
105
166
  provider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter()));
106
167
  }
107
168
  catch (error) {
108
- logger.warn(`error=<${error}> | failed to configure otlp exporter`);
169
+ logger.warn(`error=<${error}> | failed to configure otlp trace exporter`);
109
170
  }
110
171
  }
111
- function addConsoleExporter(provider) {
172
+ function addConsoleTraceExporter(provider) {
112
173
  try {
113
174
  provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
114
175
  }
115
176
  catch (error) {
116
- logger.warn(`error=<${error}> | failed to configure console exporter`);
177
+ logger.warn(`error=<${error}> | failed to configure console trace exporter`);
178
+ }
179
+ }
180
+ function addOtlpMetricReader(provider) {
181
+ try {
182
+ provider.addMetricReader(new PeriodicExportingMetricReader({ exporter: new OTLPMetricExporter() }));
183
+ }
184
+ catch (error) {
185
+ logger.warn(`error=<${error}> | failed to configure otlp metric exporter`);
186
+ }
187
+ }
188
+ function addConsoleMetricReader(provider) {
189
+ try {
190
+ provider.addMetricReader(new PeriodicExportingMetricReader({ exporter: new ConsoleMetricExporter() }));
191
+ }
192
+ catch (error) {
193
+ logger.warn(`error=<${error}> | failed to configure console metric exporter`);
117
194
  }
118
195
  }
119
196
  function getOtelResource() {
120
197
  const serviceName = getServiceName();
121
- const serviceNamespace = globalThis?.process?.env?.OTEL_SERVICE_NAMESPACE || DEFAULT_SERVICE_NAMESPACE;
122
- const deploymentEnvironment = globalThis?.process?.env?.OTEL_DEPLOYMENT_ENVIRONMENT || DEFAULT_DEPLOYMENT_ENVIRONMENT;
198
+ const serviceNamespace = globalThis.process?.env?.OTEL_SERVICE_NAMESPACE || DEFAULT_SERVICE_NAMESPACE;
199
+ const deploymentEnvironment = globalThis.process?.env?.OTEL_DEPLOYMENT_ENVIRONMENT || DEFAULT_DEPLOYMENT_ENVIRONMENT;
123
200
  const defaultResource = new Resource({
124
201
  'service.name': serviceName,
125
202
  'service.namespace': serviceNamespace,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,20 @@
2
2
  * OpenTelemetry telemetry support for Strands Agents SDK.
3
3
  *
4
4
  * This module provides `setupTracer()` to configure a NodeTracerProvider
5
- * with OTLP or console exporters. The Agent class handles tracing internally
6
- * once telemetry is configured.
5
+ * with OTLP or console exporters, and `setupMeter()` to configure a
6
+ * MeterProvider for OTEL metrics export. The Agent class handles tracing
7
+ * and metrics internally once telemetry is configured.
7
8
  *
8
9
  * @example Basic setup with OTLP exporter
9
10
  * ```typescript
10
- * import { telemetry, Agent } from '@strands-agents/sdk'
11
+ * import { Agent } from '@strands-agents/sdk'
12
+ * import { setupTracer, setupMeter } from '@strands-agents/sdk/telemetry'
11
13
  *
12
14
  * // Configure telemetry with OTLP exporter
13
- * telemetry.setupTracer({ exporters: { otlp: true } })
15
+ * setupTracer({ exporters: { otlp: true } })
16
+ * setupMeter({ exporters: { otlp: true } })
14
17
  *
15
- * // Agent automatically traces invocations
18
+ * // Agent automatically traces invocations and emits metrics
16
19
  * const agent = new Agent()
17
20
  * ```
18
21
  *
@@ -29,6 +32,6 @@
29
32
  * const agent = new Agent()
30
33
  * ```
31
34
  */
32
- export { setupTracer, getTracer } from './config.js';
33
- export type { TracerConfig } from './config.js';
35
+ export { setupTracer, getTracer, setupMeter, getMeter } from './config.js';
36
+ export type { TracerConfig, MeterConfig } from './config.js';
34
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC1E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
@@ -2,17 +2,20 @@
2
2
  * OpenTelemetry telemetry support for Strands Agents SDK.
3
3
  *
4
4
  * This module provides `setupTracer()` to configure a NodeTracerProvider
5
- * with OTLP or console exporters. The Agent class handles tracing internally
6
- * once telemetry is configured.
5
+ * with OTLP or console exporters, and `setupMeter()` to configure a
6
+ * MeterProvider for OTEL metrics export. The Agent class handles tracing
7
+ * and metrics internally once telemetry is configured.
7
8
  *
8
9
  * @example Basic setup with OTLP exporter
9
10
  * ```typescript
10
- * import { telemetry, Agent } from '@strands-agents/sdk'
11
+ * import { Agent } from '@strands-agents/sdk'
12
+ * import { setupTracer, setupMeter } from '@strands-agents/sdk/telemetry'
11
13
  *
12
14
  * // Configure telemetry with OTLP exporter
13
- * telemetry.setupTracer({ exporters: { otlp: true } })
15
+ * setupTracer({ exporters: { otlp: true } })
16
+ * setupMeter({ exporters: { otlp: true } })
14
17
  *
15
- * // Agent automatically traces invocations
18
+ * // Agent automatically traces invocations and emits metrics
16
19
  * const agent = new Agent()
17
20
  * ```
18
21
  *
@@ -29,5 +32,5 @@
29
32
  * const agent = new Agent()
30
33
  * ```
31
34
  */
32
- export { setupTracer, getTracer } from './config.js';
35
+ export { setupTracer, getTracer, setupMeter, getMeter } from './config.js';
33
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
@@ -4,6 +4,10 @@
4
4
  * The {@link Meter} accumulates local metrics during agent invocation and
5
5
  * provides them as a read-only {@link AgentMetrics} snapshot via the
6
6
  * {@link Meter.metrics} getter for inclusion in {@link AgentResult}.
7
+ *
8
+ * When an OTEL MeterProvider is registered (via {@link setupMeter} or
9
+ * directly), the Meter also emits counters and histograms through the
10
+ * global OTEL metrics API, enabling export to OTLP backends.
7
11
  */
8
12
  import type { Usage, Metrics, ModelMetadataEventData } from '../models/streaming.js';
9
13
  import type { ToolUse } from '../tools/types.js';
@@ -111,10 +115,10 @@ interface ToolUsageOptions {
111
115
  * @example
112
116
  * ```typescript
113
117
  * const result = await agent.invoke('Hello')
114
- * console.log(result.metrics.cycleCount)
115
- * console.log(result.metrics.totalDuration)
116
- * console.log(result.metrics.accumulatedData)
117
- * console.log(result.metrics.toolMetrics)
118
+ * console.log(result.metrics?.cycleCount)
119
+ * console.log(result.metrics?.totalDuration)
120
+ * console.log(result.metrics?.accumulatedData)
121
+ * console.log(result.metrics?.toolMetrics)
118
122
  * console.log(JSON.stringify(result.metrics))
119
123
  * ```
120
124
  */
@@ -181,6 +185,9 @@ export declare class AgentMetrics implements JSONSerializable<AgentMetricsData>
181
185
  * Use the {@link metrics} getter to obtain a read-only {@link AgentMetrics}
182
186
  * snapshot for inclusion in {@link AgentResult}.
183
187
  *
188
+ * When an OTEL MeterProvider is registered, the same data is also emitted
189
+ * as OTEL counters and histograms via the global metrics API. If no
190
+ * provider is registered the OTEL meter is a no-op and adds no overhead.
184
191
  */
185
192
  export declare class Meter {
186
193
  /**
@@ -203,6 +210,18 @@ export declare class Meter {
203
210
  * Per-tool execution metrics keyed by tool name.
204
211
  */
205
212
  private readonly _toolMetrics;
213
+ private readonly _otelMeter;
214
+ private readonly _otelCycleCounter;
215
+ private readonly _otelInvocationCounter;
216
+ private readonly _otelCycleDuration;
217
+ private readonly _otelToolCallCounter;
218
+ private readonly _otelToolErrorCounter;
219
+ private readonly _otelToolDuration;
220
+ private readonly _otelInputTokens;
221
+ private readonly _otelOutputTokens;
222
+ private readonly _otelModelLatency;
223
+ private readonly _otelTimeToFirstToken;
224
+ constructor();
206
225
  /**
207
226
  * Begin tracking a new agent invocation.
208
227
  * Creates a new InvocationMetricsData entry for per-invocation metrics.
@@ -1 +1 @@
1
- {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../src/telemetry/meter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../src/telemetry/meter.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,13 @@
4
4
  * The {@link Meter} accumulates local metrics during agent invocation and
5
5
  * provides them as a read-only {@link AgentMetrics} snapshot via the
6
6
  * {@link Meter.metrics} getter for inclusion in {@link AgentResult}.
7
+ *
8
+ * When an OTEL MeterProvider is registered (via {@link setupMeter} or
9
+ * directly), the Meter also emits counters and histograms through the
10
+ * global OTEL metrics API, enabling export to OTLP backends.
7
11
  */
12
+ import { metrics as otelMetrics } from '@opentelemetry/api';
13
+ import { getServiceName } from './utils.js';
8
14
  /**
9
15
  * Read-only snapshot of aggregated agent metrics.
10
16
  *
@@ -15,10 +21,10 @@
15
21
  * @example
16
22
  * ```typescript
17
23
  * const result = await agent.invoke('Hello')
18
- * console.log(result.metrics.cycleCount)
19
- * console.log(result.metrics.totalDuration)
20
- * console.log(result.metrics.accumulatedData)
21
- * console.log(result.metrics.toolMetrics)
24
+ * console.log(result.metrics?.cycleCount)
25
+ * console.log(result.metrics?.totalDuration)
26
+ * console.log(result.metrics?.accumulatedData)
27
+ * console.log(result.metrics?.toolMetrics)
22
28
  * console.log(JSON.stringify(result.metrics))
23
29
  * ```
24
30
  */
@@ -112,6 +118,9 @@ export class AgentMetrics {
112
118
  * Use the {@link metrics} getter to obtain a read-only {@link AgentMetrics}
113
119
  * snapshot for inclusion in {@link AgentResult}.
114
120
  *
121
+ * When an OTEL MeterProvider is registered, the same data is also emitted
122
+ * as OTEL counters and histograms via the global metrics API. If no
123
+ * provider is registered the OTEL meter is a no-op and adds no overhead.
115
124
  */
116
125
  export class Meter {
117
126
  /**
@@ -134,6 +143,56 @@ export class Meter {
134
143
  * Per-tool execution metrics keyed by tool name.
135
144
  */
136
145
  _toolMetrics = {};
146
+ // OTEL instruments (no-op when no MeterProvider is registered)
147
+ _otelMeter;
148
+ _otelCycleCounter;
149
+ _otelInvocationCounter;
150
+ _otelCycleDuration;
151
+ _otelToolCallCounter;
152
+ _otelToolErrorCounter;
153
+ _otelToolDuration;
154
+ _otelInputTokens;
155
+ _otelOutputTokens;
156
+ _otelModelLatency;
157
+ _otelTimeToFirstToken;
158
+ constructor() {
159
+ this._otelMeter = otelMetrics.getMeter(getServiceName());
160
+ this._otelCycleCounter = this._otelMeter.createCounter('gen_ai.agent.cycle.count', {
161
+ description: 'Number of agent loop cycles executed',
162
+ });
163
+ this._otelInvocationCounter = this._otelMeter.createCounter('gen_ai.agent.invocation.count', {
164
+ description: 'Number of agent invocations',
165
+ });
166
+ this._otelCycleDuration = this._otelMeter.createHistogram('gen_ai.agent.cycle.duration', {
167
+ description: 'Duration of agent loop cycles in milliseconds',
168
+ unit: 'ms',
169
+ });
170
+ this._otelToolCallCounter = this._otelMeter.createCounter('gen_ai.agent.tool.call.count', {
171
+ description: 'Number of tool calls',
172
+ });
173
+ this._otelToolErrorCounter = this._otelMeter.createCounter('gen_ai.agent.tool.error.count', {
174
+ description: 'Number of failed tool calls',
175
+ });
176
+ this._otelToolDuration = this._otelMeter.createHistogram('gen_ai.agent.tool.duration', {
177
+ description: 'Duration of tool calls in milliseconds',
178
+ unit: 'ms',
179
+ });
180
+ this._otelInputTokens = this._otelMeter.createCounter('gen_ai.agent.tokens.input', {
181
+ description: 'Input tokens consumed',
182
+ });
183
+ this._otelOutputTokens = this._otelMeter.createCounter('gen_ai.agent.tokens.output', {
184
+ description: 'Output tokens consumed',
185
+ });
186
+ this._otelModelLatency = this._otelMeter.createHistogram('gen_ai.agent.model.latency', {
187
+ description: 'Model invocation latency in milliseconds',
188
+ unit: 'ms',
189
+ });
190
+ // OTel GenAI semconv requires seconds for this metric, unlike the SDK-internal histograms which use ms
191
+ this._otelTimeToFirstToken = this._otelMeter.createHistogram('gen_ai.server.time_to_first_token', {
192
+ description: 'Time to generate first token for successful responses',
193
+ unit: 's',
194
+ });
195
+ }
137
196
  /**
138
197
  * Begin tracking a new agent invocation.
139
198
  * Creates a new InvocationMetricsData entry for per-invocation metrics.
@@ -143,6 +202,7 @@ export class Meter {
143
202
  cycles: [],
144
203
  usage: Meter._createEmptyUsage(),
145
204
  });
205
+ this._otelInvocationCounter.add(1);
146
206
  }
147
207
  /**
148
208
  * Start a new agent loop cycle.
@@ -151,6 +211,7 @@ export class Meter {
151
211
  */
152
212
  startCycle() {
153
213
  this._cycleCount++;
214
+ this._otelCycleCounter.add(1);
154
215
  const cycleId = `cycle-${this._cycleCount}`;
155
216
  const startTime = Date.now();
156
217
  const latestInvocation = this._latestAgentInvocation;
@@ -169,11 +230,13 @@ export class Meter {
169
230
  * @param startTime - The timestamp when the cycle started (milliseconds since epoch)
170
231
  */
171
232
  endCycle(startTime) {
233
+ const duration = Date.now() - startTime;
234
+ this._otelCycleDuration.record(duration);
172
235
  const latestInvocation = this._latestAgentInvocation;
173
236
  if (latestInvocation) {
174
237
  const cycles = latestInvocation.cycles;
175
238
  if (cycles.length > 0) {
176
- cycles[cycles.length - 1].duration = Date.now() - startTime;
239
+ cycles[cycles.length - 1].duration = duration;
177
240
  }
178
241
  }
179
242
  }
@@ -191,11 +254,15 @@ export class Meter {
191
254
  const toolEntry = this._toolMetrics[toolName];
192
255
  toolEntry.callCount++;
193
256
  toolEntry.totalTime += duration;
257
+ const attrs = { 'gen_ai.tool.name': toolName };
258
+ this._otelToolCallCounter.add(1, attrs);
259
+ this._otelToolDuration.record(duration, attrs);
194
260
  if (success) {
195
261
  toolEntry.successCount++;
196
262
  }
197
263
  else {
198
264
  toolEntry.errorCount++;
265
+ this._otelToolErrorCounter.add(1, attrs);
199
266
  }
200
267
  }
201
268
  /**
@@ -241,6 +308,10 @@ export class Meter {
241
308
  }
242
309
  if (metadata.metrics) {
243
310
  this._accumulatedMetrics.latencyMs += metadata.metrics.latencyMs;
311
+ this._otelModelLatency.record(metadata.metrics.latencyMs);
312
+ if (metadata.metrics.timeToFirstByteMs !== undefined && metadata.metrics.timeToFirstByteMs > 0) {
313
+ this._otelTimeToFirstToken.record(metadata.metrics.timeToFirstByteMs / 1000);
314
+ }
244
315
  }
245
316
  }
246
317
  /**
@@ -250,6 +321,8 @@ export class Meter {
250
321
  */
251
322
  _updateUsage(usage) {
252
323
  Meter._accumulateUsage(this._accumulatedUsage, usage);
324
+ this._otelInputTokens.add(usage.inputTokens);
325
+ this._otelOutputTokens.add(usage.outputTokens);
253
326
  const latestInvocation = this._latestAgentInvocation;
254
327
  if (latestInvocation) {
255
328
  Meter._accumulateUsage(latestInvocation.usage, usage);
@@ -1 +1 @@
1
- {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../src/telemetry/meter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../src/telemetry/meter.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,12 @@ export declare class Tracer {
77
77
  private _agentSpan;
78
78
  /** Span for the current agent loop cycle, used to parent model and tool spans. */
79
79
  private _loopSpan;
80
+ /**
81
+ * Whether Langfuse is configured as the OTLP endpoint.
82
+ * Detected from OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,
83
+ * or LANGFUSE_BASE_URL environment variables.
84
+ */
85
+ private readonly _isLangfuse;
80
86
  /**
81
87
  * Initialize the tracer with OpenTelemetry configuration.
82
88
  * Reads OTEL_SEMCONV_STABILITY_OPT_IN to determine convention version.
@@ -205,6 +211,27 @@ export declare class Tracer {
205
211
  * Parse the OTEL_SEMCONV_STABILITY_OPT_IN environment variable.
206
212
  */
207
213
  private static _parseSemconvOptIn;
214
+ /**
215
+ * Detect whether Langfuse is configured as the OTLP endpoint.
216
+ * Checks OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,
217
+ * and LANGFUSE_BASE_URL environment variables.
218
+ */
219
+ private static _detectLangfuse;
220
+ /**
221
+ * Emit system prompt as a span event per OTel GenAI semantic conventions.
222
+ * In stable mode, emits a `gen_ai.system.message` event.
223
+ * In latest experimental mode, emits `gen_ai.system_instructions` on the
224
+ * `gen_ai.client.inference.operation.details` event.
225
+ *
226
+ * @param span - The span to add the event to
227
+ * @param systemPrompt - The system prompt provided to the model
228
+ */
229
+ private _addSystemPromptEvent;
230
+ /**
231
+ * Map a system prompt to OTEL parts format (latest conventions).
232
+ * Handles both string prompts and SystemContentBlock arrays.
233
+ */
234
+ private static _mapSystemPromptToOtelParts;
208
235
  /**
209
236
  * Map content blocks to OTEL parts format (latest conventions).
210
237
  * Converts SDK content block types to OTEL semantic convention format.
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/telemetry/tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAqC,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEjG,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EAG1B,MAAM,YAAY,CAAA;AAKnB;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IAEpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAE/C;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IAEjD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAEjE,kDAAkD;IAClD,OAAO,CAAC,UAAU,CAAkB;IAEpC,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;;;;;OAOG;gBACS,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAY5D;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAqC3D;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAoBxE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI;IAsBvE;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAoB9E;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI;IA0CjE;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,sBAA2B,GAAG,IAAI;IAqC9E;;;;;;;;OAQG;IACH,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKrD;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAmBnE;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,uBAA4B,GAAG,IAAI;IAUhF;;OAEG;IACH,OAAO,CAAC,UAAU;IA8BlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgBjB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAUjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAiB3C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;CAkB/C"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/telemetry/tracer.ts"],"names":[],"mappings":"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"}