@microsoft/agents-a365-observability 0.1.0-preview.93 → 0.2.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/cjs/ObservabilityBuilder.d.ts +47 -1
  2. package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
  3. package/dist/cjs/ObservabilityBuilder.js +95 -15
  4. package/dist/cjs/ObservabilityBuilder.js.map +1 -1
  5. package/dist/cjs/ObservabilityManager.d.ts.map +1 -1
  6. package/dist/cjs/ObservabilityManager.js +3 -0
  7. package/dist/cjs/ObservabilityManager.js.map +1 -1
  8. package/dist/cjs/configuration/ObservabilityConfiguration.d.ts +19 -0
  9. package/dist/cjs/configuration/ObservabilityConfiguration.d.ts.map +1 -0
  10. package/dist/cjs/configuration/ObservabilityConfiguration.js +60 -0
  11. package/dist/cjs/configuration/ObservabilityConfiguration.js.map +1 -0
  12. package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
  13. package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
  14. package/dist/cjs/configuration/ObservabilityConfigurationOptions.js +5 -0
  15. package/dist/cjs/configuration/ObservabilityConfigurationOptions.js.map +1 -0
  16. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
  17. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
  18. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js +73 -0
  19. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
  20. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
  21. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
  22. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js +5 -0
  23. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
  24. package/dist/cjs/configuration/index.d.ts +16 -0
  25. package/dist/cjs/configuration/index.d.ts.map +1 -0
  26. package/dist/cjs/configuration/index.js +35 -0
  27. package/dist/cjs/configuration/index.js.map +1 -0
  28. package/dist/cjs/index.d.ts +11 -3
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +48 -5
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
  33. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
  34. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js +15 -0
  35. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
  36. package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts +10 -3
  37. package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
  38. package/dist/cjs/tracing/PerRequestSpanProcessor.js +14 -23
  39. package/dist/cjs/tracing/PerRequestSpanProcessor.js.map +1 -1
  40. package/dist/cjs/tracing/constants.d.ts +35 -35
  41. package/dist/cjs/tracing/constants.d.ts.map +1 -1
  42. package/dist/cjs/tracing/constants.js +42 -40
  43. package/dist/cjs/tracing/constants.js.map +1 -1
  44. package/dist/cjs/tracing/context/parent-span-context.d.ts +11 -2
  45. package/dist/cjs/tracing/context/parent-span-context.d.ts.map +1 -1
  46. package/dist/cjs/tracing/context/parent-span-context.js +10 -5
  47. package/dist/cjs/tracing/context/parent-span-context.js.map +1 -1
  48. package/dist/cjs/tracing/context/token-context.d.ts +14 -0
  49. package/dist/cjs/tracing/context/token-context.d.ts.map +1 -1
  50. package/dist/cjs/tracing/context/token-context.js +35 -2
  51. package/dist/cjs/tracing/context/token-context.js.map +1 -1
  52. package/dist/cjs/tracing/context/trace-context-propagation.d.ts +68 -0
  53. package/dist/cjs/tracing/context/trace-context-propagation.d.ts.map +1 -0
  54. package/dist/cjs/tracing/context/trace-context-propagation.js +85 -0
  55. package/dist/cjs/tracing/context/trace-context-propagation.js.map +1 -0
  56. package/dist/cjs/tracing/contracts.d.ts +229 -62
  57. package/dist/cjs/tracing/contracts.d.ts.map +1 -1
  58. package/dist/cjs/tracing/contracts.js +39 -18
  59. package/dist/cjs/tracing/contracts.js.map +1 -1
  60. package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts +9 -4
  61. package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
  62. package/dist/cjs/tracing/exporter/Agent365Exporter.js +53 -46
  63. package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -1
  64. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
  65. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  66. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js +11 -7
  67. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
  68. package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts +20 -0
  69. package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
  70. package/dist/cjs/tracing/exporter/ExporterEventNames.js +26 -0
  71. package/dist/cjs/tracing/exporter/ExporterEventNames.js.map +1 -0
  72. package/dist/cjs/tracing/exporter/utils.d.ts +24 -11
  73. package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -1
  74. package/dist/cjs/tracing/exporter/utils.js +354 -33
  75. package/dist/cjs/tracing/exporter/utils.js.map +1 -1
  76. package/dist/cjs/tracing/message-utils.d.ts +36 -0
  77. package/dist/cjs/tracing/message-utils.d.ts.map +1 -0
  78. package/dist/cjs/tracing/message-utils.js +90 -0
  79. package/dist/cjs/tracing/message-utils.js.map +1 -0
  80. package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts +32 -44
  81. package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
  82. package/dist/cjs/tracing/middleware/BaggageBuilder.js +49 -62
  83. package/dist/cjs/tracing/middleware/BaggageBuilder.js.map +1 -1
  84. package/dist/cjs/tracing/processors/SpanProcessor.d.ts.map +1 -1
  85. package/dist/cjs/tracing/processors/SpanProcessor.js +12 -3
  86. package/dist/cjs/tracing/processors/SpanProcessor.js.map +1 -1
  87. package/dist/cjs/tracing/processors/util.d.ts.map +1 -1
  88. package/dist/cjs/tracing/processors/util.js +16 -22
  89. package/dist/cjs/tracing/processors/util.js.map +1 -1
  90. package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +10 -11
  91. package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
  92. package/dist/cjs/tracing/scopes/ExecuteToolScope.js +26 -20
  93. package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
  94. package/dist/cjs/tracing/scopes/InferenceScope.d.ts +20 -24
  95. package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
  96. package/dist/cjs/tracing/scopes/InferenceScope.js +53 -48
  97. package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
  98. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +17 -12
  99. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  100. package/dist/cjs/tracing/scopes/InvokeAgentScope.js +55 -54
  101. package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
  102. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
  103. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  104. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +114 -30
  105. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  106. package/dist/cjs/tracing/scopes/OutputScope.d.ts +33 -0
  107. package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -0
  108. package/dist/cjs/tracing/scopes/OutputScope.js +80 -0
  109. package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -0
  110. package/dist/cjs/tracing/util.d.ts +14 -1
  111. package/dist/cjs/tracing/util.d.ts.map +1 -1
  112. package/dist/cjs/tracing/util.js +38 -7
  113. package/dist/cjs/tracing/util.js.map +1 -1
  114. package/dist/cjs/utils/logging.d.ts +106 -5
  115. package/dist/cjs/utils/logging.d.ts.map +1 -1
  116. package/dist/cjs/utils/logging.js +120 -38
  117. package/dist/cjs/utils/logging.js.map +1 -1
  118. package/dist/cjs/version.d.ts +2 -0
  119. package/dist/cjs/version.d.ts.map +1 -0
  120. package/dist/cjs/version.js +5 -0
  121. package/dist/cjs/version.js.map +1 -0
  122. package/dist/esm/ObservabilityBuilder.d.ts +47 -1
  123. package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
  124. package/dist/esm/ObservabilityBuilder.js +63 -13
  125. package/dist/esm/ObservabilityBuilder.js.map +1 -1
  126. package/dist/esm/ObservabilityManager.d.ts.map +1 -1
  127. package/dist/esm/ObservabilityManager.js +3 -0
  128. package/dist/esm/ObservabilityManager.js.map +1 -1
  129. package/dist/esm/configuration/ObservabilityConfiguration.d.ts +19 -0
  130. package/dist/esm/configuration/ObservabilityConfiguration.d.ts.map +1 -0
  131. package/dist/esm/configuration/ObservabilityConfiguration.js +56 -0
  132. package/dist/esm/configuration/ObservabilityConfiguration.js.map +1 -0
  133. package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
  134. package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
  135. package/dist/esm/configuration/ObservabilityConfigurationOptions.js +4 -0
  136. package/dist/esm/configuration/ObservabilityConfigurationOptions.js.map +1 -0
  137. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
  138. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
  139. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js +69 -0
  140. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
  141. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
  142. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
  143. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js +4 -0
  144. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
  145. package/dist/esm/configuration/index.d.ts +16 -0
  146. package/dist/esm/configuration/index.d.ts.map +1 -0
  147. package/dist/esm/configuration/index.js +18 -0
  148. package/dist/esm/configuration/index.js.map +1 -0
  149. package/dist/esm/index.d.ts +11 -3
  150. package/dist/esm/index.d.ts.map +1 -1
  151. package/dist/esm/index.js +18 -6
  152. package/dist/esm/index.js.map +1 -1
  153. package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
  154. package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
  155. package/dist/esm/internal/PerRequestProcessorInternalOverrides.js +11 -0
  156. package/dist/esm/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
  157. package/dist/esm/tracing/PerRequestSpanProcessor.d.ts +10 -3
  158. package/dist/esm/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
  159. package/dist/esm/tracing/PerRequestSpanProcessor.js +14 -23
  160. package/dist/esm/tracing/PerRequestSpanProcessor.js.map +1 -1
  161. package/dist/esm/tracing/constants.d.ts +35 -35
  162. package/dist/esm/tracing/constants.d.ts.map +1 -1
  163. package/dist/esm/tracing/constants.js +42 -40
  164. package/dist/esm/tracing/constants.js.map +1 -1
  165. package/dist/esm/tracing/context/parent-span-context.d.ts +11 -2
  166. package/dist/esm/tracing/context/parent-span-context.d.ts.map +1 -1
  167. package/dist/esm/tracing/context/parent-span-context.js +10 -5
  168. package/dist/esm/tracing/context/parent-span-context.js.map +1 -1
  169. package/dist/esm/tracing/context/token-context.d.ts +14 -0
  170. package/dist/esm/tracing/context/token-context.d.ts.map +1 -1
  171. package/dist/esm/tracing/context/token-context.js +34 -2
  172. package/dist/esm/tracing/context/token-context.js.map +1 -1
  173. package/dist/esm/tracing/context/trace-context-propagation.d.ts +68 -0
  174. package/dist/esm/tracing/context/trace-context-propagation.d.ts.map +1 -0
  175. package/dist/esm/tracing/context/trace-context-propagation.js +79 -0
  176. package/dist/esm/tracing/context/trace-context-propagation.js.map +1 -0
  177. package/dist/esm/tracing/contracts.d.ts +229 -62
  178. package/dist/esm/tracing/contracts.d.ts.map +1 -1
  179. package/dist/esm/tracing/contracts.js +38 -17
  180. package/dist/esm/tracing/contracts.js.map +1 -1
  181. package/dist/esm/tracing/exporter/Agent365Exporter.d.ts +9 -4
  182. package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
  183. package/dist/esm/tracing/exporter/Agent365Exporter.js +54 -47
  184. package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -1
  185. package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
  186. package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  187. package/dist/esm/tracing/exporter/Agent365ExporterOptions.js +11 -7
  188. package/dist/esm/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
  189. package/dist/esm/tracing/exporter/ExporterEventNames.d.ts +20 -0
  190. package/dist/esm/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
  191. package/dist/esm/tracing/exporter/ExporterEventNames.js +23 -0
  192. package/dist/esm/tracing/exporter/ExporterEventNames.js.map +1 -0
  193. package/dist/esm/tracing/exporter/utils.d.ts +24 -11
  194. package/dist/esm/tracing/exporter/utils.d.ts.map +1 -1
  195. package/dist/esm/tracing/exporter/utils.js +352 -32
  196. package/dist/esm/tracing/exporter/utils.js.map +1 -1
  197. package/dist/esm/tracing/message-utils.d.ts +36 -0
  198. package/dist/esm/tracing/message-utils.d.ts.map +1 -0
  199. package/dist/esm/tracing/message-utils.js +82 -0
  200. package/dist/esm/tracing/message-utils.js.map +1 -0
  201. package/dist/esm/tracing/middleware/BaggageBuilder.d.ts +32 -44
  202. package/dist/esm/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
  203. package/dist/esm/tracing/middleware/BaggageBuilder.js +49 -62
  204. package/dist/esm/tracing/middleware/BaggageBuilder.js.map +1 -1
  205. package/dist/esm/tracing/processors/SpanProcessor.d.ts.map +1 -1
  206. package/dist/esm/tracing/processors/SpanProcessor.js +12 -3
  207. package/dist/esm/tracing/processors/SpanProcessor.js.map +1 -1
  208. package/dist/esm/tracing/processors/util.d.ts.map +1 -1
  209. package/dist/esm/tracing/processors/util.js +16 -22
  210. package/dist/esm/tracing/processors/util.js.map +1 -1
  211. package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +10 -11
  212. package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
  213. package/dist/esm/tracing/scopes/ExecuteToolScope.js +26 -20
  214. package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
  215. package/dist/esm/tracing/scopes/InferenceScope.d.ts +20 -24
  216. package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
  217. package/dist/esm/tracing/scopes/InferenceScope.js +53 -48
  218. package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
  219. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +17 -12
  220. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  221. package/dist/esm/tracing/scopes/InvokeAgentScope.js +55 -54
  222. package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
  223. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
  224. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  225. package/dist/esm/tracing/scopes/OpenTelemetryScope.js +115 -31
  226. package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  227. package/dist/esm/tracing/scopes/OutputScope.d.ts +33 -0
  228. package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -0
  229. package/dist/esm/tracing/scopes/OutputScope.js +76 -0
  230. package/dist/esm/tracing/scopes/OutputScope.js.map +1 -0
  231. package/dist/esm/tracing/util.d.ts +14 -1
  232. package/dist/esm/tracing/util.d.ts.map +1 -1
  233. package/dist/esm/tracing/util.js +37 -7
  234. package/dist/esm/tracing/util.js.map +1 -1
  235. package/dist/esm/utils/logging.d.ts +106 -5
  236. package/dist/esm/utils/logging.d.ts.map +1 -1
  237. package/dist/esm/utils/logging.js +115 -37
  238. package/dist/esm/utils/logging.js.map +1 -1
  239. package/dist/esm/version.d.ts +2 -0
  240. package/dist/esm/version.d.ts.map +1 -0
  241. package/dist/esm/version.js +2 -0
  242. package/dist/esm/version.js.map +1 -0
  243. package/package.json +9 -9
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
- // ------------------------------------------------------------------------------
3
- // Copyright (c) Microsoft Corporation. All rights reserved.
4
- // ------------------------------------------------------------------------------
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
5
4
  Object.defineProperty(exports, "__esModule", { value: true });
