@microsoft/agents-a365-observability-hosting 0.1.0-preview.95 → 0.2.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/caching/AgenticTokenCache.d.ts +38 -1
- package/dist/cjs/caching/AgenticTokenCache.d.ts.map +1 -1
- package/dist/cjs/caching/AgenticTokenCache.js +48 -5
- package/dist/cjs/caching/AgenticTokenCache.js.map +1 -1
- package/dist/cjs/index.d.ts +5 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +10 -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 +34 -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 +34 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts.map +1 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.js +95 -0
- package/dist/cjs/middleware/OutputLoggingMiddleware.js.map +1 -0
- package/dist/cjs/utils/BaggageBuilderUtils.d.ts +2 -9
- package/dist/cjs/utils/BaggageBuilderUtils.d.ts.map +1 -1
- package/dist/cjs/utils/BaggageBuilderUtils.js +4 -15
- package/dist/cjs/utils/BaggageBuilderUtils.js.map +1 -1
- package/dist/cjs/utils/ScopeUtils.d.ts +39 -26
- package/dist/cjs/utils/ScopeUtils.d.ts.map +1 -1
- package/dist/cjs/utils/ScopeUtils.js +96 -71
- package/dist/cjs/utils/ScopeUtils.js.map +1 -1
- package/dist/cjs/utils/TurnContextUtils.d.ts +18 -10
- package/dist/cjs/utils/TurnContextUtils.d.ts.map +1 -1
- package/dist/cjs/utils/TurnContextUtils.js +33 -53
- package/dist/cjs/utils/TurnContextUtils.js.map +1 -1
- package/dist/esm/caching/AgenticTokenCache.d.ts +38 -1
- package/dist/esm/caching/AgenticTokenCache.d.ts.map +1 -1
- package/dist/esm/caching/AgenticTokenCache.js +48 -6
- package/dist/esm/caching/AgenticTokenCache.js.map +1 -1
- package/dist/esm/index.d.ts +5 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -1
- 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 +30 -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 +34 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.d.ts.map +1 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.js +91 -0
- package/dist/esm/middleware/OutputLoggingMiddleware.js.map +1 -0
- package/dist/esm/utils/BaggageBuilderUtils.d.ts +2 -9
- package/dist/esm/utils/BaggageBuilderUtils.d.ts.map +1 -1
- package/dist/esm/utils/BaggageBuilderUtils.js +5 -16
- package/dist/esm/utils/BaggageBuilderUtils.js.map +1 -1
- package/dist/esm/utils/ScopeUtils.d.ts +39 -26
- package/dist/esm/utils/ScopeUtils.d.ts.map +1 -1
- package/dist/esm/utils/ScopeUtils.js +98 -73
- package/dist/esm/utils/ScopeUtils.js.map +1 -1
- package/dist/esm/utils/TurnContextUtils.d.ts +18 -10
- package/dist/esm/utils/TurnContextUtils.d.ts.map +1 -1
- package/dist/esm/utils/TurnContextUtils.js +32 -52
- package/dist/esm/utils/TurnContextUtils.js.map +1 -1
- package/package.json +5 -4
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import { TurnContext, Authorization } from '@microsoft/agents-hosting';
|
|
2
|
-
|
|
2
|
+
import { ObservabilityConfiguration } from '@microsoft/agents-a365-observability';
|
|
3
|
+
import { IConfigurationProvider } from '@microsoft/agents-a365-runtime';
|
|
4
|
+
/**
|
|
5
|
+
* Cache for agentic authentication tokens used by observability services.
|
|
6
|
+
*
|
|
7
|
+
* For custom configuration, create a new instance with your own configuration provider:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const customCache = new AgenticTokenCache(myConfigProvider);
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* For default configuration using environment variables, use the exported
|
|
13
|
+
* `AgenticTokenCacheInstance` singleton.
|
|
14
|
+
*/
|
|
15
|
+
export declare class AgenticTokenCache {
|
|
3
16
|
private readonly _map;
|
|
4
17
|
private readonly _defaultRefreshSkewMs;
|
|
5
18
|
private readonly _defaultMaxTokenAgeMs;
|
|
19
|
+
private readonly _maxCacheSize;
|
|
20
|
+
private readonly _maxExpSeconds;
|
|
6
21
|
private readonly _keyLocks;
|
|
22
|
+
private readonly _configProvider;
|
|
23
|
+
/**
|
|
24
|
+
* Construct an AgenticTokenCache.
|
|
25
|
+
* @param configProvider Optional configuration provider. Defaults to defaultObservabilityConfigurationProvider if not specified.
|
|
26
|
+
*/
|
|
27
|
+
constructor(configProvider?: IConfigurationProvider<ObservabilityConfiguration>);
|
|
7
28
|
static makeKey(agentId: string, tenantId: string): string;
|
|
8
29
|
getObservabilityToken(agentId: string, tenantId: string): string | null;
|
|
9
30
|
RefreshObservabilityToken(agentId: string, tenantId: string, turnContext: TurnContext, authorization: Authorization, scopes: string[]): Promise<void>;
|
|
@@ -15,6 +36,22 @@ declare class AgenticTokenCache {
|
|
|
15
36
|
private sleep;
|
|
16
37
|
private withKeyLock;
|
|
17
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Default singleton instance of AgenticTokenCache using the default configuration provider.
|
|
41
|
+
*
|
|
42
|
+
* This instance uses `defaultObservabilityConfigurationProvider` which reads from
|
|
43
|
+
* environment variables. It is suitable for:
|
|
44
|
+
* - Single-tenant deployments
|
|
45
|
+
* - Multi-tenant deployments using dynamic override functions in the configuration
|
|
46
|
+
*
|
|
47
|
+
* **For custom configuration:** Create a new `AgenticTokenCache` instance with your
|
|
48
|
+
* own `IConfigurationProvider<ObservabilityConfiguration>`:
|
|
49
|
+
* ```typescript
|
|
50
|
+
* import { AgenticTokenCache } from '@microsoft/agents-a365-observability-hosting';
|
|
51
|
+
*
|
|
52
|
+
* const customCache = new AgenticTokenCache(myCustomConfigProvider);
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
18
55
|
export declare const AgenticTokenCacheInstance: AgenticTokenCache;
|
|
19
56
|
export default AgenticTokenCacheInstance;
|
|
20
57
|
//# sourceMappingURL=AgenticTokenCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgenticTokenCache.d.ts","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"AgenticTokenCache.d.ts","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAuB,0BAA0B,EAA6C,MAAM,sCAAsC,CAAC;AAClJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AASxE;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqD;IAErF;;;OAGG;gBACS,cAAc,CAAC,EAAE,sBAAsB,CAAC,0BAA0B,CAAC;WAIjE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIzD,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBjE,yBAAyB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;IAuET,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQxD,aAAa,IAAI,IAAI;IAI5B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,KAAK;YAIC,WAAW;CAiB5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,mBAA0B,CAAC;AACjE,eAAe,yBAAyB,CAAC"}
|
|
@@ -4,15 +4,32 @@
|
|
|
4
4
|
// Licensed under the MIT License.
|
|
5
5
|
// ------------------------------------------------------------------------------
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AgenticTokenCacheInstance = void 0;
|
|
8
|
-
const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
|
|
7
|
+
exports.AgenticTokenCacheInstance = exports.AgenticTokenCache = void 0;
|
|
9
8
|
const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
|
|
9
|
+
/**
|
|
10
|
+
* Cache for agentic authentication tokens used by observability services.
|
|
11
|
+
*
|
|
12
|
+
* For custom configuration, create a new instance with your own configuration provider:
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const customCache = new AgenticTokenCache(myConfigProvider);
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* For default configuration using environment variables, use the exported
|
|
18
|
+
* `AgenticTokenCacheInstance` singleton.
|
|
19
|
+
*/
|
|
10
20
|
class AgenticTokenCache {
|
|
11
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Construct an AgenticTokenCache.
|
|
23
|
+
* @param configProvider Optional configuration provider. Defaults to defaultObservabilityConfigurationProvider if not specified.
|
|
24
|
+
*/
|
|
25
|
+
constructor(configProvider) {
|
|
12
26
|
this._map = new Map();
|
|
13
27
|
this._defaultRefreshSkewMs = 60000;
|
|
14
28
|
this._defaultMaxTokenAgeMs = 3600000;
|
|
29
|
+
this._maxCacheSize = 10000;
|
|
30
|
+
this._maxExpSeconds = 86400; // 24 hours
|
|
15
31
|
this._keyLocks = new Map();
|
|
32
|
+
this._configProvider = configProvider ?? agents_a365_observability_1.defaultObservabilityConfigurationProvider;
|
|
16
33
|
}
|
|
17
34
|
static makeKey(agentId, tenantId) {
|
|
18
35
|
return `${agentId}:${tenantId}`;
|
|
@@ -45,12 +62,18 @@ class AgenticTokenCache {
|
|
|
45
62
|
return this.withKeyLock(key, async () => {
|
|
46
63
|
let entry = this._map.get(key);
|
|
47
64
|
if (!entry) {
|
|
48
|
-
const effectiveScopes = (scopes && scopes.length > 0) ? scopes :
|
|
65
|
+
const effectiveScopes = (scopes && scopes.length > 0) ? scopes : [...this._configProvider.getConfiguration().observabilityAuthenticationScopes];
|
|
49
66
|
if (!Array.isArray(effectiveScopes) || effectiveScopes.length === 0) {
|
|
50
67
|
agents_a365_observability_1.logger.error('[AgenticTokenCache] No valid scopes');
|
|
51
68
|
return;
|
|
52
69
|
}
|
|
53
70
|
entry = { scopes: effectiveScopes };
|
|
71
|
+
if (this._map.size >= this._maxCacheSize) {
|
|
72
|
+
const oldest = this._map.keys().next().value;
|
|
73
|
+
if (oldest !== undefined) {
|
|
74
|
+
this._map.delete(oldest);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
54
77
|
this._map.set(key, entry);
|
|
55
78
|
}
|
|
56
79
|
if (!Array.isArray(entry.scopes) || entry.scopes.length === 0) {
|
|
@@ -120,7 +143,10 @@ class AgenticTokenCache {
|
|
|
120
143
|
const payloadSegment = parts[1];
|
|
121
144
|
const padded = payloadSegment + '='.repeat((4 - (payloadSegment.length % 4)) % 4);
|
|
122
145
|
const json = JSON.parse(Buffer.from(padded, 'base64').toString('utf8'));
|
|
123
|
-
|
|
146
|
+
if (typeof json.exp !== 'number')
|
|
147
|
+
return undefined;
|
|
148
|
+
const maxExp = Math.floor(Date.now() / 1000) + this._maxExpSeconds;
|
|
149
|
+
return Math.min(json.exp, maxExp);
|
|
124
150
|
}
|
|
125
151
|
catch {
|
|
126
152
|
return undefined;
|
|
@@ -177,6 +203,23 @@ class AgenticTokenCache {
|
|
|
177
203
|
return currentPromise;
|
|
178
204
|
}
|
|
179
205
|
}
|
|
206
|
+
exports.AgenticTokenCache = AgenticTokenCache;
|
|
207
|
+
/**
|
|
208
|
+
* Default singleton instance of AgenticTokenCache using the default configuration provider.
|
|
209
|
+
*
|
|
210
|
+
* This instance uses `defaultObservabilityConfigurationProvider` which reads from
|
|
211
|
+
* environment variables. It is suitable for:
|
|
212
|
+
* - Single-tenant deployments
|
|
213
|
+
* - Multi-tenant deployments using dynamic override functions in the configuration
|
|
214
|
+
*
|
|
215
|
+
* **For custom configuration:** Create a new `AgenticTokenCache` instance with your
|
|
216
|
+
* own `IConfigurationProvider<ObservabilityConfiguration>`:
|
|
217
|
+
* ```typescript
|
|
218
|
+
* import { AgenticTokenCache } from '@microsoft/agents-a365-observability-hosting';
|
|
219
|
+
*
|
|
220
|
+
* const customCache = new AgenticTokenCache(myCustomConfigProvider);
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
180
223
|
exports.AgenticTokenCacheInstance = new AgenticTokenCache();
|
|
181
224
|
exports.default = exports.AgenticTokenCacheInstance;
|
|
182
225
|
//# sourceMappingURL=AgenticTokenCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgenticTokenCache.js","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;AAGjF,
|
|
1
|
+
{"version":3,"file":"AgenticTokenCache.js","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export * from './utils/BaggageBuilderUtils';
|
|
2
2
|
export * from './utils/ScopeUtils';
|
|
3
3
|
export * from './utils/TurnContextUtils';
|
|
4
|
-
export { AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
|
|
4
|
+
export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
|
|
5
|
+
export { BaggageMiddleware } from './middleware/BaggageMiddleware';
|
|
6
|
+
export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_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,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,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1H,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,10 +18,19 @@ 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 = void 0;
|
|
21
|
+
exports.ObservabilityHostingManager = exports.A365_AUTH_TOKEN_KEY = 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
|
+
Object.defineProperty(exports, "AgenticTokenCache", { enumerable: true, get: function () { return AgenticTokenCache_1.AgenticTokenCache; } });
|
|
26
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
|
+
Object.defineProperty(exports, "A365_AUTH_TOKEN_KEY", { enumerable: true, get: function () { return OutputLoggingMiddleware_1.A365_AUTH_TOKEN_KEY; } });
|
|
34
|
+
var ObservabilityHostingManager_1 = require("./middleware/ObservabilityHostingManager");
|
|
35
|
+
Object.defineProperty(exports, "ObservabilityHostingManager", { enumerable: true, get: function () { return ObservabilityHostingManager_1.ObservabilityHostingManager; } });
|
|
27
36
|
//# 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,
|
|
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,gFAA0H;AAAjH,kIAAA,uBAAuB,OAAA;AAAE,+HAAA,oBAAoB,OAAA;AAAE,8HAAA,mBAAmB,OAAA;AAC3E,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;AAWpE;;;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;CAsB7E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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.getChannelBaggagePairs)(context))
|
|
26
|
+
.setPairs((0, TurnContextUtils_1.getConversationIdAndItemLinkPairs)(context))
|
|
27
|
+
.build();
|
|
28
|
+
await baggageScope.run(async () => {
|
|
29
|
+
await next();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.BaggageMiddleware = BaggageMiddleware;
|
|
34
|
+
//# 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,gEAMmC;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,yCAAsB,EAAC,OAAO,CAAC,CAAC;aACzC,QAAQ,CAAC,IAAA,oDAAiC,EAAC,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;AAxBD,8CAwBC"}
|
|
@@ -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 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<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,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,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 === true;
|
|
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,IAAI,CAAC;QACrD,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,34 @@
|
|
|
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
|
+
* 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 Middleware {
|
|
21
|
+
onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the auth token for agent identity resolution.
|
|
24
|
+
* When per-request export is enabled, reads from turnState.
|
|
25
|
+
* Otherwise, reads from the cached observability token.
|
|
26
|
+
*/
|
|
27
|
+
private resolveAuthToken;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a send handler that wraps outgoing messages in OutputScope spans.
|
|
30
|
+
* Reads parent span ref lazily so the agent handler can set it during `next()`.
|
|
31
|
+
*/
|
|
32
|
+
private _createSendHandler;
|
|
33
|
+
}
|
|
34
|
+
//# 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;AAc3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;;;;;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;IAyB5E;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA6C3B"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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_AUTH_TOKEN_KEY = 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
|
+
const AgenticTokenCache_1 = require("../caching/AgenticTokenCache");
|
|
9
|
+
/**
|
|
10
|
+
* TurnState key for the parent span reference.
|
|
11
|
+
* Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
|
|
12
|
+
*/
|
|
13
|
+
exports.A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
|
|
14
|
+
/**
|
|
15
|
+
* TurnState key for the auth token.
|
|
16
|
+
* Set this in `turnState` so middleware can resolve the agent blueprint ID
|
|
17
|
+
* from token claims (used for embodied/agentic requests).
|
|
18
|
+
*/
|
|
19
|
+
exports.A365_AUTH_TOKEN_KEY = 'A365AuthToken';
|
|
20
|
+
/**
|
|
21
|
+
* Middleware that creates {@link OutputScope} spans for outgoing messages.
|
|
22
|
+
* Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
|
|
23
|
+
*
|
|
24
|
+
* **Privacy note:** Outgoing message content is captured verbatim
|
|
25
|
+
* as span attributes and exported to the configured telemetry backend.
|
|
26
|
+
*/
|
|
27
|
+
class OutputLoggingMiddleware {
|
|
28
|
+
async onTurn(context, next) {
|
|
29
|
+
const authToken = this.resolveAuthToken(context);
|
|
30
|
+
const agentDetails = ScopeUtils_1.ScopeUtils.deriveAgentDetails(context, authToken);
|
|
31
|
+
if (!agentDetails || !agentDetails.tenantId) {
|
|
32
|
+
await next();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const userDetails = ScopeUtils_1.ScopeUtils.deriveCallerDetails(context);
|
|
36
|
+
const conversationId = ScopeUtils_1.ScopeUtils.deriveConversationId(context);
|
|
37
|
+
const channel = ScopeUtils_1.ScopeUtils.deriveChannelObject(context);
|
|
38
|
+
const request = {
|
|
39
|
+
conversationId,
|
|
40
|
+
channel,
|
|
41
|
+
};
|
|
42
|
+
context.onSendActivities(this._createSendHandler(context, agentDetails, userDetails, request));
|
|
43
|
+
await next();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Resolve the auth token for agent identity resolution.
|
|
47
|
+
* When per-request export is enabled, reads from turnState.
|
|
48
|
+
* Otherwise, reads from the cached observability token.
|
|
49
|
+
*/
|
|
50
|
+
resolveAuthToken(context) {
|
|
51
|
+
if ((0, agents_a365_observability_1.isPerRequestExportEnabled)()) {
|
|
52
|
+
return context.turnState.get(exports.A365_AUTH_TOKEN_KEY) ?? '';
|
|
53
|
+
}
|
|
54
|
+
const agentId = context.activity?.getAgenticInstanceId?.() ?? '';
|
|
55
|
+
const tenantId = context.activity?.getAgenticTenantId?.() ?? '';
|
|
56
|
+
if (agentId && tenantId) {
|
|
57
|
+
return AgenticTokenCache_1.AgenticTokenCacheInstance.getObservabilityToken(agentId, tenantId) ?? '';
|
|
58
|
+
}
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Creates a send handler that wraps outgoing messages in OutputScope spans.
|
|
63
|
+
* Reads parent span ref lazily so the agent handler can set it during `next()`.
|
|
64
|
+
*/
|
|
65
|
+
_createSendHandler(turnContext, agentDetails, userDetails, request) {
|
|
66
|
+
return async (_ctx, activities, sendNext) => {
|
|
67
|
+
const messages = activities
|
|
68
|
+
.filter((a) => a.type === 'message' && a.text)
|
|
69
|
+
.map((a) => a.text);
|
|
70
|
+
if (messages.length === 0) {
|
|
71
|
+
return await sendNext();
|
|
72
|
+
}
|
|
73
|
+
const parentSpanRef = turnContext.turnState.get(exports.A365_PARENT_SPAN_KEY);
|
|
74
|
+
if (!parentSpanRef) {
|
|
75
|
+
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.`);
|
|
76
|
+
}
|
|
77
|
+
const spanDetails = parentSpanRef
|
|
78
|
+
? { parentContext: parentSpanRef }
|
|
79
|
+
: undefined;
|
|
80
|
+
const outputScope = agents_a365_observability_1.OutputScope.start(request ?? {}, { messages }, agentDetails, userDetails, spanDetails);
|
|
81
|
+
try {
|
|
82
|
+
return await sendNext();
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
outputScope.recordError(error instanceof Error ? error : new Error(typeof error === 'string' ? error : JSON.stringify(error)));
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
outputScope.dispose();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.OutputLoggingMiddleware = OutputLoggingMiddleware;
|
|
95
|
+
//# sourceMappingURL=OutputLoggingMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,13 +18,6 @@ export declare class BaggageBuilderUtils {
|
|
|
18
18
|
* @returns The updated BaggageBuilder instance.
|
|
19
19
|
*/
|
|
20
20
|
static setCallerBaggage(builder: BaggageBuilder, turnContext: TurnContext): BaggageBuilder;
|
|
21
|
-
/**
|
|
22
|
-
* Sets the execution type baggage value based on caller and recipient agentic status.
|
|
23
|
-
* @param builder The BaggageBuilder instance.
|
|
24
|
-
* @param turnContext The TurnContext containing activity information.
|
|
25
|
-
* @returns The updated BaggageBuilder instance.
|
|
26
|
-
*/
|
|
27
|
-
static setExecutionTypeBaggage(builder: BaggageBuilder, turnContext: TurnContext): BaggageBuilder;
|
|
28
21
|
/**
|
|
29
22
|
* Sets the target agent-related baggage values from the TurnContext.
|
|
30
23
|
* @param builder The BaggageBuilder instance.
|
|
@@ -40,12 +33,12 @@ export declare class BaggageBuilderUtils {
|
|
|
40
33
|
*/
|
|
41
34
|
static setTenantIdBaggage(builder: BaggageBuilder, turnContext: TurnContext): BaggageBuilder;
|
|
42
35
|
/**
|
|
43
|
-
* Sets the
|
|
36
|
+
* Sets the channel baggage values from the TurnContext.
|
|
44
37
|
* @param builder The BaggageBuilder instance.
|
|
45
38
|
* @param turnContext The TurnContext containing activity information.
|
|
46
39
|
* @returns The updated BaggageBuilder instance.
|
|
47
40
|
*/
|
|
48
|
-
static
|
|
41
|
+
static setChannelBaggage(builder: BaggageBuilder, turnContext: TurnContext): BaggageBuilder;
|
|
49
42
|
/**
|
|
50
43
|
* Sets the conversation ID and item link baggage values from the TurnContext.
|
|
51
44
|
* @param builder The BaggageBuilder instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaggageBuilderUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BaggageBuilderUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaggageBuilderUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BaggageBuilderUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAItE;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAYzF;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAM1F;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAM/F;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAM5F;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAM3F;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;CAInG"}
|
|
@@ -21,10 +21,9 @@ class BaggageBuilderUtils {
|
|
|
21
21
|
throw new Error('turnContext is required');
|
|
22
22
|
}
|
|
23
23
|
this.setCallerBaggage(builder, turnContext);
|
|
24
|
-
this.setExecutionTypeBaggage(builder, turnContext);
|
|
25
24
|
this.setTargetAgentBaggage(builder, turnContext);
|
|
26
25
|
this.setTenantIdBaggage(builder, turnContext);
|
|
27
|
-
this.
|
|
26
|
+
this.setChannelBaggage(builder, turnContext);
|
|
28
27
|
this.setConversationIdBaggage(builder, turnContext);
|
|
29
28
|
return builder;
|
|
30
29
|
}
|
|
@@ -38,16 +37,6 @@ class BaggageBuilderUtils {
|
|
|
38
37
|
builder.setPairs((0, TurnContextUtils_1.getCallerBaggagePairs)(turnContext));
|
|
39
38
|
return builder;
|
|
40
39
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Sets the execution type baggage value based on caller and recipient agentic status.
|
|
43
|
-
* @param builder The BaggageBuilder instance.
|
|
44
|
-
* @param turnContext The TurnContext containing activity information.
|
|
45
|
-
* @returns The updated BaggageBuilder instance.
|
|
46
|
-
*/
|
|
47
|
-
static setExecutionTypeBaggage(builder, turnContext) {
|
|
48
|
-
builder.setPairs((0, TurnContextUtils_1.getExecutionTypePair)(turnContext));
|
|
49
|
-
return builder;
|
|
50
|
-
}
|
|
51
40
|
/**
|
|
52
41
|
* Sets the target agent-related baggage values from the TurnContext.
|
|
53
42
|
* @param builder The BaggageBuilder instance.
|
|
@@ -69,13 +58,13 @@ class BaggageBuilderUtils {
|
|
|
69
58
|
return builder;
|
|
70
59
|
}
|
|
71
60
|
/**
|
|
72
|
-
* Sets the
|
|
61
|
+
* Sets the channel baggage values from the TurnContext.
|
|
73
62
|
* @param builder The BaggageBuilder instance.
|
|
74
63
|
* @param turnContext The TurnContext containing activity information.
|
|
75
64
|
* @returns The updated BaggageBuilder instance.
|
|
76
65
|
*/
|
|
77
|
-
static
|
|
78
|
-
builder.setPairs((0, TurnContextUtils_1.
|
|
66
|
+
static setChannelBaggage(builder, turnContext) {
|
|
67
|
+
builder.setPairs((0, TurnContextUtils_1.getChannelBaggagePairs)(turnContext));
|
|
79
68
|
return builder;
|
|
80
69
|
}
|
|
81
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaggageBuilderUtils.js","sourceRoot":"","sources":["../../../src/utils/BaggageBuilderUtils.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;AAGjF,
|
|
1
|
+
{"version":3,"file":"BaggageBuilderUtils.js","sourceRoot":"","sources":["../../../src/utils/BaggageBuilderUtils.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;AAGjF,yDAM4B;AAK5B;;GAEG;AACH,MAAa,mBAAmB;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,OAAuB,EAAE,WAAwB;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAuB,EAAE,WAAwB;QACvE,OAAO,CAAC,QAAQ,CAAC,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAuB,EAAE,WAAwB;QAC5E,OAAO,CAAC,QAAQ,CAAC,IAAA,6CAA0B,EAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAuB,EAAE,WAAwB;QACzE,OAAO,CAAC,QAAQ,CAAC,IAAA,kCAAe,EAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAuB,EAAE,WAAwB;QACxE,OAAO,CAAC,QAAQ,CAAC,IAAA,yCAAsB,EAAC,WAAW,CAAC,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAuB,EAAE,WAAwB;QAC/E,OAAO,CAAC,QAAQ,CAAC,IAAA,oDAAiC,EAAC,WAAW,CAAC,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA7ED,kDA6EC"}
|