@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,6 +1,8 @@
1
1
  import type { TokenResolver } from './tracing/exporter/Agent365ExporterOptions';
2
2
  import { Agent365ExporterOptions } from './tracing/exporter/Agent365ExporterOptions';
3
- import { ClusterCategory } from '@microsoft/agents-a365-runtime';
3
+ import { ClusterCategory, IConfigurationProvider } from '@microsoft/agents-a365-runtime';
4
+ import { type ILogger } from './utils/logging';
5
+ import type { ObservabilityConfiguration } from './configuration';
4
6
  /**
5
7
  * Configuration options for Agent 365 Observability Builder
6
8
  */
@@ -9,6 +11,8 @@ export interface BuilderOptions {
9
11
  serviceName?: string;
10
12
  /** Custom service version for telemetry */
11
13
  serviceVersion?: string;
14
+ /** Optional service namespace for the OTel resource (service.namespace attribute) */
15
+ serviceNamespace?: string;
12
16
  tokenResolver?: TokenResolver;
13
17
  /** Environment / cluster category (e.g., "preprod", "prod"). */
14
18
  clusterCategory?: ClusterCategory;
@@ -19,6 +23,18 @@ export interface BuilderOptions {
19
23
  * from dedicated builder methods.
20
24
  */
21
25
  exporterOptions?: Partial<Agent365ExporterOptions>;
26
+ /**
27
+ * Optional custom logger implementation for the observability SDK.
28
+ * If not provided, the SDK uses the default console logger.
29
+ * Implement ILogger to integrate with other logging services
30
+ */
31
+ customLogger?: ILogger;
32
+ /**
33
+ * Optional configuration provider for ObservabilityConfiguration.
34
+ * When provided, this is used by the builder and its internal components
35
+ * (exporter, span processors, logger)
36
+ */
37
+ configProvider?: IConfigurationProvider<ObservabilityConfiguration>;
22
38
  }
23
39
  /**
24
40
  * Builder for configuring Agent 365 with OpenTelemetry tracing
@@ -34,6 +50,12 @@ export declare class ObservabilityBuilder {
34
50
  * @returns The builder instance for method chaining
35
51
  */
36
52
  withService(serviceName: string, serviceVersion?: string): ObservabilityBuilder;
53
+ /**
54
+ * Configures the service namespace for telemetry (service.namespace resource attribute)
55
+ * @param serviceNamespace The service namespace
56
+ * @returns The builder instance for method chaining
57
+ */
58
+ withServiceNamespace(serviceNamespace: string): ObservabilityBuilder;
37
59
  /**
38
60
  * Configures the token resolver for Agent 365 exporter
39
61
  * @param tokenResolver Function to resolve authentication tokens
@@ -53,6 +75,30 @@ export declare class ObservabilityBuilder {
53
75
  * @returns The builder instance for chaining
54
76
  */
55
77
  withExporterOptions(exporterOptions: Partial<Agent365ExporterOptions>): ObservabilityBuilder;
78
+ /**
79
+ * Configures the configuration provider for ObservabilityConfiguration.
80
+ * When set, this provider is used by the builder and its internal components
81
+ * instead of the default provider that reads from environment variables.
82
+ * @param configProvider The configuration provider
83
+ * @returns The builder instance for method chaining
84
+ */
85
+ withConfigurationProvider(configProvider: IConfigurationProvider<ObservabilityConfiguration>): ObservabilityBuilder;
86
+ /**
87
+ * Sets a custom logger implementation for the observability SDK
88
+ * @param customLogger The custom logger implementation (must implement ILogger interface)
89
+ * @returns The builder instance for method chaining
90
+ *
91
+ * Example with Winston:
92
+ * ```typescript
93
+ * const winstonLogger = winston.createLogger({...});
94
+ * builder.withCustomLogger({
95
+ * info: (msg, ...args) => winstonLogger.info(msg, ...args),
96
+ * warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
97
+ * error: (msg, ...args) => winstonLogger.error(msg, ...args)
98
+ * });
99
+ * ```
100
+ */
101
+ withCustomLogger(customLogger: ILogger): ObservabilityBuilder;
56
102
  private createBatchProcessor;
57
103
  private createPerRequestProcessor;
58
104
  private createExportProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityBuilder.d.ts","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAKrF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gEAAgE;IAChE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAEpD;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAU;IAEtB;;;;;OAKG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAMtF;;;;OAIG;IACI,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB;IAK5E;;;;OAIG;IACI,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAKlF;;;;;OAKG;IACI,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,oBAAoB;IAQnG,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACI,KAAK,IAAI,OAAO;IA8CvB;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IAEH,OAAO,CAAC,wBAAwB;CAUjC"}
1
+ {"version":3,"file":"ObservabilityBuilder.d.ts","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAKrF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAe,EAA4B,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gEAAgE;IAChE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAU;IAEtB;;;;;OAKG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAMtF;;;;OAIG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,oBAAoB;IAK3E;;;;OAIG;IACI,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB;IAK5E;;;;OAIG;IACI,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAKlF;;;;;OAKG;IACI,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,oBAAoB;IAQnG;;;;;;OAMG;IACI,yBAAyB,CAAC,cAAc,EAAE,sBAAsB,CAAC,0BAA0B,CAAC,GAAG,oBAAoB;IAK1H;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CAAC,YAAY,EAAE,OAAO,GAAG,oBAAoB;IAKpE,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;IACI,KAAK,IAAI,OAAO;IAsDvB;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IAEH,OAAO,CAAC,wBAAwB;CAUjC"}
@@ -1,10 +1,39 @@
1
1
  "use strict";
2
- // ------------------------------------------------------------------------------
3
- // Copyright (c) Microsoft Corporation. All rights reserved.
4
- // ------------------------------------------------------------------------------
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
8
37
  Object.defineProperty(exports, "__esModule", { value: true });
9
38
  exports.ObservabilityBuilder = void 0;
10
39
  const sdk_node_1 = require("@opentelemetry/sdk-node");
@@ -17,7 +46,8 @@ const PerRequestSpanProcessor_1 = require("./tracing/PerRequestSpanProcessor");
17
46
  const resources_1 = require("@opentelemetry/resources");
18
47
  const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
19
48
  const api_1 = require("@opentelemetry/api");
20
- const logging_1 = __importDefault(require("./utils/logging"));
49
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
50
+ const logging_1 = __importStar(require("./utils/logging"));
21
51
  /**
22
52
  * Builder for configuring Agent 365 with OpenTelemetry tracing
23
53
  */
@@ -37,6 +67,15 @@ class ObservabilityBuilder {
37
67
  this.options.serviceVersion = serviceVersion;
38
68
  return this;
39
69
  }
70
+ /**
71
+ * Configures the service namespace for telemetry (service.namespace resource attribute)
72
+ * @param serviceNamespace The service namespace
73
+ * @returns The builder instance for method chaining
74
+ */
75
+ withServiceNamespace(serviceNamespace) {
76
+ this.options.serviceNamespace = serviceNamespace;
77
+ return this;
78
+ }
40
79
  /**
41
80
  * Configures the token resolver for Agent 365 exporter
42
81
  * @param tokenResolver Function to resolve authentication tokens
@@ -68,8 +107,38 @@ class ObservabilityBuilder {
68
107
  };
69
108
  return this;
70
109
  }
110
+ /**
111
+ * Configures the configuration provider for ObservabilityConfiguration.
112
+ * When set, this provider is used by the builder and its internal components
113
+ * instead of the default provider that reads from environment variables.
114
+ * @param configProvider The configuration provider
115
+ * @returns The builder instance for method chaining
116
+ */
117
+ withConfigurationProvider(configProvider) {
118
+ this.options.configProvider = configProvider;
119
+ return this;
120
+ }
121
+ /**
122
+ * Sets a custom logger implementation for the observability SDK
123
+ * @param customLogger The custom logger implementation (must implement ILogger interface)
124
+ * @returns The builder instance for method chaining
125
+ *
126
+ * Example with Winston:
127
+ * ```typescript
128
+ * const winstonLogger = winston.createLogger({...});
129
+ * builder.withCustomLogger({
130
+ * info: (msg, ...args) => winstonLogger.info(msg, ...args),
131
+ * warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
132
+ * error: (msg, ...args) => winstonLogger.error(msg, ...args)
133
+ * });
134
+ * ```
135
+ */
136
+ withCustomLogger(customLogger) {
137
+ this.options.customLogger = customLogger;
138
+ return this;
139
+ }
71
140
  createBatchProcessor() {
72
- if (!(0, utils_1.isAgent365ExporterEnabled)()) {
141
+ if (!(0, utils_1.isAgent365ExporterEnabled)(this.options.configProvider)) {
73
142
  logging_1.default.info('[ObservabilityBuilder] Agent 365 exporter not enabled. Using ConsoleSpanExporter for BatchSpanProcessor.');
74
143
  return new sdk_trace_base_1.BatchSpanProcessor(new sdk_trace_base_1.ConsoleSpanExporter());
75
144
  }
@@ -77,11 +146,11 @@ class ObservabilityBuilder {
77
146
  if (this.options.exporterOptions) {
78
147
  Object.assign(opts, this.options.exporterOptions);
79
148
  }
80
- opts.clusterCategory = this.options.clusterCategory || opts.clusterCategory || 'prod';
149
+ opts.clusterCategory = this.options.clusterCategory || opts.clusterCategory || agents_a365_runtime_1.ClusterCategory.prod;
81
150
  if (this.options.tokenResolver) {
82
151
  opts.tokenResolver = this.options.tokenResolver;
83
152
  }
84
- return new sdk_trace_base_1.BatchSpanProcessor(new Agent365Exporter_1.Agent365Exporter(opts), {
153
+ return new sdk_trace_base_1.BatchSpanProcessor(new Agent365Exporter_1.Agent365Exporter(opts, this.options.configProvider), {
85
154
  maxQueueSize: opts.maxQueueSize,
86
155
  scheduledDelayMillis: opts.scheduledDelayMilliseconds,
87
156
  exportTimeoutMillis: opts.exporterTimeoutMilliseconds,
@@ -89,7 +158,7 @@ class ObservabilityBuilder {
89
158
  });
90
159
  }
91
160
  createPerRequestProcessor() {
92
- if (!(0, utils_1.isAgent365ExporterEnabled)()) {
161
+ if (!(0, utils_1.isAgent365ExporterEnabled)(this.options.configProvider)) {
93
162
  logging_1.default.info('[Agent365Exporter] Per-request export enabled but Agent 365 exporter is disabled. Using ConsoleSpanExporter.');
94
163
  return new PerRequestSpanProcessor_1.PerRequestSpanProcessor(new sdk_trace_base_1.ConsoleSpanExporter());
95
164
  }
@@ -97,10 +166,10 @@ class ObservabilityBuilder {
97
166
  if (this.options.exporterOptions) {
98
167
  Object.assign(opts, this.options.exporterOptions);
99
168
  }
100
- opts.clusterCategory = this.options.clusterCategory || opts.clusterCategory || 'prod';
169
+ opts.clusterCategory = this.options.clusterCategory || opts.clusterCategory || agents_a365_runtime_1.ClusterCategory.prod;
101
170
  // For per-request export, token is retrieved from OTel Context by Agent365Exporter
102
171
  // using getExportToken(), so no tokenResolver is needed here
103
- return new PerRequestSpanProcessor_1.PerRequestSpanProcessor(new Agent365Exporter_1.Agent365Exporter(opts));
172
+ return new PerRequestSpanProcessor_1.PerRequestSpanProcessor(new Agent365Exporter_1.Agent365Exporter(opts, this.options.configProvider));
104
173
  }
105
174
  createExportProcessor() {
106
175
  if ((0, utils_1.isPerRequestExportEnabled)()) {
@@ -112,9 +181,13 @@ class ObservabilityBuilder {
112
181
  const serviceName = this.options.serviceVersion
113
182
  ? `${this.options.serviceName}-${this.options.serviceVersion}`
114
183
  : this.options.serviceName ?? 'Agent365-TypeScript';
115
- return (0, resources_1.resourceFromAttributes)({
184
+ const attrs = {
116
185
  [semantic_conventions_1.ATTR_SERVICE_NAME]: serviceName,
117
- });
186
+ };
187
+ if (this.options.serviceNamespace) {
188
+ attrs[semantic_conventions_1.ATTR_SERVICE_NAMESPACE] = this.options.serviceNamespace;
189
+ }
190
+ return (0, resources_1.resourceFromAttributes)(attrs);
118
191
  }
119
192
  /**
120
193
  * Builds and initializes the Agent 365 configuration
@@ -124,6 +197,13 @@ class ObservabilityBuilder {
124
197
  if (this.isBuilt) {
125
198
  return this.isBuilt;
126
199
  }
200
+ // Apply custom logger if provided, or configure logger with custom config provider
201
+ if (this.options.customLogger) {
202
+ (0, logging_1.setLogger)(this.options.customLogger);
203
+ }
204
+ else if (this.options.configProvider) {
205
+ (0, logging_1.setLogger)(new logging_1.DefaultLogger(this.options.configProvider));
206
+ }
127
207
  // Create processors in the desired order:
128
208
  // 1. baggage enricher (copies baggage -> span attributes)
129
209
  const spanProcessor = new SpanProcessor_1.SpanProcessor();
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityBuilder.js","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;;AAEjF,sDAAkD;AAClD,kEAAwF;AACxF,sEAAmE;AACnE,oDAAgG;AAChG,0EAAuE;AAEvE,wFAAqF;AACrF,+EAA4E;AAC5E,wDAAkE;AAClE,8EAAwE;AACxE,4CAA2C;AAE3C,8DAAqC;AAwBrC;;GAEG;AACH,MAAa,oBAAoB;IAAjC;QACU,YAAO,GAAmB,EAAE,CAAC;QAC7B,YAAO,GAAG,KAAK,CAAC;IA+L1B,CAAC;IA5LC;;;;;OAKG;IACI,WAAW,CAAC,WAAmB,EAAE,cAAuB;QAC7D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,aAA4B;QACnD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,eAAgC;QACzD,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,eAAiD;QAC1E,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG;YAC7B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;YACvC,GAAG,eAAe;SACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAA,iCAAyB,GAAE,EAAE,CAAC;YACjC,iBAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;YACxH,OAAO,IAAI,mCAAkB,CAAC,IAAI,oCAAmB,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QACtF,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,mCAAkB,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,EAAE;YACxD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,oBAAoB,EAAE,IAAI,CAAC,0BAA0B;YACrD,mBAAmB,EAAE,IAAI,CAAC,2BAA2B;YACrD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,IAAA,iCAAyB,GAAE,EAAE,CAAC;YACjC,iBAAM,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;YAC5H,OAAO,IAAI,iDAAuB,CAAC,IAAI,oCAAmB,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QAEtF,mFAAmF;QACnF,6DAA6D;QAC7D,OAAO,IAAI,iDAAuB,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAA,iCAAyB,GAAE,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAEO,cAAc;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc;YAC7C,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,qBAAqB,CAAC;QAEtD,OAAO,IAAA,kCAAsB,EAAC;YAC5B,CAAC,wCAAiB,CAAC,EAAE,WAAW;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,0CAA0C;QAC1C,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;QAE1C,2EAA2E;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAErD,8DAA8D;QAC9D,MAAM,cAAc,GAAQ,WAAK,CAAC,iBAAiB,EAAE,CAAC;QAEtD,MAAM,gBAAgB,GACpB,OAAO,cAAc,EAAE,gBAAgB,KAAK,UAAU;YACtD,OAAO,cAAc,EAAE,QAAQ,KAAK,WAAW,CAAC;QAElD,IAAI,gBAAgB,EAAE,CAAC;YACrB,qEAAqE;YACrE,kCAAkC;YAClC,yEAAyE;YACzE,yCAAyC;YAEzC,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAE/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,2BAA2B;YACjD,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAGD,kFAAkF;QAClF,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAO,CAAC;YACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,cAAc,EAAE;gBACd,aAAa;gBACb,eAAe;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,8DAA8D;IACtD,wBAAwB,CAAC,QAAa,EAAE,SAAc;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC;QAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,8DAA8D;YAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF;AAjMD,oDAiMC"}
1
+ {"version":3,"file":"ObservabilityBuilder.js","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityManager.d.ts","sourceRoot":"","sources":["../../src/ObservabilityManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAuB;IAG/C;;;;OAIG;WACW,SAAS,CACrB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAClD,oBAAoB;IASvB;;;;OAIG;WACW,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB;IAqBnE;;;OAGG;WACW,WAAW,IAAI,oBAAoB,GAAG,IAAI;IAIxD;;OAEG;WACiB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAM9C"}
1
+ {"version":3,"file":"ObservabilityManager.d.ts","sourceRoot":"","sources":["../../src/ObservabilityManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAuB;IAG/C;;;;OAIG;WACW,SAAS,CACrB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAClD,oBAAoB;IASvB;;;;OAIG;WACW,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB;IAyBnE;;;OAGG;WACW,WAAW,IAAI,oBAAoB,GAAG,IAAI;IAIxD;;OAEG;WACiB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAM9C"}
@@ -36,6 +36,9 @@ class ObservabilityManager {
36
36
  if (options?.clusterCategory) {
37
37
  builder.withClusterCategory(options.clusterCategory);
38
38
  }
39
+ if (options?.configProvider) {
40
+ builder.withConfigurationProvider(options.configProvider);
41
+ }
39
42
  builder.start();
40
43
  ObservabilityManager.instance = builder;
41
44
  return builder;
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityManager.js","sourceRoot":"","sources":["../../src/ObservabilityManager.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,iEAA8E;AAE9E;;GAEG;AACH,MAAa,oBAAoB;IAI/B;;;;OAIG;IACI,MAAM,CAAC,SAAS,CACrB,SAAmD;QAEnD,MAAM,OAAO,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAE3C,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QAErB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,OAAwB;QAC1C,MAAM,OAAO,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAE3C,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW;QACvB,OAAO,oBAAoB,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/C,oBAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AA/DD,oDA+DC"}
1
+ {"version":3,"file":"ObservabilityManager.js","sourceRoot":"","sources":["../../src/ObservabilityManager.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,iEAA8E;AAE9E;;GAEG;AACH,MAAa,oBAAoB;IAI/B;;;;OAIG;IACI,MAAM,CAAC,SAAS,CACrB,SAAmD;QAEnD,MAAM,OAAO,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAE3C,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QAErB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,OAAwB;QAC1C,MAAM,OAAO,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAE3C,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5B,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW;QACvB,OAAO,oBAAoB,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/C,oBAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAnED,oDAmEC"}
@@ -0,0 +1,19 @@
1
+ import { RuntimeConfiguration } from '@microsoft/agents-a365-runtime';
2
+ import { ObservabilityConfigurationOptions } from './ObservabilityConfigurationOptions';
3
+ /**
4
+ * Configuration for observability package.
5
+ * Inherits runtime settings and adds observability-specific settings.
6
+ */
7
+ export declare class ObservabilityConfiguration extends RuntimeConfiguration {
8
+ protected get observabilityOverrides(): ObservabilityConfigurationOptions;
9
+ constructor(overrides?: ObservabilityConfigurationOptions);
10
+ /**
11
+ * Gets the observability authentication scopes.
12
+ * Used by AgenticTokenCache for observability service authentication.
13
+ */
14
+ get observabilityAuthenticationScopes(): readonly string[];
15
+ get isObservabilityExporterEnabled(): boolean;
16
+ get observabilityDomainOverride(): string | null;
17
+ get observabilityLogLevel(): string;
18
+ }
19
+ //# sourceMappingURL=ObservabilityConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityConfiguration.d.ts","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAKxF;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,oBAAoB;IAClE,SAAS,KAAK,sBAAsB,IAAI,iCAAiC,CAExE;gBAEW,SAAS,CAAC,EAAE,iCAAiC;IAMzD;;;OAGG;IACH,IAAI,iCAAiC,IAAI,SAAS,MAAM,EAAE,CAUzD;IAED,IAAI,8BAA8B,IAAI,OAAO,CAI5C;IAED,IAAI,2BAA2B,IAAI,MAAM,GAAG,IAAI,CAU/C;IAED,IAAI,qBAAqB,IAAI,MAAM,CAIlC;CAEF"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ObservabilityConfiguration = void 0;
6
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
7
+ // Default constants
8
+ const PROD_OBSERVABILITY_SCOPE = 'https://api.powerplatform.com/.default';
9
+ /**
10
+ * Configuration for observability package.
11
+ * Inherits runtime settings and adds observability-specific settings.
12
+ */
13
+ class ObservabilityConfiguration extends agents_a365_runtime_1.RuntimeConfiguration {
14
+ get observabilityOverrides() {
15
+ return this.overrides;
16
+ }
17
+ constructor(overrides) {
18
+ super(overrides);
19
+ }
20
+ // Inherited: clusterCategory, isDevelopmentEnvironment, isNodeEnvDevelopment
21
+ /**
22
+ * Gets the observability authentication scopes.
23
+ * Used by AgenticTokenCache for observability service authentication.
24
+ */
25
+ get observabilityAuthenticationScopes() {
26
+ const result = this.observabilityOverrides.observabilityAuthenticationScopes?.();
27
+ if (result !== undefined) {
28
+ return result;
29
+ }
30
+ const override = process.env.A365_OBSERVABILITY_SCOPES_OVERRIDE;
31
+ if (override?.trim()) {
32
+ return override.trim().split(/\s+/);
33
+ }
34
+ return [PROD_OBSERVABILITY_SCOPE];
35
+ }
36
+ get isObservabilityExporterEnabled() {
37
+ const result = this.observabilityOverrides.isObservabilityExporterEnabled?.();
38
+ if (result !== undefined)
39
+ return result;
40
+ return agents_a365_runtime_1.RuntimeConfiguration.parseEnvBoolean(process.env.ENABLE_A365_OBSERVABILITY_EXPORTER);
41
+ }
42
+ get observabilityDomainOverride() {
43
+ const result = this.observabilityOverrides.observabilityDomainOverride?.();
44
+ if (result !== undefined) {
45
+ return result;
46
+ }
47
+ const override = process.env.A365_OBSERVABILITY_DOMAIN_OVERRIDE;
48
+ if (override?.trim()) {
49
+ return override.trim().replace(/\/+$/, '');
50
+ }
51
+ return null;
52
+ }
53
+ get observabilityLogLevel() {
54
+ return this.observabilityOverrides.observabilityLogLevel?.()
55
+ ?? process.env.A365_OBSERVABILITY_LOG_LEVEL
56
+ ?? 'none';
57
+ }
58
+ }
59
+ exports.ObservabilityConfiguration = ObservabilityConfiguration;
60
+ //# sourceMappingURL=ObservabilityConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityConfiguration.js","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfiguration.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wEAAsE;AAGtE,oBAAoB;AACpB,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAE1E;;;GAGG;AACH,MAAa,0BAA2B,SAAQ,0CAAoB;IAClE,IAAc,sBAAsB;QAClC,OAAO,IAAI,CAAC,SAA8C,CAAC;IAC7D,CAAC;IAED,YAAY,SAA6C;QACvD,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,IAAI,iCAAiC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,iCAAiC,EAAE,EAAE,CAAC;QACjF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QAChE,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,8BAA8B;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,8BAA8B,EAAE,EAAE,CAAC;QAC9E,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,OAAO,0CAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,2BAA2B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,EAAE,EAAE,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QAChE,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,EAAE;eACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B;eACxC,MAAM,CAAC;IACd,CAAC;CAEF;AAnDD,gEAmDC"}
@@ -0,0 +1,58 @@
1
+ import { RuntimeConfigurationOptions } from '@microsoft/agents-a365-runtime';
2
+ /**
3
+ * Observability configuration options - extends runtime options.
4
+ * All overrides are functions called on each property access.
5
+ *
6
+ * Inherited from RuntimeConfigurationOptions:
7
+ * - clusterCategory
8
+ * - isNodeEnvDevelopment
9
+ *
10
+ * Note: `isDevelopmentEnvironment` is a derived getter on the configuration class
11
+ * (based on clusterCategory), not an overridable option.
12
+ */
13
+ export type ObservabilityConfigurationOptions = RuntimeConfigurationOptions & {
14
+ /**
15
+ * Override for observability authentication scopes.
16
+ * Used by AgenticTokenCache for observability service authentication.
17
+ *
18
+ * @returns Array of OAuth scopes for observability service authentication.
19
+ * @envvar A365_OBSERVABILITY_SCOPES_OVERRIDE - Space-separated list of scopes.
20
+ * @default ['https://api.powerplatform.com/.default']
21
+ */
22
+ observabilityAuthenticationScopes?: () => string[];
23
+ /**
24
+ * Override to enable/disable the Agent365 observability span exporter.
25
+ * When enabled, spans are exported to the Agent365 observability service.
26
+ *
27
+ * @returns `true` to enable the exporter, `false` to disable.
28
+ * @envvar ENABLE_A365_OBSERVABILITY_EXPORTER - 'true', '1', 'yes', 'on' to enable.
29
+ * @default false
30
+ */
31
+ isObservabilityExporterEnabled?: () => boolean;
32
+ /**
33
+ * Override for the custom observability domain/endpoint.
34
+ * Trailing slashes are automatically removed.
35
+ *
36
+ * @returns Custom domain URL string, or `null` for no override.
37
+ * @envvar A365_OBSERVABILITY_DOMAIN_OVERRIDE - Full URL of custom endpoint.
38
+ * @default null
39
+ */
40
+ observabilityDomainOverride?: () => string | null;
41
+ /**
42
+ * Override for the internal SDK log level.
43
+ * Controls which log messages are output by the observability SDK's internal logger.
44
+ *
45
+ * Supported values (pipe-separated for multiple):
46
+ * - 'none' - No logging (default)
47
+ * - 'info' - Information messages
48
+ * - 'warn' - Warning messages
49
+ * - 'error' - Error messages
50
+ * - 'info|warn|error' - All messages
51
+ *
52
+ * @returns Log level string.
53
+ * @envvar A365_OBSERVABILITY_LOG_LEVEL
54
+ * @default 'none'
55
+ */
56
+ observabilityLogLevel?: () => string;
57
+ };
58
+ //# sourceMappingURL=ObservabilityConfigurationOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfigurationOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iCAAiC,GAAG,2BAA2B,GAAG;IAC5E;;;;;;;OAOG;IACH,iCAAiC,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAEnD;;;;;;;OAOG;IACH,8BAA8B,CAAC,EAAE,MAAM,OAAO,CAAC;IAE/C;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAElD;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=ObservabilityConfigurationOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityConfigurationOptions.js","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfigurationOptions.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
@@ -0,0 +1,22 @@
1
+ import { RuntimeConfiguration } from '@microsoft/agents-a365-runtime';
2
+ import { PerRequestSpanProcessorConfigurationOptions } from './PerRequestSpanProcessorConfigurationOptions';
3
+ /**
4
+ * Configuration for PerRequestSpanProcessor.
5
+ * Inherits runtime settings (clusterCategory, isNodeEnvDevelopment) and adds
6
+ * per-request processor guardrails.
7
+ *
8
+ * This is separated from ObservabilityConfiguration because PerRequestSpanProcessor
9
+ * is used only in specific scenarios and these settings should not be exposed
10
+ * in the common ObservabilityConfiguration.
11
+ */
12
+ export declare class PerRequestSpanProcessorConfiguration extends RuntimeConfiguration {
13
+ protected get perRequestOverrides(): PerRequestSpanProcessorConfigurationOptions;
14
+ constructor(overrides?: PerRequestSpanProcessorConfigurationOptions);
15
+ get isPerRequestExportEnabled(): boolean;
16
+ get perRequestMaxTraces(): number;
17
+ get perRequestMaxSpansPerTrace(): number;
18
+ get perRequestMaxConcurrentExports(): number;
19
+ get perRequestFlushGraceMs(): number;
20
+ get perRequestMaxTraceAgeMs(): number;
21
+ }
22
+ //# sourceMappingURL=PerRequestSpanProcessorConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerRequestSpanProcessorConfiguration.d.ts","sourceRoot":"","sources":["../../../src/configuration/PerRequestSpanProcessorConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,2CAA2C,EAAE,MAAM,+CAA+C,CAAC;AAU5G;;;;;;;;GAQG;AACH,qBAAa,oCAAqC,SAAQ,oBAAoB;IAC5E,SAAS,KAAK,mBAAmB,IAAI,2CAA2C,CAY/E;gBAEW,SAAS,CAAC,EAAE,2CAA2C;IAInE,IAAI,yBAAyB,IAAI,OAAO,CAIvC;IAED,IAAI,mBAAmB,IAAI,MAAM,CAIhC;IAED,IAAI,0BAA0B,IAAI,MAAM,CAIvC;IAED,IAAI,8BAA8B,IAAI,MAAM,CAI3C;IAED,IAAI,sBAAsB,IAAI,MAAM,CAInC;IAED,IAAI,uBAAuB,IAAI,MAAM,CAIpC;CACF"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.PerRequestSpanProcessorConfiguration = void 0;
6
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
7
+ const PerRequestProcessorInternalOverrides_1 = require("../internal/PerRequestProcessorInternalOverrides");
8
+ /** Guardrails to prevent unbounded memory growth / export bursts. Used for PerRequestSpanProcessor only. */
9
+ const DEFAULT_MAX_BUFFERED_TRACES = 1000;
10
+ const DEFAULT_MAX_SPANS_PER_TRACE = 5000;
11
+ const DEFAULT_MAX_CONCURRENT_EXPORTS = 20;
12
+ const DEFAULT_FLUSH_GRACE_MS = 250;
13
+ const DEFAULT_MAX_TRACE_AGE_MS = 30 * 60 * 1000; // 30 minutes
14
+ /**
15
+ * Configuration for PerRequestSpanProcessor.
16
+ * Inherits runtime settings (clusterCategory, isNodeEnvDevelopment) and adds
17
+ * per-request processor guardrails.
18
+ *
19
+ * This is separated from ObservabilityConfiguration because PerRequestSpanProcessor
20
+ * is used only in specific scenarios and these settings should not be exposed
21
+ * in the common ObservabilityConfiguration.
22
+ */
23
+ class PerRequestSpanProcessorConfiguration extends agents_a365_runtime_1.RuntimeConfiguration {
24
+ get perRequestOverrides() {
25
+ const internal = (0, PerRequestProcessorInternalOverrides_1.getPerRequestProcessorInternalOverrides)();
26
+ const instanceOverrides = this.overrides;
27
+ return {
28
+ ...(instanceOverrides ?? {}),
29
+ ...(internal?.isPerRequestExportEnabled !== undefined && { isPerRequestExportEnabled: internal.isPerRequestExportEnabled }),
30
+ ...(internal?.perRequestMaxTraces !== undefined && { perRequestMaxTraces: internal.perRequestMaxTraces }),
31
+ ...(internal?.perRequestMaxSpansPerTrace !== undefined && { perRequestMaxSpansPerTrace: internal.perRequestMaxSpansPerTrace }),
32
+ ...(internal?.perRequestMaxConcurrentExports !== undefined && { perRequestMaxConcurrentExports: internal.perRequestMaxConcurrentExports }),
33
+ ...(internal?.perRequestFlushGraceMs !== undefined && { perRequestFlushGraceMs: internal.perRequestFlushGraceMs }),
34
+ ...(internal?.perRequestMaxTraceAgeMs !== undefined && { perRequestMaxTraceAgeMs: internal.perRequestMaxTraceAgeMs }),
35
+ };
36
+ }
37
+ constructor(overrides) {
38
+ super(overrides);
39
+ }
40
+ get isPerRequestExportEnabled() {
41
+ const result = this.perRequestOverrides.isPerRequestExportEnabled?.();
42
+ if (result !== undefined)
43
+ return result;
44
+ return agents_a365_runtime_1.RuntimeConfiguration.parseEnvBoolean(process.env.ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT);
45
+ }
46
+ get perRequestMaxTraces() {
47
+ const value = this.perRequestOverrides.perRequestMaxTraces?.()
48
+ ?? agents_a365_runtime_1.RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_TRACES, DEFAULT_MAX_BUFFERED_TRACES);
49
+ return value > 0 ? value : DEFAULT_MAX_BUFFERED_TRACES;
50
+ }
51
+ get perRequestMaxSpansPerTrace() {
52
+ const value = this.perRequestOverrides.perRequestMaxSpansPerTrace?.()
53
+ ?? agents_a365_runtime_1.RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_SPANS_PER_TRACE, DEFAULT_MAX_SPANS_PER_TRACE);
54
+ return value > 0 ? value : DEFAULT_MAX_SPANS_PER_TRACE;
55
+ }
56
+ get perRequestMaxConcurrentExports() {
57
+ const value = this.perRequestOverrides.perRequestMaxConcurrentExports?.()
58
+ ?? agents_a365_runtime_1.RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS, DEFAULT_MAX_CONCURRENT_EXPORTS);
59
+ return value > 0 ? value : DEFAULT_MAX_CONCURRENT_EXPORTS;
60
+ }
61
+ get perRequestFlushGraceMs() {
62
+ const value = this.perRequestOverrides.perRequestFlushGraceMs?.()
63
+ ?? agents_a365_runtime_1.RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_FLUSH_GRACE_MS, DEFAULT_FLUSH_GRACE_MS);
64
+ return value > 0 ? value : DEFAULT_FLUSH_GRACE_MS;
65
+ }
66
+ get perRequestMaxTraceAgeMs() {
67
+ const value = this.perRequestOverrides.perRequestMaxTraceAgeMs?.()
68
+ ?? agents_a365_runtime_1.RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_TRACE_AGE_MS, DEFAULT_MAX_TRACE_AGE_MS);
69
+ return value > 0 ? value : DEFAULT_MAX_TRACE_AGE_MS;
70
+ }
71
+ }
72
+ exports.PerRequestSpanProcessorConfiguration = PerRequestSpanProcessorConfiguration;
73
+ //# sourceMappingURL=PerRequestSpanProcessorConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerRequestSpanProcessorConfiguration.js","sourceRoot":"","sources":["../../../src/configuration/PerRequestSpanProcessorConfiguration.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wEAAsE;AAEtE,2GAA2G;AAE3G,4GAA4G;AAC5G,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAE9D;;;;;;;;GAQG;AACH,MAAa,oCAAqC,SAAQ,0CAAoB;IAC5E,IAAc,mBAAmB;QAC/B,MAAM,QAAQ,GAAG,IAAA,8EAAuC,GAAE,CAAC;QAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAoE,CAAC;QACpG,OAAO;YACL,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,EAAE,yBAAyB,KAAK,SAAS,IAAI,EAAE,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YAC3H,GAAG,CAAC,QAAQ,EAAE,mBAAmB,KAAK,SAAS,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACzG,GAAG,CAAC,QAAQ,EAAE,0BAA0B,KAAK,SAAS,IAAI,EAAE,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YAC9H,GAAG,CAAC,QAAQ,EAAE,8BAA8B,KAAK,SAAS,IAAI,EAAE,8BAA8B,EAAE,QAAQ,CAAC,8BAA8B,EAAE,CAAC;YAC1I,GAAG,CAAC,QAAQ,EAAE,sBAAsB,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAClH,GAAG,CAAC,QAAQ,EAAE,uBAAuB,KAAK,SAAS,IAAI,EAAE,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;SACtH,CAAC;IACJ,CAAC;IAED,YAAY,SAAuD;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,yBAAyB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,EAAE,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,OAAO,0CAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,EAAE;eACzD,0CAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,2BAA2B,CAAC,CAAC;QAC5G,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACzD,CAAC;IAED,IAAI,0BAA0B;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,EAAE;eAChE,0CAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,2BAA2B,CAAC,CAAC;QACrH,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACzD,CAAC;IAED,IAAI,8BAA8B;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE;eACpE,0CAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,8BAA8B,CAAC,CAAC;QAC3H,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC;IAC5D,CAAC;IAED,IAAI,sBAAsB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAE;eAC5D,0CAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC;QAC3G,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACpD,CAAC;IAED,IAAI,uBAAuB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,EAAE;eAC7D,0CAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,wBAAwB,CAAC,CAAC;QAC/G,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACtD,CAAC;CACF;AAtDD,oFAsDC"}