6
5
  exports.OpenTelemetryConstants = void 0;
6
+ const version_1 = require("../version");
7
7
  /**
8
8
  * OpenTelemetry constants for Agent 365
9
9
  */
@@ -13,8 +13,11 @@ exports.OpenTelemetryConstants = OpenTelemetryConstants;
13
13
  // Span operation names
14
14
  OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME = 'invoke_agent';
15
15
  OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME = 'execute_tool';
16
+ OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME = 'output_messages';
17
+ OpenTelemetryConstants.CHAT_OPERATION_NAME = 'chat';
16
18
  // OpenTelemetry semantic conventions
17
19
  OpenTelemetryConstants.ERROR_TYPE_KEY = 'error.type';
20
+ OpenTelemetryConstants.ERROR_TYPE_CANCELLED = 'TaskCanceledException';
18
21
  OpenTelemetryConstants.ERROR_MESSAGE_KEY = 'error.message';
19
22
  OpenTelemetryConstants.AZ_NAMESPACE_KEY = 'az.namespace';
20
23
  OpenTelemetryConstants.SERVER_ADDRESS_KEY = 'server.address';
@@ -36,18 +39,16 @@ OpenTelemetryConstants.GEN_AI_REQUEST_MAX_TOKENS_KEY = 'gen_ai.request.max_token
36
39
  OpenTelemetryConstants.GEN_AI_REQUEST_MODEL_KEY = 'gen_ai.request.model';
