@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.
Files changed (85) hide show
  1. package/dist/cjs/ObservabilityBuilder.d.ts +8 -0
  2. package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
  3. package/dist/cjs/ObservabilityBuilder.js +17 -5
  4. package/dist/cjs/ObservabilityBuilder.js.map +1 -1
  5. package/dist/cjs/index.d.ts +2 -2
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +5 -6
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/tracing/constants.d.ts +2 -1
  10. package/dist/cjs/tracing/constants.d.ts.map +1 -1
  11. package/dist/cjs/tracing/constants.js +1 -0
  12. package/dist/cjs/tracing/constants.js.map +1 -1
  13. package/dist/cjs/tracing/context/trace-context-propagation.d.ts +7 -7
  14. package/dist/cjs/tracing/context/trace-context-propagation.d.ts.map +1 -1
  15. package/dist/cjs/tracing/context/trace-context-propagation.js +9 -9
  16. package/dist/cjs/tracing/context/trace-context-propagation.js.map +1 -1
  17. package/dist/cjs/tracing/contracts.d.ts +46 -15
  18. package/dist/cjs/tracing/contracts.d.ts.map +1 -1
  19. package/dist/cjs/tracing/contracts.js +2 -3
  20. package/dist/cjs/tracing/contracts.js.map +1 -1
  21. package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +8 -18
  22. package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
  23. package/dist/cjs/tracing/scopes/ExecuteToolScope.js +18 -22
  24. package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
  25. package/dist/cjs/tracing/scopes/InferenceScope.d.ts +8 -14
  26. package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
  27. package/dist/cjs/tracing/scopes/InferenceScope.js +18 -19
  28. package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
  29. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +11 -14
  30. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  31. package/dist/cjs/tracing/scopes/InvokeAgentScope.js +41 -41
  32. package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
  33. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +12 -7
  34. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  35. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +29 -22
  36. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  37. package/dist/cjs/tracing/scopes/OutputScope.d.ts +7 -13
  38. package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -1
  39. package/dist/cjs/tracing/scopes/OutputScope.js +16 -16
  40. package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -1
  41. package/dist/cjs/version.d.ts +1 -1
  42. package/dist/cjs/version.js +1 -1
  43. package/dist/esm/ObservabilityBuilder.d.ts +8 -0
  44. package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
  45. package/dist/esm/ObservabilityBuilder.js +18 -6
  46. package/dist/esm/ObservabilityBuilder.js.map +1 -1
  47. package/dist/esm/index.d.ts +2 -2
  48. package/dist/esm/index.d.ts.map +1 -1
  49. package/dist/esm/index.js +3 -4
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/tracing/constants.d.ts +2 -1
  52. package/dist/esm/tracing/constants.d.ts.map +1 -1
  53. package/dist/esm/tracing/constants.js +1 -0
  54. package/dist/esm/tracing/constants.js.map +1 -1
  55. package/dist/esm/tracing/context/trace-context-propagation.d.ts +7 -7
  56. package/dist/esm/tracing/context/trace-context-propagation.d.ts.map +1 -1
  57. package/dist/esm/tracing/context/trace-context-propagation.js +7 -7
  58. package/dist/esm/tracing/context/trace-context-propagation.js.map +1 -1
  59. package/dist/esm/tracing/contracts.d.ts +46 -15
  60. package/dist/esm/tracing/contracts.d.ts.map +1 -1
  61. package/dist/esm/tracing/contracts.js +2 -3
  62. package/dist/esm/tracing/contracts.js.map +1 -1
  63. package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +8 -18
  64. package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
  65. package/dist/esm/tracing/scopes/ExecuteToolScope.js +18 -22
  66. package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
  67. package/dist/esm/tracing/scopes/InferenceScope.d.ts +8 -14
  68. package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
  69. package/dist/esm/tracing/scopes/InferenceScope.js +18 -19
  70. package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
  71. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +11 -14
  72. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  73. package/dist/esm/tracing/scopes/InvokeAgentScope.js +41 -41
  74. package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
  75. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +12 -7
  76. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  77. package/dist/esm/tracing/scopes/OpenTelemetryScope.js +29 -22
  78. package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  79. package/dist/esm/tracing/scopes/OutputScope.d.ts +7 -13
  80. package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -1
  81. package/dist/esm/tracing/scopes/OutputScope.js +16 -16
  82. package/dist/esm/tracing/scopes/OutputScope.js.map +1 -1
  83. package/dist/esm/version.d.ts +1 -1
  84. package/dist/esm/version.js +1 -1
  85. package/package.json +2 -2
