@microsoft/opentelemetry 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (347) hide show
  1. package/README.md +69 -4
  2. package/dist/commonjs/a365/configuration/A365Configuration.d.ts +42 -0
  3. package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -0
  4. package/dist/commonjs/a365/configuration/A365Configuration.js +162 -0
  5. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -0
  6. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +53 -0
  7. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -0
  8. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.js +5 -0
  9. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.js.map +1 -0
  10. package/dist/commonjs/a365/configuration/index.d.ts +3 -0
  11. package/dist/commonjs/a365/configuration/index.d.ts.map +1 -0
  12. package/dist/commonjs/a365/configuration/index.js +9 -0
  13. package/dist/commonjs/a365/configuration/index.js.map +1 -0
  14. package/dist/commonjs/a365/constants.d.ts +93 -0
  15. package/dist/commonjs/a365/constants.d.ts.map +1 -0
  16. package/dist/commonjs/a365/constants.js +120 -0
  17. package/dist/commonjs/a365/constants.js.map +1 -0
  18. package/dist/commonjs/a365/context/tokenContext.d.ts +25 -0
  19. package/dist/commonjs/a365/context/tokenContext.d.ts.map +1 -0
  20. package/dist/commonjs/a365/context/tokenContext.js +67 -0
  21. package/dist/commonjs/a365/context/tokenContext.js.map +1 -0
  22. package/dist/commonjs/a365/context.d.ts +31 -0
  23. package/dist/commonjs/a365/context.d.ts.map +1 -0
  24. package/dist/commonjs/a365/context.js +109 -0
  25. package/dist/commonjs/a365/context.js.map +1 -0
  26. package/dist/commonjs/a365/contracts.d.ts +250 -0
  27. package/dist/commonjs/a365/contracts.d.ts.map +1 -0
  28. package/dist/commonjs/a365/contracts.js +52 -0
  29. package/dist/commonjs/a365/contracts.js.map +1 -0
  30. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +25 -0
  31. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -0
  32. package/dist/commonjs/a365/exporter/Agent365Exporter.js +219 -0
  33. package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -0
  34. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +43 -0
  35. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -0
  36. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +30 -0
  37. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -0
  38. package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts +9 -0
  39. package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts.map +1 -0
  40. package/dist/commonjs/a365/exporter/ExporterEventNames.js +15 -0
  41. package/dist/commonjs/a365/exporter/ExporterEventNames.js.map +1 -0
  42. package/dist/commonjs/a365/exporter/index.d.ts +6 -0
  43. package/dist/commonjs/a365/exporter/index.d.ts.map +1 -0
  44. package/dist/commonjs/a365/exporter/index.js +15 -0
  45. package/dist/commonjs/a365/exporter/index.js.map +1 -0
  46. package/dist/commonjs/a365/exporter/utils.d.ts +41 -0
  47. package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -0
  48. package/dist/commonjs/a365/exporter/utils.js +410 -0
  49. package/dist/commonjs/a365/exporter/utils.js.map +1 -0
  50. package/dist/commonjs/a365/hosting/baggageBuilderUtils.d.ts +22 -0
  51. package/dist/commonjs/a365/hosting/baggageBuilderUtils.d.ts.map +1 -0
  52. package/dist/commonjs/a365/hosting/baggageBuilderUtils.js +47 -0
  53. package/dist/commonjs/a365/hosting/baggageBuilderUtils.js.map +1 -0
  54. package/dist/commonjs/a365/hosting/baggageMiddleware.d.ts +9 -0
  55. package/dist/commonjs/a365/hosting/baggageMiddleware.d.ts.map +1 -0
  56. package/dist/commonjs/a365/hosting/baggageMiddleware.js +38 -0
  57. package/dist/commonjs/a365/hosting/baggageMiddleware.js.map +1 -0
  58. package/dist/commonjs/a365/hosting/index.d.ts +9 -0
  59. package/dist/commonjs/a365/hosting/index.d.ts.map +1 -0
  60. package/dist/commonjs/a365/hosting/index.js +25 -0
  61. package/dist/commonjs/a365/hosting/index.js.map +1 -0
  62. package/dist/commonjs/a365/hosting/observabilityHostingManager.d.ts +30 -0
  63. package/dist/commonjs/a365/hosting/observabilityHostingManager.d.ts.map +1 -0
  64. package/dist/commonjs/a365/hosting/observabilityHostingManager.js +49 -0
  65. package/dist/commonjs/a365/hosting/observabilityHostingManager.js.map +1 -0
  66. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.d.ts +24 -0
  67. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.d.ts.map +1 -0
  68. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.js +82 -0
  69. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.js.map +1 -0
  70. package/dist/commonjs/a365/hosting/scopeUtils.d.ts +56 -0
  71. package/dist/commonjs/a365/hosting/scopeUtils.d.ts.map +1 -0
  72. package/dist/commonjs/a365/hosting/scopeUtils.js +161 -0
  73. package/dist/commonjs/a365/hosting/scopeUtils.js.map +1 -0
  74. package/dist/commonjs/a365/hosting/turnContextUtils.d.ts +32 -0
  75. package/dist/commonjs/a365/hosting/turnContextUtils.d.ts.map +1 -0
  76. package/dist/commonjs/a365/hosting/turnContextUtils.js +141 -0
  77. package/dist/commonjs/a365/hosting/turnContextUtils.js.map +1 -0
  78. package/dist/commonjs/a365/hosting/types.d.ts +52 -0
  79. package/dist/commonjs/a365/hosting/types.d.ts.map +1 -0
  80. package/dist/commonjs/a365/hosting/types.js +5 -0
  81. package/dist/commonjs/a365/hosting/types.js.map +1 -0
  82. package/dist/commonjs/a365/index.d.ts +18 -0
  83. package/dist/commonjs/a365/index.d.ts.map +1 -0
  84. package/dist/commonjs/a365/index.js +69 -0
  85. package/dist/commonjs/a365/index.js.map +1 -0
  86. package/dist/commonjs/a365/message-utils.d.ts +42 -0
  87. package/dist/commonjs/a365/message-utils.d.ts.map +1 -0
  88. package/dist/commonjs/a365/message-utils.js +116 -0
  89. package/dist/commonjs/a365/message-utils.js.map +1 -0
  90. package/dist/commonjs/a365/middleware/BaggageBuilder.d.ts +112 -0
  91. package/dist/commonjs/a365/middleware/BaggageBuilder.d.ts.map +1 -0
  92. package/dist/commonjs/a365/middleware/BaggageBuilder.js +248 -0
  93. package/dist/commonjs/a365/middleware/BaggageBuilder.js.map +1 -0
  94. package/dist/commonjs/a365/middleware/index.d.ts +2 -0
  95. package/dist/commonjs/a365/middleware/index.d.ts.map +1 -0
  96. package/dist/commonjs/a365/middleware/index.js +9 -0
  97. package/dist/commonjs/a365/middleware/index.js.map +1 -0
  98. package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts +32 -0
  99. package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts.map +1 -0
  100. package/dist/commonjs/a365/processors/A365SpanProcessor.js +104 -0
  101. package/dist/commonjs/a365/processors/A365SpanProcessor.js.map +1 -0
  102. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts +44 -0
  103. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts.map +1 -0
  104. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js +260 -0
  105. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js.map +1 -0
  106. package/dist/commonjs/a365/processors/index.d.ts +5 -0
  107. package/dist/commonjs/a365/processors/index.d.ts.map +1 -0
  108. package/dist/commonjs/a365/processors/index.js +13 -0
  109. package/dist/commonjs/a365/processors/index.js.map +1 -0
  110. package/dist/commonjs/a365/processors/util.d.ts +10 -0
  111. package/dist/commonjs/a365/processors/util.d.ts.map +1 -0
  112. package/dist/commonjs/a365/processors/util.js +56 -0
  113. package/dist/commonjs/a365/processors/util.js.map +1 -0
  114. package/dist/commonjs/a365/scopes/ExecuteToolScope.d.ts +24 -0
  115. package/dist/commonjs/a365/scopes/ExecuteToolScope.d.ts.map +1 -0
  116. package/dist/commonjs/a365/scopes/ExecuteToolScope.js +60 -0
  117. package/dist/commonjs/a365/scopes/ExecuteToolScope.js.map +1 -0
  118. package/dist/commonjs/a365/scopes/InferenceScope.d.ts +29 -0
  119. package/dist/commonjs/a365/scopes/InferenceScope.d.ts.map +1 -0
  120. package/dist/commonjs/a365/scopes/InferenceScope.js +75 -0
  121. package/dist/commonjs/a365/scopes/InferenceScope.js.map +1 -0
  122. package/dist/commonjs/a365/scopes/InvokeAgentScope.d.ts +25 -0
  123. package/dist/commonjs/a365/scopes/InvokeAgentScope.d.ts.map +1 -0
  124. package/dist/commonjs/a365/scopes/InvokeAgentScope.js +84 -0
  125. package/dist/commonjs/a365/scopes/InvokeAgentScope.js.map +1 -0
  126. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +69 -0
  127. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -0
  128. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +211 -0
  129. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -0
  130. package/dist/commonjs/a365/scopes/OutputScope.d.ts +26 -0
  131. package/dist/commonjs/a365/scopes/OutputScope.d.ts.map +1 -0
  132. package/dist/commonjs/a365/scopes/OutputScope.js +73 -0
  133. package/dist/commonjs/a365/scopes/OutputScope.js.map +1 -0
  134. package/dist/commonjs/a365/scopes/index.d.ts +6 -0
  135. package/dist/commonjs/a365/scopes/index.d.ts.map +1 -0
  136. package/dist/commonjs/a365/scopes/index.js +16 -0
  137. package/dist/commonjs/a365/scopes/index.js.map +1 -0
  138. package/dist/commonjs/a365/utils/utils.d.ts +6 -0
  139. package/dist/commonjs/a365/utils/utils.d.ts.map +1 -0
  140. package/dist/commonjs/a365/utils/utils.js +14 -0
  141. package/dist/commonjs/a365/utils/utils.js.map +1 -0
  142. package/dist/commonjs/azureMonitor/index.d.ts +14 -0
  143. package/dist/commonjs/azureMonitor/index.d.ts.map +1 -1
  144. package/dist/commonjs/azureMonitor/index.js +29 -0
  145. package/dist/commonjs/azureMonitor/index.js.map +1 -1
  146. package/dist/commonjs/azureMonitor/metrics/handler.js +2 -2
  147. package/dist/commonjs/azureMonitor/metrics/handler.js.map +1 -1
  148. package/dist/commonjs/azureMonitor/metrics/quickpulse/types.d.ts +1 -1
  149. package/dist/commonjs/azureMonitor/traces/handler.d.ts +0 -3
  150. package/dist/commonjs/azureMonitor/traces/handler.d.ts.map +1 -1
  151. package/dist/commonjs/azureMonitor/traces/handler.js +8 -19
  152. package/dist/commonjs/azureMonitor/traces/handler.js.map +1 -1
  153. package/dist/commonjs/distro/distro.d.ts +3 -1
  154. package/dist/commonjs/distro/distro.d.ts.map +1 -1
  155. package/dist/commonjs/distro/distro.js +88 -92
  156. package/dist/commonjs/distro/distro.js.map +1 -1
  157. package/dist/commonjs/distro/instrumentations.d.ts +31 -0
  158. package/dist/commonjs/distro/instrumentations.d.ts.map +1 -0
  159. package/dist/commonjs/distro/instrumentations.js +131 -0
  160. package/dist/commonjs/distro/instrumentations.js.map +1 -0
  161. package/dist/commonjs/distro/types.d.ts +2 -1
  162. package/dist/commonjs/distro/types.d.ts.map +1 -1
  163. package/dist/commonjs/index.d.ts +8 -12
  164. package/dist/commonjs/index.d.ts.map +1 -1
  165. package/dist/commonjs/index.js +48 -20
  166. package/dist/commonjs/index.js.map +1 -1
  167. package/dist/commonjs/package.json +1 -0
  168. package/dist/commonjs/shared/jsonConfig.d.ts +2 -1
  169. package/dist/commonjs/shared/jsonConfig.d.ts.map +1 -1
  170. package/dist/commonjs/shared/module.js +15 -11
  171. package/dist/commonjs/shared/module.js.map +1 -1
  172. package/dist/commonjs/types.d.ts +8 -32
  173. package/dist/commonjs/types.d.ts.map +1 -1
  174. package/dist/commonjs/types.js +1 -1
  175. package/dist/commonjs/types.js.map +1 -1
  176. package/dist/esm/a365/configuration/A365Configuration.d.ts +42 -0
  177. package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -0
  178. package/dist/esm/a365/configuration/A365Configuration.js +158 -0
  179. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -0
  180. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +53 -0
  181. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -0
  182. package/dist/esm/a365/configuration/A365ConfigurationOptions.js +4 -0
  183. package/dist/esm/a365/configuration/A365ConfigurationOptions.js.map +1 -0
  184. package/dist/esm/a365/configuration/index.d.ts +3 -0
  185. package/dist/esm/a365/configuration/index.d.ts.map +1 -0
  186. package/dist/esm/a365/configuration/index.js +4 -0
  187. package/dist/esm/a365/configuration/index.js.map +1 -0
  188. package/dist/esm/a365/constants.d.ts +93 -0
  189. package/dist/esm/a365/constants.d.ts.map +1 -0
  190. package/dist/esm/a365/constants.js +116 -0
  191. package/dist/esm/a365/constants.js.map +1 -0
  192. package/dist/esm/a365/context/tokenContext.d.ts +25 -0
  193. package/dist/esm/a365/context/tokenContext.d.ts.map +1 -0
  194. package/dist/esm/a365/context/tokenContext.js +62 -0
  195. package/dist/esm/a365/context/tokenContext.js.map +1 -0
  196. package/dist/esm/a365/context.d.ts +31 -0
  197. package/dist/esm/a365/context.d.ts.map +1 -0
  198. package/dist/esm/a365/context.js +101 -0
  199. package/dist/esm/a365/context.js.map +1 -0
  200. package/dist/esm/a365/contracts.d.ts +250 -0
  201. package/dist/esm/a365/contracts.d.ts.map +1 -0
  202. package/dist/esm/a365/contracts.js +49 -0
  203. package/dist/esm/a365/contracts.js.map +1 -0
  204. package/dist/esm/a365/exporter/Agent365Exporter.d.ts +25 -0
  205. package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -0
  206. package/dist/esm/a365/exporter/Agent365Exporter.js +215 -0
  207. package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -0
  208. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +43 -0
  209. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -0
  210. package/dist/esm/a365/exporter/Agent365ExporterOptions.js +26 -0
  211. package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -0
  212. package/dist/esm/a365/exporter/ExporterEventNames.d.ts +9 -0
  213. package/dist/esm/a365/exporter/ExporterEventNames.d.ts.map +1 -0
  214. package/dist/esm/a365/exporter/ExporterEventNames.js +12 -0
  215. package/dist/esm/a365/exporter/ExporterEventNames.js.map +1 -0
  216. package/dist/esm/a365/exporter/index.d.ts +6 -0
  217. package/dist/esm/a365/exporter/index.d.ts.map +1 -0
  218. package/dist/esm/a365/exporter/index.js +7 -0
  219. package/dist/esm/a365/exporter/index.js.map +1 -0
  220. package/dist/esm/a365/exporter/utils.d.ts +41 -0
  221. package/dist/esm/a365/exporter/utils.d.ts.map +1 -0
  222. package/dist/esm/a365/exporter/utils.js +398 -0
  223. package/dist/esm/a365/exporter/utils.js.map +1 -0
  224. package/dist/esm/a365/hosting/baggageBuilderUtils.d.ts +22 -0
  225. package/dist/esm/a365/hosting/baggageBuilderUtils.d.ts.map +1 -0
  226. package/dist/esm/a365/hosting/baggageBuilderUtils.js +43 -0
  227. package/dist/esm/a365/hosting/baggageBuilderUtils.js.map +1 -0
  228. package/dist/esm/a365/hosting/baggageMiddleware.d.ts +9 -0
  229. package/dist/esm/a365/hosting/baggageMiddleware.d.ts.map +1 -0
  230. package/dist/esm/a365/hosting/baggageMiddleware.js +34 -0
  231. package/dist/esm/a365/hosting/baggageMiddleware.js.map +1 -0
  232. package/dist/esm/a365/hosting/index.d.ts +9 -0
  233. package/dist/esm/a365/hosting/index.d.ts.map +1 -0
  234. package/dist/esm/a365/hosting/index.js +9 -0
  235. package/dist/esm/a365/hosting/index.js.map +1 -0
  236. package/dist/esm/a365/hosting/observabilityHostingManager.d.ts +30 -0
  237. package/dist/esm/a365/hosting/observabilityHostingManager.d.ts.map +1 -0
  238. package/dist/esm/a365/hosting/observabilityHostingManager.js +45 -0
  239. package/dist/esm/a365/hosting/observabilityHostingManager.js.map +1 -0
  240. package/dist/esm/a365/hosting/outputLoggingMiddleware.d.ts +24 -0
  241. package/dist/esm/a365/hosting/outputLoggingMiddleware.d.ts.map +1 -0
  242. package/dist/esm/a365/hosting/outputLoggingMiddleware.js +78 -0
  243. package/dist/esm/a365/hosting/outputLoggingMiddleware.js.map +1 -0
  244. package/dist/esm/a365/hosting/scopeUtils.d.ts +56 -0
  245. package/dist/esm/a365/hosting/scopeUtils.d.ts.map +1 -0
  246. package/dist/esm/a365/hosting/scopeUtils.js +157 -0
  247. package/dist/esm/a365/hosting/scopeUtils.js.map +1 -0
  248. package/dist/esm/a365/hosting/turnContextUtils.d.ts +32 -0
  249. package/dist/esm/a365/hosting/turnContextUtils.d.ts.map +1 -0
  250. package/dist/esm/a365/hosting/turnContextUtils.js +133 -0
  251. package/dist/esm/a365/hosting/turnContextUtils.js.map +1 -0
  252. package/dist/esm/a365/hosting/types.d.ts +52 -0
  253. package/dist/esm/a365/hosting/types.d.ts.map +1 -0
  254. package/dist/esm/a365/hosting/types.js +4 -0
  255. package/dist/esm/a365/hosting/types.js.map +1 -0
  256. package/dist/esm/a365/index.d.ts +18 -0
  257. package/dist/esm/a365/index.d.ts.map +1 -0
  258. package/dist/esm/a365/index.js +22 -0
  259. package/dist/esm/a365/index.js.map +1 -0
  260. package/dist/esm/a365/message-utils.d.ts +42 -0
  261. package/dist/esm/a365/message-utils.d.ts.map +1 -0
  262. package/dist/esm/a365/message-utils.js +107 -0
  263. package/dist/esm/a365/message-utils.js.map +1 -0
  264. package/dist/esm/a365/middleware/BaggageBuilder.d.ts +112 -0
  265. package/dist/esm/a365/middleware/BaggageBuilder.d.ts.map +1 -0
  266. package/dist/esm/a365/middleware/BaggageBuilder.js +243 -0
  267. package/dist/esm/a365/middleware/BaggageBuilder.js.map +1 -0
  268. package/dist/esm/a365/middleware/index.d.ts +2 -0
  269. package/dist/esm/a365/middleware/index.d.ts.map +1 -0
  270. package/dist/esm/a365/middleware/index.js +4 -0
  271. package/dist/esm/a365/middleware/index.js.map +1 -0
  272. package/dist/esm/a365/processors/A365SpanProcessor.d.ts +32 -0
  273. package/dist/esm/a365/processors/A365SpanProcessor.d.ts.map +1 -0
  274. package/dist/esm/a365/processors/A365SpanProcessor.js +100 -0
  275. package/dist/esm/a365/processors/A365SpanProcessor.js.map +1 -0
  276. package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts +44 -0
  277. package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts.map +1 -0
  278. package/dist/esm/a365/processors/PerRequestSpanProcessor.js +256 -0
  279. package/dist/esm/a365/processors/PerRequestSpanProcessor.js.map +1 -0
  280. package/dist/esm/a365/processors/index.d.ts +5 -0
  281. package/dist/esm/a365/processors/index.d.ts.map +1 -0
  282. package/dist/esm/a365/processors/index.js +6 -0
  283. package/dist/esm/a365/processors/index.js.map +1 -0
  284. package/dist/esm/a365/processors/util.d.ts +10 -0
  285. package/dist/esm/a365/processors/util.d.ts.map +1 -0
  286. package/dist/esm/a365/processors/util.js +53 -0
  287. package/dist/esm/a365/processors/util.js.map +1 -0
  288. package/dist/esm/a365/scopes/ExecuteToolScope.d.ts +24 -0
  289. package/dist/esm/a365/scopes/ExecuteToolScope.d.ts.map +1 -0
  290. package/dist/esm/a365/scopes/ExecuteToolScope.js +56 -0
  291. package/dist/esm/a365/scopes/ExecuteToolScope.js.map +1 -0
  292. package/dist/esm/a365/scopes/InferenceScope.d.ts +29 -0
  293. package/dist/esm/a365/scopes/InferenceScope.d.ts.map +1 -0
  294. package/dist/esm/a365/scopes/InferenceScope.js +71 -0
  295. package/dist/esm/a365/scopes/InferenceScope.js.map +1 -0
  296. package/dist/esm/a365/scopes/InvokeAgentScope.d.ts +25 -0
  297. package/dist/esm/a365/scopes/InvokeAgentScope.d.ts.map +1 -0
  298. package/dist/esm/a365/scopes/InvokeAgentScope.js +80 -0
  299. package/dist/esm/a365/scopes/InvokeAgentScope.js.map +1 -0
  300. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +69 -0
  301. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -0
  302. package/dist/esm/a365/scopes/OpenTelemetryScope.js +207 -0
  303. package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -0
  304. package/dist/esm/a365/scopes/OutputScope.d.ts +26 -0
  305. package/dist/esm/a365/scopes/OutputScope.d.ts.map +1 -0
  306. package/dist/esm/a365/scopes/OutputScope.js +69 -0
  307. package/dist/esm/a365/scopes/OutputScope.js.map +1 -0
  308. package/dist/esm/a365/scopes/index.d.ts +6 -0
  309. package/dist/esm/a365/scopes/index.d.ts.map +1 -0
  310. package/dist/esm/a365/scopes/index.js +8 -0
  311. package/dist/esm/a365/scopes/index.js.map +1 -0
  312. package/dist/esm/a365/utils/utils.d.ts +6 -0
  313. package/dist/esm/a365/utils/utils.d.ts.map +1 -0
  314. package/dist/esm/a365/utils/utils.js +11 -0
  315. package/dist/esm/a365/utils/utils.js.map +1 -0
  316. package/dist/esm/azureMonitor/index.d.ts +14 -0
  317. package/dist/esm/azureMonitor/index.d.ts.map +1 -1
  318. package/dist/esm/azureMonitor/index.js +27 -0
  319. package/dist/esm/azureMonitor/index.js.map +1 -1
  320. package/dist/esm/azureMonitor/metrics/handler.js +2 -2
  321. package/dist/esm/azureMonitor/metrics/handler.js.map +1 -1
  322. package/dist/esm/azureMonitor/metrics/quickpulse/types.d.ts +1 -1
  323. package/dist/esm/azureMonitor/traces/handler.d.ts +0 -3
  324. package/dist/esm/azureMonitor/traces/handler.d.ts.map +1 -1
  325. package/dist/esm/azureMonitor/traces/handler.js +6 -19
  326. package/dist/esm/azureMonitor/traces/handler.js.map +1 -1
  327. package/dist/esm/distro/distro.d.ts +3 -1
  328. package/dist/esm/distro/distro.d.ts.map +1 -1
  329. package/dist/esm/distro/distro.js +89 -93
  330. package/dist/esm/distro/distro.js.map +1 -1
  331. package/dist/esm/distro/instrumentations.d.ts +31 -0
  332. package/dist/esm/distro/instrumentations.d.ts.map +1 -0
  333. package/dist/esm/distro/instrumentations.js +126 -0
  334. package/dist/esm/distro/instrumentations.js.map +1 -0
  335. package/dist/esm/distro/types.d.ts +2 -1
  336. package/dist/esm/distro/types.d.ts.map +1 -1
  337. package/dist/esm/index.d.ts +8 -12
  338. package/dist/esm/index.d.ts.map +1 -1
  339. package/dist/esm/index.js +6 -17
  340. package/dist/esm/index.js.map +1 -1
  341. package/dist/esm/shared/jsonConfig.d.ts +2 -1
  342. package/dist/esm/shared/jsonConfig.d.ts.map +1 -1
  343. package/dist/esm/types.d.ts +8 -32
  344. package/dist/esm/types.d.ts.map +1 -1
  345. package/dist/esm/types.js +1 -1
  346. package/dist/esm/types.js.map +1 -1
  347. package/package.json +7 -8