37
40
  OpenTelemetryConstants.GEN_AI_REQUEST_TEMPERATURE_KEY = 'gen_ai.request.temperature';
38
41
  OpenTelemetryConstants.GEN_AI_REQUEST_TOP_P_KEY = 'gen_ai.request.top_p';
39
- OpenTelemetryConstants.GEN_AI_RESPONSE_ID_KEY = 'gen_ai.response.id';
40
42
  OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY = 'gen_ai.response.finish_reasons';
41
43
  OpenTelemetryConstants.GEN_AI_RESPONSE_MODEL_KEY = 'gen_ai.response.model';
42
- OpenTelemetryConstants.GEN_AI_SYSTEM_KEY = 'gen_ai.system';
43
- OpenTelemetryConstants.GEN_AI_SYSTEM_VALUE = 'az.ai.agent365';
44
44
  OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY = 'gen_ai.agent.id';
45
45
  OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY = 'gen_ai.agent.name';
46
- OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY = 'gen_ai.agent.type';
47
46
  OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY = 'gen_ai.agent.description';
48
- OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY = 'gen_ai.agent.platformid';
47
+ OpenTelemetryConstants.GEN_AI_AGENT_VERSION_KEY = 'gen_ai.agent.version';
48
+ OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY = 'microsoft.a365.agent.platform.id';
49
+ OpenTelemetryConstants.GEN_AI_AGENT_THOUGHT_PROCESS_KEY = 'microsoft.a365.agent.thought.process';
49
50
  OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY = 'gen_ai.conversation.id';