@@ -9,37 +9,33 @@ import { OpenTelemetryConstants } from '../constants';
9
9
  export class ExecuteToolScope extends OpenTelemetryScope {
10
10
  /**
11
11
  * Creates and starts a new scope for tool execution tracing.
12
- * @param details The tool call details
13
- * @param agentDetails The agent details
14
- * @param tenantDetails The tenant details
15
- * @param conversationId Optional conversation id to tag on the span (`gen_ai.conversation.id`).
16
- * @param channel Optional channel; only `name` (channel name) and `description` (channel link/URL) are used for tagging.
17
- * @param parentContext Optional parent context for cross-async-boundary tracing.
18
- * Accepts a ParentSpanRef (manual traceId/spanId) or an OTel Context (e.g. from extractTraceContext).
19
- * @param startTime Optional explicit start time (ms epoch, Date, or HrTime). Useful when recording a
20
- * tool call after execution has already completed.
21
- * @param endTime Optional explicit end time (ms epoch, Date, or HrTime). When provided, the span will
22
- * use this timestamp when disposed instead of the current wall-clock time.
23
- * @param callerDetails Optional caller details.
24
- * @param spanKind Optional span kind override. Defaults to `SpanKind.INTERNAL`.
25
- * Use `SpanKind.CLIENT` when the tool calls an external service.
12
+ *
13
+ * @param request Request payload (channel, conversationId, content, sessionId).
14
+ * @param details The tool call details (name, type, args, call id, etc.).
15
+ * @param agentDetails The agent executing the tool. Tenant ID is derived from `agentDetails.tenantId`.
16
+ * @param userDetails Optional human caller identity.
17
+ * @param spanDetails Optional span configuration (parentContext, startTime, endTime, spanKind).
26
18
  * @returns A new ExecuteToolScope instance.
27
19
  */
28
- static start(details, agentDetails, tenantDetails, conversationId, channel, parentContext, startTime, endTime, callerDetails, spanKind) {
29
- return new ExecuteToolScope(details, agentDetails, tenantDetails, conversationId, channel, parentContext, startTime, endTime, callerDetails, spanKind);
20
+ static start(request, details, agentDetails, userDetails, spanDetails) {
21
+ return new ExecuteToolScope(request, details, agentDetails, userDetails, spanDetails);
30
22
  }
31
- constructor(details, agentDetails, tenantDetails, conversationId, channel, parentContext, startTime, endTime, callerDetails, spanKind) {
32
- super(spanKind ?? SpanKind.INTERNAL, OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME, `${OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME} ${details.toolName}`, agentDetails, tenantDetails, parentContext, startTime, endTime, callerDetails);
33
- // Destructure the details object to match C# pattern
23
+ constructor(request, details, agentDetails, userDetails, spanDetails) {
24
+ // Validate tenantId is present (required for telemetry)
25
+ if (!agentDetails.tenantId) {
26
+ throw new Error('ExecuteToolScope: tenantId is required on agentDetails');
27
+ }
28
+ super(spanDetails?.spanKind ?? SpanKind.INTERNAL, OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME, `${OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME} ${details.toolName}`, agentDetails, spanDetails?.parentContext, spanDetails?.startTime, spanDetails?.endTime, userDetails);
29
+ // Destructure the details object
34
30
  const { toolName, arguments: args, toolCallId, description, toolType, endpoint } = details;
35
31
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_TOOL_NAME_KEY, toolName);
36
32
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_TOOL_ARGS_KEY, args);
37
33
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_TOOL_TYPE_KEY, toolType);
38
34
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_TOOL_CALL_ID_KEY, toolCallId);
39
35
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_TOOL_DESCRIPTION_KEY, description);
40
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, conversationId);
41
- this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, channel?.name);
42
- this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, channel?.description);
36
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
37
+ this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
38
+ this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel?.description);
43
39
  // Set endpoint information if provided
