@microsoft/opentelemetry 0.1.0-alpha.3 → 0.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.md +164 -7
  2. package/dist/commonjs/a365/configuration/A365Configuration.d.ts +12 -9
  3. package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -1
  4. package/dist/commonjs/a365/configuration/A365Configuration.js +12 -33
  5. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
  6. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +14 -8
  7. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
  8. package/dist/commonjs/a365/configuration/index.d.ts +1 -0
  9. package/dist/commonjs/a365/configuration/index.d.ts.map +1 -1
  10. package/dist/commonjs/a365/constants.d.ts +17 -1
  11. package/dist/commonjs/a365/constants.d.ts.map +1 -1
  12. package/dist/commonjs/a365/constants.js +21 -1
  13. package/dist/commonjs/a365/constants.js.map +1 -1
  14. package/dist/commonjs/a365/context/tokenContext.js +6 -6
  15. package/dist/commonjs/a365/context/tokenContext.js.map +1 -1
  16. package/dist/commonjs/a365/context.js +2 -2
  17. package/dist/commonjs/a365/context.js.map +1 -1
  18. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  19. package/dist/commonjs/a365/exporter/Agent365Exporter.js +5 -6
  20. package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
  21. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +4 -1
  22. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  23. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +2 -0
  24. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  25. package/dist/commonjs/a365/hosting/baggageBuilderUtils.d.ts +22 -0
  26. package/dist/commonjs/a365/hosting/baggageBuilderUtils.d.ts.map +1 -0
  27. package/dist/commonjs/a365/hosting/baggageBuilderUtils.js +47 -0
  28. package/dist/commonjs/a365/hosting/baggageBuilderUtils.js.map +1 -0
  29. package/dist/commonjs/a365/hosting/baggageMiddleware.d.ts +9 -0
  30. package/dist/commonjs/a365/hosting/baggageMiddleware.d.ts.map +1 -0
  31. package/dist/commonjs/a365/hosting/baggageMiddleware.js +38 -0
  32. package/dist/commonjs/a365/hosting/baggageMiddleware.js.map +1 -0
  33. package/dist/commonjs/a365/hosting/index.d.ts +9 -0
  34. package/dist/commonjs/a365/hosting/index.d.ts.map +1 -0
  35. package/dist/commonjs/a365/hosting/index.js +25 -0
  36. package/dist/commonjs/a365/hosting/index.js.map +1 -0
  37. package/dist/commonjs/a365/hosting/observabilityHostingManager.d.ts +30 -0
  38. package/dist/commonjs/a365/hosting/observabilityHostingManager.d.ts.map +1 -0
  39. package/dist/commonjs/a365/hosting/observabilityHostingManager.js +49 -0
  40. package/dist/commonjs/a365/hosting/observabilityHostingManager.js.map +1 -0
  41. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.d.ts +24 -0
  42. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.d.ts.map +1 -0
  43. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.js +82 -0
  44. package/dist/commonjs/a365/hosting/outputLoggingMiddleware.js.map +1 -0
  45. package/dist/commonjs/a365/hosting/scopeUtils.d.ts +56 -0
  46. package/dist/commonjs/a365/hosting/scopeUtils.d.ts.map +1 -0
  47. package/dist/commonjs/a365/hosting/scopeUtils.js +161 -0
  48. package/dist/commonjs/a365/hosting/scopeUtils.js.map +1 -0
  49. package/dist/commonjs/a365/hosting/turnContextUtils.d.ts +32 -0
  50. package/dist/commonjs/a365/hosting/turnContextUtils.d.ts.map +1 -0
  51. package/dist/commonjs/a365/hosting/turnContextUtils.js +141 -0
  52. package/dist/commonjs/a365/hosting/turnContextUtils.js.map +1 -0
  53. package/dist/commonjs/a365/hosting/types.d.ts +52 -0
  54. package/dist/commonjs/a365/hosting/types.d.ts.map +1 -0
  55. package/dist/commonjs/a365/hosting/types.js +5 -0
  56. package/dist/commonjs/a365/hosting/types.js.map +1 -0
  57. package/dist/commonjs/a365/index.d.ts +5 -3
  58. package/dist/commonjs/a365/index.d.ts.map +1 -1
  59. package/dist/commonjs/a365/index.js +19 -2
  60. package/dist/commonjs/a365/index.js.map +1 -1
  61. package/dist/commonjs/a365/logging.d.ts +16 -0
  62. package/dist/commonjs/a365/logging.d.ts.map +1 -0
  63. package/dist/commonjs/a365/logging.js +81 -0
  64. package/dist/commonjs/a365/logging.js.map +1 -0
  65. package/dist/commonjs/a365/middleware/BaggageBuilder.js +0 -1
  66. package/dist/commonjs/a365/middleware/BaggageBuilder.js.map +1 -1
  67. package/dist/commonjs/a365/processors/index.d.ts +0 -2
  68. package/dist/commonjs/a365/processors/index.d.ts.map +1 -1
  69. package/dist/commonjs/a365/processors/index.js +1 -3
  70. package/dist/commonjs/a365/processors/index.js.map +1 -1
  71. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +11 -1
  72. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
  73. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +14 -2
  74. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -1
  75. package/dist/commonjs/azureMonitor/index.d.ts +14 -0
  76. package/dist/commonjs/azureMonitor/index.d.ts.map +1 -1
  77. package/dist/commonjs/azureMonitor/index.js +29 -0
  78. package/dist/commonjs/azureMonitor/index.js.map +1 -1
  79. package/dist/commonjs/azureMonitor/metrics/handler.js +2 -2
  80. package/dist/commonjs/azureMonitor/metrics/handler.js.map +1 -1
  81. package/dist/commonjs/azureMonitor/traces/handler.d.ts +0 -3
  82. package/dist/commonjs/azureMonitor/traces/handler.d.ts.map +1 -1
  83. package/dist/commonjs/azureMonitor/traces/handler.js +0 -27
  84. package/dist/commonjs/azureMonitor/traces/handler.js.map +1 -1
  85. package/dist/commonjs/distro/distro.d.ts +3 -1
  86. package/dist/commonjs/distro/distro.d.ts.map +1 -1
  87. package/dist/commonjs/distro/distro.js +141 -16
  88. package/dist/commonjs/distro/distro.js.map +1 -1
  89. package/dist/commonjs/distro/instrumentations.d.ts +31 -0
  90. package/dist/commonjs/distro/instrumentations.d.ts.map +1 -0
  91. package/dist/commonjs/distro/instrumentations.js +127 -0
  92. package/dist/commonjs/distro/instrumentations.js.map +1 -0
  93. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts +1 -17
  94. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
  95. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +1 -1
  96. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
  97. package/dist/commonjs/index.d.ts +6 -14
  98. package/dist/commonjs/index.d.ts.map +1 -1
  99. package/dist/commonjs/index.js +45 -48
  100. package/dist/commonjs/index.js.map +1 -1
  101. package/dist/commonjs/shared/config.d.ts +0 -1
  102. package/dist/commonjs/shared/config.d.ts.map +1 -1
  103. package/dist/commonjs/shared/config.js +2 -39
  104. package/dist/commonjs/shared/config.js.map +1 -1
  105. package/dist/commonjs/types.d.ts +11 -11
  106. package/dist/commonjs/types.d.ts.map +1 -1
  107. package/dist/commonjs/types.js +1 -1
  108. package/dist/commonjs/types.js.map +1 -1
  109. package/dist/esm/a365/configuration/A365Configuration.d.ts +12 -9
  110. package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -1
  111. package/dist/esm/a365/configuration/A365Configuration.js +12 -33
  112. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
  113. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +14 -8
  114. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
  115. package/dist/esm/a365/configuration/index.d.ts +1 -0
  116. package/dist/esm/a365/configuration/index.d.ts.map +1 -1
  117. package/dist/esm/a365/constants.d.ts +17 -1
  118. package/dist/esm/a365/constants.d.ts.map +1 -1
  119. package/dist/esm/a365/constants.js +21 -1
  120. package/dist/esm/a365/constants.js.map +1 -1
  121. package/dist/esm/a365/context/tokenContext.js +6 -6
  122. package/dist/esm/a365/context/tokenContext.js.map +1 -1
  123. package/dist/esm/a365/context.js +2 -2
  124. package/dist/esm/a365/context.js.map +1 -1
  125. package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  126. package/dist/esm/a365/exporter/Agent365Exporter.js +5 -6
  127. package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
  128. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +4 -1
  129. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  130. package/dist/esm/a365/exporter/Agent365ExporterOptions.js +2 -0
  131. package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  132. package/dist/esm/a365/hosting/baggageBuilderUtils.d.ts +22 -0
  133. package/dist/esm/a365/hosting/baggageBuilderUtils.d.ts.map +1 -0
  134. package/dist/esm/a365/hosting/baggageBuilderUtils.js +43 -0
  135. package/dist/esm/a365/hosting/baggageBuilderUtils.js.map +1 -0
  136. package/dist/esm/a365/hosting/baggageMiddleware.d.ts +9 -0
  137. package/dist/esm/a365/hosting/baggageMiddleware.d.ts.map +1 -0
  138. package/dist/esm/a365/hosting/baggageMiddleware.js +34 -0
  139. package/dist/esm/a365/hosting/baggageMiddleware.js.map +1 -0
  140. package/dist/esm/a365/hosting/index.d.ts +9 -0
  141. package/dist/esm/a365/hosting/index.d.ts.map +1 -0
  142. package/dist/esm/a365/hosting/index.js +9 -0
  143. package/dist/esm/a365/hosting/index.js.map +1 -0
  144. package/dist/esm/a365/hosting/observabilityHostingManager.d.ts +30 -0
  145. package/dist/esm/a365/hosting/observabilityHostingManager.d.ts.map +1 -0
  146. package/dist/esm/a365/hosting/observabilityHostingManager.js +45 -0
  147. package/dist/esm/a365/hosting/observabilityHostingManager.js.map +1 -0
  148. package/dist/esm/a365/hosting/outputLoggingMiddleware.d.ts +24 -0
  149. package/dist/esm/a365/hosting/outputLoggingMiddleware.d.ts.map +1 -0
  150. package/dist/esm/a365/hosting/outputLoggingMiddleware.js +78 -0
  151. package/dist/esm/a365/hosting/outputLoggingMiddleware.js.map +1 -0
  152. package/dist/esm/a365/hosting/scopeUtils.d.ts +56 -0
  153. package/dist/esm/a365/hosting/scopeUtils.d.ts.map +1 -0
  154. package/dist/esm/a365/hosting/scopeUtils.js +157 -0
  155. package/dist/esm/a365/hosting/scopeUtils.js.map +1 -0
  156. package/dist/esm/a365/hosting/turnContextUtils.d.ts +32 -0
  157. package/dist/esm/a365/hosting/turnContextUtils.d.ts.map +1 -0
  158. package/dist/esm/a365/hosting/turnContextUtils.js +133 -0
  159. package/dist/esm/a365/hosting/turnContextUtils.js.map +1 -0
  160. package/dist/esm/a365/hosting/types.d.ts +52 -0
  161. package/dist/esm/a365/hosting/types.d.ts.map +1 -0
  162. package/dist/esm/a365/hosting/types.js +4 -0
  163. package/dist/esm/a365/hosting/types.js.map +1 -0
  164. package/dist/esm/a365/index.d.ts +5 -3
  165. package/dist/esm/a365/index.d.ts.map +1 -1
  166. package/dist/esm/a365/index.js +4 -1
  167. package/dist/esm/a365/index.js.map +1 -1
  168. package/dist/esm/a365/logging.d.ts +16 -0
  169. package/dist/esm/a365/logging.d.ts.map +1 -0
  170. package/dist/esm/a365/logging.js +76 -0
  171. package/dist/esm/a365/logging.js.map +1 -0
  172. package/dist/esm/a365/middleware/BaggageBuilder.js +0 -1
  173. package/dist/esm/a365/middleware/BaggageBuilder.js.map +1 -1
  174. package/dist/esm/a365/processors/index.d.ts +0 -2
  175. package/dist/esm/a365/processors/index.d.ts.map +1 -1
  176. package/dist/esm/a365/processors/index.js +0 -1
  177. package/dist/esm/a365/processors/index.js.map +1 -1
  178. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +11 -1
  179. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
  180. package/dist/esm/a365/scopes/OpenTelemetryScope.js +14 -2
  181. package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -1
  182. package/dist/esm/azureMonitor/index.d.ts +14 -0
  183. package/dist/esm/azureMonitor/index.d.ts.map +1 -1
  184. package/dist/esm/azureMonitor/index.js +27 -0
  185. package/dist/esm/azureMonitor/index.js.map +1 -1
  186. package/dist/esm/azureMonitor/metrics/handler.js +2 -2
  187. package/dist/esm/azureMonitor/metrics/handler.js.map +1 -1
  188. package/dist/esm/azureMonitor/traces/handler.d.ts +0 -3
  189. package/dist/esm/azureMonitor/traces/handler.d.ts.map +1 -1
  190. package/dist/esm/azureMonitor/traces/handler.js +1 -26
  191. package/dist/esm/azureMonitor/traces/handler.js.map +1 -1
  192. package/dist/esm/distro/distro.d.ts +3 -1
  193. package/dist/esm/distro/distro.d.ts.map +1 -1
  194. package/dist/esm/distro/distro.js +111 -19
  195. package/dist/esm/distro/distro.js.map +1 -1
  196. package/dist/esm/distro/instrumentations.d.ts +31 -0
  197. package/dist/esm/distro/instrumentations.d.ts.map +1 -0
  198. package/dist/esm/distro/instrumentations.js +122 -0
  199. package/dist/esm/distro/instrumentations.js.map +1 -0
  200. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts +1 -17
  201. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
  202. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +1 -1
  203. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
  204. package/dist/esm/index.d.ts +6 -14
  205. package/dist/esm/index.d.ts.map +1 -1
  206. package/dist/esm/index.js +4 -18
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/shared/config.d.ts +0 -1
  209. package/dist/esm/shared/config.d.ts.map +1 -1
  210. package/dist/esm/shared/config.js +2 -39
  211. package/dist/esm/shared/config.js.map +1 -1
  212. package/dist/esm/types.d.ts +11 -11
  213. package/dist/esm/types.d.ts.map +1 -1
  214. package/dist/esm/types.js +1 -1
  215. package/dist/esm/types.js.map +1 -1
  216. package/package.json +8 -6
  217. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts +0 -44
  218. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts.map +0 -1
  219. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js +0 -260
  220. package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js.map +0 -1
  221. package/dist/commonjs/shared/jsonConfig.d.ts +0 -35
  222. package/dist/commonjs/shared/jsonConfig.d.ts.map +0 -1
  223. package/dist/commonjs/shared/jsonConfig.js +0 -122
  224. package/dist/commonjs/shared/jsonConfig.js.map +0 -1
  225. package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts +0 -44
  226. package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts.map +0 -1
  227. package/dist/esm/a365/processors/PerRequestSpanProcessor.js +0 -256
  228. package/dist/esm/a365/processors/PerRequestSpanProcessor.js.map +0 -1
  229. package/dist/esm/shared/jsonConfig.d.ts +0 -35
  230. package/dist/esm/shared/jsonConfig.d.ts.map +0 -1
  231. package/dist/esm/shared/jsonConfig.js +0 -115
  232. package/dist/esm/shared/jsonConfig.js.map +0 -1
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # @microsoft/opentelemetry
2
2
 