50
- OpenTelemetryConstants.GEN_AI_CONVERSATION_ITEM_LINK_KEY = 'gen_ai.conversation.item.link';
51
+ OpenTelemetryConstants.GEN_AI_CONVERSATION_ITEM_LINK_KEY = 'microsoft.conversation.item.link';
51
52
  OpenTelemetryConstants.GEN_AI_TOKEN_TYPE_KEY = 'gen_ai.token.type';
52
53
  OpenTelemetryConstants.GEN_AI_USAGE_INPUT_TOKENS_KEY = 'gen_ai.usage.input_tokens';
53
54
  OpenTelemetryConstants.GEN_AI_USAGE_OUTPUT_TOKENS_KEY = 'gen_ai.usage.output_tokens';
@@ -56,52 +57,53 @@ OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY = 'gen_ai.provider.name';
56
57
  OpenTelemetryConstants.GEN_AI_SYSTEM_INSTRUCTIONS_KEY = 'gen_ai.system_instructions';
57
58
  OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY = 'gen_ai.input.messages';
58
59
  OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY = 'gen_ai.output.messages';
59
- OpenTelemetryConstants.GEN_AI_EVENT_CONTENT = 'gen_ai.event.content';
60
+ OpenTelemetryConstants.A365_MESSAGES_SCHEMA_VERSION_KEY = 'microsoft.a365.messages.schema_version';
60
61
  // Tool execution constants
61
62
  OpenTelemetryConstants.GEN_AI_TOOL_CALL_ID_KEY = 'gen_ai.tool.call.id';
62
63
  OpenTelemetryConstants.GEN_AI_TOOL_NAME_KEY = 'gen_ai.tool.name';
63
64
  OpenTelemetryConstants.GEN_AI_TOOL_DESCRIPTION_KEY = 'gen_ai.tool.description';
64
65
  OpenTelemetryConstants.GEN_AI_TOOL_ARGS_KEY = 'gen_ai.tool.call.arguments';
65
- OpenTelemetryConstants.GEN_AI_TOOL_CALL_RESULT_KEY = 'gen_ai.event.content'; // GEN_AI_EVENT_CONTENT
66
+ OpenTelemetryConstants.GEN_AI_TOOL_CALL_RESULT_KEY = 'gen_ai.tool.call.result';
66
67
  OpenTelemetryConstants.GEN_AI_TOOL_TYPE_KEY = 'gen_ai.tool.type';
67
- // Agent user (user tied to agent instance during creation) or caller dimensions
68
- OpenTelemetryConstants.GEN_AI_AGENT_USER_ID_KEY = 'gen_ai.agent.userid';
69
- OpenTelemetryConstants.GEN_AI_CALLER_TENANT_ID_KEY = 'gen_ai.caller.tenantid';
70
- OpenTelemetryConstants.GEN_AI_CALLER_ID_KEY = 'gen_ai.caller.id';
71
- OpenTelemetryConstants.GEN_AI_CALLER_NAME_KEY = 'gen_ai.caller.name';
72
- OpenTelemetryConstants.GEN_AI_CALLER_UPN_KEY = 'gen_ai.caller.upn';
73
- OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY = 'gen_ai.caller.client.ip';
68
+ // Human caller dimensions (OTel user.* namespace)
69
+ OpenTelemetryConstants.USER_ID_KEY = 'user.id';
70
+ OpenTelemetryConstants.USER_NAME_KEY = 'user.name';
71
+ OpenTelemetryConstants.USER_EMAIL_KEY = 'user.email';
72
+ OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY = 'client.address';
74
73
  // Agent to Agent caller agent dimensions
75
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY = 'gen_ai.caller.agent.userid';
76
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_UPN_KEY = 'gen_ai.caller.agent.upn';
77
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_TENANT_ID_KEY = 'gen_ai.caller.agent.tenantid';
78
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY = 'gen_ai.caller.agent.name';
79
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY = 'gen_ai.caller.agent.id';
80
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY = 'gen_ai.caller.agent.applicationid';
81
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_CLIENT_IP_KEY = 'gen_ai.caller.agent.user.client.ip';
82
- OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY = 'gen_ai.caller.agent.platformid';
74
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY = 'microsoft.a365.caller.agent.user.id';
75
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY = 'microsoft.a365.caller.agent.user.email';
76
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY = 'microsoft.a365.caller.agent.name';
77
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY = 'microsoft.a365.caller.agent.id';
78
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY = 'microsoft.a365.caller.agent.blueprint.id';
79
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY = 'microsoft.a365.caller.agent.platform.id';
80
+ OpenTelemetryConstants.GEN_AI_CALLER_AGENT_VERSION_KEY = 'microsoft.a365.caller.agent.version';
83
81
  // Agent-specific dimensions