44
40
  if (endpoint) {
45
41
  this.setTagMaybe(OpenTelemetryConstants.SERVER_ADDRESS_KEY, endpoint.host);
@@ -1 +1 @@
1
- {"version":3,"file":"ExecuteToolScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/ExecuteToolScope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAa,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB;IACtD;;;;;;;;;;;;;;;;;OAiBG;IACI,MAAM,CAAC,KAAK,CACjB,OAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,cAAuB,EACvB,OAA+C,EAC/C,aAA6B,EAC7B,SAAqB,EACrB,OAAmB,EACnB,aAA6B,EAC7B,QAAmB;QAEnB,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACzJ,CAAC;IAED,YACE,OAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,cAAuB,EACvB,OAA+C,EAC/C,aAA6B,EAC7B,SAAqB,EACrB,OAAmB,EACnB,aAA6B,EAC7B,QAAmB;QAEnB,KAAK,CACH,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAC7B,sBAAsB,CAAC,2BAA2B,EAClD,GAAG,sBAAsB,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,EAAE,EAC3E,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,OAAO,EACP,aAAa,CACd,CAAC;QAEF,qDAAqD;QACrD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE3F,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;QACpF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAGhF,uCAAuC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,sBAAsB,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,sBAAsB,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,sBAAsB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACF"}
1
+ {"version":3,"file":"ExecuteToolScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/ExecuteToolScope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB;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,QAAQ,CAAC,QAAQ,EAC1C,sBAAsB,CAAC,2BAA2B,EAClD,GAAG,sBAAsB,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,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExF,uCAAuC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,sBAAsB,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,sBAAsB,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,sBAAsB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACF"}
@@ -1,26 +1,20 @@
1
- import { TimeInput } from '@opentelemetry/api';
2
1
  import { OpenTelemetryScope } from './OpenTelemetryScope';
3
- import { InferenceDetails, AgentDetails, TenantDetails, Channel, CallerDetails } from '../contracts';
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
- * @param details The inference call details
12
- * @param agentDetails The agent details
13
- * @param tenantDetails The tenant details
14
- * @param conversationId Optional conversation id to tag on the span (`gen_ai.conversation.id`).
15
- * @param channel Optional channel; only `name` (channel name) and `description` (channel link/URL) are used for tagging.
16
- * @param parentContext Optional parent context for cross-async-boundary tracing.
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, tenantDetails: TenantDetails, conversationId?: string, channel?: Pick<Channel, "name" | "description">, parentContext?: ParentContext, startTime?: TimeInput, endTime?: TimeInput, callerDetails?: CallerDetails): InferenceScope;
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":"AAGA,OAAO,EAAY,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,OAAO,EACP,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD;;;;;;;;;;;;;OAaG;WACW,KAAK,CACjB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,EAC/C,aAAa,CAAC,EAAE,aAAa,EAC7B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,EACnB,aAAa,CAAC,EAAE,aAAa,GAC5B,cAAc;IAIjB,OAAO;IA8CP;;;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"}
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"}
@@ -9,34 +9,33 @@ import { OpenTelemetryConstants } from '../constants';
9
9
  export class InferenceScope extends OpenTelemetryScope {
10
10
  /**
11
11
  * Creates and starts a new scope for inference tracing.
12
- * @param details The inference call details
13
- * @param agentDetails The agent details
14
- * @param tenantDetails The tenant details
15
- * @param conversationId Optional conversation id to tag on the span (`gen_ai.conversation.id`).
16
- * @param channel Optional channel; only `name` (channel name) and `description` (channel link/URL) are used for tagging.
17
- * @param parentContext Optional parent context for cross-async-boundary tracing.
18
- * Accepts a ParentSpanRef (manual traceId/spanId) or an OTel Context (e.g. from extractTraceContext).
19
- * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
20
- * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
21
- * @param callerDetails Optional caller details.
12
+ *
13
+ * @param request Request payload (channel, conversationId, content, sessionId).
14
+ * @param details The inference call details (model, provider, tokens, etc.).
15
+ * @param agentDetails The agent performing the inference. Tenant ID is derived from `agentDetails.tenantId`.
16
+ * @param userDetails Optional human caller identity.
17
+ * @param spanDetails Optional span configuration (parentContext, startTime, endTime). Note: `spanKind` is ignored; InferenceScope always uses `SpanKind.CLIENT`.
22
18
  * @returns A new InferenceScope instance
23
19
  */
24
- static start(details, agentDetails, tenantDetails, conversationId, channel, parentContext, startTime, endTime, callerDetails) {
25
- return new InferenceScope(details, agentDetails, tenantDetails, conversationId, channel, parentContext, startTime, endTime, callerDetails);
20
+ static start(request, details, agentDetails, userDetails, spanDetails) {
21
+ return new InferenceScope(request, details, agentDetails, userDetails, spanDetails);
26
22
  }
27
- constructor(details, agentDetails, tenantDetails, conversationId, channel, parentContext, startTime, endTime, callerDetails) {
28
- super(SpanKind.CLIENT, details.operationName.toString(), `${details.operationName} ${details.model}`, agentDetails, tenantDetails, parentContext, startTime, endTime, callerDetails);
29
- // Set core inference information matching C# implementation
30
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY, details.operationName.toString());
23
+ constructor(request, details, agentDetails, userDetails, spanDetails) {
24
+ // Validate tenantId is present (required for telemetry)
25
+ if (!agentDetails.tenantId) {
26
+ throw new Error('InferenceScope: tenantId is required on agentDetails');
27
+ }
28
+ super(SpanKind.CLIENT, details.operationName.toString(), `${details.operationName} ${details.model}`, agentDetails, spanDetails?.parentContext, spanDetails?.startTime, spanDetails?.endTime, userDetails);
29
+ // Set core inference information
31
30
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_REQUEST_MODEL_KEY, details.model);
32
31
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, details.providerName);
33
32
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_USAGE_INPUT_TOKENS_KEY, details.inputTokens);
34
33
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_USAGE_OUTPUT_TOKENS_KEY, details.outputTokens);
35
34
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY, details.finishReasons);
36
35
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_THOUGHT_PROCESS_KEY, details.thoughtProcess);
37
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, conversationId);
38
- this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, channel?.name);
39
- this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, channel?.description);
36
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
37
+ this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
38
+ this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel?.description);
40
39
  // Set endpoint information if provided