3
+ [![npm version](https://badge.fury.io/js/%40microsoft%2Fopentelemetry.svg)](https://www.npmjs.com/package/@microsoft/opentelemetry)
4
+ [![license](https://img.shields.io/npm/l/%40microsoft%2Fopentelemetry)](https://github.com/microsoft/opentelemetry-distro-javascript/blob/main/LICENSE)
5
+
3
6
  Microsoft OpenTelemetry distribution for Node.js — one import, one call, full observability across Azure Monitor, OTLP-compatible backends, and A365.
4
7
 
5
8
  ## Getting Started
@@ -8,6 +11,23 @@ Microsoft OpenTelemetry distribution for Node.js — one import, one call, full
8
11
  npm install @microsoft/opentelemetry
9
12
  ```
10
13
 
14
+ > **Important:** Import and call `useMicrosoftOpenTelemetry()` as early as possible in your application entry point so instrumentations can patch libraries before they are loaded.
15
+
16
+ ### A365
17
+
18
+ ```typescript
19
+ import { useMicrosoftOpenTelemetry } from "@microsoft/opentelemetry";
20
+
21
+ useMicrosoftOpenTelemetry({
22
+ a365: {
23
+ enabled: true,
24
+ tokenResolver: (agentId, tenantId) => getToken(agentId, tenantId),
25
+ },
26
+ });
27
+ ```
28
+
29
+ ### Azure Monitor
30
+
11
31
  ```typescript
12
32
  import { useMicrosoftOpenTelemetry } from "@microsoft/opentelemetry";
13
33
 
@@ -20,6 +40,16 @@ useMicrosoftOpenTelemetry({
20
40
  });
21
41
  ```
22
42
 
43
+ ### OTLP only (no Azure Monitor)
44
+
45
+ ```typescript
46
+ import { useMicrosoftOpenTelemetry } from "@microsoft/opentelemetry";
47
+
48
+ // Set OTEL_EXPORTER_OTLP_ENDPOINT in your environment
49
+ useMicrosoftOpenTelemetry();
50
+ ```
51
+
52
+
23
53
  That's it — traces, metrics, and logs are collected automatically with built-in instrumentations for HTTP, databases, and more.
24
54
 
25
55
  ## Configuration
@@ -31,13 +61,97 @@ That's it — traces, metrics, and logs are collected automatically with built-i
31
61
  | `resource` | `Resource` | auto-detected | OpenTelemetry Resource (service name, version, etc.) |
32
62
  | `samplingRatio` | `number` | `1.0` | Ratio of telemetry items to transmit (0.0–1.0) |
33
63
  | `tracesPerSecond` | `number` | `5` | Max traces per second. Set to `0` to use `samplingRatio` instead |
34
- | `instrumentationOptions` | `InstrumentationOptions` | all enabled | Toggle built-in instrumentations (HTTP, MongoDB, MySQL, PostgreSQL, Redis, Azure SDK, Azure Functions, Winston, Bunyan, OpenAI Agents, LangChain) |
64
+ | `instrumentationOptions` | `InstrumentationOptions` | all enabled | Toggle built-in instrumentations (see below) |
35
65
  | `spanProcessors` | `SpanProcessor[]` | — | Additional span processors |
36
66
  | `logRecordProcessors` | `LogRecordProcessor[]` | — | Additional log record processors |
37
67
  | `metricReaders` | `MetricReader[]` | — | Additional metric readers |
38
68
  | `views` | `ViewOptions[]` | — | Metric views |
39
- | `azureMonitor` | `AzureMonitorOpenTelemetryOptions` | — | Azure Monitor backend config (see below) |
69
+ | `azureMonitor` | `AzureMonitorOpenTelemetryOptions` | — | Azure Monitor backend config. When provided, Azure Monitor export is enabled |
40
70
  | `a365` | `A365Options` | — | A365 observability config |
71
+ | `enableConsoleExporters` | `boolean` | auto | Enable console exporters for traces, metrics, and logs |
72
+
73
+ ### `InstrumentationOptions`
74
+
75
+ Most instrumentations use `InstrumentationConfig` shape (`{ enabled?: boolean, ... }`).
76
+
77
+ - Built-in infra instrumentations (`http`, `azureSdk`, `azureFunctions`, `mongoDb`, `mySql`, `postgreSql`, `redis`, `redis4`) are enabled by default.
78
+ - Logging instrumentations (`bunyan`, `winston`) are disabled by default.
79
+ - GenAI instrumentations (`openaiAgents`, `langchain`) are enabled by default.
80
+
81
+ Set `enabled: true` or `enabled: false` explicitly for predictable behavior.
82
+
83
+ | Key | Type | Default | Description |
84
+ |---|---|---|---|
85
+ | `http` | `InstrumentationConfig` | enabled | HTTP client/server instrumentation |
86
+ | `azureSdk` | `InstrumentationConfig` | enabled | Azure SDK instrumentation |
87
+ | `mongoDb` | `InstrumentationConfig` | enabled | MongoDB instrumentation |
88
+ | `mySql` | `InstrumentationConfig` | enabled | MySQL instrumentation |
89
+ | `postgreSql` | `InstrumentationConfig` | enabled | PostgreSQL instrumentation |
90
+ | `redis` | `InstrumentationConfig` | enabled | Redis instrumentation |
91
+ | `redis4` | `InstrumentationConfig` | enabled | Redis 4 instrumentation |
92
+ | `bunyan` | `InstrumentationConfig` | disabled | Bunyan log instrumentation |
93
+ | `winston` | `InstrumentationConfig` | disabled | Winston log instrumentation |
94
+ | `openaiAgents` | `OpenAIAgentsInstrumentationConfig` | enabled | OpenAI Agents SDK instrumentation (requires `@openai/agents`) |
95
+ | `langchain` | `LangChainInstrumentationConfig` | enabled | LangChain instrumentation (requires `@langchain/core`) |
96
+
97
+ #### Turn instrumentations on/off
98
+
99
+ ```typescript
100
+ useMicrosoftOpenTelemetry({
101
+ instrumentationOptions: {
102
+ // Disable specific built-in instrumentations
103
+ http: { enabled: false },
104
+ redis: { enabled: false },
105
+
106
+ // Enable GenAI instrumentations
107
+ openaiAgents: {
108
+ enabled: true,
109
+ isContentRecordingEnabled: true,
110
+ },
111
+ langchain: {
112
+ enabled: true,
113
+ isContentRecordingEnabled: true,
114
+ },
115
+ },
116
+ });
117
+ ```
118
+
119
+ Disable most built-in auto-instrumentation:
120
+
121
+ ```typescript
122
+ useMicrosoftOpenTelemetry({
123
+ instrumentationOptions: {
124
+ http: { enabled: false },
125
+ azureSdk: { enabled: false },
126
+ azureFunctions: { enabled: false },
127
+ mongoDb: { enabled: false },
128
+ mySql: { enabled: false },
129
+ postgreSql: { enabled: false },
130
+ redis: { enabled: false },
131
+ redis4: { enabled: false },
132
+ bunyan: { enabled: false },
133
+ winston: { enabled: false },
134
+ openaiAgents: { enabled: false },
135
+ langchain: { enabled: false },
136
+ },
137
+ });
138
+ ```
139
+
140
+ ### Console exporters
141
+
142
+ Use console exporters when validating local telemetry or debugging setup.
143
+
144
+ ```typescript
145
+ useMicrosoftOpenTelemetry({
146
+ enableConsoleExporters: true,
147
+ });
148
+ ```
149
+
150
+ Behavior:
151
+
152
+ - `enableConsoleExporters: true`: always enable console exporters (traces, metrics, logs).
153
+ - `enableConsoleExporters: false`: do not auto-add the standard console exporters, except for the A365 span console fallback when `a365` options are provided but `a365.enabled` is `false` or omitted.
154
+ - Omitted: console exporters auto-enable only when no other exporter path is active; if `a365` options are provided but `a365.enabled` is `false` or omitted, the A365 span console fallback can still be added.
41
155
 
42
156
  ### `azureMonitor` options
43
157
 
@@ -48,7 +162,7 @@ That's it — traces, metrics, and logs are collected automatically with built-i
48
162
  | `enableStandardMetrics` | `boolean` | `true` | Enable standard metrics collection |
49
163
  | `enableTraceBasedSamplingForLogs` | `boolean` | `false` | Enable log sampling based on trace |
50
164
  | `enablePerformanceCounters` | `boolean` | `true` | Enable performance counter collection |
51
- | `browserSdkLoaderOptions` | `BrowserSdkLoaderOptions` | — | Application Insights browser SDK loader config |
165
+ | `browserSdkLoaderOptions` | `BrowserSdkLoaderOptions` | disabled | Application Insights browser SDK loader config (`enabled`, `connectionString`) |
52
166
 
53
167
  ### OTLP via environment variables
54
168
 
@@ -61,21 +175,65 @@ See the [OpenTelemetry OTLP Exporter specification](https://opentelemetry.io/doc
61
175
  | Option | Type | Default | Description |
62
176
  |---|---|---|---|
63
177
  | `enabled` | `boolean` | `false` | Enable A365 observability export |
64
- | `tokenResolver` | `(agentId, tenantId) => string \| Promise<string>` | — | Token resolver for A365 service authentication |
178
+ | `tokenResolver` | `(agentId, tenantId, authScopes?) => string \| Promise<string>` | — | Token resolver for A365 service authentication |
65
179
  | `clusterCategory` | `ClusterCategory` | `"prod"` | Cluster category for endpoint resolution (`local`, `dev`, `test`, `preprod`, `firstrelease`, `prod`, `gov`, `high`, `dod`, `mooncake`, `ex`, `rx`) |
66
180
  | `domainOverride` | `string` | — | Override the A365 observability service domain |
67
181
  | `authScopes` | `string[]` | `["https://api.powerplatform.com/.default"]` | OAuth scopes for A365 service authentication |
68
- | `perRequestExport` | `boolean` | `false` | Buffer spans per trace and export on root completion instead of batch export |
182
+ | `baggage` | `A365BaggageOptions` | see below | Baggage propagation and span enrichment options |
183
+ | `hosting` | `A365HostingOptions` | see below | Hosting middleware options (requires `@microsoft/agents-hosting`) |
184
+
185
+ #### `a365.baggage` options
186
+
187
+ | Option | Type | Default | Description |
188
+ |---|---|---|---|
189
+ | `propagationEnabled` | `boolean` | `true` | Enable baggage propagation from request headers to span context |
190
+ | `enrichSpans` | `boolean` | `true` | Copy baggage items (tenant, agent, session, etc.) to span attributes |
191
+
192
+ #### `a365.hosting` options
193
+
194
+ | Option | Type | Default | Description |
195
+ |---|---|---|---|
196
+ | `enabled` | `boolean` | `false` | Enable hosting middleware integration (baggage middleware, output logging, etc.) |
197
+ | `adapter` | `{ use(...middlewares): void }` | — | Adapter instance where middleware is auto-registered when `enabled` is true |
198
+ | `enableOutputLogging` | `boolean` | `true` | Enable output logging middleware auto-registration |
199
+
200
+
201
+ | `httpRequestTimeoutMilliseconds` | `number` | `30000` | HTTP request timeout (ms) when sending spans to A365 service |
202
+
203
+ Example:
204
+
205
+ ```typescript
206
+ useMicrosoftOpenTelemetry({
207
+ a365: {
208
+ enabled: true,
209
+ tokenResolver: (agentId, tenantId) => getToken(agentId, tenantId),
210
+ exporterOptions: {
211
+ maxQueueSize: 4096,
212
+ maxExportBatchSize: 1024,
213
+ scheduledDelayMilliseconds: 10000,
214
+ httpRequestTimeoutMilliseconds: 15000,
215
+ },
216
+ },
217
+ });
218
+ ```
219
+
220
+ #### A365 environment variables
69
221
 
70
222
  A365 options can also be set via environment variables (highest precedence):
71
223
 
72
224
  | Environment Variable | Description |
73
225
  |---|---|
74
226
  | `ENABLE_A365_OBSERVABILITY_EXPORTER` | `"true"` / `"false"` — override `enabled` |
75
- | `ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT` | `"true"` / `"false"` — override `perRequestExport` |
76
227
  | `A365_OBSERVABILITY_SCOPES_OVERRIDE` | Space-separated list of OAuth scopes |
77
228
  | `A365_OBSERVABILITY_DOMAIN_OVERRIDE` | Override service domain |
78
229
  | `CLUSTER_CATEGORY` | Override cluster category |
230
+ | `A365_OBSERVABILITY_LOG_LEVEL` | A365 internal logger filter level (`none`, `info`, `warn`, `error`, or pipe-delimited combination) — overrides `observabilityLogLevel` |
231
+ | `A365_PER_REQUEST_MAX_TRACES` | Max buffered traces (default: `1000`) |
232
+ | `A365_PER_REQUEST_MAX_SPANS_PER_TRACE` | Max spans per trace (default: `5000`) |
233
+ | `A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS` | Max concurrent exports (default: `20`) |
234
+ | `A365_PER_REQUEST_FLUSH_GRACE_MS` | Grace period after root span ends (default: `250`) |
235
+ | `A365_PER_REQUEST_MAX_TRACE_AGE_MS` | Max trace age before forced flush (default: `1800000`) |
236
+
79
237
 
80
238
  ### Example
81
239
 
@@ -90,7 +248,6 @@ useMicrosoftOpenTelemetry({
90
248
  azureMonitorExporterOptions: {
91
249
  connectionString: process.env.APPLICATIONINSIGHTS_CONNECTION_STRING,
92
250
  },
93
- enableLiveMetrics: true,
94
251
  },
95
252
  });
96
253
 
@@ -1,41 +1,44 @@
1
- import type { A365Options, ClusterCategory, A365BaggageOptions, A365HostingOptions } from "./A365ConfigurationOptions.js";
1
+ import type { A365Options, ClusterCategory, A365BaggageOptions } from "./A365ConfigurationOptions.js";
2
2
  /**
3
3
  * Environment variable names for A365 configuration.
4
4
  * These match the upstream Agent365-nodejs conventions.
5
5
  */
6
6
  export declare const A365_ENV_VARS: {
7
7
  readonly EXPORTER_ENABLED: "ENABLE_A365_OBSERVABILITY_EXPORTER";
8
- readonly PER_REQUEST_EXPORT: "ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT";
9
8
  readonly AUTH_SCOPES: "A365_OBSERVABILITY_SCOPES_OVERRIDE";
10
9
  readonly DOMAIN: "A365_OBSERVABILITY_DOMAIN_OVERRIDE";
11
10
  readonly CLUSTER_CATEGORY: "CLUSTER_CATEGORY";
11
+ readonly LOG_LEVEL: "A365_OBSERVABILITY_LOG_LEVEL";
12
12
  };
13
13
  /**
14
14
  * Resolved A365 configuration.
15
15
  *
16
- * Merges values from four sources (lowest to highest precedence):
16
+ * Merges values from three sources (lowest to highest precedence):
17
17
  * 1. Defaults
18
18
  * 2. Programmatic options (`A365Options`)
19
- * 3. JSON config (`applicationinsights.json` → `a365` key)
20
- * 4. Environment variables (see `A365_ENV_VARS`)
19
+ * 3. Environment variables (see `A365_ENV_VARS`)
21
20
  */
22
21
  export declare class A365Configuration {
23
22
  /** Whether A365 observability is enabled. */
24
23
  readonly enabled: boolean;
25
24
  /** Token resolver callback for A365 service authentication. */
26
- readonly tokenResolver?: (agentId: string, tenantId: string) => string | Promise<string>;
25
+ readonly tokenResolver?: (agentId: string, tenantId: string, authScopes?: string[]) => string | Promise<string>;
27
26
  /** Cluster category. */
28
27
  readonly clusterCategory: ClusterCategory;
29
28
  /** Domain override for the A365 observability service. */
30
29
  readonly domainOverride?: string;
31
30
  /** OAuth scopes for A365 service authentication. */
32
31
  readonly authScopes: string[];
33
- /** Whether to use per-request export mode. */
34
- readonly perRequestExport: boolean;
35
32
  /** Baggage options. */
36
33
  readonly baggage: Required<A365BaggageOptions>;
37
34
  /** Hosting options. */
38
- readonly hosting: Required<A365HostingOptions>;
35
+ readonly hosting: {
36
+ enabled: boolean;
37
+ adapter?: {
38
+ use(...middlewares: unknown[]): void;
39
+ };
40
+ enableOutputLogging: boolean;
41
+ };
39
42
  constructor(options?: A365Options);
40
43
  private _warnIfOptionsSetButDisabled;
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A365Configuration.d.ts","sourceRoot":"","sources":["../../../../src/a365/configuration/A365Configuration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAwBvC;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAmBX;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,6CAA6C;IAC7C,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,+DAA+D;IAC/D,SAAgB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhG,wBAAwB;IACxB,SAAgB,eAAe,EAAE,eAAe,CAAC;IAEjD,0DAA0D;IAC1D,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExC,oDAAoD;IACpD,SAAgB,UAAU,EAAE,MAAM,EAAE,CAAC;IAErC,8CAA8C;IAC9C,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAE1C,uBAAuB;IACvB,SAAgB,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtD,uBAAuB;IACvB,SAAgB,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAE1C,OAAO,CAAC,EAAE,WAAW;IAiFjC,OAAO,CAAC,4BAA4B;CAgBrC"}
1
+ {"version":3,"file":"A365Configuration.d.ts","sourceRoot":"","sources":["../../../../src/a365/configuration/A365Configuration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAuBvC;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAmBX;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,6CAA6C;IAC7C,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,+DAA+D;IAC/D,SAAgB,aAAa,CAAC,EAAE,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EAAE,KAClB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B,wBAAwB;IACxB,SAAgB,eAAe,EAAE,eAAe,CAAC;IAEjD,0DAA0D;IAC1D,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExC,oDAAoD;IACpD,SAAgB,UAAU,EAAE,MAAM,EAAE,CAAC;IAErC,uBAAuB;IACvB,SAAgB,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtD,uBAAuB;IACvB,SAAgB,OAAO,EAAE;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;SAAE,CAAC;QACnD,mBAAmB,EAAE,OAAO,CAAC;KAC9B,CAAC;gBAEU,OAAO,CAAC,EAAE,WAAW;IA8DjC,OAAO,CAAC,4BAA4B;CAerC"}
@@ -3,8 +3,7 @@
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.A365Configuration = exports.A365_ENV_VARS = void 0;
6
- const index_js_1 = require("../../shared/logging/index.js");
7
- const jsonConfig_js_1 = require("../../shared/jsonConfig.js");
6
+ const logging_js_1 = require("../logging.js");
8
7
  /**
9
8
  * Parse an environment variable as a boolean.
10
9
  * Recognizes 'true', '1', 'yes', 'on' (case-insensitive) as true and
@@ -32,10 +31,10 @@ function parseEnvBoolean(envValue) {
32
31
  */
33
32
  exports.A365_ENV_VARS = {
34
33
  EXPORTER_ENABLED: "ENABLE_A365_OBSERVABILITY_EXPORTER",
35
- PER_REQUEST_EXPORT: "ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT",
36
34
  AUTH_SCOPES: "A365_OBSERVABILITY_SCOPES_OVERRIDE",
37
35
  DOMAIN: "A365_OBSERVABILITY_DOMAIN_OVERRIDE",
38
36
  CLUSTER_CATEGORY: "CLUSTER_CATEGORY",
37
+ LOG_LEVEL: "A365_OBSERVABILITY_LOG_LEVEL",
39
38
  };
40
39
  const DEFAULT_AUTH_SCOPE = "https://api.powerplatform.com/.default";
41
40
  const VALID_CLUSTER_CATEGORIES = new Set([
@@ -55,11 +54,10 @@ const VALID_CLUSTER_CATEGORIES = new Set([
55
54
  /**
56
55
  * Resolved A365 configuration.
57
56
  *
58
- * Merges values from four sources (lowest to highest precedence):
57
+ * Merges values from three sources (lowest to highest precedence):
59
58
  * 1. Defaults
60
59
  * 2. Programmatic options (`A365Options`)
61
- * 3. JSON config (`applicationinsights.json` → `a365` key)
62
- * 4. Environment variables (see `A365_ENV_VARS`)
60
+ * 3. Environment variables (see `A365_ENV_VARS`)
63
61
  */
64
62
  class A365Configuration {
65
63
  /** Whether A365 observability is enabled. */
@@ -72,8 +70,6 @@ class A365Configuration {
72
70
  domainOverride;
73
71
  /** OAuth scopes for A365 service authentication. */
74
72
  authScopes;
75
- /** Whether to use per-request export mode. */
76
- perRequestExport;
77
73
  /** Baggage options. */
78
74
  baggage;
79
75
  /** Hosting options. */
@@ -84,33 +80,16 @@ class A365Configuration {
84
80
  let clusterCategory = "prod";
85
81
  let domainOverride = options?.domainOverride;
86
82
  let authScopes = options?.authScopes ?? [DEFAULT_AUTH_SCOPE];
87
- let perRequestExport = false;
88
83
  // 2. Apply programmatic options
89
84
  if (options) {
90
85
  enabled = options.enabled ?? enabled;
91
86
  clusterCategory = options.clusterCategory ?? clusterCategory;
92
- perRequestExport = options.perRequestExport ?? perRequestExport;
93
87
  }
94
- // 3. Apply JSON config (takes precedence over programmatic options)
95
- const jsonA365 = jsonConfig_js_1.JsonConfig.getInstance().a365;
96
- if (jsonA365) {
97
- enabled = jsonA365.enabled ?? enabled;
98
- clusterCategory = jsonA365.clusterCategory ?? clusterCategory;
99
- domainOverride = jsonA365.domainOverride ?? domainOverride;
100
- perRequestExport = jsonA365.perRequestExport ?? perRequestExport;
101
- if (jsonA365.authScopes) {
102
- authScopes = jsonA365.authScopes;
103
- }
104
- }
105
- // 4. Apply environment variable overrides (highest precedence)
88
+ // 3. Apply environment variable overrides (highest precedence)
106
89
  const envEnabled = parseEnvBoolean(process.env[exports.A365_ENV_VARS.EXPORTER_ENABLED]);
107
90
  if (envEnabled !== undefined) {
108
91
  enabled = envEnabled;
109
92
  }
110
- const envPerRequest = parseEnvBoolean(process.env[exports.A365_ENV_VARS.PER_REQUEST_EXPORT]);
111
- if (envPerRequest !== undefined) {
112
- perRequestExport = envPerRequest;
113
- }
114
93
  const envScopes = process.env[exports.A365_ENV_VARS.AUTH_SCOPES]?.trim();
115
94
  if (envScopes) {
116
95
  authScopes = envScopes.split(/\s+/).filter(Boolean);
@@ -124,7 +103,7 @@ class A365Configuration {
124
103
  clusterCategory = envCluster;
125
104
  }
126
105
  else if (envCluster) {
127
- index_js_1.Logger.getInstance().warn(`Invalid ${exports.A365_ENV_VARS.CLUSTER_CATEGORY} value '${envCluster}'. Using default cluster category.`);
106
+ (0, logging_js_1.getA365Logger)().warn(`Invalid ${exports.A365_ENV_VARS.CLUSTER_CATEGORY} value '${envCluster}'. Using default cluster category.`);
128
107
  }
129
108
  // Assign resolved values
130
109
  this.enabled = enabled;
@@ -132,13 +111,14 @@ class A365Configuration {
132
111
  this.clusterCategory = clusterCategory;
133
112
  this.domainOverride = domainOverride;
134
113
  this.authScopes = authScopes;
135
- this.perRequestExport = perRequestExport;
136
114
  this.baggage = {
137
- propagationEnabled: jsonA365?.baggage?.propagationEnabled ?? options?.baggage?.propagationEnabled ?? true,
138
- enrichSpans: jsonA365?.baggage?.enrichSpans ?? options?.baggage?.enrichSpans ?? true,
115
+ propagationEnabled: options?.baggage?.propagationEnabled ?? true,
116
+ enrichSpans: options?.baggage?.enrichSpans ?? true,
139
117
  };
140
118
  this.hosting = {
141
- enabled: jsonA365?.hosting?.enabled ?? options?.hosting?.enabled ?? false,
119
+ enabled: options?.hosting?.enabled ?? false,
120
+ adapter: options?.hosting?.adapter,
121
+ enableOutputLogging: options?.hosting?.enableOutputLogging ?? true,
142
122
  };
143
123
  // Warn when A365-scoped options are set but A365 is not enabled
144
124
  if (!this.enabled) {
@@ -150,10 +130,9 @@ class A365Configuration {
150
130
  return;
151
131
  const hasNonTrivialOptions = options.tokenResolver !== undefined ||
152
132
  options.domainOverride !== undefined ||
153
- options.perRequestExport !== undefined ||
154
133
  options.hosting?.enabled === true;
155
134
  if (hasNonTrivialOptions) {
156
- index_js_1.Logger.getInstance().warn("A365 configuration options are set but A365 is not enabled. " +
135
+ (0, logging_js_1.getA365Logger)().warn("A365 configuration options are set but A365 is not enabled. " +
157
136
  "Set `a365.enabled: true` or `ENABLE_A365_OBSERVABILITY_EXPORTER=true` to enable.");
158
137
  }
159
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A365Configuration.js","sourceRoot":"","sources":["../../../../src/a365/configuration/A365Configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A365Configuration.js","sourceRoot":"","sources":["../../../../src/a365/configuration/A365Configuration.ts"],"names":[],"mappings":"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"}
@@ -14,22 +14,16 @@ export interface A365Options {
14
14
  enabled?: boolean;
15
15
  /**
16
16
  * Token resolver for authenticating with the A365 observability service.
17
- * Called with (agentId, tenantId) extracted from span attributes.
17
+ * Called with (agentId, tenantId, authScopes) extracted from span attributes/config.
18
18
  * Must return a bearer token string or a promise resolving to one.
19
19
  */
20
- tokenResolver?: (agentId: string, tenantId: string) => string | Promise<string>;
20
+ tokenResolver?: (agentId: string, tenantId: string, authScopes?: string[]) => string | Promise<string>;
21
21
  /** Cluster category for the A365 service endpoint. */
22
22
  clusterCategory?: ClusterCategory;
23
23
  /** Override the A365 observability service domain. */
24
24
  domainOverride?: string;
25
25
  /** OAuth scopes for A365 service authentication. */
26
26
  authScopes?: string[];
27
- /**
28
- * Use per-request export mode (buffer spans per trace, export on root completion).
29
- * When false, uses standard batch export.
30
- * @default false
31
- */
32
- perRequestExport?: boolean;
33
27
  /** Baggage propagation and span enrichment options. */
34
28
  baggage?: A365BaggageOptions;
35
29
  /** Hosting middleware options (requires @microsoft/agents-hosting). */
@@ -49,5 +43,17 @@ export interface A365HostingOptions {
49
43
  * Requires `@microsoft/agents-hosting` as an optional peer dependency.
50
44
  */
51
45
  enabled?: boolean;
46
+ /**
47
+ * Adapter instance where hosting middleware will be auto-registered.
48
+ * Must expose a `use(...middlewares)` method compatible with agents-hosting adapters.
49
+ */
50
+ adapter?: {
51
+ use(...middlewares: unknown[]): void;
52
+ };
53
+ /**
54
+ * Enable output logging middleware auto-registration when hosting is enabled.
55
+ * @default true
56
+ */
57
+ enableOutputLogging?: boolean;
52
58
  }
53
59
  //# sourceMappingURL=A365ConfigurationOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"A365ConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../../src/a365/configuration/A365ConfigurationOptions.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,KAAK,GACL,MAAM,GACN,SAAS,GACT,cAAc,GACd,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,UAAU,GACV,IAAI,GACJ,IAAI,CAAC;AAET;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhF,sDAAsD;IACtD,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,uDAAuD;IACvD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B,uEAAuE;IACvE,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"A365ConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../../src/a365/configuration/A365ConfigurationOptions.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,KAAK,GACL,MAAM,GACN,SAAS,GACT,cAAc,GACd,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,UAAU,GACV,IAAI,GACJ,IAAI,CAAC;AAET;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EAAE,KAClB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B,sDAAsD;IACtD,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B,uEAAuE;IACvE,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;IAEnD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B"}
@@ -1,3 +1,4 @@
1
1
  export { A365Configuration, A365_ENV_VARS } from "./A365Configuration.js";
2
2
  export type { A365Options, ClusterCategory, A365BaggageOptions, A365HostingOptions, } from "./A365ConfigurationOptions.js";
3
+ export type { ILogger } from "../logging.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC1E,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC1E,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -17,12 +17,25 @@ export declare class OpenTelemetryConstants {
17
17
  static readonly AZ_NAMESPACE_KEY = "az.namespace";
18
18
  static readonly SERVER_ADDRESS_KEY = "server.address";
19
19
  static readonly SERVER_PORT_KEY = "server.port";
20
+ static readonly AZURE_RP_NAMESPACE_VALUE = "Microsoft.CognitiveServices";
20
21
  static readonly SOURCE_NAME = "Agent365Sdk";
22
+ static readonly ENABLE_OPENTELEMETRY_SWITCH = "Azure.Experimental.EnableActivitySource";
23
+ static readonly TRACE_CONTENTS_SWITCH = "Azure.Experimental.TraceGenAIMessageContent";
24
+ static readonly TRACE_CONTENTS_ENVIRONMENT_VARIABLE = "AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED";
25
+ static readonly ENABLE_OBSERVABILITY = "ENABLE_OBSERVABILITY";
26
+ static readonly ENABLE_A365_OBSERVABILITY_EXPORTER = "ENABLE_A365_OBSERVABILITY_EXPORTER";
27
+ static readonly ENABLE_A365_OBSERVABILITY = "ENABLE_A365_OBSERVABILITY";
21
28
  static readonly GEN_AI_OPERATION_NAME_KEY = "gen_ai.operation.name";
22
29
  static readonly GEN_AI_REQUEST_MODEL_KEY = "gen_ai.request.model";
23
30
  static readonly GEN_AI_RESPONSE_MODEL_KEY = "gen_ai.response.model";
24
31
  static readonly GEN_AI_RESPONSE_FINISH_REASONS_KEY = "gen_ai.response.finish_reasons";
25
32
  static readonly GEN_AI_PROVIDER_NAME_KEY = "gen_ai.provider.name";
33
+ static readonly GEN_AI_REQUEST_MAX_TOKENS_KEY = "gen_ai.request.max_tokens";
34
+ static readonly GEN_AI_REQUEST_TEMPERATURE_KEY = "gen_ai.request.temperature";
35
+ static readonly GEN_AI_REQUEST_TOP_P_KEY = "gen_ai.request.top_p";
36
+ static readonly GEN_AI_CHOICE = "gen_ai.choice";
37
+ static readonly GEN_AI_CLIENT_OPERATION_DURATION_METRIC_NAME = "gen_ai.client.operation.duration";
38
+ static readonly GEN_AI_CLIENT_TOKEN_USAGE_METRIC_NAME = "gen_ai.client.token.usage";
26
39
  static readonly GEN_AI_USAGE_INPUT_TOKENS_KEY = "gen_ai.usage.input_tokens";
27
40
  static readonly GEN_AI_USAGE_OUTPUT_TOKENS_KEY = "gen_ai.usage.output_tokens";
28
41
  static readonly GEN_AI_SYSTEM_INSTRUCTIONS_KEY = "gen_ai.system_instructions";
@@ -36,6 +49,7 @@ export declare class OpenTelemetryConstants {
36
49
  static readonly GEN_AI_AGENT_PLATFORM_ID_KEY = "microsoft.a365.agent.platform.id";
37
50
  static readonly GEN_AI_AGENT_THOUGHT_PROCESS_KEY = "microsoft.a365.agent.thought.process";
38
51
  static readonly GEN_AI_ICON_URI_KEY = "gen_ai.agent365.icon_uri";
52
+ static readonly AGENT_ID_KEY = "gen_ai.agent.id";
39
53
  static readonly GEN_AI_CONVERSATION_ID_KEY = "gen_ai.conversation.id";
40
54
  static readonly GEN_AI_CONVERSATION_ITEM_LINK_KEY = "microsoft.conversation.item.link";
41
55
  static readonly SESSION_ID_KEY = "microsoft.session.id";
@@ -61,6 +75,8 @@ export declare class OpenTelemetryConstants {
61
75
  static readonly GEN_AI_AGENT_AUID_KEY = "microsoft.agent.user.id";
62
76
  static readonly GEN_AI_AGENT_EMAIL_KEY = "microsoft.agent.user.email";
63
77
  static readonly GEN_AI_AGENT_BLUEPRINT_ID_KEY = "microsoft.a365.agent.blueprint.id";
78
+ static readonly GEN_AI_TASK_ID_KEY = "gen_ai.task.id";
79
+ static readonly GEN_AI_EXECUTION_PAYLOAD_KEY = "gen_ai.execution.payload";
64
80
  static readonly CHANNEL_NAME_KEY = "microsoft.channel.name";
65
81
  static readonly CHANNEL_LINK_KEY = "microsoft.channel.link";
66
82
  static readonly CUSTOM_PARENT_SPAN_ID_KEY = "custom.parent.span.id";
@@ -71,6 +87,6 @@ export declare class OpenTelemetryConstants {
71
87
  static readonly TELEMETRY_SDK_VERSION_KEY = "telemetry.sdk.version";
72
88
  static readonly TELEMETRY_SDK_NAME_VALUE = "A365ObservabilitySDK";
73
89
  static readonly TELEMETRY_SDK_LANGUAGE_VALUE = "nodejs";
74
- static readonly TELEMETRY_SDK_VERSION_VALUE = "0.1.0";
90
+ static readonly TELEMETRY_SDK_VERSION_VALUE = "0.1.0-alpha.5";
75
91
  }
76
92
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/a365/constants.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IAEjC,gBAAuB,2BAA2B,kBAAkB;IACpE,gBAAuB,2BAA2B,kBAAkB;IACpE,gBAAuB,8BAA8B,qBAAqB;IAC1E,gBAAuB,mBAAmB,UAAU;IAGpD,gBAAuB,cAAc,gBAAgB;IACrD,gBAAuB,oBAAoB,2BAA2B;IACtE,gBAAuB,iBAAiB,mBAAmB;IAC3D,gBAAuB,gBAAgB,kBAAkB;IACzD,gBAAuB,kBAAkB,oBAAoB;IAC7D,gBAAuB,eAAe,iBAAiB;IAGvD,gBAAuB,WAAW,iBAAiB;IAGnD,gBAAuB,yBAAyB,2BAA2B;IAC3E,gBAAuB,wBAAwB,0BAA0B;IACzE,gBAAuB,yBAAyB,2BAA2B;IAC3E,gBAAuB,kCAAkC,oCAAoC;IAC7F,gBAAuB,wBAAwB,0BAA0B;IAGzE,gBAAuB,6BAA6B,+BAA+B;IACnF,gBAAuB,8BAA8B,gCAAgC;IAGrF,gBAAuB,8BAA8B,gCAAgC;IACrF,gBAAuB,yBAAyB,2BAA2B;IAC3E,gBAAuB,0BAA0B,4BAA4B;IAC7E,gBAAuB,gCAAgC,4CACZ;IAG3C,gBAAuB,mBAAmB,qBAAqB;IAC/D,gBAAuB,qBAAqB,uBAAuB;IACnE,gBAAuB,4BAA4B,8BAA8B;IACjF,gBAAuB,wBAAwB,0BAA0B;IACzE,gBAAuB,4BAA4B,sCAAsC;IACzF,gBAAuB,gCAAgC,0CAA0C;IACjG,gBAAuB,mBAAmB,8BAA8B;IAGxE,gBAAuB,0BAA0B,4BAA4B;IAC7E,gBAAuB,iCAAiC,sCAAsC;IAC9F,gBAAuB,cAAc,0BAA0B;IAC/D,gBAAuB,uBAAuB,mCAAmC;IAGjF,gBAAuB,uBAAuB,yBAAyB;IACvE,gBAAuB,oBAAoB,sBAAsB;IACjE,gBAAuB,2BAA2B,6BAA6B;IAC/E,gBAAuB,oBAAoB,gCAAgC;IAC3E,gBAAuB,2BAA2B,6BAA6B;IAC/E,gBAAuB,oBAAoB,sBAAsB;IAGjE,gBAAuB,aAAa,yBAAyB;IAG7D,gBAAuB,WAAW,aAAa;IAC/C,gBAAuB,aAAa,eAAe;IACnD,gBAAuB,cAAc,gBAAgB;IACrD,gBAAuB,2BAA2B,oBAAoB;IAGtE,gBAAuB,+BAA+B,yCAAyC;IAC/F,gBAAuB,6BAA6B,4CAA4C;IAChG,gBAAuB,4BAA4B,sCAAsC;IACzF,gBAAuB,0BAA0B,oCAAoC;IACrF,gBAAuB,sCAAsC,8CAChB;IAC7C,gBAAuB,mCAAmC,6CACd;IAC5C,gBAAuB,+BAA+B,yCAAyC;IAG/F,gBAAuB,qBAAqB,6BAA6B;IACzE,gBAAuB,sBAAsB,gCAAgC;IAC7E,gBAAuB,6BAA6B,uCAAuC;IAG3F,gBAAuB,gBAAgB,4BAA4B;IACnE,gBAAuB,gBAAgB,4BAA4B;IAGnE,gBAAuB,yBAAyB,2BAA2B;IAC3E,gBAAuB,oBAAoB,sBAAsB;IAGjE,gBAAuB,gBAAgB,kBAAkB;IAGzD,gBAAuB,sBAAsB,wBAAwB;IACrE,gBAAuB,0BAA0B,4BAA4B;IAC7E,gBAAuB,yBAAyB,2BAA2B;IAC3E,gBAAuB,wBAAwB,0BAA0B;IACzE,gBAAuB,4BAA4B,YAAY;IAC/D,gBAAuB,2BAA2B,WAAW;CAC9D"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/a365/constants.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.OpenTelemetryConstants = void 0;
6
+ const types_js_1 = require("../types.js");
6
7
  /**
7
8
  * OpenTelemetry constants for A365 observability.
8
9
  *
@@ -24,14 +25,29 @@ class OpenTelemetryConstants {
24
25
  static AZ_NAMESPACE_KEY = "az.namespace";
25
26
  static SERVER_ADDRESS_KEY = "server.address";
26
27
  static SERVER_PORT_KEY = "server.port";
28
+ static AZURE_RP_NAMESPACE_VALUE = "Microsoft.CognitiveServices";
27
29
  // ── Source / SDK identity ─────────────────────────────────────────
28
30
  static SOURCE_NAME = "Agent365Sdk";
31
+ // ── Feature flags / env var names ─────────────────────────────────
32
+ static ENABLE_OPENTELEMETRY_SWITCH = "Azure.Experimental.EnableActivitySource";
33
+ static TRACE_CONTENTS_SWITCH = "Azure.Experimental.TraceGenAIMessageContent";
34
+ static TRACE_CONTENTS_ENVIRONMENT_VARIABLE = "AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED";
35
+ static ENABLE_OBSERVABILITY = "ENABLE_OBSERVABILITY";
36
+ static ENABLE_A365_OBSERVABILITY_EXPORTER = "ENABLE_A365_OBSERVABILITY_EXPORTER";
37
+ static ENABLE_A365_OBSERVABILITY = "ENABLE_A365_OBSERVABILITY";
29
38
  // ── GenAI core attributes ────────────────────────────────────────
30
39
  static GEN_AI_OPERATION_NAME_KEY = "gen_ai.operation.name";
31
40
  static GEN_AI_REQUEST_MODEL_KEY = "gen_ai.request.model";
32
41
  static GEN_AI_RESPONSE_MODEL_KEY = "gen_ai.response.model";
33
42
  static GEN_AI_RESPONSE_FINISH_REASONS_KEY = "gen_ai.response.finish_reasons";
34
43
  static GEN_AI_PROVIDER_NAME_KEY = "gen_ai.provider.name";
44
+ static GEN_AI_REQUEST_MAX_TOKENS_KEY = "gen_ai.request.max_tokens";
45
+ static GEN_AI_REQUEST_TEMPERATURE_KEY = "gen_ai.request.temperature";
46
+ static GEN_AI_REQUEST_TOP_P_KEY = "gen_ai.request.top_p";
47
+ static GEN_AI_CHOICE = "gen_ai.choice";
48
+ // ── GenAI metrics ────────────────────────────────────────────────
49
+ static GEN_AI_CLIENT_OPERATION_DURATION_METRIC_NAME = "gen_ai.client.operation.duration";
50
+ static GEN_AI_CLIENT_TOKEN_USAGE_METRIC_NAME = "gen_ai.client.token.usage";
35
51
  // ── GenAI usage ──────────────────────────────────────────────────
36
52
  static GEN_AI_USAGE_INPUT_TOKENS_KEY = "gen_ai.usage.input_tokens";
37
53
  static GEN_AI_USAGE_OUTPUT_TOKENS_KEY = "gen_ai.usage.output_tokens";
@@ -48,6 +64,7 @@ class OpenTelemetryConstants {
48
64
  static GEN_AI_AGENT_PLATFORM_ID_KEY = "microsoft.a365.agent.platform.id";
49
65
  static GEN_AI_AGENT_THOUGHT_PROCESS_KEY = "microsoft.a365.agent.thought.process";
50
66
  static GEN_AI_ICON_URI_KEY = "gen_ai.agent365.icon_uri";
67
+ static AGENT_ID_KEY = "gen_ai.agent.id";
51
68
  // ── GenAI conversation / session ─────────────────────────────────
52
69
  static GEN_AI_CONVERSATION_ID_KEY = "gen_ai.conversation.id";
53
70
  static GEN_AI_CONVERSATION_ITEM_LINK_KEY = "microsoft.conversation.item.link";
@@ -79,6 +96,9 @@ class OpenTelemetryConstants {
79
96
  static GEN_AI_AGENT_AUID_KEY = "microsoft.agent.user.id";
80
97
  static GEN_AI_AGENT_EMAIL_KEY = "microsoft.agent.user.email";
81
98
  static GEN_AI_AGENT_BLUEPRINT_ID_KEY = "microsoft.a365.agent.blueprint.id";
99
+ // ── Execution context ────────────────────────────────────────────
100
+ static GEN_AI_TASK_ID_KEY = "gen_ai.task.id";
101
+ static GEN_AI_EXECUTION_PAYLOAD_KEY = "gen_ai.execution.payload";
82
102
  // ── Channel dimensions ───────────────────────────────────────────
83
103
  static CHANNEL_NAME_KEY = "microsoft.channel.name";
84
104
  static CHANNEL_LINK_KEY = "microsoft.channel.link";
@@ -93,7 +113,7 @@ class OpenTelemetryConstants {
93
113
  static TELEMETRY_SDK_VERSION_KEY = "telemetry.sdk.version";
94
114
  static TELEMETRY_SDK_NAME_VALUE = "A365ObservabilitySDK";
95
115
  static TELEMETRY_SDK_LANGUAGE_VALUE = "nodejs";
96
- static TELEMETRY_SDK_VERSION_VALUE = "0.1.0";
116
+ static TELEMETRY_SDK_VERSION_VALUE = types_js_1.MICROSOFT_OPENTELEMETRY_VERSION;
97
117
  }
98
118
  exports.OpenTelemetryConstants = OpenTelemetryConstants;
99
119
  //# sourceMappingURL=constants.js.map