84
82
  OpenTelemetryConstants.AGENT_ID_KEY = 'gen_ai.agent.id';
85
83
  OpenTelemetryConstants.GEN_AI_TASK_ID_KEY = 'gen_ai.task.id';
86
- OpenTelemetryConstants.SESSION_ID_KEY = 'session.id';
87
- OpenTelemetryConstants.SESSION_DESCRIPTION_KEY = 'session.description';
84
+ OpenTelemetryConstants.SESSION_ID_KEY = 'microsoft.session.id';
85
+ OpenTelemetryConstants.SESSION_DESCRIPTION_KEY = 'microsoft.session.description';
88
86
  OpenTelemetryConstants.GEN_AI_ICON_URI_KEY = 'gen_ai.agent365.icon_uri';
89
- OpenTelemetryConstants.TENANT_ID_KEY = 'tenant.id';
87
+ OpenTelemetryConstants.TENANT_ID_KEY = 'microsoft.tenant.id';
90
88
  // Baggage keys
91
- OpenTelemetryConstants.OPERATION_SOURCE_KEY = 'operation.source';
92
- OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY = 'gen_ai.agent.user.id';
93
- OpenTelemetryConstants.GEN_AI_AGENT_UPN_KEY = 'gen_ai.agent.upn';
94
- OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY = 'gen_ai.agent.applicationid';
95
- OpenTelemetryConstants.CORRELATION_ID_KEY = 'correlation.id';
96
- OpenTelemetryConstants.HIRING_MANAGER_ID_KEY = 'hiring.manager.id';
89
+ OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY = 'microsoft.agent.user.id';
90
+ OpenTelemetryConstants.GEN_AI_AGENT_EMAIL_KEY = 'microsoft.agent.user.email';
91
+ OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY = 'microsoft.a365.agent.blueprint.id';
97
92
  // Execution context dimensions
98
- OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY = 'gen_ai.execution.type';
99
93
  OpenTelemetryConstants.GEN_AI_EXECUTION_PAYLOAD_KEY = 'gen_ai.execution.payload';
100
- // Source metadata dimensions
101
- OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_ID_KEY = 'gen_ai.execution.sourceMetadata.id';
102
- OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_NAME_KEY = 'gen_ai.channel.name';
103
- OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_DESCRIPTION_KEY = 'gen_ai.channel.link';
94
+ // Channel dimensions
95
+ OpenTelemetryConstants.CHANNEL_NAME_KEY = 'microsoft.channel.name';
96
+ OpenTelemetryConstants.CHANNEL_LINK_KEY = 'microsoft.channel.link';
104
97
  // Custom parent id and parent name key
105
98
  OpenTelemetryConstants.CUSTOM_PARENT_SPAN_ID_KEY = 'custom.parent.span.id';
106
99
  OpenTelemetryConstants.CUSTOM_SPAN_NAME_KEY = 'custom.span.name';
100
+ // Service attributes
101
+ OpenTelemetryConstants.SERVICE_NAME_KEY = 'service.name';
102
+ // Telemetry SDK attributes
103
+ OpenTelemetryConstants.TELEMETRY_SDK_NAME_KEY = 'telemetry.sdk.name';
104
+ OpenTelemetryConstants.TELEMETRY_SDK_LANGUAGE_KEY = 'telemetry.sdk.language';
105
+ OpenTelemetryConstants.TELEMETRY_SDK_VERSION_KEY = 'telemetry.sdk.version';
106
+ OpenTelemetryConstants.TELEMETRY_SDK_NAME_VALUE = 'A365ObservabilitySDK';
107
+ OpenTelemetryConstants.TELEMETRY_SDK_LANGUAGE_VALUE = 'nodejs';
108
+ OpenTelemetryConstants.TELEMETRY_SDK_VERSION_VALUE = version_1.LIB_VERSION;
107
109
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Context, TraceFlags } from '@opentelemetry/api';
1
+ import { Context, TraceFlags, TraceState } from '@opentelemetry/api';
2
2
  /**
3
3
  * Reference to a parent span for explicit parent-child linking across async boundaries.
4
4
  * Used when automatic context propagation fails (e.g., WebSocket callbacks, external event handlers).
@@ -12,9 +12,18 @@ export interface ParentSpanRef {
12
12
  * Span ID (16-character hex string)
13
13
  */
14
14
  spanId: string;
15
- /** * Optional trace flags
15
+ /**
16
+ * Optional trace flags
16
17
  */
17
18
  traceFlags?: TraceFlags;
19
+ /**
20
+ * Optional W3C trace state for vendor-specific trace context data
21
+ */
22
+ traceState?: TraceState;
23
+ /**
24
+ * Whether the span originated from a remote service (default: true)
25
+ */
26
+ isRemote?: boolean;
18
27
  }