41
40
  if (details.endpoint) {
42
41
  this.setTagMaybe(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,OAAO,EAAE,QAAQ,EAAa,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAUtD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IACpD;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,KAAK,CACjB,OAAyB,EACzB,YAA0B,EAC1B,aAA4B,EAC5B,cAAuB,EACvB,OAA+C,EAC/C,aAA6B,EAC7B,SAAqB,EACrB,OAAmB,EACnB,aAA6B;QAE7B,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC7I,CAAC;IAED,YACE,OAAyB,EACzB,YAA0B,EAC1B,aAA4B,EAC5B,cAAuB,EACvB,OAA+C,EAC/C,aAA6B,EAC7B,SAAqB,EACrB,OAAmB,EACnB,aAA6B;QAE7B,KAAK,CACH,QAAQ,CAAC,MAAM,EACf,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAChC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,KAAK,EAAE,EAC3C,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,OAAO,EACP,aAAa,CACd,CAAC;QAEF,4DAA4D;QAC5D,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,6BAA6B,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,8BAA8B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,kCAAkC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACnG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gCAAgC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAClG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;QACpF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEhF,uCAAuC;QACvC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnF,oEAAoE;YACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC3D,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,QAAkB;QAC3C,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,QAAkB;QAC5C,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,WAAmB;QAC1C,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,YAAoB;QAC5C,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,aAAuB;QAChD,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,kCAAkC,EAAE,aAAa,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;CAEF"}
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 { InvokeAgentDetails, TenantDetails, CallerDetails, AgentDetails } from '../contracts';
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
- * @param invokeAgentDetails The details of the agent invocation including endpoint, agent information, and conversation context.
12
- * @param tenantDetails The tenant details.
13
- * @param callerAgentDetails The details of the caller agent.
14
- * @param callerDetails The details of the non-agentic caller.
15
- * @param parentContext Optional parent context for cross-async-boundary tracing.
16
- * Accepts a ParentSpanRef (manual traceId/spanId) or an OTel Context (e.g. from extractTraceContext).
17
- * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
18
- * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
19
- * @param spanKind Optional span kind override. Defaults to `SpanKind.CLIENT`.
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(invokeAgentDetails: InvokeAgentDetails, tenantDetails: TenantDetails, callerAgentDetails?: AgentDetails, callerDetails?: CallerDetails, parentContext?: ParentContext, startTime?: TimeInput, endTime?: TimeInput, spanKind?: SpanKind): InvokeAgentScope;
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":"AAGA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGrE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD;;;;;;;;;;;;;OAaG;WACW,KAAK,CACjB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,kBAAkB,CAAC,EAAE,YAAY,EACjC,aAAa,CAAC,EAAE,aAAa,EAC7B,aAAa,CAAC,EAAE,aAAa,EAC7B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,gBAAgB;IAInB,OAAO;IA+DP;;;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"}
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"}
@@ -9,54 +9,54 @@ import { OpenTelemetryConstants } from '../constants';
9
9
  export class InvokeAgentScope extends OpenTelemetryScope {
10
10
  /**
11
11
  * Creates and starts a new scope for agent invocation tracing.
12
- * @param invokeAgentDetails The details of the agent invocation including endpoint, agent information, and conversation context.
13
- * @param tenantDetails The tenant details.
14
- * @param callerAgentDetails The details of the caller agent.
15
- * @param callerDetails The details of the non-agentic caller.
16
- * @param parentContext Optional parent context for cross-async-boundary tracing.
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 spanKind Optional span kind override. Defaults to `SpanKind.CLIENT`.
21
- * Use `SpanKind.SERVER` when the agent is receiving an inbound request.
12
+ *
13
+ * @param request Request payload (channel, conversationId, content, sessionId).
14
+ * @param invokeScopeDetails Scope-level details
15
+ * @param agentDetails The agent identity. Tenant ID is derived from `agentDetails.tenantId` (required).
16
+ * @param callerDetails Optional caller information. Supports three scenarios:
17
+ * - Human caller only: `{ userDetails: { userId, userName, ... } }`
18
+ * - Agent caller only: `{ callerAgentDetails: { agentId, agentName, ... } }`
19
+ * - Both (A2A with human in chain): `{ userDetails: { ... }, callerAgentDetails: { ... } }`
20
+ * @param spanDetails Optional span configuration (parentContext, startTime, endTime, spanKind).
22
21
  * @returns A new InvokeAgentScope instance.
23
22
  */
24
- static start(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails, parentContext, startTime, endTime, spanKind) {
25
- return new InvokeAgentScope(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails, parentContext, startTime, endTime, spanKind);
23
+ static start(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails) {
24
+ return new InvokeAgentScope(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails);
26
25
  }
27
- constructor(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails, parentContext, startTime, endTime, spanKind) {
28
- super(spanKind ?? SpanKind.CLIENT, OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, invokeAgentDetails.agentName
29
- ? `${OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME} ${invokeAgentDetails.agentName}`
30
- : OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, invokeAgentDetails, tenantDetails, parentContext, startTime, endTime, callerDetails);
31
- // Set provider name for agent invocation
32
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, invokeAgentDetails.providerName);
33
- // Set session ID and endpoint information
34
- this.setTagMaybe(OpenTelemetryConstants.SESSION_ID_KEY, invokeAgentDetails.sessionId);
35
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY, invokeAgentDetails.agentBlueprintId);
36
- if (invokeAgentDetails.endpoint) {
37
- this.setTagMaybe(OpenTelemetryConstants.SERVER_ADDRESS_KEY, invokeAgentDetails.endpoint.host);
26
+ constructor(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails) {
27
+ // Validate tenantId is present (required for telemetry)
28
+ if (!agentDetails.tenantId) {
29
+ throw new Error('InvokeAgentScope: tenantId is required on agentDetails');
30
+ }
31
+ super(spanDetails?.spanKind ?? SpanKind.CLIENT, OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, agentDetails.agentName
32
+ ? `${OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME} ${agentDetails.agentName}`
33
+ : OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, agentDetails, spanDetails?.parentContext, spanDetails?.startTime, spanDetails?.endTime, callerDetails?.userDetails);
34
+ // Set provider name from agent details
35
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, agentDetails.providerName);
36
+ // Set session ID from request
37
+ this.setTagMaybe(OpenTelemetryConstants.SESSION_ID_KEY, request.sessionId);
38
+ if (invokeScopeDetails.endpoint) {
39
+ this.setTagMaybe(OpenTelemetryConstants.SERVER_ADDRESS_KEY, invokeScopeDetails.endpoint.host);
38
40
  // Only record port if it is different from 443 (default HTTPS port)
39
- if (invokeAgentDetails.endpoint.port && invokeAgentDetails.endpoint.port !== 443) {
40
- this.setTagMaybe(OpenTelemetryConstants.SERVER_PORT_KEY, invokeAgentDetails.endpoint.port);
41
+ if (invokeScopeDetails.endpoint.port && invokeScopeDetails.endpoint.port !== 443) {
42
+ this.setTagMaybe(OpenTelemetryConstants.SERVER_PORT_KEY, invokeScopeDetails.endpoint.port);
41
43
  }
42
44
  }
43
- // Set request-related tags
44
- const requestToUse = invokeAgentDetails.request;
45
- if (requestToUse) {
46
- if (requestToUse.channel) {
47
- this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, requestToUse.channel.name);
48
- this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, requestToUse.channel.description);
49
- }
45
+ // Set channel tags from request
46
+ if (request.channel) {
47
+ this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel.name);
48
+ this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel.description);
50
49
  }
51
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, invokeAgentDetails.conversationId);
52
- // Set caller agent details tags
53
- if (callerAgentDetails) {
54
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY, callerAgentDetails.agentName);
55
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY, callerAgentDetails.agentId);
56
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY, callerAgentDetails.agentBlueprintId);
57
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY, callerAgentDetails.agentAUID);
58
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY, callerAgentDetails.agentEmail);
59
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY, callerAgentDetails.platformId);
50
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
51
+ // Set caller agent details tags for A2A scenarios
52
+ const callerAgent = callerDetails?.callerAgentDetails;
53
+ if (callerAgent) {
54
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY, callerAgent.agentName);
55
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY, callerAgent.agentId);
56
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY, callerAgent.agentBlueprintId);
57
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY, callerAgent.agentAUID);
58
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY, callerAgent.agentEmail);
59
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY, callerAgent.platformId);
60
60
  }
