@microsoft/agents-a365-observability-hosting 0.1.0-preview.114 → 0.1.0-preview.115
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/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/middleware/BaggageMiddleware.d.ts +9 -0
- package/dist/cjs/middleware/BaggageMiddleware.d.ts.map +1 -0
- package/dist/cjs/middleware/BaggageMiddleware.js +35 -0
- package/dist/cjs/middleware/BaggageMiddleware.js.map +1 -0
- package/dist/cjs/middleware/ObservabilityHostingManager.d.ts +30 -0
- package/dist/cjs/middleware/ObservabilityHostingManager.d.ts.map +1 -0
- package/dist/cjs/middleware/ObservabilityHostingManager.js +46 -0
- package/dist/cjs/middleware/ObservabilityHostingManager.js.map +1 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts +22 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts.map +1 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.js +65 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.js.map +1 -0
- package/dist/cjs/utils/ScopeUtils.d.ts.map +1 -1
- package/dist/cjs/utils/ScopeUtils.js +0 -3
- package/dist/cjs/utils/ScopeUtils.js.map +1 -1
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/middleware/BaggageMiddleware.d.ts +9 -0
- package/dist/esm/middleware/BaggageMiddleware.d.ts.map +1 -0
- package/dist/esm/middleware/BaggageMiddleware.js +31 -0
- package/dist/esm/middleware/BaggageMiddleware.js.map +1 -0
- package/dist/esm/middleware/ObservabilityHostingManager.d.ts +30 -0
- package/dist/esm/middleware/ObservabilityHostingManager.d.ts.map +1 -0
- package/dist/esm/middleware/ObservabilityHostingManager.js +42 -0
- package/dist/esm/middleware/ObservabilityHostingManager.js.map +1 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.d.ts +22 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.d.ts.map +1 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.js +61 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.js.map +1 -0
- package/dist/esm/utils/ScopeUtils.d.ts.map +1 -1
- package/dist/esm/utils/ScopeUtils.js +1 -4
- package/dist/esm/utils/ScopeUtils.js.map +1 -1
- package/package.json +3 -3
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,4 +2,8 @@ export * from './utils/BaggageBuilderUtils';
|
|
|
2
2
|
export * from './utils/ScopeUtils';
|
|
3
3
|
export * from './utils/TurnContextUtils';
|
|
4
4
|
export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
|
|
5
|
+
export { BaggageMiddleware } from './middleware/BaggageMiddleware';
|
|
6
|
+
export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY } from './middleware/OutputLoggingMiddleware';
|
|
7
|
+
export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
|
|
8
|
+
export type { ObservabilityHostingOptions } from './middleware/ObservabilityHostingManager';
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,11 +18,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.AgenticTokenCacheInstance = exports.AgenticTokenCache = void 0;
|
|
21
|
+
exports.ObservabilityHostingManager = exports.A365_PARENT_SPAN_KEY = exports.OutputLoggingMiddleware = exports.BaggageMiddleware = exports.AgenticTokenCacheInstance = exports.AgenticTokenCache = void 0;
|
|
22
22
|
__exportStar(require("./utils/BaggageBuilderUtils"), exports);
|
|
23
23
|
__exportStar(require("./utils/ScopeUtils"), exports);
|
|
24
24
|
__exportStar(require("./utils/TurnContextUtils"), exports);
|
|
25
25
|
var AgenticTokenCache_1 = require("./caching/AgenticTokenCache");
|
|
26
26
|
Object.defineProperty(exports, "AgenticTokenCache", { enumerable: true, get: function () { return AgenticTokenCache_1.AgenticTokenCache; } });
|
|
27
27
|
Object.defineProperty(exports, "AgenticTokenCacheInstance", { enumerable: true, get: function () { return AgenticTokenCache_1.AgenticTokenCacheInstance; } });
|
|
28
|
+
var BaggageMiddleware_1 = require("./middleware/BaggageMiddleware");
|
|
29
|
+
Object.defineProperty(exports, "BaggageMiddleware", { enumerable: true, get: function () { return BaggageMiddleware_1.BaggageMiddleware; } });
|
|
30
|
+
var OutputLoggingMiddleware_1 = require("./middleware/OutputLoggingMiddleware");
|
|
31
|
+
Object.defineProperty(exports, "OutputLoggingMiddleware", { enumerable: true, get: function () { return OutputLoggingMiddleware_1.OutputLoggingMiddleware; } });
|
|
32
|
+
Object.defineProperty(exports, "A365_PARENT_SPAN_KEY", { enumerable: true, get: function () { return OutputLoggingMiddleware_1.A365_PARENT_SPAN_KEY; } });
|
|
33
|
+
var ObservabilityHostingManager_1 = require("./middleware/ObservabilityHostingManager");
|
|
34
|
+
Object.defineProperty(exports, "ObservabilityHostingManager", { enumerable: true, get: function () { return ObservabilityHostingManager_1.ObservabilityHostingManager; } });
|
|
28
35
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,8DAA4C;AAC5C,qDAAmC;AACnC,2DAAyC;AACzC,iEAA2F;AAAlF,sHAAA,iBAAiB,OAAA;AAAE,8HAAA,yBAAyB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,8DAA4C;AAC5C,qDAAmC;AACnC,2DAAyC;AACzC,iEAA2F;AAAlF,sHAAA,iBAAiB,OAAA;AAAE,8HAAA,yBAAyB,OAAA;AACrD,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,gFAAqG;AAA5F,kIAAA,uBAAuB,OAAA;AAAE,+HAAA,oBAAoB,OAAA;AACtD,wFAAuF;AAA9E,0IAAA,2BAA2B,OAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TurnContext, Middleware } from '@microsoft/agents-hosting';
|
|
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 Middleware {
|
|
7
|
+
onTurn(context: TurnContext, 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/middleware/BaggageMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAYpE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAE5C,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.BaggageMiddleware = void 0;
|
|
6
|
+
const agents_activity_1 = require("@microsoft/agents-activity");
|
|
7
|
+
const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
|
|
8
|
+
const TurnContextUtils_1 = require("../utils/TurnContextUtils");
|
|
9
|
+
/**
|
|
10
|
+
* Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
|
|
11
|
+
* Async replies (ContinueConversation) are passed through without baggage setup.
|
|
12
|
+
*/
|
|
13
|
+
class BaggageMiddleware {
|
|
14
|
+
async onTurn(context, next) {
|
|
15
|
+
const isAsyncReply = context.activity?.type === agents_activity_1.ActivityTypes.Event &&
|
|
16
|
+
context.activity?.name === agents_activity_1.ActivityEventNames.ContinueConversation;
|
|
17
|
+
if (isAsyncReply) {
|
|
18
|
+
await next();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const baggageScope = new agents_a365_observability_1.BaggageBuilder()
|
|
22
|
+
.setPairs((0, TurnContextUtils_1.getCallerBaggagePairs)(context))
|
|
23
|
+
.setPairs((0, TurnContextUtils_1.getTargetAgentBaggagePairs)(context))
|
|
24
|
+
.setPairs((0, TurnContextUtils_1.getTenantIdPair)(context))
|
|
25
|
+
.setPairs((0, TurnContextUtils_1.getSourceMetadataBaggagePairs)(context))
|
|
26
|
+
.setPairs((0, TurnContextUtils_1.getConversationIdAndItemLinkPairs)(context))
|
|
27
|
+
.setPairs((0, TurnContextUtils_1.getExecutionTypePair)(context))
|
|
28
|
+
.build();
|
|
29
|
+
await baggageScope.run(async () => {
|
|
30
|
+
await next();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.BaggageMiddleware = BaggageMiddleware;
|
|
35
|
+
//# sourceMappingURL=BaggageMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaggageMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/BaggageMiddleware.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,gEAA+E;AAC/E,oFAAsE;AACtE,gEAOmC;AAEnC;;;GAGG;AACH,MAAa,iBAAiB;IAE5B,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,+BAAa,CAAC,KAAK;YAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,oCAAkB,CAAC,oBAAoB,CAAC;QAErE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,0CAAc,EAAE;aACtC,QAAQ,CAAC,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;aACxC,QAAQ,CAAC,IAAA,6CAA0B,EAAC,OAAO,CAAC,CAAC;aAC7C,QAAQ,CAAC,IAAA,kCAAe,EAAC,OAAO,CAAC,CAAC;aAClC,QAAQ,CAAC,IAAA,gDAA6B,EAAC,OAAO,CAAC,CAAC;aAChD,QAAQ,CAAC,IAAA,oDAAiC,EAAC,OAAO,CAAC,CAAC;aACpD,QAAQ,CAAC,IAAA,uCAAoB,EAAC,OAAO,CAAC,CAAC;aACvC,KAAK,EAAE,CAAC;QAEX,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAzBD,8CAyBC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Middleware } from '@microsoft/agents-hosting';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for the hosting observability layer.
|
|
4
|
+
*/
|
|
5
|
+
export interface ObservabilityHostingOptions {
|
|
6
|
+
/** Enable baggage propagation middleware. Defaults to true. */
|
|
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<Middleware>): 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/middleware/ObservabilityHostingManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,+DAA+D;IAC/D,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,UAAU,CAAC,GAAG,IAAI,CAAA;KAAE,EACzD,OAAO,EAAE,2BAA2B,GACnC,IAAI;CAqBR"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ObservabilityHostingManager = void 0;
|
|
6
|
+
const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
|
|
7
|
+
const BaggageMiddleware_1 = require("./BaggageMiddleware");
|
|
8
|
+
const OutputLoggingMiddleware_1 = require("./OutputLoggingMiddleware");
|
|
9
|
+
/**
|
|
10
|
+
* Manager for configuring hosting-layer observability middleware.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const manager = new ObservabilityHostingManager();
|
|
15
|
+
* manager.configure(adapter, { enableOutputLogging: true });
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
class ObservabilityHostingManager {
|
|
19
|
+
constructor() {
|
|
20
|
+
this._configured = false;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Registers observability middleware on the adapter.
|
|
24
|
+
* Subsequent calls are ignored.
|
|
25
|
+
*/
|
|
26
|
+
configure(adapter, options) {
|
|
27
|
+
if (this._configured) {
|
|
28
|
+
agents_a365_observability_1.logger.warn('[ObservabilityHostingManager] Already configured. Subsequent configure() calls are ignored.');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const enableBaggage = options.enableBaggage !== false;
|
|
32
|
+
const enableOutputLogging = options.enableOutputLogging === true;
|
|
33
|
+
if (enableBaggage) {
|
|
34
|
+
adapter.use(new BaggageMiddleware_1.BaggageMiddleware());
|
|
35
|
+
agents_a365_observability_1.logger.info('[ObservabilityHostingManager] BaggageMiddleware registered.');
|
|
36
|
+
}
|
|
37
|
+
if (enableOutputLogging) {
|
|
38
|
+
adapter.use(new OutputLoggingMiddleware_1.OutputLoggingMiddleware());
|
|
39
|
+
agents_a365_observability_1.logger.info('[ObservabilityHostingManager] OutputLoggingMiddleware registered.');
|
|
40
|
+
}
|
|
41
|
+
agents_a365_observability_1.logger.info(`[ObservabilityHostingManager] Configured. Baggage: ${enableBaggage}, OutputLogging: ${enableOutputLogging}.`);
|
|
42
|
+
this._configured = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ObservabilityHostingManager = ObservabilityHostingManager;
|
|
46
|
+
//# sourceMappingURL=ObservabilityHostingManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityHostingManager.js","sourceRoot":"","sources":["../../../src/middleware/ObservabilityHostingManager.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,oFAA8D;AAC9D,2DAAwD;AACxD,uEAAoE;AAapE;;;;;;;;GAQG;AACH,MAAa,2BAA2B;IAAxC;QACU,gBAAW,GAAG,KAAK,CAAC;IA8B9B,CAAC;IA5BC;;;OAGG;IACH,SAAS,CACP,OAAyD,EACzD,OAAoC;QAEpC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,kCAAM,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;QACtD,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAEjE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,qCAAiB,EAAE,CAAC,CAAC;YACrC,kCAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,iDAAuB,EAAE,CAAC,CAAC;YAC3C,kCAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QAED,kCAAM,CAAC,IAAI,CAAC,sDAAsD,aAAa,oBAAoB,mBAAmB,GAAG,CAAC,CAAC;QAC3H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CACF;AA/BD,kEA+BC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TurnContext, Middleware } from '@microsoft/agents-hosting';
|
|
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
|
+
* Middleware that creates {@link OutputScope} spans for outgoing messages.
|
|
9
|
+
* Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
|
|
10
|
+
*
|
|
11
|
+
* **Privacy note:** Outgoing message content is captured verbatim
|
|
12
|
+
* as span attributes and exported to the configured telemetry backend.
|
|
13
|
+
*/
|
|
14
|
+
export declare class OutputLoggingMiddleware implements Middleware {
|
|
15
|
+
onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a send handler that wraps outgoing messages in OutputScope spans.
|
|
18
|
+
* Reads parent span ref lazily so the agent handler can set it during `next()`.
|
|
19
|
+
*/
|
|
20
|
+
private _createSendHandler;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=OutputLoggingMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAW3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,UAAU;IAElD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA8C3B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.OutputLoggingMiddleware = exports.A365_PARENT_SPAN_KEY = void 0;
|
|
6
|
+
const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
|
|
7
|
+
const ScopeUtils_1 = require("../utils/ScopeUtils");
|
|
8
|
+
/**
|
|
9
|
+
* TurnState key for the parent span reference.
|
|
10
|
+
* Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
|
|
11
|
+
*/
|
|
12
|
+
exports.A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
|
|
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
|
+
class OutputLoggingMiddleware {
|
|
21
|
+
async onTurn(context, next) {
|
|
22
|
+
const agentDetails = ScopeUtils_1.ScopeUtils.deriveAgentDetails(context);
|
|
23
|
+
const tenantDetails = ScopeUtils_1.ScopeUtils.deriveTenantDetails(context);
|
|
24
|
+
if (!agentDetails || !tenantDetails) {
|
|
25
|
+
await next();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const callerDetails = ScopeUtils_1.ScopeUtils.deriveCallerDetails(context);
|
|
29
|
+
const conversationId = ScopeUtils_1.ScopeUtils.deriveConversationId(context);
|
|
30
|
+
const sourceMetadata = ScopeUtils_1.ScopeUtils.deriveSourceMetadataObject(context);
|
|
31
|
+
context.onSendActivities(this._createSendHandler(context, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata));
|
|
32
|
+
await next();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a send handler that wraps outgoing messages in OutputScope spans.
|
|
36
|
+
* Reads parent span ref lazily so the agent handler can set it during `next()`.
|
|
37
|
+
*/
|
|
38
|
+
_createSendHandler(turnContext, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata) {
|
|
39
|
+
return async (_ctx, activities, sendNext) => {
|
|
40
|
+
const messages = activities
|
|
41
|
+
.filter((a) => a.type === 'message' && a.text)
|
|
42
|
+
.map((a) => a.text);
|
|
43
|
+
if (messages.length === 0) {
|
|
44
|
+
return await sendNext();
|
|
45
|
+
}
|
|
46
|
+
const parentSpanRef = turnContext.turnState.get(exports.A365_PARENT_SPAN_KEY);
|
|
47
|
+
if (!parentSpanRef) {
|
|
48
|
+
agents_a365_observability_1.logger.warn(`[OutputLoggingMiddleware] No parent span ref in turnState under '${exports.A365_PARENT_SPAN_KEY}'. OutputScope will not be linked to a parent.`);
|
|
49
|
+
}
|
|
50
|
+
const outputScope = agents_a365_observability_1.OutputScope.start({ messages }, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata, undefined, parentSpanRef);
|
|
51
|
+
try {
|
|
52
|
+
return await sendNext();
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
outputScope.recordError(error instanceof Error ? error : new Error(typeof error === 'string' ? error : JSON.stringify(error)));
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
outputScope.dispose();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.OutputLoggingMiddleware = OutputLoggingMiddleware;
|
|
65
|
+
//# sourceMappingURL=OutputLoggingMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,oFAO8C;AAC9C,oDAAiD;AAEjD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAa,uBAAuB;IAElC,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAAG,uBAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,uBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,uBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,uBAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,uBAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAC7G,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,WAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,aAA6B,EAC7B,cAAuB,EACvB,cAAwD;QAExD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,UAAU;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;YAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,aAAa,GAA8B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,kCAAM,CAAC,IAAI,CACT,oEAAoE,4BAAoB,gDAAgD,CACzI,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,uCAAW,CAAC,KAAK,CACnC,EAAE,QAAQ,EAAE,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,WAAW,CACrB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtG,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAxED,0DAwEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,qBAAa,UAAU;IAGrB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAKtF;;;;OAIG;WACW,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAepF;;;;OAIG;WACW,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAenF;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAWtF;;;;OAIG;WACW,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;OAIG;WACW,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAO3G;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IAkBjB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;IAenB;;;;;OAKG;WACW,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAG,kBAAkB;IAqBhH;;;;;;;;;OASG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;CAepB"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.ScopeUtils = void 0;
|
|
8
8
|
const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
|
|
9
|
-
const TurnContextUtils_1 = require("./TurnContextUtils");
|
|
10
9
|
/**
|
|
11
10
|
* Unified utilities to populate scope tags from a TurnContext.
|
|
12
11
|
* Provides common tag population and scope-specific helpers.
|
|
@@ -160,7 +159,6 @@ class ScopeUtils {
|
|
|
160
159
|
static buildInvokeAgentDetails(details, turnContext) {
|
|
161
160
|
const agent = ScopeUtils.deriveAgentDetails(turnContext);
|
|
162
161
|
const srcMetaFromContext = ScopeUtils.deriveSourceMetadataObject(turnContext);
|
|
163
|
-
const executionTypePair = (0, TurnContextUtils_1.getExecutionTypePair)(turnContext);
|
|
164
162
|
const baseRequest = details.request ?? {};
|
|
165
163
|
const baseSource = baseRequest.sourceMetadata ?? {};
|
|
166
164
|
const mergedSourceMetadata = {
|
|
@@ -174,7 +172,6 @@ class ScopeUtils {
|
|
|
174
172
|
conversationId: ScopeUtils.deriveConversationId(turnContext),
|
|
175
173
|
request: {
|
|
176
174
|
...baseRequest,
|
|
177
|
-
executionType: executionTypePair.length > 0 ? executionTypePair[0][1] : baseRequest.executionType,
|
|
178
175
|
sourceMetadata: mergedSourceMetadata
|
|
179
176
|
}
|
|
180
177
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;AAIjF,
|
|
1
|
+
{"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,4 +2,8 @@ export * from './utils/BaggageBuilderUtils';
|
|
|
2
2
|
export * from './utils/ScopeUtils';
|
|
3
3
|
export * from './utils/TurnContextUtils';
|
|
4
4
|
export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
|
|
5
|
+
export { BaggageMiddleware } from './middleware/BaggageMiddleware';
|
|
6
|
+
export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY } from './middleware/OutputLoggingMiddleware';
|
|
7
|
+
export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
|
|
8
|
+
export type { ObservabilityHostingOptions } from './middleware/ObservabilityHostingManager';
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -6,4 +6,7 @@ export * from './utils/BaggageBuilderUtils';
|
|
|
6
6
|
export * from './utils/ScopeUtils';
|
|
7
7
|
export * from './utils/TurnContextUtils';
|
|
8
8
|
export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
|
|
9
|
+
export { BaggageMiddleware } from './middleware/BaggageMiddleware';
|
|
10
|
+
export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY } from './middleware/OutputLoggingMiddleware';
|
|
11
|
+
export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
|
|
9
12
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAEjF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAEjF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TurnContext, Middleware } from '@microsoft/agents-hosting';
|
|
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 Middleware {
|
|
7
|
+
onTurn(context: TurnContext, 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/middleware/BaggageMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAYpE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAE5C,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { ActivityTypes, ActivityEventNames } from '@microsoft/agents-activity';
|
|
4
|
+
import { BaggageBuilder } from '@microsoft/agents-a365-observability';
|
|
5
|
+
import { getExecutionTypePair, getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getSourceMetadataBaggagePairs, getConversationIdAndItemLinkPairs, } from '../utils/TurnContextUtils';
|
|
6
|
+
/**
|
|
7
|
+
* Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
|
|
8
|
+
* Async replies (ContinueConversation) are passed through without baggage setup.
|
|
9
|
+
*/
|
|
10
|
+
export class BaggageMiddleware {
|
|
11
|
+
async onTurn(context, next) {
|
|
12
|
+
const isAsyncReply = context.activity?.type === ActivityTypes.Event &&
|
|
13
|
+
context.activity?.name === ActivityEventNames.ContinueConversation;
|
|
14
|
+
if (isAsyncReply) {
|
|
15
|
+
await next();
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const baggageScope = new BaggageBuilder()
|
|
19
|
+
.setPairs(getCallerBaggagePairs(context))
|
|
20
|
+
.setPairs(getTargetAgentBaggagePairs(context))
|
|
21
|
+
.setPairs(getTenantIdPair(context))
|
|
22
|
+
.setPairs(getSourceMetadataBaggagePairs(context))
|
|
23
|
+
.setPairs(getConversationIdAndItemLinkPairs(context))
|
|
24
|
+
.setPairs(getExecutionTypePair(context))
|
|
25
|
+
.build();
|
|
26
|
+
await baggageScope.run(async () => {
|
|
27
|
+
await next();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=BaggageMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaggageMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/BaggageMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAE5B,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,aAAa,CAAC,KAAK;YAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,kBAAkB,CAAC,oBAAoB,CAAC;QAErE,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,6BAA6B,CAAC,OAAO,CAAC,CAAC;aAChD,QAAQ,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;aACpD,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;aACvC,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,30 @@
|
|
|
1
|
+
import { Middleware } from '@microsoft/agents-hosting';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for the hosting observability layer.
|
|
4
|
+
*/
|
|
5
|
+
export interface ObservabilityHostingOptions {
|
|
6
|
+
/** Enable baggage propagation middleware. Defaults to true. */
|
|
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<Middleware>): 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/middleware/ObservabilityHostingManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,+DAA+D;IAC/D,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,UAAU,CAAC,GAAG,IAAI,CAAA;KAAE,EACzD,OAAO,EAAE,2BAA2B,GACnC,IAAI;CAqBR"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { logger } from '@microsoft/agents-a365-observability';
|
|
4
|
+
import { BaggageMiddleware } from './BaggageMiddleware';
|
|
5
|
+
import { OutputLoggingMiddleware } from './OutputLoggingMiddleware';
|
|
6
|
+
/**
|
|
7
|
+
* Manager for configuring hosting-layer observability middleware.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const manager = new ObservabilityHostingManager();
|
|
12
|
+
* manager.configure(adapter, { enableOutputLogging: true });
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export class ObservabilityHostingManager {
|
|
16
|
+
constructor() {
|
|
17
|
+
this._configured = false;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Registers observability middleware on the adapter.
|
|
21
|
+
* Subsequent calls are ignored.
|
|
22
|
+
*/
|
|
23
|
+
configure(adapter, options) {
|
|
24
|
+
if (this._configured) {
|
|
25
|
+
logger.warn('[ObservabilityHostingManager] Already configured. Subsequent configure() calls are ignored.');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const enableBaggage = options.enableBaggage !== false;
|
|
29
|
+
const enableOutputLogging = options.enableOutputLogging === true;
|
|
30
|
+
if (enableBaggage) {
|
|
31
|
+
adapter.use(new BaggageMiddleware());
|
|
32
|
+
logger.info('[ObservabilityHostingManager] BaggageMiddleware registered.');
|
|
33
|
+
}
|
|
34
|
+
if (enableOutputLogging) {
|
|
35
|
+
adapter.use(new OutputLoggingMiddleware());
|
|
36
|
+
logger.info('[ObservabilityHostingManager] OutputLoggingMiddleware registered.');
|
|
37
|
+
}
|
|
38
|
+
logger.info(`[ObservabilityHostingManager] Configured. Baggage: ${enableBaggage}, OutputLogging: ${enableOutputLogging}.`);
|
|
39
|
+
this._configured = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ObservabilityHostingManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityHostingManager.js","sourceRoot":"","sources":["../../../src/middleware/ObservabilityHostingManager.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAapE;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IAAxC;QACU,gBAAW,GAAG,KAAK,CAAC;IA8B9B,CAAC;IA5BC;;;OAGG;IACH,SAAS,CACP,OAAyD,EACzD,OAAoC;QAEpC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;QACtD,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,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sDAAsD,aAAa,oBAAoB,mBAAmB,GAAG,CAAC,CAAC;QAC3H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TurnContext, Middleware } from '@microsoft/agents-hosting';
|
|
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
|
+
* Middleware that creates {@link OutputScope} spans for outgoing messages.
|
|
9
|
+
* Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
|
|
10
|
+
*
|
|
11
|
+
* **Privacy note:** Outgoing message content is captured verbatim
|
|
12
|
+
* as span attributes and exported to the configured telemetry backend.
|
|
13
|
+
*/
|
|
14
|
+
export declare class OutputLoggingMiddleware implements Middleware {
|
|
15
|
+
onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a send handler that wraps outgoing messages in OutputScope spans.
|
|
18
|
+
* Reads parent span ref lazily so the agent handler can set it during `next()`.
|
|
19
|
+
*/
|
|
20
|
+
private _createSendHandler;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=OutputLoggingMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAW3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,UAAU;IAElD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA8C3B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { OutputScope, logger, } from '@microsoft/agents-a365-observability';
|
|
4
|
+
import { ScopeUtils } from '../utils/ScopeUtils';
|
|
5
|
+
/**
|
|
6
|
+
* TurnState key for the parent span reference.
|
|
7
|
+
* Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
|
|
8
|
+
*/
|
|
9
|
+
export const A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
|
|
10
|
+
/**
|
|
11
|
+
* Middleware that creates {@link OutputScope} spans for outgoing messages.
|
|
12
|
+
* Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
|
|
13
|
+
*
|
|
14
|
+
* **Privacy note:** Outgoing message content is captured verbatim
|
|
15
|
+
* as span attributes and exported to the configured telemetry backend.
|
|
16
|
+
*/
|
|
17
|
+
export class OutputLoggingMiddleware {
|
|
18
|
+
async onTurn(context, next) {
|
|
19
|
+
const agentDetails = ScopeUtils.deriveAgentDetails(context);
|
|
20
|
+
const tenantDetails = ScopeUtils.deriveTenantDetails(context);
|
|
21
|
+
if (!agentDetails || !tenantDetails) {
|
|
22
|
+
await next();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const callerDetails = ScopeUtils.deriveCallerDetails(context);
|
|
26
|
+
const conversationId = ScopeUtils.deriveConversationId(context);
|
|
27
|
+
const sourceMetadata = ScopeUtils.deriveSourceMetadataObject(context);
|
|
28
|
+
context.onSendActivities(this._createSendHandler(context, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata));
|
|
29
|
+
await next();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Creates a send handler that wraps outgoing messages in OutputScope spans.
|
|
33
|
+
* Reads parent span ref lazily so the agent handler can set it during `next()`.
|
|
34
|
+
*/
|
|
35
|
+
_createSendHandler(turnContext, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata) {
|
|
36
|
+
return async (_ctx, activities, sendNext) => {
|
|
37
|
+
const messages = activities
|
|
38
|
+
.filter((a) => a.type === 'message' && a.text)
|
|
39
|
+
.map((a) => a.text);
|
|
40
|
+
if (messages.length === 0) {
|
|
41
|
+
return await sendNext();
|
|
42
|
+
}
|
|
43
|
+
const parentSpanRef = turnContext.turnState.get(A365_PARENT_SPAN_KEY);
|
|
44
|
+
if (!parentSpanRef) {
|
|
45
|
+
logger.warn(`[OutputLoggingMiddleware] No parent span ref in turnState under '${A365_PARENT_SPAN_KEY}'. OutputScope will not be linked to a parent.`);
|
|
46
|
+
}
|
|
47
|
+
const outputScope = OutputScope.start({ messages }, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata, undefined, parentSpanRef);
|
|
48
|
+
try {
|
|
49
|
+
return await sendNext();
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
outputScope.recordError(error instanceof Error ? error : new Error(typeof error === 'string' ? error : JSON.stringify(error)));
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
outputScope.dispose();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=OutputLoggingMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,WAAW,EAKX,MAAM,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAElC,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAC7G,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,WAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,aAA6B,EAC7B,cAAuB,EACvB,cAAwD;QAExD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,UAAU;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;YAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,aAAa,GAA8B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,oEAAoE,oBAAoB,gDAAgD,CACzI,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CACnC,EAAE,QAAQ,EAAE,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,WAAW,CACrB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtG,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,qBAAa,UAAU;IAGrB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAKtF;;;;OAIG;WACW,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAepF;;;;OAIG;WACW,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAenF;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAWtF;;;;OAIG;WACW,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;OAIG;WACW,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAO3G;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IAkBjB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;IAenB;;;;;OAKG;WACW,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAG,kBAAkB;IAqBhH;;;;;;;;;OASG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;CAepB"}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
4
|
// ------------------------------------------------------------------------------
|
|
5
|
-
import { InvokeAgentScope, InferenceScope, ExecuteToolScope } from '@microsoft/agents-a365-observability';
|
|
6
|
-
import { getExecutionTypePair, } from './TurnContextUtils';
|
|
5
|
+
import { InvokeAgentScope, InferenceScope, ExecuteToolScope, } from '@microsoft/agents-a365-observability';
|
|
7
6
|
/**
|
|
8
7
|
* Unified utilities to populate scope tags from a TurnContext.
|
|
9
8
|
* Provides common tag population and scope-specific helpers.
|
|
@@ -157,7 +156,6 @@ export class ScopeUtils {
|
|
|
157
156
|
static buildInvokeAgentDetails(details, turnContext) {
|
|
158
157
|
const agent = ScopeUtils.deriveAgentDetails(turnContext);
|
|
159
158
|
const srcMetaFromContext = ScopeUtils.deriveSourceMetadataObject(turnContext);
|
|
160
|
-
const executionTypePair = getExecutionTypePair(turnContext);
|
|
161
159
|
const baseRequest = details.request ?? {};
|
|
162
160
|
const baseSource = baseRequest.sourceMetadata ?? {};
|
|
163
161
|
const mergedSourceMetadata = {
|
|
@@ -171,7 +169,6 @@ export class ScopeUtils {
|
|
|
171
169
|
conversationId: ScopeUtils.deriveConversationId(turnContext),
|
|
172
170
|
request: {
|
|
173
171
|
...baseRequest,
|
|
174
|
-
executionType: executionTypePair.length > 0 ? executionTypePair[0][1] : baseRequest.executionType,
|
|
175
172
|
sourceMetadata: mergedSourceMetadata
|
|
176
173
|
}
|
|
177
174
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAIjF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/agents-a365-observability-hosting",
|
|
3
|
-
"version": "0.1.0-preview.
|
|
3
|
+
"version": "0.1.0-preview.115",
|
|
4
4
|
"description": "Hosting & Observability utilities for Agent365 (Node.js): token caching, baggage builder, hosting registration.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent365",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"CHANGELOG.md"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@microsoft/agents-a365-observability": "0.1.0-preview.
|
|
33
|
-
"@microsoft/agents-a365-runtime": "0.1.0-preview.
|
|
32
|
+
"@microsoft/agents-a365-observability": "0.1.0-preview.115",
|
|
33
|
+
"@microsoft/agents-a365-runtime": "0.1.0-preview.115",
|
|
34
34
|
"@microsoft/agents-hosting": "^1.1.0-alpha.85",
|
|
35
35
|
"@opentelemetry/api": "^1.9.0"
|
|
36
36
|
},
|