19
28
  /**
20
29
  * Creates a new Context with an explicit parent span reference.
@@ -1 +1 @@
1
- {"version":3,"file":"parent-span-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAe,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGtF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;OACG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAUD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CA8B5F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAKnF"}
1
+ {"version":3,"file":"parent-span-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAe,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGlG;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAoC5F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAKnF"}
@@ -29,16 +29,21 @@ function createContextWithParentSpanRef(base, parent) {
29
29
  logging_1.default.warn(`[ParentSpanContext] Invalid parent span reference; returning base context. traceId=${parent.traceId}, spanId=${parent.spanId}`);
30
30
  return base;
31
31
  }
32
- // If the base context already has an active span for the same trace, reuse its traceFlags.
33
- // Otherwise, default to NONE to avoid up-sampling.
34
- const active = api_1.trace.getSpan(base)?.spanContext();
35
- const derivedFlags = active?.traceId === parent.traceId ? active.traceFlags : undefined;
36
- const traceFlags = derivedFlags ?? api_1.TraceFlags.NONE;
32
+ // Determine traceFlags:
33
+ // 1. Use parent.traceFlags if explicitly provided
34
+ // 2. Inherit from active span if its traceId matches
35
+ // 3. Default to SAMPLED manually instrumented spans should always be captured
36
+ const activeCtx = api_1.trace.getSpan(base)?.spanContext();
37
+ const traceFlags = parent.traceFlags
38
+ ?? (activeCtx?.traceId === parent.traceId ? activeCtx.traceFlags : undefined)
39
+ ?? api_1.TraceFlags.SAMPLED;
37
40
  // Create a SpanContext from the parent reference
38
41
  const parentSpanContext = {
39
42
  traceId: parent.traceId,
40
43
  spanId: parent.spanId,
41
44
  traceFlags,
45
+ traceState: parent.traceState,
46
+ isRemote: parent.isRemote ?? true,
42
47
  };
43
48
  // Create a non-recording span with the parent context
44
49
  const parentSpan = api_1.trace.wrapSpanContext(parentSpanContext);
@@ -1 +1 @@
1
- {"version":3,"file":"parent-span-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;AAyClC,wEA8BC;AAUD,oDAKC;AApFD,4CAAsF;AACtF,kEAAyC;AAsBzC,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,kCAAkC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,kBAAkB,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAAC,IAAa,EAAE,MAAqB;IACjF,iBAAM,CAAC,IAAI,CAAC,kEAAkE,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,iBAAM,CAAC,IAAI,CACT,sFAAsF,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,CAChI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2FAA2F;IAC3F,mDAAmD;IACnD,MAAM,MAAM,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,MAAM,UAAU,GAAG,YAAY,IAAI,gBAAU,CAAC,IAAI,CAAC;IAEnD,iDAAiD;IACjD,MAAM,iBAAiB,GAAgB;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;KACX,CAAC;IAEF,sDAAsD;IACtD,MAAM,UAAU,GAAG,WAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAE5D,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1D,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAI,MAAqB,EAAE,QAAiB;IAC9E,MAAM,IAAI,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,iBAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,aAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"parent-span-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;AAoDlC,wEAoCC;AAUD,oDAKC;AArGD,4CAAkG;AAClG,kEAAyC;AAiCzC,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,kCAAkC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,kBAAkB,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAAC,IAAa,EAAE,MAAqB;IACjF,iBAAM,CAAC,IAAI,CAAC,kEAAkE,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,iBAAM,CAAC,IAAI,CACT,sFAAsF,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,CAChI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,kDAAkD;IAClD,qDAAqD;IACrD,gFAAgF;IAChF,MAAM,SAAS,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrD,MAAM,UAAU,GACd,MAAM,CAAC,UAAU;WACd,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;WAC1E,gBAAU,CAAC,OAAO,CAAC;IAExB,iDAAiD;IACjD,MAAM,iBAAiB,GAAgB;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;KAClC,CAAC;IAEF,sDAAsD;IACtD,MAAM,UAAU,GAAG,WAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAE5D,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1D,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAI,MAAqB,EAAE,QAAiB;IAC9E,MAAM,IAAI,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,iBAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,aAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC"}
@@ -2,8 +2,22 @@ import { Context } from '@opentelemetry/api';
2
2
  /**
3
3
  * Run a function within a Context that carries the per-request export token.
4
4
  * This keeps the token only in OTel Context (ALS), never in any registry.
5
+ *
6
+ * The token can be updated later via `updateExportToken()` before the trace
7
+ * is flushed — useful when the callback is long-running and the original
8
+ * token may expire before export.
5
9
  */
6
10
  export declare function runWithExportToken<T>(token: string, fn: () => T): T;
11
+ /**
12
+ * Update the export token in the active OTel Context.
13
+ * Call this to refresh the token before ending the root span when the
14
+ * original token may have expired during a long-running request.
15
+ *
16
+ * Must be called within the same async context created by `runWithExportToken`.
17
+ * @param token The fresh token to use for export.
18
+ * @returns true if the token was updated successfully, false if no token holder was found.
19
+ */
20
+ export declare function updateExportToken(token: string): boolean;
7
21
  /**
8
22
  * Retrieve the per-request export token from a given OTel Context (or the active one).
9
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"token-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKxE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAInE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,OAA0B,GAAG,MAAM,GAAG,SAAS,CAElF"}
1
+ {"version":3,"file":"token-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAcxE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAKnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,OAA0B,GAAG,MAAM,GAAG,SAAS,CAUlF"}
@@ -7,6 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.runWithExportToken = runWithExportToken;
10
+ exports.updateExportToken = updateExportToken;
10
11
  exports.getExportToken = getExportToken;
11
12
  const api_1 = require("@opentelemetry/api");
12
13
  const logging_1 = __importDefault(require("../../utils/logging"));
@@ -14,16 +15,48 @@ const EXPORT_TOKEN_KEY = (0, api_1.createContextKey)('a365_export_token');
14
15
  /**
15
16
  * Run a function within a Context that carries the per-request export token.
16
17
  * This keeps the token only in OTel Context (ALS), never in any registry.
18
+ *
19
+ * The token can be updated later via `updateExportToken()` before the trace
20
+ * is flushed — useful when the callback is long-running and the original
21
+ * token may expire before export.
17
22
  */