61
61
  }
62
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"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"}
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, TenantDetails, CallerDetails } from '../contracts';
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 extractTraceContext} for W3C header propagation).
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 callerDetails Optional caller identity details (id, upn, name, client ip).
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, tenantDetails?: TenantDetails, parentContext?: ParentContext, startTime?: TimeInput, endTime?: TimeInput, callerDetails?: CallerDetails);
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 telemetry is enabled
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,EAAuC,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExI,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1E,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;;;;;;;;;;;;;;;;OAgBG;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,aAAa,CAAC,EAAE,aAAa,EAC7B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,EACnB,aAAa,CAAC,EAAE,aAAa;IA6D/B;;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;;OAEG;IACH,OAAO,CAAC,GAAG;IA0BX;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAW/B;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB"}
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"}
@@ -14,19 +14,18 @@ export class OpenTelemetryScope {
14
14
  * @param kind The kind of span (CLIENT, SERVER, INTERNAL, etc.)
15
15
  * @param operationName The name of the operation being traced
16
16
  * @param spanName The name of the span for display purposes
17
- * @param agentDetails Optional agent details
18
- * @param tenantDetails Optional tenant details
17
+ * @param agentDetails Optional agent details. Tenant ID is read from `agentDetails.tenantId`.
19
18
  * @param parentContext Optional parent context for cross-async-boundary tracing.
20
19
  * Accepts a {@link ParentSpanRef} (manual traceId/spanId) or an OTel {@link Context}
21
- * (e.g. from {@link extractTraceContext} for W3C header propagation).
20
+ * (e.g. from {@link extractContextFromHeaders} for W3C header propagation).
22
21
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime). When provided the span
23
22
  * records this timestamp instead of "now", which is useful when recording an operation after it
