@microsoft/opentelemetry 0.1.0-alpha.3 → 0.1.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -4
- package/dist/commonjs/a365/constants.d.ts +18 -1
- package/dist/commonjs/a365/constants.d.ts.map +1 -1
- package/dist/commonjs/a365/constants.js +22 -1
- package/dist/commonjs/a365/constants.js.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.js +2 -3
- package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/commonjs/a365/hosting/baggageBuilderUtils.d.ts +22 -0
- package/dist/commonjs/a365/hosting/baggageBuilderUtils.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/baggageBuilderUtils.js +47 -0
- package/dist/commonjs/a365/hosting/baggageBuilderUtils.js.map +1 -0
- package/dist/commonjs/a365/hosting/baggageMiddleware.d.ts +9 -0
- package/dist/commonjs/a365/hosting/baggageMiddleware.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/baggageMiddleware.js +38 -0
- package/dist/commonjs/a365/hosting/baggageMiddleware.js.map +1 -0
- package/dist/commonjs/a365/hosting/index.d.ts +9 -0
- package/dist/commonjs/a365/hosting/index.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/index.js +25 -0
- package/dist/commonjs/a365/hosting/index.js.map +1 -0
- package/dist/commonjs/a365/hosting/observabilityHostingManager.d.ts +30 -0
- package/dist/commonjs/a365/hosting/observabilityHostingManager.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/observabilityHostingManager.js +49 -0
- package/dist/commonjs/a365/hosting/observabilityHostingManager.js.map +1 -0
- package/dist/commonjs/a365/hosting/outputLoggingMiddleware.d.ts +24 -0
- package/dist/commonjs/a365/hosting/outputLoggingMiddleware.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/outputLoggingMiddleware.js +82 -0
- package/dist/commonjs/a365/hosting/outputLoggingMiddleware.js.map +1 -0
- package/dist/commonjs/a365/hosting/scopeUtils.d.ts +56 -0
- package/dist/commonjs/a365/hosting/scopeUtils.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/scopeUtils.js +161 -0
- package/dist/commonjs/a365/hosting/scopeUtils.js.map +1 -0
- package/dist/commonjs/a365/hosting/turnContextUtils.d.ts +32 -0
- package/dist/commonjs/a365/hosting/turnContextUtils.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/turnContextUtils.js +141 -0
- package/dist/commonjs/a365/hosting/turnContextUtils.js.map +1 -0
- package/dist/commonjs/a365/hosting/types.d.ts +52 -0
- package/dist/commonjs/a365/hosting/types.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/types.js +5 -0
- package/dist/commonjs/a365/hosting/types.js.map +1 -0
- package/dist/commonjs/a365/index.d.ts +2 -0
- package/dist/commonjs/a365/index.d.ts.map +1 -1
- package/dist/commonjs/a365/index.js +16 -1
- package/dist/commonjs/a365/index.js.map +1 -1
- package/dist/commonjs/a365/middleware/BaggageBuilder.js +0 -1
- package/dist/commonjs/a365/middleware/BaggageBuilder.js.map +1 -1
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +11 -1
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +14 -2
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/commonjs/azureMonitor/index.d.ts +14 -0
- package/dist/commonjs/azureMonitor/index.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/index.js +29 -0
- package/dist/commonjs/azureMonitor/index.js.map +1 -1
- package/dist/commonjs/azureMonitor/metrics/handler.js +2 -2
- package/dist/commonjs/azureMonitor/metrics/handler.js.map +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.d.ts +0 -3
- package/dist/commonjs/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.js +0 -17
- package/dist/commonjs/azureMonitor/traces/handler.js.map +1 -1
- package/dist/commonjs/distro/distro.d.ts +3 -1
- package/dist/commonjs/distro/distro.d.ts.map +1 -1
- package/dist/commonjs/distro/distro.js +53 -9
- package/dist/commonjs/distro/distro.js.map +1 -1
- package/dist/commonjs/distro/instrumentations.d.ts +31 -0
- package/dist/commonjs/distro/instrumentations.d.ts.map +1 -0
- package/dist/commonjs/distro/instrumentations.js +131 -0
- package/dist/commonjs/distro/instrumentations.js.map +1 -0
- package/dist/commonjs/index.d.ts +3 -12
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +16 -20
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/types.d.ts +4 -2
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js.map +1 -1
- package/dist/esm/a365/constants.d.ts +18 -1
- package/dist/esm/a365/constants.d.ts.map +1 -1
- package/dist/esm/a365/constants.js +22 -1
- package/dist/esm/a365/constants.js.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.js +2 -3
- package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/a365/hosting/baggageBuilderUtils.d.ts +22 -0
- package/dist/esm/a365/hosting/baggageBuilderUtils.d.ts.map +1 -0
- package/dist/esm/a365/hosting/baggageBuilderUtils.js +43 -0
- package/dist/esm/a365/hosting/baggageBuilderUtils.js.map +1 -0
- package/dist/esm/a365/hosting/baggageMiddleware.d.ts +9 -0
- package/dist/esm/a365/hosting/baggageMiddleware.d.ts.map +1 -0
- package/dist/esm/a365/hosting/baggageMiddleware.js +34 -0
- package/dist/esm/a365/hosting/baggageMiddleware.js.map +1 -0
- package/dist/esm/a365/hosting/index.d.ts +9 -0
- package/dist/esm/a365/hosting/index.d.ts.map +1 -0
- package/dist/esm/a365/hosting/index.js +9 -0
- package/dist/esm/a365/hosting/index.js.map +1 -0
- package/dist/esm/a365/hosting/observabilityHostingManager.d.ts +30 -0
- package/dist/esm/a365/hosting/observabilityHostingManager.d.ts.map +1 -0
- package/dist/esm/a365/hosting/observabilityHostingManager.js +45 -0
- package/dist/esm/a365/hosting/observabilityHostingManager.js.map +1 -0
- package/dist/esm/a365/hosting/outputLoggingMiddleware.d.ts +24 -0
- package/dist/esm/a365/hosting/outputLoggingMiddleware.d.ts.map +1 -0
- package/dist/esm/a365/hosting/outputLoggingMiddleware.js +78 -0
- package/dist/esm/a365/hosting/outputLoggingMiddleware.js.map +1 -0
- package/dist/esm/a365/hosting/scopeUtils.d.ts +56 -0
- package/dist/esm/a365/hosting/scopeUtils.d.ts.map +1 -0
- package/dist/esm/a365/hosting/scopeUtils.js +157 -0
- package/dist/esm/a365/hosting/scopeUtils.js.map +1 -0
- package/dist/esm/a365/hosting/turnContextUtils.d.ts +32 -0
- package/dist/esm/a365/hosting/turnContextUtils.d.ts.map +1 -0
- package/dist/esm/a365/hosting/turnContextUtils.js +133 -0
- package/dist/esm/a365/hosting/turnContextUtils.js.map +1 -0
- package/dist/esm/a365/hosting/types.d.ts +52 -0
- package/dist/esm/a365/hosting/types.d.ts.map +1 -0
- package/dist/esm/a365/hosting/types.js +4 -0
- package/dist/esm/a365/hosting/types.js.map +1 -0
- package/dist/esm/a365/index.d.ts +2 -0
- package/dist/esm/a365/index.d.ts.map +1 -1
- package/dist/esm/a365/index.js +2 -0
- package/dist/esm/a365/index.js.map +1 -1
- package/dist/esm/a365/middleware/BaggageBuilder.js +0 -1
- package/dist/esm/a365/middleware/BaggageBuilder.js.map +1 -1
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +11 -1
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/esm/a365/scopes/OpenTelemetryScope.js +14 -2
- package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/esm/azureMonitor/index.d.ts +14 -0
- package/dist/esm/azureMonitor/index.d.ts.map +1 -1
- package/dist/esm/azureMonitor/index.js +27 -0
- package/dist/esm/azureMonitor/index.js.map +1 -1
- package/dist/esm/azureMonitor/metrics/handler.js +2 -2
- package/dist/esm/azureMonitor/metrics/handler.js.map +1 -1
- package/dist/esm/azureMonitor/traces/handler.d.ts +0 -3
- package/dist/esm/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/esm/azureMonitor/traces/handler.js +1 -18
- package/dist/esm/azureMonitor/traces/handler.js.map +1 -1
- package/dist/esm/distro/distro.d.ts +3 -1
- package/dist/esm/distro/distro.d.ts.map +1 -1
- package/dist/esm/distro/distro.js +55 -11
- package/dist/esm/distro/distro.js.map +1 -1
- package/dist/esm/distro/instrumentations.d.ts +31 -0
- package/dist/esm/distro/instrumentations.d.ts.map +1 -0
- package/dist/esm/distro/instrumentations.js +126 -0
- package/dist/esm/distro/instrumentations.js.map +1 -0
- package/dist/esm/index.d.ts +3 -12
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +4 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TurnContextLike, MiddlewareLike } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
|
|
4
|
+
* Async replies (ContinueConversation) are passed through without baggage setup.
|
|
5
|
+
*/
|
|
6
|
+
export declare class BaggageMiddleware implements MiddlewareLike {
|
|
7
|
+
onTurn(context: TurnContextLike, next: () => Promise<void>): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=baggageMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baggageMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/baggageMiddleware.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASlE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAChD,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBjF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
|
|
5
|
+
* Async replies (ContinueConversation events) are passed through without baggage setup.
|
|
6
|
+
*
|
|
7
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/middleware/BaggageMiddleware.ts
|
|
8
|
+
*/
|
|
9
|
+
import { BaggageBuilder } from "../middleware/BaggageBuilder.js";
|
|
10
|
+
import { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, } from "./turnContextUtils.js";
|
|
11
|
+
/**
|
|
12
|
+
* Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
|
|
13
|
+
* Async replies (ContinueConversation) are passed through without baggage setup.
|
|
14
|
+
*/
|
|
15
|
+
export class BaggageMiddleware {
|
|
16
|
+
async onTurn(context, next) {
|
|
17
|
+
const isAsyncReply = context.activity?.type === "event" && context.activity?.name === "ContinueConversation";
|
|
18
|
+
if (isAsyncReply) {
|
|
19
|
+
await next();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const baggageScope = new BaggageBuilder()
|
|
23
|
+
.setPairs(getCallerBaggagePairs(context))
|
|
24
|
+
.setPairs(getTargetAgentBaggagePairs(context))
|
|
25
|
+
.setPairs(getTenantIdPair(context))
|
|
26
|
+
.setPairs(getChannelBaggagePairs(context))
|
|
27
|
+
.setPairs(getConversationIdAndItemLinkPairs(context))
|
|
28
|
+
.build();
|
|
29
|
+
await baggageScope.run(async () => {
|
|
30
|
+
await next();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=baggageMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baggageMiddleware.js","sourceRoot":"","sources":["../../../../src/a365/hosting/baggageMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,MAAM,CAAC,OAAwB,EAAE,IAAyB;QAC9D,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,sBAAsB,CAAC;QAE1F,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE;aACtC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACxC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;aAC7C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAClC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;aACzC,QAAQ,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;aACpD,KAAK,EAAE,CAAC;QAEX,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { BaggageBuilderUtils } from "./baggageBuilderUtils.js";
|
|
2
|
+
export { ScopeUtils } from "./scopeUtils.js";
|
|
3
|
+
export { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, } from "./turnContextUtils.js";
|
|
4
|
+
export { BaggageMiddleware } from "./baggageMiddleware.js";
|
|
5
|
+
export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, } from "./outputLoggingMiddleware.js";
|
|
6
|
+
export { ObservabilityHostingManager } from "./observabilityHostingManager.js";
|
|
7
|
+
export type { ObservabilityHostingOptions } from "./observabilityHostingManager.js";
|
|
8
|
+
export type { TurnContextLike, ActivityLike, MiddlewareLike, SendActivitiesHandler, } from "./types.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,YAAY,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export { BaggageBuilderUtils } from "./baggageBuilderUtils.js";
|
|
4
|
+
export { ScopeUtils } from "./scopeUtils.js";
|
|
5
|
+
export { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, } from "./turnContextUtils.js";
|
|
6
|
+
export { BaggageMiddleware } from "./baggageMiddleware.js";
|
|
7
|
+
export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, } from "./outputLoggingMiddleware.js";
|
|
8
|
+
export { ObservabilityHostingManager } from "./observabilityHostingManager.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { MiddlewareLike } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for the hosting observability layer.
|
|
4
|
+
*/
|
|
5
|
+
export interface ObservabilityHostingOptions {
|
|
6
|
+
/** Enable baggage propagation middleware. Defaults to false. */
|
|
7
|
+
enableBaggage?: boolean;
|
|
8
|
+
/** Enable output logging middleware for tracing outgoing messages. Defaults to false. */
|
|
9
|
+
enableOutputLogging?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Manager for configuring hosting-layer observability middleware.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const manager = new ObservabilityHostingManager();
|
|
17
|
+
* manager.configure(adapter, { enableOutputLogging: true });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare class ObservabilityHostingManager {
|
|
21
|
+
private _configured;
|
|
22
|
+
/**
|
|
23
|
+
* Registers observability middleware on the adapter.
|
|
24
|
+
* Subsequent calls are ignored.
|
|
25
|
+
*/
|
|
26
|
+
configure(adapter: {
|
|
27
|
+
use(...middlewares: Array<MiddlewareLike>): void;
|
|
28
|
+
}, options: ObservabilityHostingOptions): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=observabilityHostingManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observabilityHostingManager.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/observabilityHostingManager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;IACH,SAAS,CACP,OAAO,EAAE;QAAE,GAAG,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;KAAE,EAC7D,OAAO,EAAE,2BAA2B,GACnC,IAAI;CA2BR"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Manager for configuring hosting-layer observability middleware.
|
|
5
|
+
*
|
|
6
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/middleware/ObservabilityHostingManager.ts
|
|
7
|
+
*/
|
|
8
|
+
import { Logger } from "../../shared/logging/index.js";
|
|
9
|
+
import { BaggageMiddleware } from "./baggageMiddleware.js";
|
|
10
|
+
import { OutputLoggingMiddleware } from "./outputLoggingMiddleware.js";
|
|
11
|
+
/**
|
|
12
|
+
* Manager for configuring hosting-layer observability middleware.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const manager = new ObservabilityHostingManager();
|
|
17
|
+
* manager.configure(adapter, { enableOutputLogging: true });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export class ObservabilityHostingManager {
|
|
21
|
+
_configured = false;
|
|
22
|
+
/**
|
|
23
|
+
* Registers observability middleware on the adapter.
|
|
24
|
+
* Subsequent calls are ignored.
|
|
25
|
+
*/
|
|
26
|
+
configure(adapter, options) {
|
|
27
|
+
if (this._configured) {
|
|
28
|
+
Logger.getInstance().warn("[ObservabilityHostingManager] Already configured. Subsequent configure() calls are ignored.");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const enableBaggage = options.enableBaggage === true;
|
|
32
|
+
const enableOutputLogging = options.enableOutputLogging === true;
|
|
33
|
+
if (enableBaggage) {
|
|
34
|
+
adapter.use(new BaggageMiddleware());
|
|
35
|
+
Logger.getInstance().info("[ObservabilityHostingManager] BaggageMiddleware registered.");
|
|
36
|
+
}
|
|
37
|
+
if (enableOutputLogging) {
|
|
38
|
+
adapter.use(new OutputLoggingMiddleware());
|
|
39
|
+
Logger.getInstance().info("[ObservabilityHostingManager] OutputLoggingMiddleware registered.");
|
|
40
|
+
}
|
|
41
|
+
Logger.getInstance().info(`[ObservabilityHostingManager] Configured. Baggage: ${enableBaggage}, OutputLogging: ${enableOutputLogging}.`);
|
|
42
|
+
this._configured = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=observabilityHostingManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observabilityHostingManager.js","sourceRoot":"","sources":["../../../../src/a365/hosting/observabilityHostingManager.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAcvE;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IAC9B,WAAW,GAAG,KAAK,CAAC;IAE5B;;;OAGG;IACH,SAAS,CACP,OAA6D,EAC7D,OAAoC;QAEpC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CACvB,6FAA6F,CAC9F,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;QACrD,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAEjE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CACvB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CACvB,sDAAsD,aAAa,oBAAoB,mBAAmB,GAAG,CAC9G,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TurnContextLike, MiddlewareLike } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* TurnState key for the parent span reference.
|
|
4
|
+
* Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
|
|
5
|
+
*/
|
|
6
|
+
export declare const A365_PARENT_SPAN_KEY = "A365ParentSpanId";
|
|
7
|
+
/**
|
|
8
|
+
* TurnState key for the auth token.
|
|
9
|
+
* Set this in `turnState` so middleware can resolve the agent blueprint ID
|
|
10
|
+
* from token claims (used for embodied/agentic requests).
|
|
11
|
+
*/
|
|
12
|
+
export declare const A365_AUTH_TOKEN_KEY = "A365AuthToken";
|
|
13
|
+
/**
|
|
14
|
+
* Middleware that creates {@link OutputScope} spans for outgoing messages.
|
|
15
|
+
* Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
|
|
16
|
+
*
|
|
17
|
+
* **Privacy note:** Outgoing message content is captured verbatim
|
|
18
|
+
* as span attributes and exported to the configured telemetry backend.
|
|
19
|
+
*/
|
|
20
|
+
export declare class OutputLoggingMiddleware implements MiddlewareLike {
|
|
21
|
+
onTurn(context: TurnContextLike, next: () => Promise<void>): Promise<void>;
|
|
22
|
+
private _createSendHandler;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=outputLoggingMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/outputLoggingMiddleware.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,cAAc;IACtD,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF,OAAO,CAAC,kBAAkB;CAmD3B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Middleware that creates OutputScope spans for outgoing messages.
|
|
5
|
+
*
|
|
6
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/middleware/OutputLoggingMiddleware.ts
|
|
7
|
+
*/
|
|
8
|
+
import { OutputScope } from "../scopes/index.js";
|
|
9
|
+
import { ScopeUtils } from "./scopeUtils.js";
|
|
10
|
+
import { Logger } from "../../shared/logging/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* TurnState key for the parent span reference.
|
|
13
|
+
* Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
|
|
14
|
+
*/
|
|
15
|
+
export const A365_PARENT_SPAN_KEY = "A365ParentSpanId";
|
|
16
|
+
/**
|
|
17
|
+
* TurnState key for the auth token.
|
|
18
|
+
* Set this in `turnState` so middleware can resolve the agent blueprint ID
|
|
19
|
+
* from token claims (used for embodied/agentic requests).
|
|
20
|
+
*/
|
|
21
|
+
export const A365_AUTH_TOKEN_KEY = "A365AuthToken";
|
|
22
|
+
/**
|
|
23
|
+
* Middleware that creates {@link OutputScope} spans for outgoing messages.
|
|
24
|
+
* Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
|
|
25
|
+
*
|
|
26
|
+
* **Privacy note:** Outgoing message content is captured verbatim
|
|
27
|
+
* as span attributes and exported to the configured telemetry backend.
|
|
28
|
+
*/
|
|
29
|
+
export class OutputLoggingMiddleware {
|
|
30
|
+
async onTurn(context, next) {
|
|
31
|
+
const authToken = context.turnState.get(A365_AUTH_TOKEN_KEY) ?? "";
|
|
32
|
+
const agentDetails = ScopeUtils.deriveAgentDetails(context, authToken);
|
|
33
|
+
if (!agentDetails || !agentDetails.tenantId) {
|
|
34
|
+
await next();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const userDetails = ScopeUtils.deriveCallerDetails(context);
|
|
38
|
+
const conversationId = ScopeUtils.deriveConversationId(context);
|
|
39
|
+
const channel = ScopeUtils.deriveChannelObject(context);
|
|
40
|
+
const request = {
|
|
41
|
+
conversationId,
|
|
42
|
+
channel,
|
|
43
|
+
};
|
|
44
|
+
if (context.onSendActivities) {
|
|
45
|
+
context.onSendActivities(this._createSendHandler(context, agentDetails, userDetails, request));
|
|
46
|
+
}
|
|
47
|
+
await next();
|
|
48
|
+
}
|
|
49
|
+
_createSendHandler(turnContext, agentDetails, userDetails, request) {
|
|
50
|
+
return async (_ctx, activities, sendNext) => {
|
|
51
|
+
const messages = activities.filter((a) => a.type === "message" && a.text).map((a) => a.text);
|
|
52
|
+
if (messages.length === 0) {
|
|
53
|
+
return await sendNext();
|
|
54
|
+
}
|
|
55
|
+
const parentSpanRef = turnContext.turnState.get(A365_PARENT_SPAN_KEY);
|
|
56
|
+
if (!parentSpanRef) {
|
|
57
|
+
Logger.getInstance().warn(`[OutputLoggingMiddleware] No parent span ref in turnState under '${A365_PARENT_SPAN_KEY}'. OutputScope will not be linked to a parent.`);
|
|
58
|
+
}
|
|
59
|
+
const spanDetails = parentSpanRef
|
|
60
|
+
? { parentContext: parentSpanRef }
|
|
61
|
+
: undefined;
|
|
62
|
+
const outputScope = OutputScope.start(request ?? {}, { messages }, agentDetails, userDetails, spanDetails);
|
|
63
|
+
try {
|
|
64
|
+
return await sendNext();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
outputScope.recordError(error instanceof Error
|
|
68
|
+
? error
|
|
69
|
+
: new Error(typeof error === "string" ? error : JSON.stringify(error)));
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
outputScope.dispose();
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=outputLoggingMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputLoggingMiddleware.js","sourceRoot":"","sources":["../../../../src/a365/hosting/outputLoggingMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities to populate scope parameters from a TurnContext.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/utils/ScopeUtils.ts
|
|
5
|
+
*/
|
|
6
|
+
import type { SpanKind, TimeInput } from "@opentelemetry/api";
|
|
7
|
+
import type { TurnContextLike } from "./types.js";
|
|
8
|
+
import { InvokeAgentScope, InferenceScope, ExecuteToolScope } from "../scopes/index.js";
|
|
9
|
+
import type { AgentDetails, UserDetails, InvokeAgentScopeDetails, ToolCallDetails, InferenceDetails } from "../contracts.js";
|
|
10
|
+
/**
|
|
11
|
+
* Unified utilities to populate scope tags from a TurnContext.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ScopeUtils {
|
|
14
|
+
/**
|
|
15
|
+
* Derive target agent details from the activity recipient.
|
|
16
|
+
*/
|
|
17
|
+
static deriveAgentDetails(turnContext: TurnContextLike, authToken: string): AgentDetails | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Derive caller agent details from the activity from.
|
|
20
|
+
*/
|
|
21
|
+
static deriveCallerAgent(turnContext: TurnContextLike): AgentDetails | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Derive caller identity details (id, email, name, tenant) from the activity from.
|
|
24
|
+
*/
|
|
25
|
+
static deriveCallerDetails(turnContext: TurnContextLike): UserDetails | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Derive conversation id from the TurnContext.
|
|
28
|
+
*/
|
|
29
|
+
static deriveConversationId(turnContext: TurnContextLike): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Derive channel (name and description) from the TurnContext.
|
|
32
|
+
*/
|
|
33
|
+
static deriveChannelObject(turnContext: TurnContextLike): {
|
|
34
|
+
name?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
};
|
|
37
|
+
private static setInputMessageTags;
|
|
38
|
+
/**
|
|
39
|
+
* Create an `InferenceScope` enriched with values from the TurnContext.
|
|
40
|
+
*/
|
|
41
|
+
static populateInferenceScopeFromTurnContext(details: InferenceDetails, turnContext: TurnContextLike, authToken: string, startTime?: TimeInput, endTime?: TimeInput): InferenceScope;
|
|
42
|
+
/**
|
|
43
|
+
* Create an `InvokeAgentScope` enriched with values from the TurnContext.
|
|
44
|
+
*/
|
|
45
|
+
static populateInvokeAgentScopeFromTurnContext(details: AgentDetails, scopeDetails: InvokeAgentScopeDetails, turnContext: TurnContextLike, authToken: string, startTime?: TimeInput, endTime?: TimeInput, spanKind?: SpanKind): InvokeAgentScope;
|
|
46
|
+
/**
|
|
47
|
+
* Build agent details by merging provided details with TurnContext.
|
|
48
|
+
*/
|
|
49
|
+
static buildInvokeAgentDetails(details: AgentDetails, turnContext: TurnContextLike, authToken: string): AgentDetails;
|
|
50
|
+
private static buildInvokeAgentDetailsCore;
|
|
51
|
+
/**
|
|
52
|
+
* Create an `ExecuteToolScope` enriched with values from the TurnContext.
|
|
53
|
+
*/
|
|
54
|
+
static populateExecuteToolScopeFromTurnContext(details: ToolCallDetails, turnContext: TurnContextLike, authToken: string, startTime?: TimeInput, endTime?: TimeInput, spanKind?: SpanKind): ExecuteToolScope;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=scopeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopeUtils.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/scopeUtils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EAIX,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,UAAU;IAGrB;;OAEG;WACW,kBAAkB,CAC9B,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,GAChB,YAAY,GAAG,SAAS;IAe3B;;OAEG;WACW,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS;IAcvF;;OAEG;WACW,mBAAmB,CAAC,WAAW,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS;IAWxF;;OAEG;WACW,oBAAoB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;IAIpF;;OAEG;WACW,mBAAmB,CAAC,WAAW,EAAE,eAAe,GAAG;QAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IASD,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC;;OAEG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IA0BjB;;OAEG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,uBAAuB,EACrC,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,gBAAgB;IAiCnB;;OAEG;WACW,uBAAuB,CACnC,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,GAChB,YAAY;IAIf,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAY1C;;OAEG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,gBAAgB;CAuBpB"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { resolveEmbodiedAgentIds } from "./turnContextUtils.js";
|
|
4
|
+
import { InvokeAgentScope, InferenceScope, ExecuteToolScope } from "../scopes/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Unified utilities to populate scope tags from a TurnContext.
|
|
7
|
+
*/
|
|
8
|
+
export class ScopeUtils {
|
|
9
|
+
// ── Context-derived helpers ─────────────────────────────────────
|
|
10
|
+
/**
|
|
11
|
+
* Derive target agent details from the activity recipient.
|
|
12
|
+
*/
|
|
13
|
+
static deriveAgentDetails(turnContext, authToken) {
|
|
14
|
+
const recipient = turnContext?.activity?.recipient;
|
|
15
|
+
if (!recipient)
|
|
16
|
+
return undefined;
|
|
17
|
+
const { agentId, agentBlueprintId } = resolveEmbodiedAgentIds(turnContext, authToken);
|
|
18
|
+
return {
|
|
19
|
+
agentId,
|
|
20
|
+
agentName: recipient.name,
|
|
21
|
+
agentAUID: recipient.aadObjectId,
|
|
22
|
+
agentBlueprintId,
|
|
23
|
+
agentEmail: turnContext?.activity?.getAgenticUser?.(),
|
|
24
|
+
agentDescription: recipient.role,
|
|
25
|
+
tenantId: turnContext?.activity?.getAgenticTenantId?.(),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Derive caller agent details from the activity from.
|
|
30
|
+
*/
|
|
31
|
+
static deriveCallerAgent(turnContext) {
|
|
32
|
+
const from = turnContext?.activity?.from;
|
|
33
|
+
if (!from)
|
|
34
|
+
return undefined;
|
|
35
|
+
return {
|
|
36
|
+
agentBlueprintId: from.agenticAppBlueprintId,
|
|
37
|
+
agentName: from.name,
|
|
38
|
+
agentAUID: from.aadObjectId,
|
|
39
|
+
agentDescription: from.role,
|
|
40
|
+
tenantId: from.tenantId,
|
|
41
|
+
agentId: from.agenticAppId,
|
|
42
|
+
agentEmail: from.agenticUserId,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Derive caller identity details (id, email, name, tenant) from the activity from.
|
|
47
|
+
*/
|
|
48
|
+
static deriveCallerDetails(turnContext) {
|
|
49
|
+
const from = turnContext?.activity?.from;
|
|
50
|
+
if (!from)
|
|
51
|
+
return undefined;
|
|
52
|
+
return {
|
|
53
|
+
userId: from.aadObjectId,
|
|
54
|
+
userEmail: from.agenticUserId,
|
|
55
|
+
userName: from.name,
|
|
56
|
+
tenantId: from.tenantId,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Derive conversation id from the TurnContext.
|
|
61
|
+
*/
|
|
62
|
+
static deriveConversationId(turnContext) {
|
|
63
|
+
return turnContext?.activity?.conversation?.id;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Derive channel (name and description) from the TurnContext.
|
|
67
|
+
*/
|
|
68
|
+
static deriveChannelObject(turnContext) {
|
|
69
|
+
return {
|
|
70
|
+
name: turnContext?.activity?.channelId,
|
|
71
|
+
description: turnContext?.activity?.channelIdSubChannel,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// ── Scope factory helpers ───────────────────────────────────────
|
|
75
|
+
static setInputMessageTags(scope, turnContext) {
|
|
76
|
+
if (turnContext?.activity?.text) {
|
|
77
|
+
scope.recordInputMessages([turnContext.activity.text]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create an `InferenceScope` enriched with values from the TurnContext.
|
|
82
|
+
*/
|
|
83
|
+
static populateInferenceScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
|
|
84
|
+
const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
|
|
85
|
+
const caller = ScopeUtils.deriveCallerDetails(turnContext);
|
|
86
|
+
const conversationId = ScopeUtils.deriveConversationId(turnContext);
|
|
87
|
+
const channel = ScopeUtils.deriveChannelObject(turnContext);
|
|
88
|
+
if (!agent) {
|
|
89
|
+
throw new Error("populateInferenceScopeFromTurnContext: Missing agent details on TurnContext (recipient)");
|
|
90
|
+
}
|
|
91
|
+
const hasChannel = channel.name !== undefined || channel.description !== undefined;
|
|
92
|
+
const request = {
|
|
93
|
+
conversationId,
|
|
94
|
+
...(hasChannel ? { channel: { name: channel.name, description: channel.description } } : {}),
|
|
95
|
+
};
|
|
96
|
+
const spanDetails = startTime || endTime ? { startTime, endTime } : undefined;
|
|
97
|
+
const scope = InferenceScope.start(request, details, agent, caller, spanDetails);
|
|
98
|
+
this.setInputMessageTags(scope, turnContext);
|
|
99
|
+
return scope;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Create an `InvokeAgentScope` enriched with values from the TurnContext.
|
|
103
|
+
*/
|
|
104
|
+
static populateInvokeAgentScopeFromTurnContext(details, scopeDetails, turnContext, authToken, startTime, endTime, spanKind) {
|
|
105
|
+
const callerAgent = ScopeUtils.deriveCallerAgent(turnContext);
|
|
106
|
+
const caller = ScopeUtils.deriveCallerDetails(turnContext);
|
|
107
|
+
const conversationId = ScopeUtils.deriveConversationId(turnContext);
|
|
108
|
+
const channel = ScopeUtils.deriveChannelObject(turnContext);
|
|
109
|
+
const agentDetails = ScopeUtils.buildInvokeAgentDetailsCore(details, turnContext, authToken);
|
|
110
|
+
const hasChannel = channel.name !== undefined || channel.description !== undefined;
|
|
111
|
+
const request = {
|
|
112
|
+
conversationId,
|
|
113
|
+
...(hasChannel ? { channel: { name: channel.name, description: channel.description } } : {}),
|
|
114
|
+
};
|
|
115
|
+
const callerDetails = {
|
|
116
|
+
userDetails: caller,
|
|
117
|
+
callerAgentDetails: callerAgent,
|
|
118
|
+
};
|
|
119
|
+
const spanDetailsObj = startTime || endTime || spanKind ? { startTime, endTime, spanKind } : undefined;
|
|
120
|
+
const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, callerDetails, spanDetailsObj);
|
|
121
|
+
this.setInputMessageTags(scope, turnContext);
|
|
122
|
+
return scope;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Build agent details by merging provided details with TurnContext.
|
|
126
|
+
*/
|
|
127
|
+
static buildInvokeAgentDetails(details, turnContext, authToken) {
|
|
128
|
+
return ScopeUtils.buildInvokeAgentDetailsCore(details, turnContext, authToken);
|
|
129
|
+
}
|
|
130
|
+
static buildInvokeAgentDetailsCore(details, turnContext, authToken) {
|
|
131
|
+
const derivedAgentDetails = ScopeUtils.deriveAgentDetails(turnContext, authToken);
|
|
132
|
+
return {
|
|
133
|
+
...details,
|
|
134
|
+
...(derivedAgentDetails ?? {}),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create an `ExecuteToolScope` enriched with values from the TurnContext.
|
|
139
|
+
*/
|
|
140
|
+
static populateExecuteToolScopeFromTurnContext(details, turnContext, authToken, startTime, endTime, spanKind) {
|
|
141
|
+
const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
|
|
142
|
+
const caller = ScopeUtils.deriveCallerDetails(turnContext);
|
|
143
|
+
const conversationId = ScopeUtils.deriveConversationId(turnContext);
|
|
144
|
+
const channel = ScopeUtils.deriveChannelObject(turnContext);
|
|
145
|
+
if (!agent) {
|
|
146
|
+
throw new Error("populateExecuteToolScopeFromTurnContext: Missing agent details on TurnContext (recipient)");
|
|
147
|
+
}
|
|
148
|
+
const hasChannel = channel.name !== undefined || channel.description !== undefined;
|
|
149
|
+
const request = {
|
|
150
|
+
conversationId,
|
|
151
|
+
...(hasChannel ? { channel: { name: channel.name, description: channel.description } } : {}),
|
|
152
|
+
};
|
|
153
|
+
const spanDetailsObj = startTime || endTime || spanKind ? { startTime, endTime, spanKind } : undefined;
|
|
154
|
+
return ExecuteToolScope.start(request, details, agent, caller, spanDetailsObj);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=scopeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/a365/hosting/scopeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { TurnContextLike } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Extracts caller-related OpenTelemetry baggage pairs from the TurnContext.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getCallerBaggagePairs(turnContext: TurnContextLike): Array<[string, string]>;
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the agent instance ID and blueprint ID for embodied (agentic) agents.
|
|
8
|
+
* For non-embodied agents, both fields are undefined.
|
|
9
|
+
* @param turnContext Activity context
|
|
10
|
+
* @param authToken Auth token for resolving blueprint ID from token claims.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveEmbodiedAgentIds(turnContext: TurnContextLike, authToken: string): {
|
|
13
|
+
agentId: string | undefined;
|
|
14
|
+
agentBlueprintId: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Extracts agent/recipient-related OpenTelemetry baggage pairs from the TurnContext.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getTargetAgentBaggagePairs(turnContext: TurnContextLike, authToken?: string): Array<[string, string]>;
|
|
20
|
+
/**
|
|
21
|
+
* Extracts the tenant ID baggage key-value pair.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getTenantIdPair(turnContext: TurnContextLike): Array<[string, string]>;
|
|
24
|
+
/**
|
|
25
|
+
* Extracts channel baggage pairs from the TurnContext.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getChannelBaggagePairs(turnContext: TurnContextLike): Array<[string, string]>;
|
|
28
|
+
/**
|
|
29
|
+
* Extracts conversation ID and item link baggage pairs.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getConversationIdAndItemLinkPairs(turnContext: TurnContextLike): Array<[string, string]>;
|
|
32
|
+
//# sourceMappingURL=turnContextUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnContextUtils.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/turnContextUtils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQlD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAY3F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAQvE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,eAAe,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAGrF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAY5F;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,eAAe,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWzB"}
|