@microsoft/opentelemetry 0.1.0-alpha.4 → 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.
- package/README.md +99 -7
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts +12 -9
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -1
- package/dist/commonjs/a365/configuration/A365Configuration.js +12 -33
- package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +14 -8
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
- package/dist/commonjs/a365/configuration/index.d.ts +1 -0
- package/dist/commonjs/a365/configuration/index.d.ts.map +1 -1
- package/dist/commonjs/a365/constants.d.ts +1 -2
- package/dist/commonjs/a365/constants.d.ts.map +1 -1
- package/dist/commonjs/a365/constants.js +0 -1
- package/dist/commonjs/a365/constants.js.map +1 -1
- package/dist/commonjs/a365/context/tokenContext.js +6 -6
- package/dist/commonjs/a365/context/tokenContext.js.map +1 -1
- package/dist/commonjs/a365/context.js +2 -2
- package/dist/commonjs/a365/context.js.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.js +3 -3
- package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +4 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +2 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/commonjs/a365/index.d.ts +3 -3
- package/dist/commonjs/a365/index.d.ts.map +1 -1
- package/dist/commonjs/a365/index.js +4 -2
- package/dist/commonjs/a365/index.js.map +1 -1
- package/dist/commonjs/a365/logging.d.ts +16 -0
- package/dist/commonjs/a365/logging.d.ts.map +1 -0
- package/dist/commonjs/a365/logging.js +81 -0
- package/dist/commonjs/a365/logging.js.map +1 -0
- package/dist/commonjs/a365/processors/index.d.ts +0 -2
- package/dist/commonjs/a365/processors/index.d.ts.map +1 -1
- package/dist/commonjs/a365/processors/index.js +1 -3
- package/dist/commonjs/a365/processors/index.js.map +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.js +0 -10
- package/dist/commonjs/azureMonitor/traces/handler.js.map +1 -1
- package/dist/commonjs/distro/distro.d.ts.map +1 -1
- package/dist/commonjs/distro/distro.js +87 -6
- package/dist/commonjs/distro/distro.js.map +1 -1
- package/dist/commonjs/distro/instrumentations.d.ts +2 -2
- package/dist/commonjs/distro/instrumentations.d.ts.map +1 -1
- package/dist/commonjs/distro/instrumentations.js +2 -6
- package/dist/commonjs/distro/instrumentations.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts +1 -17
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
- package/dist/commonjs/index.d.ts +3 -2
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +44 -43
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/shared/config.d.ts +0 -1
- package/dist/commonjs/shared/config.d.ts.map +1 -1
- package/dist/commonjs/shared/config.js +2 -39
- package/dist/commonjs/shared/config.js.map +1 -1
- package/dist/commonjs/types.d.ts +7 -9
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +1 -1
- package/dist/commonjs/types.js.map +1 -1
- package/dist/esm/a365/configuration/A365Configuration.d.ts +12 -9
- package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -1
- package/dist/esm/a365/configuration/A365Configuration.js +12 -33
- package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +14 -8
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
- package/dist/esm/a365/configuration/index.d.ts +1 -0
- package/dist/esm/a365/configuration/index.d.ts.map +1 -1
- package/dist/esm/a365/constants.d.ts +1 -2
- package/dist/esm/a365/constants.d.ts.map +1 -1
- package/dist/esm/a365/constants.js +0 -1
- package/dist/esm/a365/constants.js.map +1 -1
- package/dist/esm/a365/context/tokenContext.js +6 -6
- package/dist/esm/a365/context/tokenContext.js.map +1 -1
- package/dist/esm/a365/context.js +2 -2
- package/dist/esm/a365/context.js.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.js +3 -3
- package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +4 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js +2 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/esm/a365/index.d.ts +3 -3
- package/dist/esm/a365/index.d.ts.map +1 -1
- package/dist/esm/a365/index.js +2 -1
- package/dist/esm/a365/index.js.map +1 -1
- package/dist/esm/a365/logging.d.ts +16 -0
- package/dist/esm/a365/logging.d.ts.map +1 -0
- package/dist/esm/a365/logging.js +76 -0
- package/dist/esm/a365/logging.js.map +1 -0
- package/dist/esm/a365/processors/index.d.ts +0 -2
- package/dist/esm/a365/processors/index.d.ts.map +1 -1
- package/dist/esm/a365/processors/index.js +0 -1
- package/dist/esm/a365/processors/index.js.map +1 -1
- package/dist/esm/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/esm/azureMonitor/traces/handler.js +0 -8
- package/dist/esm/azureMonitor/traces/handler.js.map +1 -1
- package/dist/esm/distro/distro.d.ts.map +1 -1
- package/dist/esm/distro/distro.js +55 -7
- package/dist/esm/distro/distro.js.map +1 -1
- package/dist/esm/distro/instrumentations.d.ts +2 -2
- package/dist/esm/distro/instrumentations.d.ts.map +1 -1
- package/dist/esm/distro/instrumentations.js +2 -6
- package/dist/esm/distro/instrumentations.js.map +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts +1 -17
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared/config.d.ts +0 -1
- package/dist/esm/shared/config.d.ts.map +1 -1
- package/dist/esm/shared/config.js +2 -39
- package/dist/esm/shared/config.js.map +1 -1
- package/dist/esm/types.d.ts +7 -9
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +4 -2
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts +0 -44
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts.map +0 -1
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js +0 -260
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js.map +0 -1
- package/dist/commonjs/shared/jsonConfig.d.ts +0 -35
- package/dist/commonjs/shared/jsonConfig.d.ts.map +0 -1
- package/dist/commonjs/shared/jsonConfig.js +0 -122
- package/dist/commonjs/shared/jsonConfig.js.map +0 -1
- package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts +0 -44
- package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts.map +0 -1
- package/dist/esm/a365/processors/PerRequestSpanProcessor.js +0 -256
- package/dist/esm/a365/processors/PerRequestSpanProcessor.js.map +0 -1
- package/dist/esm/shared/jsonConfig.d.ts +0 -35
- package/dist/esm/shared/jsonConfig.d.ts.map +0 -1
- package/dist/esm/shared/jsonConfig.js +0 -115
- package/dist/esm/shared/jsonConfig.js.map +0 -1
package/README.md
CHANGED
|
@@ -68,16 +68,22 @@ That's it — traces, metrics, and logs are collected automatically with built-i
|
|
|
68
68
|
| `views` | `ViewOptions[]` | — | Metric views |
|
|
69
69
|
| `azureMonitor` | `AzureMonitorOpenTelemetryOptions` | — | Azure Monitor backend config. When provided, Azure Monitor export is enabled |
|
|
70
70
|
| `a365` | `A365Options` | — | A365 observability config |
|
|
71
|
+
| `enableConsoleExporters` | `boolean` | auto | Enable console exporters for traces, metrics, and logs |
|
|
71
72
|
|
|
72
73
|
### `InstrumentationOptions`
|
|
73
74
|
|
|
74
|
-
Most instrumentations
|
|
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.
|
|
75
82
|
|
|
76
83
|
| Key | Type | Default | Description |
|
|
77
84
|
|---|---|---|---|
|
|
78
85
|
| `http` | `InstrumentationConfig` | enabled | HTTP client/server instrumentation |
|
|
79
86
|
| `azureSdk` | `InstrumentationConfig` | enabled | Azure SDK instrumentation |
|
|
80
|
-
| `azureFunctions` | `InstrumentationConfig` | enabled | Azure Functions instrumentation |
|
|
81
87
|
| `mongoDb` | `InstrumentationConfig` | enabled | MongoDB instrumentation |
|
|
82
88
|
| `mySql` | `InstrumentationConfig` | enabled | MySQL instrumentation |
|
|
83
89
|
| `postgreSql` | `InstrumentationConfig` | enabled | PostgreSQL instrumentation |
|
|
@@ -85,8 +91,67 @@ Most instrumentations are enabled by default. Pass `{ enabled: false }` to disab
|
|
|
85
91
|
| `redis4` | `InstrumentationConfig` | enabled | Redis 4 instrumentation |
|
|
86
92
|
| `bunyan` | `InstrumentationConfig` | disabled | Bunyan log instrumentation |
|
|
87
93
|
| `winston` | `InstrumentationConfig` | disabled | Winston log instrumentation |
|
|
88
|
-
| `openaiAgents` | `
|
|
89
|
-
| `langchain` | `
|
|
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.
|
|
90
155
|
|
|
91
156
|
### `azureMonitor` options
|
|
92
157
|
|
|
@@ -110,11 +175,10 @@ See the [OpenTelemetry OTLP Exporter specification](https://opentelemetry.io/doc
|
|
|
110
175
|
| Option | Type | Default | Description |
|
|
111
176
|
|---|---|---|---|
|
|
112
177
|
| `enabled` | `boolean` | `false` | Enable A365 observability export |
|
|
113
|
-
| `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 |
|
|
114
179
|
| `clusterCategory` | `ClusterCategory` | `"prod"` | Cluster category for endpoint resolution (`local`, `dev`, `test`, `preprod`, `firstrelease`, `prod`, `gov`, `high`, `dod`, `mooncake`, `ex`, `rx`) |
|
|
115
180
|
| `domainOverride` | `string` | — | Override the A365 observability service domain |
|
|
116
181
|
| `authScopes` | `string[]` | `["https://api.powerplatform.com/.default"]` | OAuth scopes for A365 service authentication |
|
|
117
|
-
| `perRequestExport` | `boolean` | `false` | Buffer spans per trace and export on root completion instead of batch export |
|
|
118
182
|
| `baggage` | `A365BaggageOptions` | see below | Baggage propagation and span enrichment options |
|
|
119
183
|
| `hosting` | `A365HostingOptions` | see below | Hosting middleware options (requires `@microsoft/agents-hosting`) |
|
|
120
184
|
|
|
@@ -130,6 +194,28 @@ See the [OpenTelemetry OTLP Exporter specification](https://opentelemetry.io/doc
|
|
|
130
194
|
| Option | Type | Default | Description |
|
|
131
195
|
|---|---|---|---|
|
|
132
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
|
+
```
|
|
133
219
|
|
|
134
220
|
#### A365 environment variables
|
|
135
221
|
|
|
@@ -138,10 +224,16 @@ A365 options can also be set via environment variables (highest precedence):
|
|
|
138
224
|
| Environment Variable | Description |
|
|
139
225
|
|---|---|
|
|
140
226
|
| `ENABLE_A365_OBSERVABILITY_EXPORTER` | `"true"` / `"false"` — override `enabled` |
|
|
141
|
-
| `ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT` | `"true"` / `"false"` — override `perRequestExport` |
|
|
142
227
|
| `A365_OBSERVABILITY_SCOPES_OVERRIDE` | Space-separated list of OAuth scopes |
|
|
143
228
|
| `A365_OBSERVABILITY_DOMAIN_OVERRIDE` | Override service domain |
|
|
144
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
|
+
|
|
145
237
|
|
|
146
238
|
### Example
|
|
147
239
|
|
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
import type { A365Options, ClusterCategory, A365BaggageOptions
|
|
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
|
|
16
|
+
* Merges values from three sources (lowest to highest precedence):
|
|
17
17
|
* 1. Defaults
|
|
18
18
|
* 2. Programmatic options (`A365Options`)
|
|
19
|
-
* 3.
|
|
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:
|
|
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,
|
|
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
|
|
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
|
|
57
|
+
* Merges values from three sources (lowest to highest precedence):
|
|
59
58
|
* 1. Defaults
|
|
60
59
|
* 2. Programmatic options (`A365Options`)
|
|
61
|
-
* 3.
|
|
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
|
|
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
|
-
|
|
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:
|
|
138
|
-
enrichSpans:
|
|
115
|
+
propagationEnabled: options?.baggage?.propagationEnabled ?? true,
|
|
116
|
+
enrichSpans: options?.baggage?.enrichSpans ?? true,
|
|
139
117
|
};
|
|
140
118
|
this.hosting = {
|
|
141
|
-
enabled:
|
|
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
|
-
|
|
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":";AAAA,uCAAuC;AACvC,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"A365Configuration.js","sourceRoot":"","sources":["../../../../src/a365/configuration/A365Configuration.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOlC,8CAA8C;AAE9C;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAA4B;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,gBAAgB,EAAE,oCAAoC;IACtD,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,oCAAoC;IAC5C,gBAAgB,EAAE,kBAAkB;IACpC,SAAS,EAAE,8BAA8B;CACjC,CAAC;AAEX,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AAEpE,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,OAAO;IACP,KAAK;IACL,MAAM;IACN,SAAS;IACT,cAAc;IACd,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,UAAU;IACV,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAa,iBAAiB;IAC5B,6CAA6C;IAC7B,OAAO,CAAU;IAEjC,+DAA+D;IAC/C,aAAa,CAIC;IAE9B,wBAAwB;IACR,eAAe,CAAkB;IAEjD,0DAA0D;IAC1C,cAAc,CAAU;IAExC,oDAAoD;IACpC,UAAU,CAAW;IAErC,uBAAuB;IACP,OAAO,CAA+B;IAEtD,uBAAuB;IACP,OAAO,CAIrB;IAEF,YAAY,OAAqB;QAC/B,kBAAkB;QAClB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,eAAe,GAAoB,MAAM,CAAC;QAC9C,IAAI,cAAc,GAAuB,OAAO,EAAE,cAAc,CAAC;QACjE,IAAI,UAAU,GAAa,OAAO,EAAE,UAAU,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEvE,gCAAgC;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;YACrC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC;QAC/D,CAAC;QAED,+DAA+D;QAC/D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAa,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5D,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAa,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;QAC9E,IAAI,UAAU,IAAI,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,eAAe,GAAG,UAA6B,CAAC;QAClD,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,IAAA,0BAAa,GAAE,CAAC,IAAI,CAClB,WAAW,qBAAa,CAAC,gBAAgB,WAAW,UAAU,oCAAoC,CACnG,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG;YACb,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,IAAI,IAAI;YAChE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;SACnD,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK;YAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAClC,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,IAAI,IAAI;SACnE,CAAC;QAEF,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,OAAqB;QACxD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,oBAAoB,GACxB,OAAO,CAAC,aAAa,KAAK,SAAS;YACnC,OAAO,CAAC,cAAc,KAAK,SAAS;YACpC,OAAO,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAEpC,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAA,0BAAa,GAAE,CAAC,IAAI,CAClB,8DAA8D;gBAC5D,kFAAkF,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA3GD,8CA2GC"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -25,7 +25,6 @@ export declare class OpenTelemetryConstants {
|
|
|
25
25
|
static readonly ENABLE_OBSERVABILITY = "ENABLE_OBSERVABILITY";
|
|
26
26
|
static readonly ENABLE_A365_OBSERVABILITY_EXPORTER = "ENABLE_A365_OBSERVABILITY_EXPORTER";
|
|
27
27
|
static readonly ENABLE_A365_OBSERVABILITY = "ENABLE_A365_OBSERVABILITY";
|
|
28
|
-
static readonly ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT = "ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT";
|
|
29
28
|
static readonly GEN_AI_OPERATION_NAME_KEY = "gen_ai.operation.name";
|
|
30
29
|
static readonly GEN_AI_REQUEST_MODEL_KEY = "gen_ai.request.model";
|
|
31
30
|
static readonly GEN_AI_RESPONSE_MODEL_KEY = "gen_ai.response.model";
|
|
@@ -88,6 +87,6 @@ export declare class OpenTelemetryConstants {
|
|
|
88
87
|
static readonly TELEMETRY_SDK_VERSION_KEY = "telemetry.sdk.version";
|
|
89
88
|
static readonly TELEMETRY_SDK_NAME_VALUE = "A365ObservabilitySDK";
|
|
90
89
|
static readonly TELEMETRY_SDK_LANGUAGE_VALUE = "nodejs";
|
|
91
|
-
static readonly TELEMETRY_SDK_VERSION_VALUE = "0.1.0-alpha.
|
|
90
|
+
static readonly TELEMETRY_SDK_VERSION_VALUE = "0.1.0-alpha.5";
|
|
92
91
|
}
|
|
93
92
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/a365/constants.ts"],"names":[],"mappings":"AAKA;;;;;;;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;IACvD,gBAAuB,wBAAwB,iCAAiC;IAGhF,gBAAuB,WAAW,iBAAiB;IAGnD,gBAAuB,2BAA2B,6CAA6C;IAC/F,gBAAuB,qBAAqB,iDAAiD;IAC7F,gBAAuB,mCAAmC,oDACP;IACnD,gBAAuB,oBAAoB,0BAA0B;IACrE,gBAAuB,kCAAkC,wCAAwC;IACjG,gBAAuB,yBAAyB,+BAA+B;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/a365/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,6 @@ class OpenTelemetryConstants {
|
|
|
35
35
|
static ENABLE_OBSERVABILITY = "ENABLE_OBSERVABILITY";
|
|
36
36
|
static ENABLE_A365_OBSERVABILITY_EXPORTER = "ENABLE_A365_OBSERVABILITY_EXPORTER";
|
|
37
37
|
static ENABLE_A365_OBSERVABILITY = "ENABLE_A365_OBSERVABILITY";
|
|
38
|
-
static ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT = "ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT";
|
|
39
38
|
// ── GenAI core attributes ────────────────────────────────────────
|
|
40
39
|
static GEN_AI_OPERATION_NAME_KEY = "gen_ai.operation.name";
|
|
41
40
|
static GEN_AI_REQUEST_MODEL_KEY = "gen_ai.request.model";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/a365/constants.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0CAA8D;AAE9D;;;;;;;GAOG;AACH,MAAa,sBAAsB;IACjC,qEAAqE;IAC9D,MAAM,CAAU,2BAA2B,GAAG,cAAc,CAAC;IAC7D,MAAM,CAAU,2BAA2B,GAAG,cAAc,CAAC;IAC7D,MAAM,CAAU,8BAA8B,GAAG,iBAAiB,CAAC;IACnE,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC;IAEpD,qEAAqE;IAC9D,MAAM,CAAU,cAAc,GAAG,YAAY,CAAC;IAC9C,MAAM,CAAU,oBAAoB,GAAG,uBAAuB,CAAC;IAC/D,MAAM,CAAU,iBAAiB,GAAG,eAAe,CAAC;IACpD,MAAM,CAAU,gBAAgB,GAAG,cAAc,CAAC;IAClD,MAAM,CAAU,kBAAkB,GAAG,gBAAgB,CAAC;IACtD,MAAM,CAAU,eAAe,GAAG,aAAa,CAAC;IAChD,MAAM,CAAU,wBAAwB,GAAG,6BAA6B,CAAC;IAEhF,qEAAqE;IAC9D,MAAM,CAAU,WAAW,GAAG,aAAa,CAAC;IAEnD,qEAAqE;IAC9D,MAAM,CAAU,2BAA2B,GAAG,yCAAyC,CAAC;IACxF,MAAM,CAAU,qBAAqB,GAAG,6CAA6C,CAAC;IACtF,MAAM,CAAU,mCAAmC,GACxD,gDAAgD,CAAC;IAC5C,MAAM,CAAU,oBAAoB,GAAG,sBAAsB,CAAC;IAC9D,MAAM,CAAU,kCAAkC,GAAG,oCAAoC,CAAC;IAC1F,MAAM,CAAU,yBAAyB,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/a365/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,13 @@ exports.getExportToken = getExportToken;
|
|
|
9
9
|
* Per-request export token context propagation.
|
|
10
10
|
*
|
|
11
11
|
* Uses OpenTelemetry Context (backed by AsyncLocalStorage) to carry and
|
|
12
|
-
* refresh a per-request bearer token that the
|
|
13
|
-
*
|
|
12
|
+
* refresh a per-request bearer token that the export pipeline
|
|
13
|
+
* reads at export time.
|
|
14
14
|
*
|
|
15
15
|
* Adapted from microsoft/Agent365-nodejs agents-a365-observability/src/tracing/context/token-context.ts
|
|
16
16
|
*/
|
|
17
17
|
const api_1 = require("@opentelemetry/api");
|
|
18
|
-
const
|
|
18
|
+
const logging_js_1 = require("../logging.js");
|
|
19
19
|
const EXPORT_TOKEN_KEY = (0, api_1.createContextKey)("a365_export_token");
|
|
20
20
|
/**
|
|
21
21
|
* Run a function within a Context that carries the per-request export token.
|
|
@@ -28,7 +28,7 @@ const EXPORT_TOKEN_KEY = (0, api_1.createContextKey)("a365_export_token");
|
|
|
28
28
|
function runWithExportToken(token, fn) {
|
|
29
29
|
const holder = { token };
|
|
30
30
|
const ctxWithToken = api_1.context.active().setValue(EXPORT_TOKEN_KEY, holder);
|
|
31
|
-
|
|
31
|
+
(0, logging_js_1.getA365Logger)().info("[TokenContext] Running function with export token in context.");
|
|
32
32
|
return api_1.context.with(ctxWithToken, fn);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
@@ -44,10 +44,10 @@ function updateExportToken(token) {
|
|
|
44
44
|
const value = api_1.context.active().getValue(EXPORT_TOKEN_KEY);
|
|
45
45
|
if (value && typeof value === "object" && "token" in value) {
|
|
46
46
|
value.token = token;
|
|
47
|
-
|
|
47
|
+
(0, logging_js_1.getA365Logger)().info("[TokenContext] Export token updated in context.");
|
|
48
48
|
return true;
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
(0, logging_js_1.getA365Logger)().warn("[TokenContext] updateExportToken called but no token holder found in active context. Was runWithExportToken called?");
|
|
51
51
|
return false;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenContext.js","sourceRoot":"","sources":["../../../../src/a365/context/tokenContext.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAmClC,gDAKC;AAWD,8CAWC;AAKD,wCAUC;AA3ED;;;;;;;;GAQG;AAEH,4CAA+D;AAE/D,
|
|
1
|
+
{"version":3,"file":"tokenContext.js","sourceRoot":"","sources":["../../../../src/a365/context/tokenContext.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAmClC,gDAKC;AAWD,8CAWC;AAKD,wCAUC;AA3ED;;;;;;;;GAQG;AAEH,4CAA+D;AAE/D,8CAA8C;AAE9C,MAAM,gBAAgB,GAAG,IAAA,sBAAgB,EAAC,mBAAmB,CAAC,CAAC;AAW/D;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAI,KAAa,EAAE,EAAW;IAC9D,MAAM,MAAM,GAAgB,EAAE,KAAK,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACzE,IAAA,0BAAa,GAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IACtF,OAAO,aAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC1D,KAAqB,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,IAAA,0BAAa,GAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAA,0BAAa,GAAE,CAAC,IAAI,CAClB,qHAAqH,CACtH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAe,aAAO,CAAC,MAAM,EAAE;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3D,OAAQ,KAAqB,CAAC,KAAK,CAAC;IACtC,CAAC;IACD,gEAAgE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -21,7 +21,7 @@ exports.runWithExtractedTraceContext = runWithExtractedTraceContext;
|
|
|
21
21
|
*/
|
|
22
22
|
const api_1 = require("@opentelemetry/api");
|
|
23
23
|
const api_2 = require("@opentelemetry/api");
|
|
24
|
-
const
|
|
24
|
+
const logging_js_1 = require("./logging.js");
|
|
25
25
|
// ---------------------------------------------------------------------------
|
|
26
26
|
// Validation helpers
|
|
27
27
|
// ---------------------------------------------------------------------------
|
|
@@ -58,7 +58,7 @@ function isParentSpanRef(value) {
|
|
|
58
58
|
* This allows child spans to be correctly parented even when async context is broken.
|
|
59
59
|
*/
|
|
60
60
|
function createContextWithParentSpanRef(base, parent) {
|
|
61
|
-
const logger =
|
|
61
|
+
const logger = (0, logging_js_1.getA365Logger)();
|
|
62
62
|
if (!isValidTraceId(parent.traceId) || !isValidSpanId(parent.spanId)) {
|
|
63
63
|
logger.warn(`[A365] Invalid parent span reference; returning base context. traceId=${parent.traceId}, spanId=${parent.spanId}`);
|
|
64
64
|
return base;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/a365/context.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqClC,0CAmBC;AAUD,wEA0BC;AAKD,oDAGC;AAaD,wDAMC;AAMD,8DAEC;AAMD,oEAEC;AArID;;;;;;;;;;GAUG;AAEH,4CAAiE;AAEjE,4CAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/a365/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent365Exporter.d.ts","sourceRoot":"","sources":["../../../../src/a365/exporter/Agent365Exporter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA+D5E;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Agent365Exporter.d.ts","sourceRoot":"","sources":["../../../../src/a365/exporter/Agent365Exporter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA+D5E;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,OAAO,CAAC,EAAE,uBAAuB;IAIvC,MAAM,CACV,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;YAoCF,WAAW;YAkCX,YAAY;YAMZ,eAAe;IA0D7B,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,OAAO;IAwDT,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
|
@@ -6,7 +6,7 @@ exports.Agent365Exporter = void 0;
|
|
|
6
6
|
const core_1 = require("@opentelemetry/core");
|
|
7
7
|
const Agent365ExporterOptions_js_1 = require("./Agent365ExporterOptions.js");
|
|
8
8
|
const utils_js_1 = require("./utils.js");
|
|
9
|
-
const
|
|
9
|
+
const logging_js_1 = require("../logging.js");
|
|
10
10
|
const DEFAULT_MAX_RETRIES = 3;
|
|
11
11
|
/**
|
|
12
12
|
* Agent365 span exporter.
|
|
@@ -18,7 +18,7 @@ const DEFAULT_MAX_RETRIES = 3;
|
|
|
18
18
|
class Agent365Exporter {
|
|
19
19
|
closed = false;
|
|
20
20
|
options;
|
|
21
|
-
logger =
|
|
21
|
+
logger = (0, logging_js_1.getA365Logger)();
|
|
22
22
|
constructor(options) {
|
|
23
23
|
this.options = new Agent365ExporterOptions_js_1.ResolvedExporterOptions(options);
|
|
24
24
|
}
|
|
@@ -80,7 +80,7 @@ class Agent365Exporter {
|
|
|
80
80
|
async resolveToken(agentId, tenantId) {
|
|
81
81
|
if (!this.options.tokenResolver)
|
|
82
82
|
return null;
|
|
83
|
-
const result = this.options.tokenResolver(agentId, tenantId);
|
|
83
|
+
const result = this.options.tokenResolver(agentId, tenantId, this.options.authScopes);
|
|
84
84
|
return result instanceof Promise ? result : result;
|
|
85
85
|
}
|
|
86
86
|
async postWithRetries(url, body, headers) {
|