24
23
  * has already completed (e.g. a tool call whose start time was captured earlier).
25
24
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime). When provided the span will
26
25
  * use this timestamp when {@link dispose} is called instead of the current wall-clock time.
27
- * @param callerDetails Optional caller identity details (id, upn, name, client ip).
26
+ * @param userDetails Optional human caller identity details (id, upn, name, client ip).
28
27
  */
29
- constructor(kind, operationName, spanName, agentDetails, tenantDetails, parentContext, startTime, endTime, callerDetails) {
28
+ constructor(kind, operationName, spanName, agentDetails, parentContext, startTime, endTime, userDetails) {
30
29
  this.hasEnded = false;
31
30
  // Determine the context to use for span creation
32
31
  let currentContext = context.active();
@@ -37,11 +36,11 @@ export class OpenTelemetryScope {
37
36
  logger.info(`[A365Observability] Using explicit parent span: traceId=${parentContext.traceId}, spanId=${parentContext.spanId}`);
38
37
  }
39
38
  else {
40
- // OTel Context path (from extractTraceContext or propagation.extract)
39
+ // OTel Context path (from extractContextFromHeaders or propagation.extract)
41
40
  currentContext = parentContext;
42
41
  }
43
42
  }
44
- logger.info(`[A365Observability] Starting span: ${spanName}, operation: ${operationName} for tenantId: ${tenantDetails?.tenantId || 'unknown'}, agentId: ${agentDetails?.agentId || 'unknown'}`);
43
+ logger.info(`[A365Observability] Starting span: ${spanName}, operation: ${operationName} for tenantId: ${agentDetails?.tenantId || 'unknown'}, agentId: ${agentDetails?.agentId || 'unknown'}`);
45
44
  // Start span with current context to establish parent-child relationship
46
45
  this.span = OpenTelemetryScope.tracer.startSpan(spanName, {
47
46
  kind,
@@ -62,22 +61,19 @@ export class OpenTelemetryScope {
62
61
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentDetails.agentName);
63
62
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDetails.agentDescription);
64
63
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY, agentDetails.platformId);
65
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, agentDetails.conversationId);
66
64
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_ICON_URI_KEY, agentDetails.iconUri);
67
65
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, agentDetails.agentAUID);
68
66
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_EMAIL_KEY, agentDetails.agentEmail);
69
67
  this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY, agentDetails.agentBlueprintId);
