@microsoft/agents-a365-observability 0.1.0-preview.123 → 0.1.0-preview.124
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/ObservabilityBuilder.d.ts +8 -0
- package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
- package/dist/cjs/ObservabilityBuilder.js +17 -5
- package/dist/cjs/ObservabilityBuilder.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tracing/constants.d.ts +2 -1
- package/dist/cjs/tracing/constants.d.ts.map +1 -1
- package/dist/cjs/tracing/constants.js +1 -0
- package/dist/cjs/tracing/constants.js.map +1 -1
- package/dist/cjs/tracing/context/trace-context-propagation.d.ts +7 -7
- package/dist/cjs/tracing/context/trace-context-propagation.d.ts.map +1 -1
- package/dist/cjs/tracing/context/trace-context-propagation.js +9 -9
- package/dist/cjs/tracing/context/trace-context-propagation.js.map +1 -1
- package/dist/cjs/tracing/contracts.d.ts +46 -15
- package/dist/cjs/tracing/contracts.d.ts.map +1 -1
- package/dist/cjs/tracing/contracts.js +2 -3
- package/dist/cjs/tracing/contracts.js.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +8 -18
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js +18 -22
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts +8 -14
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.js +18 -19
- package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +11 -14
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js +41 -41
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +12 -7
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +29 -22
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.d.ts +7 -13
- package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.js +16 -16
- package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/ObservabilityBuilder.d.ts +8 -0
- package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
- package/dist/esm/ObservabilityBuilder.js +18 -6
- package/dist/esm/ObservabilityBuilder.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tracing/constants.d.ts +2 -1
- package/dist/esm/tracing/constants.d.ts.map +1 -1
- package/dist/esm/tracing/constants.js +1 -0
- package/dist/esm/tracing/constants.js.map +1 -1
- package/dist/esm/tracing/context/trace-context-propagation.d.ts +7 -7
- package/dist/esm/tracing/context/trace-context-propagation.d.ts.map +1 -1
- package/dist/esm/tracing/context/trace-context-propagation.js +7 -7
- package/dist/esm/tracing/context/trace-context-propagation.js.map +1 -1
- package/dist/esm/tracing/contracts.d.ts +46 -15
- package/dist/esm/tracing/contracts.d.ts.map +1 -1
- package/dist/esm/tracing/contracts.js +2 -3
- package/dist/esm/tracing/contracts.js.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +8 -18
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.js +18 -22
- package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.d.ts +8 -14
- package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.js +18 -19
- package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +11 -14
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.js +41 -41
- package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +12 -7
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js +29 -22
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.d.ts +7 -13
- package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.js +16 -16
- package/dist/esm/tracing/scopes/OutputScope.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecuteToolScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/ExecuteToolScope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"ExecuteToolScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/ExecuteToolScope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAA8C;AAC9C,6DAA0D;AAQ1D,4CAAsD;AAEtD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,uCAAkB;IACtD;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CACjB,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,WAAyB,EACzB,WAAyB;QAEzB,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACxF,CAAC;IAED,YACE,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,WAAyB,EACzB,WAAyB;QAEzB,wDAAwD;QACxD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,CACH,WAAW,EAAE,QAAQ,IAAI,cAAQ,CAAC,QAAQ,EAC1C,kCAAsB,CAAC,2BAA2B,EAClD,GAAG,kCAAsB,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,EAAE,EAC3E,YAAY,EACZ,WAAW,EAAE,aAAa,EAC1B,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,OAAO,EACpB,WAAW,CACZ,CAAC;QAEF,iCAAiC;QACjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE3F,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,0BAA0B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExF,uCAAuC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3E,oEAAoE;YACpE,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,QAAgB;QACpC,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACF;AA1ED,4CA0EC"}
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import { TimeInput } from '@opentelemetry/api';
|
|
2
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
3
|
-
import { InferenceDetails, AgentDetails,
|
|
4
|
-
import { ParentContext } from '../context/trace-context-propagation';
|
|
2
|
+
import { InferenceDetails, AgentDetails, UserDetails, Request, SpanDetails } from '../contracts';
|
|
5
3
|
/**
|
|
6
4
|
* Provides OpenTelemetry tracing scope for generative AI inference operations.
|
|
7
5
|
*/
|
|
8
6
|
export declare class InferenceScope extends OpenTelemetryScope {
|
|
9
7
|
/**
|
|
10
8
|
* Creates and starts a new scope for inference tracing.
|
|
11
|
-
*
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* Accepts a ParentSpanRef (manual traceId/spanId) or an OTel Context (e.g. from extractTraceContext).
|
|
18
|
-
* @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
|
|
19
|
-
* @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
|
|
20
|
-
* @param callerDetails Optional caller details.
|
|
9
|
+
*
|
|
10
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
11
|
+
* @param details The inference call details (model, provider, tokens, etc.).
|
|
12
|
+
* @param agentDetails The agent performing the inference. Tenant ID is derived from `agentDetails.tenantId`.
|
|
13
|
+
* @param userDetails Optional human caller identity.
|
|
14
|
+
* @param spanDetails Optional span configuration (parentContext, startTime, endTime). Note: `spanKind` is ignored; InferenceScope always uses `SpanKind.CLIENT`.
|
|
21
15
|
* @returns A new InferenceScope instance
|
|
22
16
|
*/
|
|
23
|
-
static start(details: InferenceDetails, agentDetails: AgentDetails,
|
|
17
|
+
static start(request: Request, details: InferenceDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): InferenceScope;
|
|
24
18
|
private constructor();
|
|
25
19
|
/**
|
|
26
20
|
* Records the input messages for telemetry tracking.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InferenceScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InferenceScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD;;;;;;;;;OASG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc;IAIjB,OAAO;IA6CP;;;OAGG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIrD;;;OAGG;IACI,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAInD;;;OAGG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIrD;;;OAGG;IACI,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;CAM1D"}
|
|
@@ -12,34 +12,33 @@ const constants_1 = require("../constants");
|
|
|
12
12
|
class InferenceScope extends OpenTelemetryScope_1.OpenTelemetryScope {
|
|
13
13
|
/**
|
|
14
14
|
* Creates and starts a new scope for inference tracing.
|
|
15
|
-
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
* Accepts a ParentSpanRef (manual traceId/spanId) or an OTel Context (e.g. from extractTraceContext).
|
|
22
|
-
* @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
|
|
23
|
-
* @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
|
|
24
|
-
* @param callerDetails Optional caller details.
|
|
15
|
+
*
|
|
16
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
17
|
+
* @param details The inference call details (model, provider, tokens, etc.).
|
|
18
|
+
* @param agentDetails The agent performing the inference. Tenant ID is derived from `agentDetails.tenantId`.
|
|
19
|
+
* @param userDetails Optional human caller identity.
|
|
20
|
+
* @param spanDetails Optional span configuration (parentContext, startTime, endTime). Note: `spanKind` is ignored; InferenceScope always uses `SpanKind.CLIENT`.
|
|
25
21
|
* @returns A new InferenceScope instance
|
|
26
22
|
*/
|
|
27
|
-
static start(details, agentDetails,
|
|
28
|
-
return new InferenceScope(details, agentDetails,
|
|
23
|
+
static start(request, details, agentDetails, userDetails, spanDetails) {
|
|
24
|
+
return new InferenceScope(request, details, agentDetails, userDetails, spanDetails);
|
|
29
25
|
}
|
|
30
|
-
constructor(details, agentDetails,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
constructor(request, details, agentDetails, userDetails, spanDetails) {
|
|
27
|
+
// Validate tenantId is present (required for telemetry)
|
|
28
|
+
if (!agentDetails.tenantId) {
|
|
29
|
+
throw new Error('InferenceScope: tenantId is required on agentDetails');
|
|
30
|
+
}
|
|
31
|
+
super(api_1.SpanKind.CLIENT, details.operationName.toString(), `${details.operationName} ${details.model}`, agentDetails, spanDetails?.parentContext, spanDetails?.startTime, spanDetails?.endTime, userDetails);
|
|
32
|
+
// Set core inference information
|
|
34
33
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_REQUEST_MODEL_KEY, details.model);
|
|
35
34
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, details.providerName);
|
|
36
35
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_USAGE_INPUT_TOKENS_KEY, details.inputTokens);
|
|
37
36
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_USAGE_OUTPUT_TOKENS_KEY, details.outputTokens);
|
|
38
37
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY, details.finishReasons);
|
|
39
38
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_THOUGHT_PROCESS_KEY, details.thoughtProcess);
|
|
40
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, conversationId);
|
|
41
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_NAME_KEY, channel?.name);
|
|
42
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_LINK_KEY, channel?.description);
|
|
39
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
40
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
|
|
41
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel?.description);
|
|
43
42
|
// Set endpoint information if provided
|
|
44
43
|
if (details.endpoint) {
|
|
45
44
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_ADDRESS_KEY, details.endpoint.host);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InferenceScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"InferenceScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
import { SpanKind, TimeInput } from '@opentelemetry/api';
|
|
2
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
3
|
-
import {
|
|
4
|
-
import { ParentContext } from '../context/trace-context-propagation';
|
|
2
|
+
import { InvokeAgentScopeDetails, CallerDetails, Request, SpanDetails, AgentDetails } from '../contracts';
|
|
5
3
|
/**
|
|
6
4
|
* Provides OpenTelemetry tracing scope for AI agent invocation operations.
|
|
7
5
|
*/
|
|
8
6
|
export declare class InvokeAgentScope extends OpenTelemetryScope {
|
|
9
7
|
/**
|
|
10
8
|
* Creates and starts a new scope for agent invocation tracing.
|
|
11
|
-
*
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* @param
|
|
20
|
-
* Use `SpanKind.SERVER` when the agent is receiving an inbound request.
|
|
9
|
+
*
|
|
10
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
11
|
+
* @param invokeScopeDetails Scope-level details
|
|
12
|
+
* @param agentDetails The agent identity. Tenant ID is derived from `agentDetails.tenantId` (required).
|
|
13
|
+
* @param callerDetails Optional caller information. Supports three scenarios:
|
|
14
|
+
* - Human caller only: `{ userDetails: { userId, userName, ... } }`
|
|
15
|
+
* - Agent caller only: `{ callerAgentDetails: { agentId, agentName, ... } }`
|
|
16
|
+
* - Both (A2A with human in chain): `{ userDetails: { ... }, callerAgentDetails: { ... } }`
|
|
17
|
+
* @param spanDetails Optional span configuration (parentContext, startTime, endTime, spanKind).
|
|
21
18
|
* @returns A new InvokeAgentScope instance.
|
|
22
19
|
*/
|
|
23
|
-
static start(
|
|
20
|
+
static start(request: Request, invokeScopeDetails: InvokeAgentScopeDetails, agentDetails: AgentDetails, callerDetails?: CallerDetails, spanDetails?: SpanDetails): InvokeAgentScope;
|
|
24
21
|
private constructor();
|
|
25
22
|
/**
|
|
26
23
|
* Records response information for telemetry tracking.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeAgentScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD;;;;;;;;;;;;OAYG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,uBAAuB,EAC3C,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,WAAW,GACxB,gBAAgB;IAInB,OAAO;IA4DP;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI7C;;;OAGG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;CAGtD"}
|
|
@@ -12,54 +12,54 @@ const constants_1 = require("../constants");
|
|
|
12
12
|
class InvokeAgentScope extends OpenTelemetryScope_1.OpenTelemetryScope {
|
|
13
13
|
/**
|
|
14
14
|
* Creates and starts a new scope for agent invocation tracing.
|
|
15
|
-
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* @param
|
|
24
|
-
* Use `SpanKind.SERVER` when the agent is receiving an inbound request.
|
|
15
|
+
*
|
|
16
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
17
|
+
* @param invokeScopeDetails Scope-level details
|
|
18
|
+
* @param agentDetails The agent identity. Tenant ID is derived from `agentDetails.tenantId` (required).
|
|
19
|
+
* @param callerDetails Optional caller information. Supports three scenarios:
|
|
20
|
+
* - Human caller only: `{ userDetails: { userId, userName, ... } }`
|
|
21
|
+
* - Agent caller only: `{ callerAgentDetails: { agentId, agentName, ... } }`
|
|
22
|
+
* - Both (A2A with human in chain): `{ userDetails: { ... }, callerAgentDetails: { ... } }`
|
|
23
|
+
* @param spanDetails Optional span configuration (parentContext, startTime, endTime, spanKind).
|
|
25
24
|
* @returns A new InvokeAgentScope instance.
|
|
26
25
|
*/
|
|
27
|
-
static start(
|
|
28
|
-
return new InvokeAgentScope(
|
|
26
|
+
static start(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails) {
|
|
27
|
+
return new InvokeAgentScope(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails);
|
|
29
28
|
}
|
|
30
|
-
constructor(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
constructor(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails) {
|
|
30
|
+
// Validate tenantId is present (required for telemetry)
|
|
31
|
+
if (!agentDetails.tenantId) {
|
|
32
|
+
throw new Error('InvokeAgentScope: tenantId is required on agentDetails');
|
|
33
|
+
}
|
|
34
|
+
super(spanDetails?.spanKind ?? api_1.SpanKind.CLIENT, constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, agentDetails.agentName
|
|
35
|
+
? `${constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME} ${agentDetails.agentName}`
|
|
36
|
+
: constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, agentDetails, spanDetails?.parentContext, spanDetails?.startTime, spanDetails?.endTime, callerDetails?.userDetails);
|
|
37
|
+
// Set provider name from agent details
|
|
38
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, agentDetails.providerName);
|
|
39
|
+
// Set session ID from request
|
|
40
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SESSION_ID_KEY, request.sessionId);
|
|
41
|
+
if (invokeScopeDetails.endpoint) {
|
|
42
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_ADDRESS_KEY, invokeScopeDetails.endpoint.host);
|
|
41
43
|
// Only record port if it is different from 443 (default HTTPS port)
|
|
42
|
-
if (
|
|
43
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_PORT_KEY,
|
|
44
|
+
if (invokeScopeDetails.endpoint.port && invokeScopeDetails.endpoint.port !== 443) {
|
|
45
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_PORT_KEY, invokeScopeDetails.endpoint.port);
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
|
-
// Set
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_NAME_KEY, requestToUse.channel.name);
|
|
51
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_LINK_KEY, requestToUse.channel.description);
|
|
52
|
-
}
|
|
48
|
+
// Set channel tags from request
|
|
49
|
+
if (request.channel) {
|
|
50
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel.name);
|
|
51
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel.description);
|
|
53
52
|
}
|
|
54
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY,
|
|
55
|
-
// Set caller agent details tags
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.
|
|
59
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.
|
|
60
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.
|
|
61
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.
|
|
62
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.
|
|
53
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
54
|
+
// Set caller agent details tags for A2A scenarios
|
|
55
|
+
const callerAgent = callerDetails?.callerAgentDetails;
|
|
56
|
+
if (callerAgent) {
|
|
57
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY, callerAgent.agentName);
|
|
58
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY, callerAgent.agentId);
|
|
59
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY, callerAgent.agentBlueprintId);
|
|
60
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY, callerAgent.agentAUID);
|
|
61
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY, callerAgent.agentEmail);
|
|
62
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY, callerAgent.platformId);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpanKind, Span, AttributeValue, SpanContext, TimeInput } from '@opentelemetry/api';
|
|
2
|
-
import { AgentDetails,
|
|
2
|
+
import { AgentDetails, UserDetails } from '../contracts';
|
|
3
3
|
import { ParentContext } from '../context/trace-context-propagation';
|
|
4
4
|
/**
|
|
5
5
|
* Base class for OpenTelemetry tracing scopes
|
|
@@ -18,19 +18,18 @@ export declare abstract class OpenTelemetryScope implements Disposable {
|
|
|
18
18
|
* @param kind The kind of span (CLIENT, SERVER, INTERNAL, etc.)
|
|
19
19
|
* @param operationName The name of the operation being traced
|
|
20
20
|
* @param spanName The name of the span for display purposes
|
|
21
|
-
* @param agentDetails Optional agent details
|
|
22
|
-
* @param tenantDetails Optional tenant details
|
|
21
|
+
* @param agentDetails Optional agent details. Tenant ID is read from `agentDetails.tenantId`.
|
|
23
22
|
* @param parentContext Optional parent context for cross-async-boundary tracing.
|
|
24
23
|
* Accepts a {@link ParentSpanRef} (manual traceId/spanId) or an OTel {@link Context}
|
|
25
|
-
* (e.g. from {@link
|
|
24
|
+
* (e.g. from {@link extractContextFromHeaders} for W3C header propagation).
|
|
26
25
|
* @param startTime Optional explicit start time (ms epoch, Date, or HrTime). When provided the span
|
|
27
26
|
* records this timestamp instead of "now", which is useful when recording an operation after it
|
|
28
27
|
* has already completed (e.g. a tool call whose start time was captured earlier).
|
|
29
28
|
* @param endTime Optional explicit end time (ms epoch, Date, or HrTime). When provided the span will
|
|
30
29
|
* use this timestamp when {@link dispose} is called instead of the current wall-clock time.
|
|
31
|
-
* @param
|
|
30
|
+
* @param userDetails Optional human caller identity details (id, upn, name, client ip).
|
|
32
31
|
*/
|
|
33
|
-
protected constructor(kind: SpanKind, operationName: string, spanName: string, agentDetails?: AgentDetails,
|
|
32
|
+
protected constructor(kind: SpanKind, operationName: string, spanName: string, agentDetails?: AgentDetails, parentContext?: ParentContext, startTime?: TimeInput, endTime?: TimeInput, userDetails?: UserDetails);
|
|
34
33
|
/**
|
|
35
34
|
* Makes this span active for the duration of the async callback execution
|
|
36
35
|
*/
|
|
@@ -52,7 +51,7 @@ export declare abstract class OpenTelemetryScope implements Disposable {
|
|
|
52
51
|
*/
|
|
53
52
|
recordAttributes(attributes: Iterable<[string, AttributeValue]> | Record<string, AttributeValue> | null | undefined): void;
|
|
54
53
|
/**
|
|
55
|
-
* Sets a tag on the span if
|
|
54
|
+
* Sets a tag on the span if the value is not null or undefined.
|
|
56
55
|
* @param name The tag name
|
|
57
56
|
* @param value The tag value
|
|
58
57
|
*/
|
|
@@ -75,6 +74,12 @@ export declare abstract class OpenTelemetryScope implements Disposable {
|
|
|
75
74
|
* @param endTime The end time as milliseconds since epoch, a Date, or an HrTime tuple.
|
|
76
75
|
*/
|
|
77
76
|
setEndTime(endTime: TimeInput): void;
|
|
77
|
+
/**
|
|
78
|
+
* Records a cancellation event on the span.
|
|
79
|
+
* Sets the span status to ERROR with the cancellation reason and marks the error type as 'TaskCanceledException'.
|
|
80
|
+
* @param reason Optional cancellation reason. Defaults to 'Task was cancelled'.
|
|
81
|
+
*/
|
|
82
|
+
recordCancellation(reason?: string): void;
|
|
78
83
|
/**
|
|
79
84
|
* Finalizes the scope and records metrics
|
|
80
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenTelemetryScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,QAAQ,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,QAAQ,EAAE,IAAI,EAA2B,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5H,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAmB,MAAM,sCAAsC,CAAC;AAGtF;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,UAAU;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAErF,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAY;IACpC,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,aACP,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,aAAa,EAC7B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,EACnB,WAAW,CAAC,EAAE,WAAW;IA0D3B;;OAEG;IACI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE;;;;OAIG;IACI,cAAc,IAAI,WAAW;IAIpC;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAkBtC;;;OAGG;IACI,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IA2BjI;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAMjI;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMtD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAI3C;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAUhD;;OAEG;IACH,OAAO,CAAC,GAAG;IAuBX;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAW/B;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB"}
|
|
@@ -20,19 +20,18 @@ class OpenTelemetryScope {
|
|
|
20
20
|
* @param kind The kind of span (CLIENT, SERVER, INTERNAL, etc.)
|
|
21
21
|
* @param operationName The name of the operation being traced
|
|
22
22
|
* @param spanName The name of the span for display purposes
|
|
23
|
-
* @param agentDetails Optional agent details
|
|
24
|
-
* @param tenantDetails Optional tenant details
|
|
23
|
+
* @param agentDetails Optional agent details. Tenant ID is read from `agentDetails.tenantId`.
|
|
25
24
|
* @param parentContext Optional parent context for cross-async-boundary tracing.
|
|
26
25
|
* Accepts a {@link ParentSpanRef} (manual traceId/spanId) or an OTel {@link Context}
|
|
27
|
-
* (e.g. from {@link
|
|
26
|
+
* (e.g. from {@link extractContextFromHeaders} for W3C header propagation).
|
|
28
27
|
* @param startTime Optional explicit start time (ms epoch, Date, or HrTime). When provided the span
|
|
29
28
|
* records this timestamp instead of "now", which is useful when recording an operation after it
|
|
30
29
|
* has already completed (e.g. a tool call whose start time was captured earlier).
|
|
31
30
|
* @param endTime Optional explicit end time (ms epoch, Date, or HrTime). When provided the span will
|
|
32
31
|
* use this timestamp when {@link dispose} is called instead of the current wall-clock time.
|
|
33
|
-
* @param
|
|
32
|
+
* @param userDetails Optional human caller identity details (id, upn, name, client ip).
|
|
34
33
|
*/
|
|
35
|
-
constructor(kind, operationName, spanName, agentDetails,
|
|
34
|
+
constructor(kind, operationName, spanName, agentDetails, parentContext, startTime, endTime, userDetails) {
|
|
36
35
|
this.hasEnded = false;
|
|
37
36
|
// Determine the context to use for span creation
|
|
38
37
|
let currentContext = api_1.context.active();
|
|
@@ -43,11 +42,11 @@ class OpenTelemetryScope {
|
|
|
43
42
|
logging_1.default.info(`[A365Observability] Using explicit parent span: traceId=${parentContext.traceId}, spanId=${parentContext.spanId}`);
|
|
44
43
|
}
|
|
45
44
|
else {
|
|
46
|
-
// OTel Context path (from
|
|
45
|
+
// OTel Context path (from extractContextFromHeaders or propagation.extract)
|
|
47
46
|
currentContext = parentContext;
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
logging_1.default.info(`[A365Observability] Starting span: ${spanName}, operation: ${operationName} for tenantId: ${
|
|
49
|
+
logging_1.default.info(`[A365Observability] Starting span: ${spanName}, operation: ${operationName} for tenantId: ${agentDetails?.tenantId || 'unknown'}, agentId: ${agentDetails?.agentId || 'unknown'}`);
|
|
51
50
|
// Start span with current context to establish parent-child relationship
|
|
52
51
|
this.span = OpenTelemetryScope.tracer.startSpan(spanName, {
|
|
53
52
|
kind,
|
|
@@ -68,22 +67,19 @@ class OpenTelemetryScope {
|
|
|
68
67
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentDetails.agentName);
|
|
69
68
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDetails.agentDescription);
|
|
70
69
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY, agentDetails.platformId);
|
|
71
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, agentDetails.conversationId);
|
|
72
70
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_ICON_URI_KEY, agentDetails.iconUri);
|
|
73
71
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, agentDetails.agentAUID);
|
|
74
72
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_EMAIL_KEY, agentDetails.agentEmail);
|
|
75
73
|
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY, agentDetails.agentBlueprintId);
|
|
76
74
|
}
|
|
77
|
-
// Set tenant
|
|
78
|
-
|
|
79
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.TENANT_ID_KEY, tenantDetails.tenantId);
|
|
80
|
-
}
|
|
75
|
+
// Set tenant ID from agent details
|
|
76
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.TENANT_ID_KEY, agentDetails?.tenantId);
|
|
81
77
|
// Set caller details if provided
|
|
82
|
-
if (
|
|
83
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.USER_ID_KEY,
|
|
84
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.USER_EMAIL_KEY,
|
|
85
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.USER_NAME_KEY,
|
|
86
|
-
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY,
|
|
78
|
+
if (userDetails) {
|
|
79
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.USER_ID_KEY, userDetails.userId);
|
|
80
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.USER_EMAIL_KEY, userDetails.userEmail);
|
|
81
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.USER_NAME_KEY, userDetails.userName);
|
|
82
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY, userDetails.callerClientIp);
|
|
87
83
|
}
|
|
88
84
|
}
|
|
89
85
|
/**
|
|
@@ -155,7 +151,7 @@ class OpenTelemetryScope {
|
|
|
155
151
|
}
|
|
156
152
|
}
|
|
157
153
|
/**
|
|
158
|
-
* Sets a tag on the span if
|
|
154
|
+
* Sets a tag on the span if the value is not null or undefined.
|
|
159
155
|
* @param name The tag name
|
|
160
156
|
* @param value The tag value
|
|
161
157
|
*/
|
|
@@ -197,6 +193,20 @@ class OpenTelemetryScope {
|
|
|
197
193
|
setEndTime(endTime) {
|
|
198
194
|
this.customEndTime = endTime;
|
|
199
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Records a cancellation event on the span.
|
|
198
|
+
* Sets the span status to ERROR with the cancellation reason and marks the error type as 'TaskCanceledException'.
|
|
199
|
+
* @param reason Optional cancellation reason. Defaults to 'Task was cancelled'.
|
|
200
|
+
*/
|
|
201
|
+
recordCancellation(reason) {
|
|
202
|
+
const message = reason ?? 'Task was cancelled';
|
|
203
|
+
logging_1.default.info(`[A365Observability] Recording cancellation on span[${this.span.spanContext().spanId}]: ${message}`);
|
|
204
|
+
this.span.setStatus({
|
|
205
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
206
|
+
message
|
|
207
|
+
});
|
|
208
|
+
this.errorType = constants_1.OpenTelemetryConstants.ERROR_TYPE_CANCELLED;
|
|
209
|
+
}
|
|
200
210
|
/**
|
|
201
211
|
* Finalizes the scope and records metrics
|
|
202
212
|
*/
|
|
@@ -213,14 +223,11 @@ class OpenTelemetryScope {
|
|
|
213
223
|
? OpenTelemetryScope.timeInputToMs(this.customEndTime)
|
|
214
224
|
: Date.now();
|
|
215
225
|
const durationMs = Math.max(0, endMs - startMs);
|
|
216
|
-
const duration = durationMs / 1000;
|
|
217
|
-
const finalTags = {};
|
|
218
226
|
if (this.errorType) {
|
|
219
|
-
finalTags[constants_1.OpenTelemetryConstants.ERROR_TYPE_KEY] = this.errorType;
|
|
220
227
|
this.span.setAttributes({ [constants_1.OpenTelemetryConstants.ERROR_TYPE_KEY]: this.errorType });
|
|
221
228
|
}
|
|
222
229
|
this.hasEnded = true;
|
|
223
|
-
logging_1.default.info(`[A365Observability] Ending span[${this.span.spanContext().spanId}], duration: ${
|
|
230
|
+
logging_1.default.info(`[A365Observability] Ending span[${this.span.spanContext().spanId}], duration: ${(durationMs / 1000).toFixed(3)}s`);
|
|
224
231
|
}
|
|
225
232
|
/**
|
|
226
233
|
* Disposes the scope and finalizes telemetry data collection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;AAElC,
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { TimeInput } from '@opentelemetry/api';
|
|
2
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
3
|
-
import { AgentDetails,
|
|
4
|
-
import { ParentContext } from '../context/trace-context-propagation';
|
|
2
|
+
import { AgentDetails, UserDetails, OutputResponse, Request, SpanDetails } from '../contracts';
|
|
5
3
|
/**
|
|
6
4
|
* Provides OpenTelemetry tracing scope for output message tracing with parent span linking.
|
|
7
5
|
*/
|
|
@@ -10,19 +8,15 @@ export declare class OutputScope extends OpenTelemetryScope {
|
|
|
10
8
|
private _outputMessagesDirty;
|
|
11
9
|
/**
|
|
12
10
|
* Creates and starts a new scope for output message tracing.
|
|
11
|
+
*
|
|
12
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
13
13
|
* @param response The response containing initial output messages.
|
|
14
|
-
* @param agentDetails The
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @param conversationId Optional conversation identifier.
|
|
18
|
-
* @param channel Optional channel metadata; only `name` and `description` are used for tagging.
|
|
19
|
-
* @param parentContext Optional parent context for cross-async-boundary tracing.
|
|
20
|
-
* Accepts a ParentSpanRef (manual traceId/spanId) or an OTel Context (e.g. from extractTraceContext).
|
|
21
|
-
* @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
|
|
22
|
-
* @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
|
|
14
|
+
* @param agentDetails The agent producing the output. Tenant ID is derived from `agentDetails.tenantId`.
|
|
15
|
+
* @param userDetails Optional human caller identity details.
|
|
16
|
+
* @param spanDetails Optional span configuration (parentContext, startTime, endTime).
|
|
23
17
|
* @returns A new OutputScope instance.
|
|
24
18
|
*/
|
|
25
|
-
static start(response: OutputResponse, agentDetails: AgentDetails,
|
|
19
|
+
static start(request: Request, response: OutputResponse, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): OutputScope;
|
|
26
20
|
private constructor();
|
|
27
21
|
/**
|
|
28
22
|
* Records the output messages for telemetry tracking.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OutputScope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OutputScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OutputScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/F;;GAEG;AACH,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;;;;;;;OASG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,WAAW;IAId,OAAO;IAyCP;;;;;OAKG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAUxB,OAAO,IAAI,IAAI;CAGhC"}
|