18
23
  function runWithExportToken(token, fn) {
19
- const ctxWithToken = api_1.context.active().setValue(EXPORT_TOKEN_KEY, token);
24
+ const holder = { token };
25
+ const ctxWithToken = api_1.context.active().setValue(EXPORT_TOKEN_KEY, holder);
20
26
  logging_1.default.info('[TokenContext] Running function with export token in context.');
21
27
  return api_1.context.with(ctxWithToken, fn);
22
28
  }
29
+ /**
30
+ * Update the export token in the active OTel Context.
31
+ * Call this to refresh the token before ending the root span when the
32
+ * original token may have expired during a long-running request.
33
+ *
34
+ * Must be called within the same async context created by `runWithExportToken`.
35
+ * @param token The fresh token to use for export.
36
+ * @returns true if the token was updated successfully, false if no token holder was found.
37
+ */
38
+ function updateExportToken(token) {
39
+ const value = api_1.context.active().getValue(EXPORT_TOKEN_KEY);
40
+ if (value && typeof value === 'object' && 'token' in value) {
41
+ value.token = token;
42
+ logging_1.default.info('[TokenContext] Export token updated in context.');
43
+ return true;
44
+ }
45
+ logging_1.default.warn('[TokenContext] updateExportToken called but no token holder found in active context. Was runWithExportToken called?');
46
+ return false;
47
+ }
23
48
  /**
24
49
  * Retrieve the per-request export token from a given OTel Context (or the active one).
25
50
  */
26
51
  function getExportToken(ctx = api_1.context.active()) {
27
- return ctx.getValue(EXPORT_TOKEN_KEY);
52
+ const value = ctx.getValue(EXPORT_TOKEN_KEY);
53
+ if (value && typeof value === 'object' && 'token' in value) {
54
+ return value.token;
55
+ }
56
+ // Backward compat: support raw string values from older callers
57
+ if (typeof value === 'string') {
58
+ return value;
59
+ }
60
+ return undefined;
28
61
  }
29
62
  //# sourceMappingURL=token-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;AAWjF,gDAIC;AAKD,wCAEC;AApBD,4CAAwE;AACxE,kEAAyC;AAEzC,MAAM,gBAAgB,GAAG,IAAA,sBAAgB,EAAC,mBAAmB,CAAC,CAAC;AAE/D;;;GAGG;AACH,SAAgB,kBAAkB,CAAI,KAAa,EAAE,EAAW;IAC9D,MAAM,YAAY,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACxE,iBAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,aAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAe,aAAO,CAAC,MAAM,EAAE;IAC5D,OAAO,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAuB,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"token-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;AAwBjF,gDAKC;AAWD,8CASC;AAKD,wCAUC;AA9DD,4CAAwE;AACxE,kEAAyC;AAEzC,MAAM,gBAAgB,GAAG,IAAA,sBAAgB,EAAC,mBAAmB,CAAC,CAAC;AAW/D;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAI,KAAa,EAAE,EAAW;IAC9D,MAAM,MAAM,GAAgB,EAAE,KAAK,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACzE,iBAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,aAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC1D,KAAqB,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,iBAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,iBAAM,CAAC,IAAI,CAAC,qHAAqH,CAAC,CAAC;IACnI,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAe,aAAO,CAAC,MAAM,EAAE;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3D,OAAQ,KAAqB,CAAC,KAAK,CAAC;IACtC,CAAC;IACD,gEAAgE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { Context } from '@opentelemetry/api';