70
68
  }
71
- // Set tenant details if provided
72
- if (tenantDetails) {
73
- this.setTagMaybe(OpenTelemetryConstants.TENANT_ID_KEY, tenantDetails.tenantId);
74
- }
69
+ // Set tenant ID from agent details
70
+ this.setTagMaybe(OpenTelemetryConstants.TENANT_ID_KEY, agentDetails?.tenantId);
75
71
  // Set caller details if provided
76
- if (callerDetails) {
77
- this.setTagMaybe(OpenTelemetryConstants.USER_ID_KEY, callerDetails.userId);
78
- this.setTagMaybe(OpenTelemetryConstants.USER_EMAIL_KEY, callerDetails.userEmail);
79
- this.setTagMaybe(OpenTelemetryConstants.USER_NAME_KEY, callerDetails.userName);
80
- this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY, callerDetails.callerClientIp);
72
+ if (userDetails) {
73
+ this.setTagMaybe(OpenTelemetryConstants.USER_ID_KEY, userDetails.userId);
74
+ this.setTagMaybe(OpenTelemetryConstants.USER_EMAIL_KEY, userDetails.userEmail);
75
+ this.setTagMaybe(OpenTelemetryConstants.USER_NAME_KEY, userDetails.userName);
76
+ this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY, userDetails.callerClientIp);
81
77
  }