@@ -0,0 +1,398 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { SpanKind, SpanStatusCode } from "@opentelemetry/api";
4
+ import { Logger } from "../../shared/logging/index.js";
5
+ import { ExporterEventNames } from "./ExporterEventNames.js";
6
+ import { ATTR_GEN_AI_AGENT_ID, ATTR_GEN_AI_INPUT_MESSAGES, ATTR_GEN_AI_OUTPUT_MESSAGES, ATTR_MICROSOFT_TENANT_ID, } from "../../genai/semconv.js";
7
+ import { A365_MESSAGE_SCHEMA_VERSION } from "../contracts.js";
8
+ // Message attribute keys that receive special truncation handling
9
+ const MESSAGE_ATTR_KEYS = new Set([
10
+ ATTR_GEN_AI_INPUT_MESSAGES,
11
+ ATTR_GEN_AI_OUTPUT_MESSAGES,
12
+ ]);
13
+ const MESSAGE_ROLE_SYSTEM = "system";
14
+ /**
15
+ * Partition spans by (tenantId, agentId) identity pairs.
16
+ * Spans missing either attribute are skipped.
17
+ */
18
+ export function partitionByIdentity(spans) {
19
+ const groups = new Map();
20
+ let skippedCount = 0;
21
+ for (const span of spans) {
22
+ const attrs = span.attributes || {};
23
+ const tenant = asStr(attrs[ATTR_MICROSOFT_TENANT_ID]);
24
+ const agent = asStr(attrs[ATTR_GEN_AI_AGENT_ID]);
25
+ if (!tenant || !agent) {
26
+ skippedCount++;
27
+ continue;
28
+ }
29
+ const key = `${tenant}:${agent}`;
30
+ let existing = groups.get(key);
31
+ if (!existing) {
32
+ existing = [];
33
+ groups.set(key, existing);
34
+ }
35
+ existing.push(span);
36
+ }
37
+ if (skippedCount > 0) {
38
+ Logger.getInstance().info(`[${ExporterEventNames.EXPORT_PARTITION_SPAN_MISSING_IDENTITY}] ${skippedCount} spans skipped (missing tenant or agent ID)`);
39
+ }
40
+ return groups;
41
+ }
42
+ /** Parse identity key back to tenant and agent IDs. */
43
+ export function parseIdentityKey(key) {
44
+ const idx = key.indexOf(":");
45
+ return { tenantId: key.slice(0, idx), agentId: key.slice(idx + 1) };
46
+ }
47
+ /** Convert trace ID to hex string (32 hex chars). */
48
+ export function hexTraceId(value) {
49
+ if (typeof value === "number") {
50
+ return value.toString(16).padStart(32, "0");
51
+ }
52
+ return value.replace(/^0x/, "").padStart(32, "0");
53
+ }
54
+ /** Convert span ID to hex string (16 hex chars). */
55
+ export function hexSpanId(value) {
56
+ if (typeof value === "number") {
57
+ return value.toString(16).padStart(16, "0");
58
+ }
59
+ return value.replace(/^0x/, "").padStart(16, "0");
60
+ }
61
+ /** Convert any value to a trimmed string, or undefined if empty/null. */
62
+ export function asStr(v) {
63
+ if (v === null || v === undefined)
64
+ return undefined;
65
+ const s = String(v);
66
+ return s.trim() ? s : undefined;
67
+ }
68
+ /** Get span kind name. */
69
+ export function kindName(kind) {
70
+ switch (kind) {
71
+ case SpanKind.INTERNAL:
72
+ return "INTERNAL";
73
+ case SpanKind.SERVER:
74
+ return "SERVER";
75
+ case SpanKind.CLIENT:
76
+ return "CLIENT";
77
+ case SpanKind.PRODUCER:
78
+ return "PRODUCER";
79
+ case SpanKind.CONSUMER:
80
+ return "CONSUMER";
81
+ default:
82
+ return "UNSPECIFIED";
83
+ }
84
+ }
85
+ /** Get status name. */
86
+ export function statusName(code) {
87
+ switch (code) {
88
+ case SpanStatusCode.UNSET:
89
+ return "UNSET";
90
+ case SpanStatusCode.OK:
91
+ return "OK";
92
+ case SpanStatusCode.ERROR:
93
+ return "ERROR";
94
+ default:
95
+ return "UNSET";
96
+ }
97
+ }
98
+ /**
99
+ * Resolve the Agent365 service endpoint base URI for a given cluster category.
100
+ */
101
+ export function resolveAgent365Endpoint(clusterCategory) {
102
+ switch (clusterCategory) {
103
+ case "prod":
104
+ return "https://agent365.svc.cloud.microsoft";
105
+ default:
106
+ throw new Error(`Unsupported Agent365 cluster category "${clusterCategory}". ` +
107
+ "Configure an explicit domain override or add a mapped endpoint for this cluster category.");
108
+ }
109
+ }
110
+ // ── Span truncation ─────────────────────────────────────────────────────────
111
+ /** Maximum allowed span size in bytes (250KB). */
112
+ export const MAX_SPAN_SIZE_BYTES = 250 * 1024;
113
+ const BLOB_SENTINEL = "[blob truncated]";
114
+ const JSON_SENTINEL = "[truncated]";
115
+ const TRUNCATED_SUFFIX = "… [truncated]";
116
+ const TRUNCATED_SUFFIX_BYTES = Buffer.byteLength(TRUNCATED_SUFFIX, "utf8");
117
+ const OVERLIMIT_SENTINEL = "[overlimit]";
118
+ const MIN_SHRINKABLE_STRING_BYTES = 50;
119
+ function getSerializedSize(value) {
120
+ return Buffer.byteLength(JSON.stringify(value), "utf8");
121
+ }
122
+ /**
123
+ * Build a versioned message wrapper indicating original messages were dropped.
124
+ */
125
+ function serializeOverflowSentinel(totalMessages) {
126
+ return JSON.stringify({
127
+ version: A365_MESSAGE_SCHEMA_VERSION,
128
+ messages: [
129
+ {
130
+ role: MESSAGE_ROLE_SYSTEM,
131
+ parts: [
132
+ {
133
+ type: "text",
134
+ content: `[truncated: ${totalMessages} ${totalMessages === 1 ? "message" : "messages"} exceeded limit]`,
135
+ },
136
+ ],
137
+ },
138
+ ],
139
+ });
140
+ }
141
+ /**
142
+ * Trim a string by a target UTF-8 byte budget while preserving whole code points.
143
+ */
144
+ function trimString(value, bytesToShed) {
145
+ const currentBytes = Buffer.byteLength(value, "utf8");
146
+ const targetContentBytes = Math.max(0, currentBytes - Math.max(1, bytesToShed) - TRUNCATED_SUFFIX_BYTES);
147
+ if (targetContentBytes <= 0)
148
+ return TRUNCATED_SUFFIX;
149
+ let consumedBytes = 0;
150
+ let endIndex = 0;
151
+ for (const codePoint of value) {
152
+ const cpBytes = Buffer.byteLength(codePoint, "utf8");
153
+ if (consumedBytes + cpBytes > targetContentBytes)
154
+ break;
155
+ consumedBytes += cpBytes;
156
+ endIndex += codePoint.length;
157
+ }
158
+ return value.slice(0, endIndex) + TRUNCATED_SUFFIX;
159
+ }
160
+ function createBlobShrinkAction(part, sourceKey) {
161
+ if (part.type === "blob" && typeof part.content === "string" && part.content !== BLOB_SENTINEL) {
162
+ const contentSize = Buffer.byteLength(part.content, "utf8");
163
+ if (contentSize <= 0)
164
+ return undefined;
165
+ const action = {
166
+ contentBytes: contentSize,
167
+ sourceKey,
168
+ apply() {
169
+ part.content = BLOB_SENTINEL;
170
+ action.contentBytes = 0;
171
+ },
172
+ };
173
+ return action;
174
+ }
175
+ return undefined;
176
+ }
177
+ /**
178
+ * Collect all shrink candidates from message parts and direct string attributes.
179
+ */
180
+ function collectShrinkActions(attributes, parsedMessages) {
181
+ const actions = [];
182
+ for (const key of Object.keys(attributes)) {
183
+ let handledAsMessage = false;
184
+ if (MESSAGE_ATTR_KEYS.has(key)) {
185
+ if (!parsedMessages.has(key) && typeof attributes[key] === "string") {
186
+ try {
187
+ const parsed = JSON.parse(attributes[key]);
188
+ if (parsed && typeof parsed === "object" && Array.isArray(parsed.messages)) {
189
+ parsedMessages.set(key, parsed);
190
+ }
191
+ }
192
+ catch {
193
+ // Not valid JSON — will fall through to string trim
194
+ }
195
+ }
196
+ if (parsedMessages.has(key)) {
197
+ handledAsMessage = true;
198
+ const wrapper = parsedMessages.get(key);
199
+ for (const message of wrapper.messages) {
200
+ if (!Array.isArray(message.parts))
201
+ continue;
202
+ for (const part of message.parts) {
203
+ const partType = part.type;
204
+ // Blob → sentinel
205
+ const blobAction = createBlobShrinkAction(part, key);
206
+ if (blobAction) {
207
+ actions.push(blobAction);
208
+ }
209
+ // Tool/server JSON payload fields → sentinel
210
+ const jsonField = partType === "tool_call"
211
+ ? "arguments"
212
+ : partType === "tool_call_response"
213
+ ? "response"
214
+ : partType === "server_tool_call"
215
+ ? "server_tool_call"
216
+ : partType === "server_tool_call_response"
217
+ ? "server_tool_call_response"
218
+ : undefined;
219
+ if (jsonField && part[jsonField] !== undefined && part[jsonField] !== JSON_SENTINEL) {
220
+ let fieldSize;
221
+ try {
222
+ fieldSize = Buffer.byteLength(JSON.stringify(part[jsonField]), "utf8");
223
+ }
224
+ catch {
225
+ fieldSize = 0;
226
+ }
227
+ if (fieldSize > 0) {
228
+ const action = {
229
+ contentBytes: fieldSize,
230
+ sourceKey: key,
231
+ apply() {
232
+ part[jsonField] = JSON_SENTINEL;
233
+ action.contentBytes = 0;
234
+ },
235
+ };
236
+ actions.push(action);
237
+ }
238
+ continue;
239
+ }
240
+ // Text/reasoning → trim
241
+ if ((partType === "text" || partType === "reasoning") &&
242
+ typeof part.content === "string") {
243
+ const contentSize = Buffer.byteLength(part.content, "utf8");
244
+ if (contentSize > MIN_SHRINKABLE_STRING_BYTES) {
245
+ const action = {
246
+ contentBytes: contentSize,
247
+ sourceKey: key,
248
+ apply(bytesToShed) {
249
+ const cur = Buffer.byteLength(part.content, "utf8");
250
+ if (cur > TRUNCATED_SUFFIX_BYTES) {
251
+ part.content = trimString(part.content, bytesToShed);
252
+ action.contentBytes = Buffer.byteLength(part.content, "utf8");
253
+ }
254
+ },
255
+ };
256
+ actions.push(action);
257
+ }
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ // Non-message string attribute → trim
264
+ if (!handledAsMessage && typeof attributes[key] === "string") {
265
+ const value = attributes[key];
266
+ const valueSize = Buffer.byteLength(value, "utf8");
267
+ if (valueSize > MIN_SHRINKABLE_STRING_BYTES) {
268
+ const action = {
269
+ contentBytes: valueSize,
270
+ apply(bytesToShed) {
271
+ const cur = Buffer.byteLength(attributes[key], "utf8");
272
+ if (cur > TRUNCATED_SUFFIX_BYTES) {
273
+ attributes[key] = trimString(attributes[key], bytesToShed);
274
+ action.contentBytes = Buffer.byteLength(attributes[key], "utf8");
275
+ }
276
+ },
277
+ };
278
+ actions.push(action);
279
+ }
280
+ }
281
+ }
282
+ return actions;
283
+ }
284
+ function flushParsedMessages(attributes, parsedMessages) {
285
+ for (const [key, wrapper] of parsedMessages) {
286
+ try {
287
+ attributes[key] = JSON.stringify(wrapper);
288
+ }
289
+ catch {
290
+ // Leave the previous value intact
291
+ }
292
+ }
293
+ }
294
+ function flushParsedMessage(attributes, parsedMessages, key) {
295
+ const wrapper = parsedMessages.get(key);
296
+ if (wrapper) {
297
+ try {
298
+ attributes[key] = JSON.stringify(wrapper);
299
+ }
300
+ catch {
301
+ // Leave the previous value intact
302
+ }
303
+ }
304
+ }
305
+ function runShrinkPhase(span, attributes, parsedMessages, currentSize) {
306
+ let nextSize = currentSize;
307
+ const actions = collectShrinkActions(attributes, parsedMessages);
308
+ while (actions.length > 0 && nextSize > MAX_SPAN_SIZE_BYTES) {
309
+ let maxIdx = 0;
310
+ for (let j = 1; j < actions.length; j++) {
311
+ if (actions[j].contentBytes > actions[maxIdx].contentBytes)
312
+ maxIdx = j;
313
+ }
314
+ const excess = nextSize - MAX_SPAN_SIZE_BYTES;
315
+ const previousSize = nextSize;
316
+ const action = actions[maxIdx];
317
+ action.apply(excess);
318
+ if (action.sourceKey) {
319
+ flushParsedMessage(attributes, parsedMessages, action.sourceKey);
320
+ }
321
+ nextSize = getSerializedSize(span);
322
+ if (nextSize >= previousSize) {
323
+ actions.splice(maxIdx, 1);
324
+ }
325
+ else if (action.contentBytes <= MIN_SHRINKABLE_STRING_BYTES) {
326
+ actions.splice(maxIdx, 1);
327
+ }
328
+ }
329
+ flushParsedMessages(attributes, parsedMessages);
330
+ return nextSize;
331
+ }
332
+ /**
333
+ * Truncate span attributes if the serialized span exceeds MAX_SPAN_SIZE_BYTES.
334
+ *
335
+ * Phase 1: iteratively shrink fields (blobs, text, json, strings) by size priority.
336
+ * Phase 2 (fallback): replace remaining string attributes with overlimit sentinel.
337
+ */
338
+ export function truncateSpan(spanDict) {
339
+ try {
340
+ let currentSize = getSerializedSize(spanDict);
341
+ if (currentSize <= MAX_SPAN_SIZE_BYTES)
342
+ return spanDict;
343
+ Logger.getInstance().warn(`[Agent365Exporter] Span size (${currentSize} bytes) exceeds limit (${MAX_SPAN_SIZE_BYTES} bytes). Shrinking.`);
344
+ const truncated = { ...spanDict };
345
+ if (truncated.attributes)
346
+ truncated.attributes = { ...truncated.attributes };
347
+ const attributes = truncated.attributes;
348
+ if (!attributes)
349
+ return truncated;
350
+ const parsedMessages = new Map();
351
+ // Phase 1: iteratively shrink fields by size priority
352
+ currentSize = runShrinkPhase(truncated, attributes, parsedMessages, currentSize);
353
+ if (currentSize > MAX_SPAN_SIZE_BYTES) {
354
+ // Phase 2: replace all string attributes with sentinels, largest first
355
+ const stringKeys = Object.keys(attributes)
356
+ .filter((k) => typeof attributes[k] === "string" && attributes[k] !== OVERLIMIT_SENTINEL)
357
+ .sort((a, b) => Buffer.byteLength(attributes[b], "utf8") -
358
+ Buffer.byteLength(attributes[a], "utf8"));
359
+ for (const key of stringKeys) {
360
+ if (currentSize <= MAX_SPAN_SIZE_BYTES)
361
+ break;
362
+ if (MESSAGE_ATTR_KEYS.has(key)) {
363
+ let messageCount = 0;
364
+ const cached = parsedMessages.get(key);
365
+ if (cached) {
366
+ messageCount = cached.messages.length;
367
+ }
368
+ else if (typeof attributes[key] === "string") {
369
+ try {
370
+ const parsed = JSON.parse(attributes[key]);
371
+ if (parsed && Array.isArray(parsed.messages)) {
372
+ messageCount = parsed.messages.length;
373
+ }
374
+ }
375
+ catch {
376
+ /* not valid JSON */
377
+ }
378
+ }
379
+ attributes[key] = serializeOverflowSentinel(messageCount);
380
+ parsedMessages.delete(key);
381
+ }
382
+ else {
383
+ attributes[key] = OVERLIMIT_SENTINEL;
384
+ }
385
+ currentSize = getSerializedSize(truncated);
386
+ }
387
+ }
388
+ if (currentSize > MAX_SPAN_SIZE_BYTES) {
389
+ Logger.getInstance().warn(`[Agent365Exporter] Span still ${currentSize} bytes after truncation (limit: ${MAX_SPAN_SIZE_BYTES}).`);
390
+ }
391
+ return truncated;
392
+ }
393
+ catch (e) {
394
+ Logger.getInstance().error(`[Agent365Exporter] Error during span truncation: ${e}`);
395
+ return spanDict;
396
+ }
397
+ }
398
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/a365/exporter/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Utilities to populate BaggageBuilder from a TurnContext.
3
+ *
4
+ * Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/utils/BaggageBuilderUtils.ts
5
+ */
6
+ import { BaggageBuilder } from "../middleware/BaggageBuilder.js";
7
+ import type { TurnContextLike } from "./types.js";
8
+ /**
9
+ * Utilities to populate BaggageBuilder from a TurnContext.
10
+ */
11
+ export declare class BaggageBuilderUtils {
12
+ /**
13
+ * Populate all supported baggage pairs from the provided TurnContext.
14
+ */
15
+ static fromTurnContext(builder: BaggageBuilder, turnContext: TurnContextLike): BaggageBuilder;
16
+ static setCallerBaggage(builder: BaggageBuilder, turnContext: TurnContextLike): BaggageBuilder;
17
+ static setTargetAgentBaggage(builder: BaggageBuilder, turnContext: TurnContextLike): BaggageBuilder;
18
+ static setTenantIdBaggage(builder: BaggageBuilder, turnContext: TurnContextLike): BaggageBuilder;
19
+ static setChannelBaggage(builder: BaggageBuilder, turnContext: TurnContextLike): BaggageBuilder;
20
+ static setConversationIdBaggage(builder: BaggageBuilder, turnContext: TurnContextLike): BaggageBuilder;
21
+ }
22
+ //# sourceMappingURL=baggageBuilderUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baggageBuilderUtils.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/baggageBuilderUtils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASlD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,GAAG,cAAc;IAY7F,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,GAAG,cAAc;IAK9F,MAAM,CAAC,qBAAqB,CAC1B,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,eAAe,GAC3B,cAAc;IAKjB,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,GAAG,cAAc;IAKhG,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,GAAG,cAAc;IAK/F,MAAM,CAAC,wBAAwB,CAC7B,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,eAAe,GAC3B,cAAc;CAIlB"}
@@ -0,0 +1,43 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, } from "./turnContextUtils.js";
4
+ /**
5
+ * Utilities to populate BaggageBuilder from a TurnContext.
6
+ */
7
+ export class BaggageBuilderUtils {
8
+ /**
9
+ * Populate all supported baggage pairs from the provided TurnContext.
10
+ */
11
+ static fromTurnContext(builder, turnContext) {
12
+ if (!turnContext) {
13
+ throw new Error("turnContext is required");
14
+ }
15
+ this.setCallerBaggage(builder, turnContext);
16
+ this.setTargetAgentBaggage(builder, turnContext);
17
+ this.setTenantIdBaggage(builder, turnContext);
18
+ this.setChannelBaggage(builder, turnContext);
19
+ this.setConversationIdBaggage(builder, turnContext);
20
+ return builder;
21
+ }
22
+ static setCallerBaggage(builder, turnContext) {
23
+ builder.setPairs(getCallerBaggagePairs(turnContext));
24
+ return builder;
25
+ }
26
+ static setTargetAgentBaggage(builder, turnContext) {
27
+ builder.setPairs(getTargetAgentBaggagePairs(turnContext));
28
+ return builder;
29
+ }
30
+ static setTenantIdBaggage(builder, turnContext) {
31
+ builder.setPairs(getTenantIdPair(turnContext));
32
+ return builder;
33
+ }
34
+ static setChannelBaggage(builder, turnContext) {
35
+ builder.setPairs(getChannelBaggagePairs(turnContext));
36
+ return builder;
37
+ }
38
+ static setConversationIdBaggage(builder, turnContext) {
39
+ builder.setPairs(getConversationIdAndItemLinkPairs(turnContext));
40
+ return builder;
41
+ }
42
+ }
43
+ //# sourceMappingURL=baggageBuilderUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baggageBuilderUtils.js","sourceRoot":"","sources":["../../../../src/a365/hosting/baggageBuilderUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAuB,EAAE,WAA4B;QAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAuB,EAAE,WAA4B;QAC3E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,qBAAqB,CAC1B,OAAuB,EACvB,WAA4B;QAE5B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAuB,EAAE,WAA4B;QAC7E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAuB,EAAE,WAA4B;QAC5E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,wBAAwB,CAC7B,OAAuB,EACvB,WAA4B;QAE5B,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { TurnContextLike, MiddlewareLike } from "./types.js";
2
+ /**
3
+ * Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
4
+ * Async replies (ContinueConversation) are passed through without baggage setup.
5
+ */
6
+ export declare class BaggageMiddleware implements MiddlewareLike {
7
+ onTurn(context: TurnContextLike, next: () => Promise<void>): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=baggageMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baggageMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/baggageMiddleware.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASlE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAChD,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBjF"}
@@ -0,0 +1,34 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
5
+ * Async replies (ContinueConversation events) are passed through without baggage setup.
6
+ *
7
+ * Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/middleware/BaggageMiddleware.ts
8
+ */
9
+ import { BaggageBuilder } from "../middleware/BaggageBuilder.js";
10
+ import { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, } from "./turnContextUtils.js";
11
+ /**
12
+ * Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
13
+ * Async replies (ContinueConversation) are passed through without baggage setup.
14
+ */
15
+ export class BaggageMiddleware {
16
+ async onTurn(context, next) {
17
+ const isAsyncReply = context.activity?.type === "event" && context.activity?.name === "ContinueConversation";
18
+ if (isAsyncReply) {
19
+ await next();
20
+ return;
21
+ }
22
+ const baggageScope = new BaggageBuilder()
23
+ .setPairs(getCallerBaggagePairs(context))
24
+ .setPairs(getTargetAgentBaggagePairs(context))
25
+ .setPairs(getTenantIdPair(context))
26
+ .setPairs(getChannelBaggagePairs(context))
27
+ .setPairs(getConversationIdAndItemLinkPairs(context))
28
+ .build();
29
+ await baggageScope.run(async () => {
30
+ await next();
31
+ });
32
+ }
33
+ }
34
+ //# sourceMappingURL=baggageMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baggageMiddleware.js","sourceRoot":"","sources":["../../../../src/a365/hosting/baggageMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,MAAM,CAAC,OAAwB,EAAE,IAAyB;QAC9D,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,sBAAsB,CAAC;QAE1F,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE;aACtC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACxC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;aAC7C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAClC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;aACzC,QAAQ,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;aACpD,KAAK,EAAE,CAAC;QAEX,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ export { BaggageBuilderUtils } from "./baggageBuilderUtils.js";
2
+ export { ScopeUtils } from "./scopeUtils.js";
3
+ export { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, } from "./turnContextUtils.js";
4
+ export { BaggageMiddleware } from "./baggageMiddleware.js";
5
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, } from "./outputLoggingMiddleware.js";
6
+ export { ObservabilityHostingManager } from "./observabilityHostingManager.js";
7
+ export type { ObservabilityHostingOptions } from "./observabilityHostingManager.js";
8
+ export type { TurnContextLike, ActivityLike, MiddlewareLike, SendActivitiesHandler, } from "./types.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,YAAY,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export { BaggageBuilderUtils } from "./baggageBuilderUtils.js";
4
+ export { ScopeUtils } from "./scopeUtils.js";
5
+ export { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, } from "./turnContextUtils.js";
6
+ export { BaggageMiddleware } from "./baggageMiddleware.js";
7
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, } from "./outputLoggingMiddleware.js";
8
+ export { ObservabilityHostingManager } from "./observabilityHostingManager.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { MiddlewareLike } from "./types.js";
2
+ /**
3
+ * Configuration options for the hosting observability layer.
4
+ */
5
+ export interface ObservabilityHostingOptions {
6
+ /** Enable baggage propagation middleware. Defaults to false. */
7
+ enableBaggage?: boolean;
8
+ /** Enable output logging middleware for tracing outgoing messages. Defaults to false. */
9
+ enableOutputLogging?: boolean;
10
+ }
11
+ /**
12
+ * Manager for configuring hosting-layer observability middleware.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const manager = new ObservabilityHostingManager();
17
+ * manager.configure(adapter, { enableOutputLogging: true });
18
+ * ```
19
+ */
20
+ export declare class ObservabilityHostingManager {
21
+ private _configured;
22
+ /**
23
+ * Registers observability middleware on the adapter.
24
+ * Subsequent calls are ignored.
25
+ */
26
+ configure(adapter: {
27
+ use(...middlewares: Array<MiddlewareLike>): void;
28
+ }, options: ObservabilityHostingOptions): void;
29
+ }
30
+ //# sourceMappingURL=observabilityHostingManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observabilityHostingManager.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/observabilityHostingManager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;IACH,SAAS,CACP,OAAO,EAAE;QAAE,GAAG,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;KAAE,EAC7D,OAAO,EAAE,2BAA2B,GACnC,IAAI;CA2BR"}