2
+ import { ParentSpanRef } from './parent-span-context';
3
+ /**
4
+ * Carrier type for HTTP headers used in trace context propagation.
5
+ * Compatible with Node.js IncomingHttpHeaders and plain string maps.
6
+ */
7
+ export type HeadersCarrier = Record<string, string | string[] | undefined>;
8
+ /**
9
+ * A parent context for span creation. Accepts either:
10
+ * - {@link ParentSpanRef}: explicit traceId/spanId pair (manual approach)
11
+ * - {@link Context}: an OTel Context, typically from {@link extractContextFromHeaders} or `propagation.extract()`
12
+ */
13
+ export type ParentContext = ParentSpanRef | Context;
14
+ /**
15
+ * Type guard to distinguish a {@link ParentSpanRef} from an OTel {@link Context}.
16
+ */
17
+ export declare function isParentSpanRef(value: ParentContext): value is ParentSpanRef;
18
+ /**
19
+ * Injects the current trace context (`traceparent`/`tracestate` headers) into
20
+ * the provided headers object using the globally registered W3C propagator.
21
+ *
22
+ * @param headers Mutable object where trace context headers will be written.
23
+ * @param ctx Optional OTel Context to inject from. Defaults to the active context.
24
+ * @returns The same `headers` object, for chaining convenience.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const headers: Record<string, string> = {};
29
+ * injectContextToHeaders(headers);
30
+ * await fetch('http://service-b/process', { headers });
31
+ * ```
32
+ */
33
+ export declare function injectContextToHeaders(headers: Record<string, string>, ctx?: Context): Record<string, string>;
34
+ /**
35
+ * Extracts trace context from incoming HTTP headers using the globally
36
+ * registered W3C propagator. Returns an OTel {@link Context} that can be
37
+ * passed to scope classes as a {@link ParentContext}.
38
+ *
39
+ * @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
40
+ * @param baseCtx Optional base context to extend. Defaults to the active context.
41
+ * @returns An OTel Context containing the extracted trace information.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const parentCtx = extractContextFromHeaders(req.headers);
46
+ * const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
47
+ * ```
48
+ */
49
+ export declare function extractContextFromHeaders(headers: HeadersCarrier, baseCtx?: Context): Context;
50
+ /**
51
+ * Extracts trace context from incoming HTTP headers and runs the callback
52
+ * within that context. Any spans created inside the callback will be
53
+ * parented to the extracted trace.
54
+ *
55
+ * @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
56
+ * @param callback The function to execute within the extracted context.
57
+ * @returns The result of the callback.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * runWithExtractedTraceContext(req.headers, () => {
62
+ * const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
63
+ * scope.dispose();
64
+ * });
65
+ * ```
66
+ */
67
+ export declare function runWithExtractedTraceContext<T>(headers: HeadersCarrier, callback: () => T): T;
68
+ //# sourceMappingURL=trace-context-propagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-context-propagation.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/trace-context-propagation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEpD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,IAAI,aAAa,CAmB5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,CAAC,EAAE,OAAO,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAET;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAE7F"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.isParentSpanRef = isParentSpanRef;
6
+ exports.injectContextToHeaders = injectContextToHeaders;
7
+ exports.extractContextFromHeaders = extractContextFromHeaders;
8
+ exports.runWithExtractedTraceContext = runWithExtractedTraceContext;
9
+ const api_1 = require("@opentelemetry/api");
10
+ /**
11
+ * Type guard to distinguish a {@link ParentSpanRef} from an OTel {@link Context}.
12
+ */
13
+ function isParentSpanRef(value) {
14
+ if (typeof value !== 'object' || value === null)
15
+ return false;
16
+ const maybeCtx = value;
17
+ if (typeof maybeCtx.getValue === 'function' &&
18
+ typeof maybeCtx.setValue === 'function' &&
19
+ typeof maybeCtx.deleteValue === 'function') {
20
+ return false;
21
+ }
22
+ const maybeRef = value;
23
+ return ('traceId' in maybeRef &&
24
+ typeof maybeRef.traceId === 'string' &&
25
+ 'spanId' in maybeRef &&
26
+ typeof maybeRef.spanId === 'string');
27
+ }
28
+ /**
29
+ * Injects the current trace context (`traceparent`/`tracestate` headers) into
30
+ * the provided headers object using the globally registered W3C propagator.
31
+ *
32
+ * @param headers Mutable object where trace context headers will be written.
33
+ * @param ctx Optional OTel Context to inject from. Defaults to the active context.
34
+ * @returns The same `headers` object, for chaining convenience.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const headers: Record<string, string> = {};
39
+ * injectContextToHeaders(headers);
40
+ * await fetch('http://service-b/process', { headers });
41
+ * ```
42
+ */
43
+ function injectContextToHeaders(headers, ctx) {
44
+ api_1.propagation.inject(ctx ?? api_1.context.active(), headers);
45
+ return headers;
46
+ }
47
+ /**
48
+ * Extracts trace context from incoming HTTP headers using the globally
49
+ * registered W3C propagator. Returns an OTel {@link Context} that can be
50
+ * passed to scope classes as a {@link ParentContext}.
51
+ *
52
+ * @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
53
+ * @param baseCtx Optional base context to extend. Defaults to the active context.
54
+ * @returns An OTel Context containing the extracted trace information.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * const parentCtx = extractContextFromHeaders(req.headers);
59
+ * const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
60
+ * ```
61
+ */
62
+ function extractContextFromHeaders(headers, baseCtx) {
63
+ return api_1.propagation.extract(baseCtx ?? api_1.context.active(), headers);
64
+ }
65
+ /**
66
+ * Extracts trace context from incoming HTTP headers and runs the callback
67
+ * within that context. Any spans created inside the callback will be
68
+ * parented to the extracted trace.
69
+ *
70
+ * @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
71
+ * @param callback The function to execute within the extracted context.
72
+ * @returns The result of the callback.
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * runWithExtractedTraceContext(req.headers, () => {
77
+ * const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
78
+ * scope.dispose();
79
+ * });
80
+ * ```
81
+ */
82
+ function runWithExtractedTraceContext(headers, callback) {
83
+ return api_1.context.with(extractContextFromHeaders(headers), callback);
84
+ }
85
+ //# sourceMappingURL=trace-context-propagation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-context-propagation.js","sourceRoot":"","sources":["../../../../src/tracing/context/trace-context-propagation.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqBlC,0CAmBC;AAiBD,wDAMC;AAiBD,8DAKC;AAmBD,oEAEC;AAxGD,4CAAmE;AAgBnE;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAoB;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,QAAQ,GAAG,KAAgB,CAAC;IAClC,IACE,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU;QACvC,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU;QACvC,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU,EAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,KAAsB,CAAC;IACxC,OAAO,CACL,SAAS,IAAI,QAAQ;QACrB,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;QACpC,QAAQ,IAAI,QAAQ;QACpB,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CACpC,OAA+B,EAC/B,GAAa;IAEb,iBAAW,CAAC,MAAM,CAAC,GAAG,IAAI,aAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,yBAAyB,CACvC,OAAuB,EACvB,OAAiB;IAEjB,OAAO,iBAAW,CAAC,OAAO,CAAC,OAAO,IAAI,aAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,4BAA4B,CAAI,OAAuB,EAAE,QAAiB;IACxF,OAAO,aAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC"}