82
78
  }
83
79
  /**
@@ -149,7 +145,7 @@ export class OpenTelemetryScope {
149
145
  }
150
146
  }
151
147
  /**
152
- * Sets a tag on the span if telemetry is enabled
148
+ * Sets a tag on the span if the value is not null or undefined.
153
149
  * @param name The tag name
154
150
  * @param value The tag value
155
151
  */
@@ -191,6 +187,20 @@ export class OpenTelemetryScope {
191
187
  setEndTime(endTime) {
192
188
  this.customEndTime = endTime;
193
189
  }
190
+ /**
191
+ * Records a cancellation event on the span.
192
+ * Sets the span status to ERROR with the cancellation reason and marks the error type as 'TaskCanceledException'.
193
+ * @param reason Optional cancellation reason. Defaults to 'Task was cancelled'.
194
+ */
195
+ recordCancellation(reason) {
196
+ const message = reason ?? 'Task was cancelled';
197
+ logger.info(`[A365Observability] Recording cancellation on span[${this.span.spanContext().spanId}]: ${message}`);
198
+ this.span.setStatus({
199
+ code: SpanStatusCode.ERROR,
200
+ message
201
+ });
202
+ this.errorType = OpenTelemetryConstants.ERROR_TYPE_CANCELLED;
203
+ }
194
204
  /**
195
205
  * Finalizes the scope and records metrics
196
206
  */
@@ -207,14 +217,11 @@ export class OpenTelemetryScope {
207
217
  ? OpenTelemetryScope.timeInputToMs(this.customEndTime)
208
218
  : Date.now();
209
219
  const durationMs = Math.max(0, endMs - startMs);
210
- const duration = durationMs / 1000;
211
- const finalTags = {};
212
220
  if (this.errorType) {
213
- finalTags[OpenTelemetryConstants.ERROR_TYPE_KEY] = this.errorType;
214
221
  this.span.setAttributes({ [OpenTelemetryConstants.ERROR_TYPE_KEY]: this.errorType });
215
222
  }
216
223
  this.hasEnded = true;
217
- logger.info(`[A365Observability] Ending span[${this.span.spanContext().spanId}], duration: ${duration}s`);
224
+ logger.info(`[A365Observability] Ending span[${this.span.spanContext().spanId}], duration: ${(durationMs / 1000).toFixed(3)}s`);
218
225
  }
219
226
  /**
220
227
  * 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":"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"}
1
+ {"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"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"}