@microsoft/agents-a365-observability 0.1.0-preview.95 → 0.2.0-preview.3
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 +24 -1
- package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
- package/dist/cjs/ObservabilityBuilder.js +39 -12
- package/dist/cjs/ObservabilityBuilder.js.map +1 -1
- package/dist/cjs/ObservabilityManager.d.ts.map +1 -1
- package/dist/cjs/ObservabilityManager.js +3 -0
- package/dist/cjs/ObservabilityManager.js.map +1 -1
- package/dist/cjs/configuration/ObservabilityConfiguration.d.ts +19 -0
- package/dist/cjs/configuration/ObservabilityConfiguration.d.ts.map +1 -0
- package/dist/cjs/configuration/ObservabilityConfiguration.js +60 -0
- package/dist/cjs/configuration/ObservabilityConfiguration.js.map +1 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.js +5 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.js.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js +73 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js +5 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
- package/dist/cjs/configuration/index.d.ts +16 -0
- package/dist/cjs/configuration/index.d.ts.map +1 -0
- package/dist/cjs/configuration/index.js +35 -0
- package/dist/cjs/configuration/index.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +45 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js +15 -0
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
- package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts +10 -3
- package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
- package/dist/cjs/tracing/PerRequestSpanProcessor.js +14 -23
- package/dist/cjs/tracing/PerRequestSpanProcessor.js.map +1 -1
- package/dist/cjs/tracing/constants.d.ts +35 -35
- package/dist/cjs/tracing/constants.d.ts.map +1 -1
- package/dist/cjs/tracing/constants.js +42 -40
- package/dist/cjs/tracing/constants.js.map +1 -1
- package/dist/cjs/tracing/context/parent-span-context.d.ts +11 -2
- package/dist/cjs/tracing/context/parent-span-context.d.ts.map +1 -1
- package/dist/cjs/tracing/context/parent-span-context.js +10 -5
- package/dist/cjs/tracing/context/parent-span-context.js.map +1 -1
- package/dist/cjs/tracing/context/token-context.d.ts +14 -0
- package/dist/cjs/tracing/context/token-context.d.ts.map +1 -1
- package/dist/cjs/tracing/context/token-context.js +35 -2
- package/dist/cjs/tracing/context/token-context.js.map +1 -1
- package/dist/cjs/tracing/context/trace-context-propagation.d.ts +68 -0
- package/dist/cjs/tracing/context/trace-context-propagation.d.ts.map +1 -0
- package/dist/cjs/tracing/context/trace-context-propagation.js +85 -0
- package/dist/cjs/tracing/context/trace-context-propagation.js.map +1 -0
- package/dist/cjs/tracing/contracts.d.ts +229 -62
- package/dist/cjs/tracing/contracts.d.ts.map +1 -1
- package/dist/cjs/tracing/contracts.js +39 -18
- package/dist/cjs/tracing/contracts.js.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts +9 -4
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.js +53 -46
- package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js +11 -7
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts +20 -0
- package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/cjs/tracing/exporter/ExporterEventNames.js +26 -0
- package/dist/cjs/tracing/exporter/ExporterEventNames.js.map +1 -0
- package/dist/cjs/tracing/exporter/utils.d.ts +24 -11
- package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/utils.js +357 -34
- package/dist/cjs/tracing/exporter/utils.js.map +1 -1
- package/dist/cjs/tracing/message-utils.d.ts +36 -0
- package/dist/cjs/tracing/message-utils.d.ts.map +1 -0
- package/dist/cjs/tracing/message-utils.js +90 -0
- package/dist/cjs/tracing/message-utils.js.map +1 -0
- package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts +32 -44
- package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
- package/dist/cjs/tracing/middleware/BaggageBuilder.js +49 -62
- package/dist/cjs/tracing/middleware/BaggageBuilder.js.map +1 -1
- package/dist/cjs/tracing/processors/SpanProcessor.d.ts.map +1 -1
- package/dist/cjs/tracing/processors/SpanProcessor.js +12 -3
- package/dist/cjs/tracing/processors/SpanProcessor.js.map +1 -1
- package/dist/cjs/tracing/processors/util.d.ts.map +1 -1
- package/dist/cjs/tracing/processors/util.js +16 -22
- package/dist/cjs/tracing/processors/util.js.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +10 -11
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js +26 -20
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts +20 -24
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.js +53 -48
- package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +17 -12
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js +55 -54
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +114 -30
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.d.ts +33 -0
- package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -0
- package/dist/cjs/tracing/scopes/OutputScope.js +80 -0
- package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -0
- package/dist/cjs/tracing/util.d.ts +14 -1
- package/dist/cjs/tracing/util.d.ts.map +1 -1
- package/dist/cjs/tracing/util.js +38 -7
- package/dist/cjs/tracing/util.js.map +1 -1
- package/dist/cjs/utils/logging.d.ts +45 -2
- package/dist/cjs/utils/logging.d.ts.map +1 -1
- package/dist/cjs/utils/logging.js +53 -79
- package/dist/cjs/utils/logging.js.map +1 -1
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/ObservabilityBuilder.d.ts +24 -1
- package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
- package/dist/esm/ObservabilityBuilder.js +41 -14
- package/dist/esm/ObservabilityBuilder.js.map +1 -1
- package/dist/esm/ObservabilityManager.d.ts.map +1 -1
- package/dist/esm/ObservabilityManager.js +3 -0
- package/dist/esm/ObservabilityManager.js.map +1 -1
- package/dist/esm/configuration/ObservabilityConfiguration.d.ts +19 -0
- package/dist/esm/configuration/ObservabilityConfiguration.d.ts.map +1 -0
- package/dist/esm/configuration/ObservabilityConfiguration.js +56 -0
- package/dist/esm/configuration/ObservabilityConfiguration.js.map +1 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.js +4 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.js.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js +69 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js +4 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
- package/dist/esm/configuration/index.d.ts +16 -0
- package/dist/esm/configuration/index.d.ts.map +1 -0
- package/dist/esm/configuration/index.js +18 -0
- package/dist/esm/configuration/index.js.map +1 -0
- package/dist/esm/index.d.ts +11 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +17 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.js +11 -0
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
- package/dist/esm/tracing/PerRequestSpanProcessor.d.ts +10 -3
- package/dist/esm/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
- package/dist/esm/tracing/PerRequestSpanProcessor.js +14 -23
- package/dist/esm/tracing/PerRequestSpanProcessor.js.map +1 -1
- package/dist/esm/tracing/constants.d.ts +35 -35
- package/dist/esm/tracing/constants.d.ts.map +1 -1
- package/dist/esm/tracing/constants.js +42 -40
- package/dist/esm/tracing/constants.js.map +1 -1
- package/dist/esm/tracing/context/parent-span-context.d.ts +11 -2
- package/dist/esm/tracing/context/parent-span-context.d.ts.map +1 -1
- package/dist/esm/tracing/context/parent-span-context.js +10 -5
- package/dist/esm/tracing/context/parent-span-context.js.map +1 -1
- package/dist/esm/tracing/context/token-context.d.ts +14 -0
- package/dist/esm/tracing/context/token-context.d.ts.map +1 -1
- package/dist/esm/tracing/context/token-context.js +34 -2
- package/dist/esm/tracing/context/token-context.js.map +1 -1
- package/dist/esm/tracing/context/trace-context-propagation.d.ts +68 -0
- package/dist/esm/tracing/context/trace-context-propagation.d.ts.map +1 -0
- package/dist/esm/tracing/context/trace-context-propagation.js +79 -0
- package/dist/esm/tracing/context/trace-context-propagation.js.map +1 -0
- package/dist/esm/tracing/contracts.d.ts +229 -62
- package/dist/esm/tracing/contracts.d.ts.map +1 -1
- package/dist/esm/tracing/contracts.js +38 -17
- package/dist/esm/tracing/contracts.js.map +1 -1
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts +9 -4
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/Agent365Exporter.js +54 -47
- package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.js +11 -7
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/esm/tracing/exporter/ExporterEventNames.d.ts +20 -0
- package/dist/esm/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/esm/tracing/exporter/ExporterEventNames.js +23 -0
- package/dist/esm/tracing/exporter/ExporterEventNames.js.map +1 -0
- package/dist/esm/tracing/exporter/utils.d.ts +24 -11
- package/dist/esm/tracing/exporter/utils.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/utils.js +355 -33
- package/dist/esm/tracing/exporter/utils.js.map +1 -1
- package/dist/esm/tracing/message-utils.d.ts +36 -0
- package/dist/esm/tracing/message-utils.d.ts.map +1 -0
- package/dist/esm/tracing/message-utils.js +82 -0
- package/dist/esm/tracing/message-utils.js.map +1 -0
- package/dist/esm/tracing/middleware/BaggageBuilder.d.ts +32 -44
- package/dist/esm/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
- package/dist/esm/tracing/middleware/BaggageBuilder.js +49 -62
- package/dist/esm/tracing/middleware/BaggageBuilder.js.map +1 -1
- package/dist/esm/tracing/processors/SpanProcessor.d.ts.map +1 -1
- package/dist/esm/tracing/processors/SpanProcessor.js +12 -3
- package/dist/esm/tracing/processors/SpanProcessor.js.map +1 -1
- package/dist/esm/tracing/processors/util.d.ts.map +1 -1
- package/dist/esm/tracing/processors/util.js +16 -22
- package/dist/esm/tracing/processors/util.js.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +10 -11
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.js +26 -20
- package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.d.ts +20 -24
- package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.js +53 -48
- package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +17 -12
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.js +55 -54
- package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js +115 -31
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.d.ts +33 -0
- package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -0
- package/dist/esm/tracing/scopes/OutputScope.js +76 -0
- package/dist/esm/tracing/scopes/OutputScope.js.map +1 -0
- package/dist/esm/tracing/util.d.ts +14 -1
- package/dist/esm/tracing/util.d.ts.map +1 -1
- package/dist/esm/tracing/util.js +37 -7
- package/dist/esm/tracing/util.js.map +1 -1
- package/dist/esm/utils/logging.d.ts +45 -2
- package/dist/esm/utils/logging.d.ts.map +1 -1
- package/dist/esm/utils/logging.js +52 -79
- package/dist/esm/utils/logging.js.map +1 -1
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +9 -9
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// ------------------------------------------------------------------------------
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
5
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
5
|
exports.OpenTelemetryConstants = void 0;
|
|
6
|
+
const version_1 = require("../version");
|
|
7
7
|
/**
|
|
8
8
|
* OpenTelemetry constants for Agent 365
|
|
9
9
|
*/
|
|
@@ -13,8 +13,11 @@ exports.OpenTelemetryConstants = OpenTelemetryConstants;
|
|
|
13
13
|
// Span operation names
|
|
14
14
|
OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME = 'invoke_agent';
|
|
15
15
|
OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME = 'execute_tool';
|
|
16
|
+
OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME = 'output_messages';
|
|
17
|
+
OpenTelemetryConstants.CHAT_OPERATION_NAME = 'chat';
|
|
16
18
|
// OpenTelemetry semantic conventions
|
|
17
19
|
OpenTelemetryConstants.ERROR_TYPE_KEY = 'error.type';
|
|
20
|
+
OpenTelemetryConstants.ERROR_TYPE_CANCELLED = 'TaskCanceledException';
|
|
18
21
|
OpenTelemetryConstants.ERROR_MESSAGE_KEY = 'error.message';
|
|
19
22
|
OpenTelemetryConstants.AZ_NAMESPACE_KEY = 'az.namespace';
|
|
20
23
|
OpenTelemetryConstants.SERVER_ADDRESS_KEY = 'server.address';
|
|
@@ -36,18 +39,16 @@ OpenTelemetryConstants.GEN_AI_REQUEST_MAX_TOKENS_KEY = 'gen_ai.request.max_token
|
|
|
36
39
|
OpenTelemetryConstants.GEN_AI_REQUEST_MODEL_KEY = 'gen_ai.request.model';
|
|
37
40
|
OpenTelemetryConstants.GEN_AI_REQUEST_TEMPERATURE_KEY = 'gen_ai.request.temperature';
|
|
38
41
|
OpenTelemetryConstants.GEN_AI_REQUEST_TOP_P_KEY = 'gen_ai.request.top_p';
|
|
39
|
-
OpenTelemetryConstants.GEN_AI_RESPONSE_ID_KEY = 'gen_ai.response.id';
|
|
40
42
|
OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY = 'gen_ai.response.finish_reasons';
|
|
41
43
|
OpenTelemetryConstants.GEN_AI_RESPONSE_MODEL_KEY = 'gen_ai.response.model';
|
|
42
|
-
OpenTelemetryConstants.GEN_AI_SYSTEM_KEY = 'gen_ai.system';
|
|
43
|
-
OpenTelemetryConstants.GEN_AI_SYSTEM_VALUE = 'az.ai.agent365';
|
|
44
44
|
OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY = 'gen_ai.agent.id';
|
|
45
45
|
OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY = 'gen_ai.agent.name';
|
|
46
|
-
OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY = 'gen_ai.agent.type';
|
|
47
46
|
OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY = 'gen_ai.agent.description';
|
|
48
|
-
OpenTelemetryConstants.
|
|
47
|
+
OpenTelemetryConstants.GEN_AI_AGENT_VERSION_KEY = 'gen_ai.agent.version';
|
|
48
|
+
OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY = 'microsoft.a365.agent.platform.id';
|
|
49
|
+
OpenTelemetryConstants.GEN_AI_AGENT_THOUGHT_PROCESS_KEY = 'microsoft.a365.agent.thought.process';
|
|
49
50
|
OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY = 'gen_ai.conversation.id';
|
|
50
|
-
OpenTelemetryConstants.GEN_AI_CONVERSATION_ITEM_LINK_KEY = '
|
|
51
|
+
OpenTelemetryConstants.GEN_AI_CONVERSATION_ITEM_LINK_KEY = 'microsoft.conversation.item.link';
|
|
51
52
|
OpenTelemetryConstants.GEN_AI_TOKEN_TYPE_KEY = 'gen_ai.token.type';
|
|
52
53
|
OpenTelemetryConstants.GEN_AI_USAGE_INPUT_TOKENS_KEY = 'gen_ai.usage.input_tokens';
|
|
53
54
|
OpenTelemetryConstants.GEN_AI_USAGE_OUTPUT_TOKENS_KEY = 'gen_ai.usage.output_tokens';
|
|
@@ -56,52 +57,53 @@ OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY = 'gen_ai.provider.name';
|
|
|
56
57
|
OpenTelemetryConstants.GEN_AI_SYSTEM_INSTRUCTIONS_KEY = 'gen_ai.system_instructions';
|
|
57
58
|
OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY = 'gen_ai.input.messages';
|
|
58
59
|
OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY = 'gen_ai.output.messages';
|
|
59
|
-
OpenTelemetryConstants.
|
|
60
|
+
OpenTelemetryConstants.A365_MESSAGES_SCHEMA_VERSION_KEY = 'microsoft.a365.messages.schema_version';
|
|
60
61
|
// Tool execution constants
|
|
61
62
|
OpenTelemetryConstants.GEN_AI_TOOL_CALL_ID_KEY = 'gen_ai.tool.call.id';
|
|
62
63
|
OpenTelemetryConstants.GEN_AI_TOOL_NAME_KEY = 'gen_ai.tool.name';
|
|
63
64
|
OpenTelemetryConstants.GEN_AI_TOOL_DESCRIPTION_KEY = 'gen_ai.tool.description';
|
|
64
65
|
OpenTelemetryConstants.GEN_AI_TOOL_ARGS_KEY = 'gen_ai.tool.call.arguments';
|
|
65
|
-
OpenTelemetryConstants.GEN_AI_TOOL_CALL_RESULT_KEY = 'gen_ai.
|
|
66
|
+
OpenTelemetryConstants.GEN_AI_TOOL_CALL_RESULT_KEY = 'gen_ai.tool.call.result';
|
|
66
67
|
OpenTelemetryConstants.GEN_AI_TOOL_TYPE_KEY = 'gen_ai.tool.type';
|
|
67
|
-
//
|
|
68
|
-
OpenTelemetryConstants.
|
|
69
|
-
OpenTelemetryConstants.
|
|
70
|
-
OpenTelemetryConstants.
|
|
71
|
-
OpenTelemetryConstants.
|
|
72
|
-
OpenTelemetryConstants.GEN_AI_CALLER_UPN_KEY = 'gen_ai.caller.upn';
|
|
73
|
-
OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY = 'gen_ai.caller.client.ip';
|
|
68
|
+
// Human caller dimensions (OTel user.* namespace)
|
|
69
|
+
OpenTelemetryConstants.USER_ID_KEY = 'user.id';
|
|
70
|
+
OpenTelemetryConstants.USER_NAME_KEY = 'user.name';
|
|
71
|
+
OpenTelemetryConstants.USER_EMAIL_KEY = 'user.email';
|
|
72
|
+
OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY = 'client.address';
|
|
74
73
|
// Agent to Agent caller agent dimensions
|
|
75
|
-
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY = '
|
|
76
|
-
OpenTelemetryConstants.
|
|
77
|
-
OpenTelemetryConstants.
|
|
78
|
-
OpenTelemetryConstants.
|
|
79
|
-
OpenTelemetryConstants.
|
|
80
|
-
OpenTelemetryConstants.
|
|
81
|
-
OpenTelemetryConstants.
|
|
82
|
-
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY = 'gen_ai.caller.agent.platformid';
|
|
74
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY = 'microsoft.a365.caller.agent.user.id';
|
|
75
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY = 'microsoft.a365.caller.agent.user.email';
|
|
76
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY = 'microsoft.a365.caller.agent.name';
|
|
77
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY = 'microsoft.a365.caller.agent.id';
|
|
78
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY = 'microsoft.a365.caller.agent.blueprint.id';
|
|
79
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY = 'microsoft.a365.caller.agent.platform.id';
|
|
80
|
+
OpenTelemetryConstants.GEN_AI_CALLER_AGENT_VERSION_KEY = 'microsoft.a365.caller.agent.version';
|
|
83
81
|
// Agent-specific dimensions
|
|
84
82
|
OpenTelemetryConstants.AGENT_ID_KEY = 'gen_ai.agent.id';
|
|
85
83
|
OpenTelemetryConstants.GEN_AI_TASK_ID_KEY = 'gen_ai.task.id';
|
|
86
|
-
OpenTelemetryConstants.SESSION_ID_KEY = 'session.id';
|
|
87
|
-
OpenTelemetryConstants.SESSION_DESCRIPTION_KEY = 'session.description';
|
|
84
|
+
OpenTelemetryConstants.SESSION_ID_KEY = 'microsoft.session.id';
|
|
85
|
+
OpenTelemetryConstants.SESSION_DESCRIPTION_KEY = 'microsoft.session.description';
|
|
88
86
|
OpenTelemetryConstants.GEN_AI_ICON_URI_KEY = 'gen_ai.agent365.icon_uri';
|
|
89
|
-
OpenTelemetryConstants.TENANT_ID_KEY = 'tenant.id';
|
|
87
|
+
OpenTelemetryConstants.TENANT_ID_KEY = 'microsoft.tenant.id';
|
|
90
88
|
// Baggage keys
|
|
91
|
-
OpenTelemetryConstants.
|
|
92
|
-
OpenTelemetryConstants.
|
|
93
|
-
OpenTelemetryConstants.
|
|
94
|
-
OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY = 'gen_ai.agent.applicationid';
|
|
95
|
-
OpenTelemetryConstants.CORRELATION_ID_KEY = 'correlation.id';
|
|
96
|
-
OpenTelemetryConstants.HIRING_MANAGER_ID_KEY = 'hiring.manager.id';
|
|
89
|
+
OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY = 'microsoft.agent.user.id';
|
|
90
|
+
OpenTelemetryConstants.GEN_AI_AGENT_EMAIL_KEY = 'microsoft.agent.user.email';
|
|
91
|
+
OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY = 'microsoft.a365.agent.blueprint.id';
|
|
97
92
|
// Execution context dimensions
|
|
98
|
-
OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY = 'gen_ai.execution.type';
|
|
99
93
|
OpenTelemetryConstants.GEN_AI_EXECUTION_PAYLOAD_KEY = 'gen_ai.execution.payload';
|
|
100
|
-
//
|
|
101
|
-
OpenTelemetryConstants.
|
|
102
|
-
OpenTelemetryConstants.
|
|
103
|
-
OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_DESCRIPTION_KEY = 'gen_ai.channel.link';
|
|
94
|
+
// Channel dimensions
|
|
95
|
+
OpenTelemetryConstants.CHANNEL_NAME_KEY = 'microsoft.channel.name';
|
|
96
|
+
OpenTelemetryConstants.CHANNEL_LINK_KEY = 'microsoft.channel.link';
|
|
104
97
|
// Custom parent id and parent name key
|
|
105
98
|
OpenTelemetryConstants.CUSTOM_PARENT_SPAN_ID_KEY = 'custom.parent.span.id';
|
|
106
99
|
OpenTelemetryConstants.CUSTOM_SPAN_NAME_KEY = 'custom.span.name';
|
|
100
|
+
// Service attributes
|
|
101
|
+
OpenTelemetryConstants.SERVICE_NAME_KEY = 'service.name';
|
|
102
|
+
// Telemetry SDK attributes
|
|
103
|
+
OpenTelemetryConstants.TELEMETRY_SDK_NAME_KEY = 'telemetry.sdk.name';
|
|
104
|
+
OpenTelemetryConstants.TELEMETRY_SDK_LANGUAGE_KEY = 'telemetry.sdk.language';
|
|
105
|
+
OpenTelemetryConstants.TELEMETRY_SDK_VERSION_KEY = 'telemetry.sdk.version';
|
|
106
|
+
OpenTelemetryConstants.TELEMETRY_SDK_NAME_VALUE = 'A365ObservabilitySDK';
|
|
107
|
+
OpenTelemetryConstants.TELEMETRY_SDK_LANGUAGE_VALUE = 'nodejs';
|
|
108
|
+
OpenTelemetryConstants.TELEMETRY_SDK_VERSION_VALUE = version_1.LIB_VERSION;
|
|
107
109
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context, TraceFlags } from '@opentelemetry/api';
|
|
1
|
+
import { Context, TraceFlags, TraceState } from '@opentelemetry/api';
|
|
2
2
|
/**
|
|
3
3
|
* Reference to a parent span for explicit parent-child linking across async boundaries.
|
|
4
4
|
* Used when automatic context propagation fails (e.g., WebSocket callbacks, external event handlers).
|
|
@@ -12,9 +12,18 @@ export interface ParentSpanRef {
|
|
|
12
12
|
* Span ID (16-character hex string)
|
|
13
13
|
*/
|
|
14
14
|
spanId: string;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Optional trace flags
|
|
16
17
|
*/
|
|
17
18
|
traceFlags?: TraceFlags;
|
|
19
|
+
/**
|
|
20
|
+
* Optional W3C trace state for vendor-specific trace context data
|
|
21
|
+
*/
|
|
22
|
+
traceState?: TraceState;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the span originated from a remote service (default: true)
|
|
25
|
+
*/
|
|
26
|
+
isRemote?: boolean;
|
|
18
27
|
}
|
|
19
28
|
/**
|
|
20
29
|
* Creates a new Context with an explicit parent span reference.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-span-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAe,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"parent-span-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAe,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGlG;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAoC5F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAKnF"}
|
|
@@ -29,16 +29,21 @@ function createContextWithParentSpanRef(base, parent) {
|
|
|
29
29
|
logging_1.default.warn(`[ParentSpanContext] Invalid parent span reference; returning base context. traceId=${parent.traceId}, spanId=${parent.spanId}`);
|
|
30
30
|
return base;
|
|
31
31
|
}
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const
|
|
32
|
+
// Determine traceFlags:
|
|
33
|
+
// 1. Use parent.traceFlags if explicitly provided
|
|
34
|
+
// 2. Inherit from active span if its traceId matches
|
|
35
|
+
// 3. Default to SAMPLED — manually instrumented spans should always be captured
|
|
36
|
+
const activeCtx = api_1.trace.getSpan(base)?.spanContext();
|
|
37
|
+
const traceFlags = parent.traceFlags
|
|
38
|
+
?? (activeCtx?.traceId === parent.traceId ? activeCtx.traceFlags : undefined)
|
|
39
|
+
?? api_1.TraceFlags.SAMPLED;
|
|
37
40
|
// Create a SpanContext from the parent reference
|
|
38
41
|
const parentSpanContext = {
|
|
39
42
|
traceId: parent.traceId,
|
|
40
43
|
spanId: parent.spanId,
|
|
41
44
|
traceFlags,
|
|
45
|
+
traceState: parent.traceState,
|
|
46
|
+
isRemote: parent.isRemote ?? true,
|
|
42
47
|
};
|
|
43
48
|
// Create a non-recording span with the parent context
|
|
44
49
|
const parentSpan = api_1.trace.wrapSpanContext(parentSpanContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-span-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;
|
|
1
|
+
{"version":3,"file":"parent-span-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/parent-span-context.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;AAoDlC,wEAoCC;AAUD,oDAKC;AArGD,4CAAkG;AAClG,kEAAyC;AAiCzC,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,kCAAkC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,kBAAkB,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAAC,IAAa,EAAE,MAAqB;IACjF,iBAAM,CAAC,IAAI,CAAC,kEAAkE,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,iBAAM,CAAC,IAAI,CACT,sFAAsF,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,CAChI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,kDAAkD;IAClD,qDAAqD;IACrD,gFAAgF;IAChF,MAAM,SAAS,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrD,MAAM,UAAU,GACd,MAAM,CAAC,UAAU;WACd,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;WAC1E,gBAAU,CAAC,OAAO,CAAC;IAExB,iDAAiD;IACjD,MAAM,iBAAiB,GAAgB;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;KAClC,CAAC;IAEF,sDAAsD;IACtD,MAAM,UAAU,GAAG,WAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAE5D,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1D,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAI,MAAqB,EAAE,QAAiB;IAC9E,MAAM,IAAI,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,iBAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,aAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -2,8 +2,22 @@ import { Context } from '@opentelemetry/api';
|
|
|
2
2
|
/**
|
|
3
3
|
* Run a function within a Context that carries the per-request export token.
|
|
4
4
|
* This keeps the token only in OTel Context (ALS), never in any registry.
|
|
5
|
+
*
|
|
6
|
+
* The token can be updated later via `updateExportToken()` before the trace
|
|
7
|
+
* is flushed — useful when the callback is long-running and the original
|
|
8
|
+
* token may expire before export.
|
|
5
9
|
*/
|
|
6
10
|
export declare function runWithExportToken<T>(token: string, fn: () => T): T;
|
|
11
|
+
/**
|
|
12
|
+
* Update the export token in the active OTel Context.
|
|
13
|
+
* Call this to refresh the token before ending the root span when the
|
|
14
|
+
* original token may have expired during a long-running request.
|
|
15
|
+
*
|
|
16
|
+
* Must be called within the same async context created by `runWithExportToken`.
|
|
17
|
+
* @param token The fresh token to use for export.
|
|
18
|
+
* @returns true if the token was updated successfully, false if no token holder was found.
|
|
19
|
+
*/
|
|
20
|
+
export declare function updateExportToken(token: string): boolean;
|
|
7
21
|
/**
|
|
8
22
|
* Retrieve the per-request export token from a given OTel Context (or the active one).
|
|
9
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"token-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAcxE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAKnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,OAA0B,GAAG,MAAM,GAAG,SAAS,CAUlF"}
|
|
@@ -7,6 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.runWithExportToken = runWithExportToken;
|
|
10
|
+
exports.updateExportToken = updateExportToken;
|
|
10
11
|
exports.getExportToken = getExportToken;
|
|
11
12
|
const api_1 = require("@opentelemetry/api");
|
|
12
13
|
const logging_1 = __importDefault(require("../../utils/logging"));
|
|
@@ -14,16 +15,48 @@ const EXPORT_TOKEN_KEY = (0, api_1.createContextKey)('a365_export_token');
|
|
|
14
15
|
/**
|
|
15
16
|
* Run a function within a Context that carries the per-request export token.
|
|
16
17
|
* This keeps the token only in OTel Context (ALS), never in any registry.
|
|
18
|
+
*
|
|
19
|
+
* The token can be updated later via `updateExportToken()` before the trace
|
|
20
|
+
* is flushed — useful when the callback is long-running and the original
|
|
21
|
+
* token may expire before export.
|
|
17
22
|
*/
|
|
18
23
|
function runWithExportToken(token, fn) {
|
|
19
|
-
const
|
|
24
|
+
const holder = { token };
|
|
25
|
+
const ctxWithToken = api_1.context.active().setValue(EXPORT_TOKEN_KEY, holder);
|
|
20
26
|
logging_1.default.info('[TokenContext] Running function with export token in context.');
|
|
21
27
|
return api_1.context.with(ctxWithToken, fn);
|
|
22
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Update the export token in the active OTel Context.
|
|
31
|
+
* Call this to refresh the token before ending the root span when the
|
|
32
|
+
* original token may have expired during a long-running request.
|
|
33
|
+
*
|
|
34
|
+
* Must be called within the same async context created by `runWithExportToken`.
|
|
35
|
+
* @param token The fresh token to use for export.
|
|
36
|
+
* @returns true if the token was updated successfully, false if no token holder was found.
|
|
37
|
+
*/
|
|
38
|
+
function updateExportToken(token) {
|
|
39
|
+
const value = api_1.context.active().getValue(EXPORT_TOKEN_KEY);
|
|
40
|
+
if (value && typeof value === 'object' && 'token' in value) {
|
|
41
|
+
value.token = token;
|
|
42
|
+
logging_1.default.info('[TokenContext] Export token updated in context.');
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
logging_1.default.warn('[TokenContext] updateExportToken called but no token holder found in active context. Was runWithExportToken called?');
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
23
48
|
/**
|
|
24
49
|
* Retrieve the per-request export token from a given OTel Context (or the active one).
|
|
25
50
|
*/
|
|
26
51
|
function getExportToken(ctx = api_1.context.active()) {
|
|
27
|
-
|
|
52
|
+
const value = ctx.getValue(EXPORT_TOKEN_KEY);
|
|
53
|
+
if (value && typeof value === 'object' && 'token' in value) {
|
|
54
|
+
return value.token;
|
|
55
|
+
}
|
|
56
|
+
// Backward compat: support raw string values from older callers
|
|
57
|
+
if (typeof value === 'string') {
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
28
61
|
}
|
|
29
62
|
//# sourceMappingURL=token-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;
|
|
1
|
+
{"version":3,"file":"token-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;AAwBjF,gDAKC;AAWD,8CASC;AAKD,wCAUC;AA9DD,4CAAwE;AACxE,kEAAyC;AAEzC,MAAM,gBAAgB,GAAG,IAAA,sBAAgB,EAAC,mBAAmB,CAAC,CAAC;AAW/D;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAI,KAAa,EAAE,EAAW;IAC9D,MAAM,MAAM,GAAgB,EAAE,KAAK,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACzE,iBAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,aAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC1D,KAAqB,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,iBAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,iBAAM,CAAC,IAAI,CAAC,qHAAqH,CAAC,CAAC;IACnI,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAe,aAAO,CAAC,MAAM,EAAE;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3D,OAAQ,KAAqB,CAAC,KAAK,CAAC;IACtC,CAAC;IACD,gEAAgE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Context } from '@opentelemetry/api';
|
|
2
|
+
import { ParentSpanRef } from './parent-span-context';
|
|
3
|
+
/**
|
|
4
|
+
* Carrier type for HTTP headers used in trace context propagation.
|
|
5
|
+
* Compatible with Node.js IncomingHttpHeaders and plain string maps.
|
|
6
|
+
*/
|
|
7
|
+
export type HeadersCarrier = Record<string, string | string[] | undefined>;
|
|
8
|
+
/**
|
|
9
|
+
* A parent context for span creation. Accepts either:
|
|
10
|
+
* - {@link ParentSpanRef}: explicit traceId/spanId pair (manual approach)
|
|
11
|
+
* - {@link Context}: an OTel Context, typically from {@link extractContextFromHeaders} or `propagation.extract()`
|
|
12
|
+
*/
|
|
13
|
+
export type ParentContext = ParentSpanRef | Context;
|
|
14
|
+
/**
|
|
15
|
+
* Type guard to distinguish a {@link ParentSpanRef} from an OTel {@link Context}.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isParentSpanRef(value: ParentContext): value is ParentSpanRef;
|
|
18
|
+
/**
|
|
19
|
+
* Injects the current trace context (`traceparent`/`tracestate` headers) into
|
|
20
|
+
* the provided headers object using the globally registered W3C propagator.
|
|
21
|
+
*
|
|
22
|
+
* @param headers Mutable object where trace context headers will be written.
|
|
23
|
+
* @param ctx Optional OTel Context to inject from. Defaults to the active context.
|
|
24
|
+
* @returns The same `headers` object, for chaining convenience.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const headers: Record<string, string> = {};
|
|
29
|
+
* injectContextToHeaders(headers);
|
|
30
|
+
* await fetch('http://service-b/process', { headers });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function injectContextToHeaders(headers: Record<string, string>, ctx?: Context): Record<string, string>;
|
|
34
|
+
/**
|
|
35
|
+
* Extracts trace context from incoming HTTP headers using the globally
|
|
36
|
+
* registered W3C propagator. Returns an OTel {@link Context} that can be
|
|
37
|
+
* passed to scope classes as a {@link ParentContext}.
|
|
38
|
+
*
|
|
39
|
+
* @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
|
|
40
|
+
* @param baseCtx Optional base context to extend. Defaults to the active context.
|
|
41
|
+
* @returns An OTel Context containing the extracted trace information.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const parentCtx = extractContextFromHeaders(req.headers);
|
|
46
|
+
* const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function extractContextFromHeaders(headers: HeadersCarrier, baseCtx?: Context): Context;
|
|
50
|
+
/**
|
|
51
|
+
* Extracts trace context from incoming HTTP headers and runs the callback
|
|
52
|
+
* within that context. Any spans created inside the callback will be
|
|
53
|
+
* parented to the extracted trace.
|
|
54
|
+
*
|
|
55
|
+
* @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
|
|
56
|
+
* @param callback The function to execute within the extracted context.
|
|
57
|
+
* @returns The result of the callback.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* runWithExtractedTraceContext(req.headers, () => {
|
|
62
|
+
* const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
|
|
63
|
+
* scope.dispose();
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function runWithExtractedTraceContext<T>(headers: HeadersCarrier, callback: () => T): T;
|
|
68
|
+
//# sourceMappingURL=trace-context-propagation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-context-propagation.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/trace-context-propagation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEpD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,IAAI,aAAa,CAmB5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,CAAC,EAAE,OAAO,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAET;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAE7F"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.isParentSpanRef = isParentSpanRef;
|
|
6
|
+
exports.injectContextToHeaders = injectContextToHeaders;
|
|
7
|
+
exports.extractContextFromHeaders = extractContextFromHeaders;
|
|
8
|
+
exports.runWithExtractedTraceContext = runWithExtractedTraceContext;
|
|
9
|
+
const api_1 = require("@opentelemetry/api");
|
|
10
|
+
/**
|
|
11
|
+
* Type guard to distinguish a {@link ParentSpanRef} from an OTel {@link Context}.
|
|
12
|
+
*/
|
|
13
|
+
function isParentSpanRef(value) {
|
|
14
|
+
if (typeof value !== 'object' || value === null)
|
|
15
|
+
return false;
|
|
16
|
+
const maybeCtx = value;
|
|
17
|
+
if (typeof maybeCtx.getValue === 'function' &&
|
|
18
|
+
typeof maybeCtx.setValue === 'function' &&
|
|
19
|
+
typeof maybeCtx.deleteValue === 'function') {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
const maybeRef = value;
|
|
23
|
+
return ('traceId' in maybeRef &&
|
|
24
|
+
typeof maybeRef.traceId === 'string' &&
|
|
25
|
+
'spanId' in maybeRef &&
|
|
26
|
+
typeof maybeRef.spanId === 'string');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Injects the current trace context (`traceparent`/`tracestate` headers) into
|
|
30
|
+
* the provided headers object using the globally registered W3C propagator.
|
|
31
|
+
*
|
|
32
|
+
* @param headers Mutable object where trace context headers will be written.
|
|
33
|
+
* @param ctx Optional OTel Context to inject from. Defaults to the active context.
|
|
34
|
+
* @returns The same `headers` object, for chaining convenience.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const headers: Record<string, string> = {};
|
|
39
|
+
* injectContextToHeaders(headers);
|
|
40
|
+
* await fetch('http://service-b/process', { headers });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
function injectContextToHeaders(headers, ctx) {
|
|
44
|
+
api_1.propagation.inject(ctx ?? api_1.context.active(), headers);
|
|
45
|
+
return headers;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Extracts trace context from incoming HTTP headers using the globally
|
|
49
|
+
* registered W3C propagator. Returns an OTel {@link Context} that can be
|
|
50
|
+
* passed to scope classes as a {@link ParentContext}.
|
|
51
|
+
*
|
|
52
|
+
* @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
|
|
53
|
+
* @param baseCtx Optional base context to extend. Defaults to the active context.
|
|
54
|
+
* @returns An OTel Context containing the extracted trace information.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const parentCtx = extractContextFromHeaders(req.headers);
|
|
59
|
+
* const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
function extractContextFromHeaders(headers, baseCtx) {
|
|
63
|
+
return api_1.propagation.extract(baseCtx ?? api_1.context.active(), headers);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extracts trace context from incoming HTTP headers and runs the callback
|
|
67
|
+
* within that context. Any spans created inside the callback will be
|
|
68
|
+
* parented to the extracted trace.
|
|
69
|
+
*
|
|
70
|
+
* @param headers The incoming HTTP request headers containing `traceparent`/`tracestate`.
|
|
71
|
+
* @param callback The function to execute within the extracted context.
|
|
72
|
+
* @returns The result of the callback.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* runWithExtractedTraceContext(req.headers, () => {
|
|
77
|
+
* const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
|
|
78
|
+
* scope.dispose();
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
function runWithExtractedTraceContext(headers, callback) {
|
|
83
|
+
return api_1.context.with(extractContextFromHeaders(headers), callback);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=trace-context-propagation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-context-propagation.js","sourceRoot":"","sources":["../../../../src/tracing/context/trace-context-propagation.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqBlC,0CAmBC;AAiBD,wDAMC;AAiBD,8DAKC;AAmBD,oEAEC;AAxGD,4CAAmE;AAgBnE;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAoB;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,QAAQ,GAAG,KAAgB,CAAC;IAClC,IACE,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU;QACvC,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU;QACvC,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU,EAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,KAAsB,CAAC;IACxC,OAAO,CACL,SAAS,IAAI,QAAQ;QACrB,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;QACpC,QAAQ,IAAI,QAAQ;QACpB,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CACpC,OAA+B,EAC/B,GAAa;IAEb,iBAAW,CAAC,MAAM,CAAC,GAAG,IAAI,aAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,yBAAyB,CACvC,OAAuB,EACvB,OAAiB;IAEjB,OAAO,iBAAW,CAAC,OAAO,CAAC,OAAO,IAAI,aAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,4BAA4B,CAAI,OAAuB,EAAE,QAAiB;IACxF,OAAO,aAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC"}
|