@strands-agents/sdk 0.4.0 → 0.5.0

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 (141) hide show
  1. package/dist/src/__fixtures__/agent-helpers.d.ts +10 -1
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +13 -2
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/__fixtures__/mock-span.d.ts +78 -0
  6. package/dist/src/__fixtures__/mock-span.d.ts.map +1 -0
  7. package/dist/src/__fixtures__/mock-span.js +93 -0
  8. package/dist/src/__fixtures__/mock-span.js.map +1 -0
  9. package/dist/src/__fixtures__/tool-helpers.d.ts +2 -2
  10. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  11. package/dist/src/__fixtures__/tool-helpers.js +4 -4
  12. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  13. package/dist/src/__tests__/app-state.test.d.ts +2 -0
  14. package/dist/src/__tests__/app-state.test.d.ts.map +1 -0
  15. package/dist/src/{agent/__tests__/state.test.js → __tests__/app-state.test.js} +46 -46
  16. package/dist/src/__tests__/app-state.test.js.map +1 -0
  17. package/dist/src/__tests__/mcp.test.js +96 -15
  18. package/dist/src/__tests__/mcp.test.js.map +1 -1
  19. package/dist/src/agent/__tests__/agent.test.js +110 -0
  20. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  21. package/dist/src/agent/__tests__/agent.tracer.test.d.ts +2 -0
  22. package/dist/src/agent/__tests__/agent.tracer.test.d.ts.map +1 -0
  23. package/dist/src/agent/__tests__/agent.tracer.test.js +470 -0
  24. package/dist/src/agent/__tests__/agent.tracer.test.js.map +1 -0
  25. package/dist/src/agent/agent.d.ts +59 -6
  26. package/dist/src/agent/agent.d.ts.map +1 -1
  27. package/dist/src/agent/agent.js +187 -60
  28. package/dist/src/agent/agent.js.map +1 -1
  29. package/dist/src/{agent/state.d.ts → app-state.d.ts} +7 -7
  30. package/dist/src/app-state.d.ts.map +1 -0
  31. package/dist/src/{agent/state.js → app-state.js} +6 -6
  32. package/dist/src/app-state.js.map +1 -0
  33. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +1 -1
  34. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +1 -1
  35. package/dist/src/index.d.ts +2 -1
  36. package/dist/src/index.d.ts.map +1 -1
  37. package/dist/src/index.js +4 -0
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/src/mcp.d.ts +3 -0
  40. package/dist/src/mcp.d.ts.map +1 -1
  41. package/dist/src/mcp.js +38 -1
  42. package/dist/src/mcp.js.map +1 -1
  43. package/dist/src/models/__tests__/model.test.js +7 -0
  44. package/dist/src/models/__tests__/model.test.js.map +1 -1
  45. package/dist/src/models/model.d.ts +4 -0
  46. package/dist/src/models/model.d.ts.map +1 -1
  47. package/dist/src/models/model.js +6 -0
  48. package/dist/src/models/model.js.map +1 -1
  49. package/dist/src/models/streaming.d.ts +1 -1
  50. package/dist/src/multiagent/__tests__/events.test.d.ts +2 -0
  51. package/dist/src/multiagent/__tests__/events.test.d.ts.map +1 -0
  52. package/dist/src/multiagent/__tests__/events.test.js +189 -0
  53. package/dist/src/multiagent/__tests__/events.test.js.map +1 -0
  54. package/dist/src/multiagent/__tests__/nodes.test.js +102 -6
  55. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  56. package/dist/src/multiagent/__tests__/queue.test.d.ts +2 -0
  57. package/dist/src/multiagent/__tests__/queue.test.d.ts.map +1 -0
  58. package/dist/src/multiagent/__tests__/queue.test.js +96 -0
  59. package/dist/src/multiagent/__tests__/queue.test.js.map +1 -0
  60. package/dist/src/multiagent/base.d.ts +25 -0
  61. package/dist/src/multiagent/base.d.ts.map +1 -0
  62. package/dist/src/multiagent/base.js +2 -0
  63. package/dist/src/multiagent/base.js.map +1 -0
  64. package/dist/src/multiagent/edge.d.ts +29 -0
  65. package/dist/src/multiagent/edge.d.ts.map +1 -0
  66. package/dist/src/multiagent/edge.js +15 -0
  67. package/dist/src/multiagent/edge.js.map +1 -0
  68. package/dist/src/multiagent/events.d.ts +115 -4
  69. package/dist/src/multiagent/events.d.ts.map +1 -1
  70. package/dist/src/multiagent/events.js +123 -2
  71. package/dist/src/multiagent/events.js.map +1 -1
  72. package/dist/src/multiagent/index.d.ts +8 -6
  73. package/dist/src/multiagent/index.d.ts.map +1 -1
  74. package/dist/src/multiagent/index.js +4 -3
  75. package/dist/src/multiagent/index.js.map +1 -1
  76. package/dist/src/multiagent/nodes.d.ts +62 -14
  77. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  78. package/dist/src/multiagent/nodes.js +67 -20
  79. package/dist/src/multiagent/nodes.js.map +1 -1
  80. package/dist/src/multiagent/queue.d.ts +67 -0
  81. package/dist/src/multiagent/queue.d.ts.map +1 -0
  82. package/dist/src/multiagent/queue.js +59 -0
  83. package/dist/src/multiagent/queue.js.map +1 -0
  84. package/dist/src/multiagent/state.d.ts +77 -10
  85. package/dist/src/multiagent/state.d.ts.map +1 -1
  86. package/dist/src/multiagent/state.js +98 -9
  87. package/dist/src/multiagent/state.js.map +1 -1
  88. package/dist/src/telemetry/__tests__/config.test.node.d.ts +2 -0
  89. package/dist/src/telemetry/__tests__/config.test.node.d.ts.map +1 -0
  90. package/dist/src/telemetry/__tests__/config.test.node.js +129 -0
  91. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -0
  92. package/dist/src/telemetry/__tests__/json.test.d.ts +2 -0
  93. package/dist/src/telemetry/__tests__/json.test.d.ts.map +1 -0
  94. package/dist/src/telemetry/__tests__/json.test.js +89 -0
  95. package/dist/src/telemetry/__tests__/json.test.js.map +1 -0
  96. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts +2 -0
  97. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts.map +1 -0
  98. package/dist/src/telemetry/__tests__/tracer.test.node.js +611 -0
  99. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -0
  100. package/dist/src/telemetry/config.d.ts +61 -0
  101. package/dist/src/telemetry/config.d.ts.map +1 -0
  102. package/dist/src/telemetry/config.js +101 -0
  103. package/dist/src/telemetry/config.js.map +1 -0
  104. package/dist/src/telemetry/index.d.ts +34 -0
  105. package/dist/src/telemetry/index.d.ts.map +1 -0
  106. package/dist/src/telemetry/index.js +33 -0
  107. package/dist/src/telemetry/index.js.map +1 -0
  108. package/dist/src/telemetry/json.d.ts +11 -0
  109. package/dist/src/telemetry/json.d.ts.map +1 -0
  110. package/dist/src/telemetry/json.js +25 -0
  111. package/dist/src/telemetry/json.js.map +1 -0
  112. package/dist/src/telemetry/tracer.d.ts +219 -0
  113. package/dist/src/telemetry/tracer.d.ts.map +1 -0
  114. package/dist/src/telemetry/tracer.js +610 -0
  115. package/dist/src/telemetry/tracer.js.map +1 -0
  116. package/dist/src/telemetry/types.d.ts +101 -0
  117. package/dist/src/telemetry/types.d.ts.map +1 -0
  118. package/dist/src/telemetry/types.js +5 -0
  119. package/dist/src/{multiagent → telemetry}/types.js.map +1 -1
  120. package/dist/src/tools/tool.d.ts +1 -1
  121. package/dist/src/tools/tool.js +1 -1
  122. package/dist/src/tsconfig.tsbuildinfo +1 -1
  123. package/dist/src/types/agent.d.ts +3 -3
  124. package/dist/src/types/agent.d.ts.map +1 -1
  125. package/dist/src/types/messages.d.ts +4 -4
  126. package/dist/src/types/messages.js +1 -1
  127. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +2 -2
  128. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  129. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js +4 -4
  130. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -1
  131. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +2 -2
  132. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  133. package/package.json +11 -2
  134. package/dist/src/agent/__tests__/state.test.d.ts +0 -2
  135. package/dist/src/agent/__tests__/state.test.d.ts.map +0 -1
  136. package/dist/src/agent/__tests__/state.test.js.map +0 -1
  137. package/dist/src/agent/state.d.ts.map +0 -1
  138. package/dist/src/agent/state.js.map +0 -1
  139. package/dist/src/multiagent/types.d.ts +0 -5
  140. package/dist/src/multiagent/types.d.ts.map +0 -1
  141. package/dist/src/multiagent/types.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.test.node.js","sourceRoot":"","sources":["../../../../src/telemetry/__tests__/tracer.test.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * OpenTelemetry configuration and setup utilities for Strands agents.
3
+ *
4
+ * This module provides centralized configuration and initialization functionality
5
+ * for OpenTelemetry components and other telemetry infrastructure shared across Strands applications.
6
+ */
7
+ import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
8
+ /**
9
+ * Get the service name, respecting the OTEL_SERVICE_NAME environment variable.
10
+ *
11
+ * @returns The service name from OTEL_SERVICE_NAME or the default 'strands-agents'
12
+ */
13
+ export declare function getServiceName(): string;
14
+ /**
15
+ * Configuration options for setting up the tracer.
16
+ */
17
+ export interface TracerConfig {
18
+ /**
19
+ * Custom NodeTracerProvider instance. If not provided, one will be
20
+ * created with default configuration.
21
+ */
22
+ provider?: NodeTracerProvider;
23
+ /**
24
+ * Exporter configuration.
25
+ */
26
+ exporters?: {
27
+ /**
28
+ * Enable OTLP exporter. Uses OTEL_EXPORTER_OTLP_ENDPOINT and
29
+ * OTEL_EXPORTER_OTLP_HEADERS env vars automatically.
30
+ */
31
+ otlp?: boolean;
32
+ /**
33
+ * Enable console exporter for debugging.
34
+ */
35
+ console?: boolean;
36
+ };
37
+ }
38
+ /**
39
+ * Set up the tracer provider with the given configuration.
40
+ *
41
+ * @param config - Tracer configuration options
42
+ * @returns The configured NodeTracerProvider
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * import { telemetry } from '@strands-agents/sdk'
47
+ *
48
+ * // Simple setup with defaults
49
+ * const provider = telemetry.setupTracer({
50
+ * exporters: { otlp: true }
51
+ * })
52
+ *
53
+ * // Custom provider
54
+ * telemetry.setupTracer({
55
+ * provider: new NodeTracerProvider({ resource: myResource }),
56
+ * exporters: { otlp: true, console: true }
57
+ * })
58
+ * ```
59
+ */
60
+ export declare function setupTracer(config?: TracerConfig): NodeTracerProvider;
61
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAuB,MAAM,+BAA+B,CAAA;AASvF;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,IAAI,CAAC,EAAE,OAAO,CAAA;QACd;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,YAAiB,GAAG,kBAAkB,CA0BzE"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * OpenTelemetry configuration and setup utilities for Strands agents.
3
+ *
4
+ * This module provides centralized configuration and initialization functionality
5
+ * for OpenTelemetry components and other telemetry infrastructure shared across Strands applications.
6
+ */
7
+ import { Resource, envDetectorSync } from '@opentelemetry/resources';
8
+ import { NodeTracerProvider, ConsoleSpanExporter } from '@opentelemetry/sdk-trace-node';
9
+ import { SimpleSpanProcessor, BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
10
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
11
+ import { logger } from '../logging/index.js';
12
+ const DEFAULT_SERVICE_NAME = 'strands-agents';
13
+ const DEFAULT_SERVICE_NAMESPACE = 'strands';
14
+ const DEFAULT_DEPLOYMENT_ENVIRONMENT = 'development';
15
+ /**
16
+ * Get the service name, respecting the OTEL_SERVICE_NAME environment variable.
17
+ *
18
+ * @returns The service name from OTEL_SERVICE_NAME or the default 'strands-agents'
19
+ */
20
+ export function getServiceName() {
21
+ return globalThis?.process?.env?.OTEL_SERVICE_NAME || DEFAULT_SERVICE_NAME;
22
+ }
23
+ let _provider = null;
24
+ /**
25
+ * Set up the tracer provider with the given configuration.
26
+ *
27
+ * @param config - Tracer configuration options
28
+ * @returns The configured NodeTracerProvider
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * import { telemetry } from '@strands-agents/sdk'
33
+ *
34
+ * // Simple setup with defaults
35
+ * const provider = telemetry.setupTracer({
36
+ * exporters: { otlp: true }
37
+ * })
38
+ *
39
+ * // Custom provider
40
+ * telemetry.setupTracer({
41
+ * provider: new NodeTracerProvider({ resource: myResource }),
42
+ * exporters: { otlp: true, console: true }
43
+ * })
44
+ * ```
45
+ */
46
+ export function setupTracer(config = {}) {
47
+ if (_provider) {
48
+ logger.warn('tracer provider already initialized, returning existing provider');
49
+ return _provider;
50
+ }
51
+ // Use provided provider or create default
52
+ _provider = config.provider ?? new NodeTracerProvider({ resource: getOtelResource() });
53
+ // Add exporters if requested
54
+ if (config.exporters?.otlp)
55
+ addOtlpExporter(_provider);
56
+ if (config.exporters?.console)
57
+ addConsoleExporter(_provider);
58
+ // register() sets up global tracer provider, context manager, and propagators
59
+ _provider.register();
60
+ // Flush pending spans on exit for short-lived scripts using BatchSpanProcessor
61
+ process.once('beforeExit', () => {
62
+ if (_provider) {
63
+ _provider.forceFlush().catch((err) => {
64
+ logger.warn(`error=<${err}> | failed to flush tracer provider on exit`);
65
+ });
66
+ }
67
+ });
68
+ return _provider;
69
+ }
70
+ function addOtlpExporter(provider) {
71
+ try {
72
+ provider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter()));
73
+ }
74
+ catch (error) {
75
+ logger.warn(`error=<${error}> | failed to configure otlp exporter`);
76
+ }
77
+ }
78
+ function addConsoleExporter(provider) {
79
+ try {
80
+ provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
81
+ }
82
+ catch (error) {
83
+ logger.warn(`error=<${error}> | failed to configure console exporter`);
84
+ }
85
+ }
86
+ function getOtelResource() {
87
+ const serviceName = getServiceName();
88
+ const serviceNamespace = process.env.OTEL_SERVICE_NAMESPACE || DEFAULT_SERVICE_NAMESPACE;
89
+ const deploymentEnvironment = process.env.OTEL_DEPLOYMENT_ENVIRONMENT || DEFAULT_DEPLOYMENT_ENVIRONMENT;
90
+ const defaultResource = new Resource({
91
+ 'service.name': serviceName,
92
+ 'service.namespace': serviceNamespace,
93
+ 'deployment.environment': deploymentEnvironment,
94
+ 'telemetry.sdk.name': 'opentelemetry',
95
+ 'telemetry.sdk.language': 'typescript',
96
+ });
97
+ // Merge with OTEL_RESOURCE_ATTRIBUTES env var (env attrs take precedence)
98
+ const envResource = envDetectorSync.detect();
99
+ return defaultResource.merge(envResource);
100
+ }
101
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * OpenTelemetry telemetry support for Strands Agents SDK.
3
+ *
4
+ * This module provides `setupTracer()` to configure a NodeTracerProvider
5
+ * with OTLP or console exporters. The Agent class handles tracing internally
6
+ * once telemetry is configured.
7
+ *
8
+ * @example Basic setup with OTLP exporter
9
+ * ```typescript
10
+ * import { telemetry, Agent } from '@strands-agents/sdk'
11
+ *
12
+ * // Configure telemetry with OTLP exporter
13
+ * telemetry.setupTracer({ exporters: { otlp: true } })
14
+ *
15
+ * // Agent automatically traces invocations
16
+ * const agent = new Agent()
17
+ * ```
18
+ *
19
+ * @example Using your own OpenTelemetry provider
20
+ * ```typescript
21
+ * import { Agent } from '@strands-agents/sdk'
22
+ * import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'
23
+ *
24
+ * // Set up your own provider
25
+ * const provider = new NodeTracerProvider()
26
+ * provider.register()
27
+ *
28
+ * // Agent automatically uses your provider via the global OTel API
29
+ * const agent = new Agent()
30
+ * ```
31
+ */
32
+ export { setupTracer } from './config.js';
33
+ export type { TracerConfig } from './config.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * OpenTelemetry telemetry support for Strands Agents SDK.
3
+ *
4
+ * This module provides `setupTracer()` to configure a NodeTracerProvider
5
+ * with OTLP or console exporters. The Agent class handles tracing internally
6
+ * once telemetry is configured.
7
+ *
8
+ * @example Basic setup with OTLP exporter
9
+ * ```typescript
10
+ * import { telemetry, Agent } from '@strands-agents/sdk'
11
+ *
12
+ * // Configure telemetry with OTLP exporter
13
+ * telemetry.setupTracer({ exporters: { otlp: true } })
14
+ *
15
+ * // Agent automatically traces invocations
16
+ * const agent = new Agent()
17
+ * ```
18
+ *
19
+ * @example Using your own OpenTelemetry provider
20
+ * ```typescript
21
+ * import { Agent } from '@strands-agents/sdk'
22
+ * import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'
23
+ *
24
+ * // Set up your own provider
25
+ * const provider = new NodeTracerProvider()
26
+ * provider.register()
27
+ *
28
+ * // Agent automatically uses your provider via the global OTel API
29
+ * const agent = new Agent()
30
+ * ```
31
+ */
32
+ export { setupTracer } from './config.js';
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Custom replacer for JSON.stringify that handles non-serializable types.
3
+ * Converts Date to ISO string and replaces binary data, functions, symbols,
4
+ * and BigInt with '<replaced>'.
5
+ *
6
+ * @param _key - The property key (unused)
7
+ * @param value - The value to process
8
+ * @returns A JSON-safe value
9
+ */
10
+ export declare function jsonReplacer(_key: string, value: unknown): unknown;
11
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/telemetry/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAclE"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Custom replacer for JSON.stringify that handles non-serializable types.
3
+ * Converts Date to ISO string and replaces binary data, functions, symbols,
4
+ * and BigInt with '<replaced>'.
5
+ *
6
+ * @param _key - The property key (unused)
7
+ * @param value - The value to process
8
+ * @returns A JSON-safe value
9
+ */
10
+ export function jsonReplacer(_key, value) {
11
+ switch (true) {
12
+ case value instanceof Date:
13
+ return value.toISOString();
14
+ case typeof value === 'bigint':
15
+ case typeof value === 'function':
16
+ case typeof value === 'symbol':
17
+ case value instanceof ArrayBuffer:
18
+ case value instanceof Uint8Array:
19
+ case ArrayBuffer.isView(value):
20
+ return '<replaced>';
21
+ default:
22
+ return value;
23
+ }
24
+ }
25
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/telemetry/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAc;IACvD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,YAAY,IAAI;YACxB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;QAC5B,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC/B,KAAK,OAAO,KAAK,KAAK,UAAU,CAAC;QACjC,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC/B,KAAK,KAAK,YAAY,WAAW,CAAC;QAClC,KAAK,KAAK,YAAY,UAAU,CAAC;QACjC,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,OAAO,YAAY,CAAA;QACrB;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * OpenTelemetry integration.
3
+ *
4
+ * This module provides tracing capabilities using OpenTelemetry,
5
+ * enabling trace data to be sent to OTLP endpoints.
6
+ *
7
+ * Uses a fully stateful approach via OpenTelemetry's context propagation.
8
+ * Parent-child relationships are established automatically through
9
+ * context.active(). Use context.with() to set a span as active before
10
+ * creating child spans.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const tracer = new Tracer()
15
+ * const parentSpan = tracer.startAgentSpan({ ... })
16
+ *
17
+ * // Run code with parentSpan as active context
18
+ * await context.with(trace.setSpan(context.active(), parentSpan), async () => {
19
+ * // Child spans automatically parent to parentSpan
20
+ * const childSpan = tracer.startModelInvokeSpan({ messages })
21
+ * // ...
22
+ * tracer.endModelInvokeSpan(childSpan)
23
+ * })
24
+ *
25
+ * tracer.endAgentSpan(parentSpan)
26
+ * ```
27
+ */
28
+ import type { Span, AttributeValue } from '@opentelemetry/api';
29
+ import type { EndAgentSpanOptions, EndModelSpanOptions, EndToolCallSpanOptions, EndAgentLoopSpanOptions, StartAgentSpanOptions, StartModelInvokeSpanOptions, StartToolCallSpanOptions, StartAgentLoopSpanOptions } from './types.js';
30
+ /**
31
+ * Tracer manages OpenTelemetry spans for agent operations.
32
+ *
33
+ * Uses a fully stateful approach via OpenTelemetry's context propagation.
34
+ * Parent-child relationships are established automatically through context.active().
35
+ *
36
+ * To create nested spans, use context.with() to set the parent span as active:
37
+ * ```typescript
38
+ * const parent = tracer.startAgentSpan({ ... })
39
+ * context.with(trace.setSpan(context.active(), parent), () => {
40
+ * const child = tracer.startModelInvokeSpan({ messages }) // auto-parents to parent
41
+ * })
42
+ * ```
43
+ */
44
+ export declare class Tracer {
45
+ /**
46
+ * OpenTelemetry tracer instance obtained from the global API.
47
+ */
48
+ private readonly _tracer;
49
+ /**
50
+ * Whether to use latest experimental semantic conventions.
51
+ *
52
+ * Enabled via `OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental`.
53
+ * Changes attribute names (e.g., `gen_ai.system` → `gen_ai.provider.name`) and
54
+ * event formats (single `gen_ai.client.inference.operation.details` event vs
55
+ * separate per-message events). Enable when your observability backend supports
56
+ * newer GenAI conventions.
57
+ *
58
+ * @see https://opentelemetry.io/docs/specs/semconv/gen-ai/
59
+ */
60
+ private readonly _useLatestConventions;
61
+ /**
62
+ * Whether to include full tool JSON schemas in span attributes.
63
+ *
64
+ * Enabled via `OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_tool_definitions`.
65
+ * Useful for debugging tool configuration issues. Disabled by default to
66
+ * reduce span payload size and observability costs.
67
+ *
68
+ * Can be combined with other options:
69
+ * `OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental,gen_ai_tool_definitions`
70
+ */
71
+ private readonly _includeToolDefinitions;
72
+ /**
73
+ * Custom attributes to include on all spans created by this tracer.
74
+ */
75
+ private readonly _traceAttributes;
76
+ /** Root span for the current agent invocation. */
77
+ private _agentSpan;
78
+ /** Span for the current agent loop cycle, used to parent model and tool spans. */
79
+ private _loopSpan;
80
+ /**
81
+ * Initialize the tracer with OpenTelemetry configuration.
82
+ * Reads OTEL_SEMCONV_STABILITY_OPT_IN to determine convention version.
83
+ * Gets tracer from the global API to ensure ground truth - works correctly
84
+ * whether the user or Strands initialized the tracer provider.
85
+ *
86
+ * @param traceAttributes - Optional custom attributes to include on all spans
87
+ */
88
+ constructor(traceAttributes?: Record<string, AttributeValue>);
89
+ /**
90
+ * Start an agent invocation span.
91
+ * Returns the span which should be ended with endAgentSpan.
92
+ * Parents to the current active span from context.active().
93
+ *
94
+ * @param options - Options for starting the agent span
95
+ */
96
+ startAgentSpan(options: StartAgentSpanOptions): Span | null;
97
+ /**
98
+ * End an agent invocation span.
99
+ *
100
+ * @param span - The span to end, or null if span creation failed
101
+ * @param options - Options for ending the span including response, error, and usage data
102
+ */
103
+ endAgentSpan(span: Span | null, options?: EndAgentSpanOptions): void;
104
+ /**
105
+ * Start a model invocation span.
106
+ * Parents to the current active span from context.active().
107
+ *
108
+ * @param options - Options for starting the model invocation span
109
+ */
110
+ startModelInvokeSpan(options: StartModelInvokeSpanOptions): Span | null;
111
+ /**
112
+ * End a model invocation span.
113
+ *
114
+ * @param span - The span to end, or null if span creation failed
115
+ * @param options - Options for ending the span including usage, metrics, error, and output
116
+ */
117
+ endModelInvokeSpan(span: Span | null, options?: EndModelSpanOptions): void;
118
+ /**
119
+ * Start a tool call span.
120
+ * Parents to the current active span from context.active().
121
+ *
122
+ * @param options - Options for starting the tool call span
123
+ */
124
+ startToolCallSpan(options: StartToolCallSpanOptions): Span | null;
125
+ /**
126
+ * End a tool call span.
127
+ *
128
+ * @param span - The span to end, or null if span creation failed
129
+ * @param options - Options for ending the tool call span
130
+ */
131
+ endToolCallSpan(span: Span | null, options?: EndToolCallSpanOptions): void;
132
+ /**
133
+ * Runs a callback with the given span set as the active OpenTelemetry context.
134
+ * Downstream code (e.g., MCP clients) can read the span from context.active()
135
+ * for distributed trace propagation. No-ops if span is null.
136
+ *
137
+ * @param span - The span to set as active, or null if span creation failed
138
+ * @param fn - The callback to run within the span's context
139
+ * @returns The return value of the callback
140
+ */
141
+ withSpanContext<T>(span: Span | null, fn: () => T): T;
142
+ /**
143
+ * Start an agent loop cycle span.
144
+ * Parents to the current active span from context.active().
145
+ *
146
+ * @param options - Options for starting the agent loop span
147
+ */
148
+ startAgentLoopSpan(options: StartAgentLoopSpanOptions): Span | null;
149
+ /**
150
+ * End an agent loop cycle span.
151
+ *
152
+ * @param span - The span to end, or null if span creation failed
153
+ * @param options - Options for ending the agent loop span
154
+ */
155
+ endAgentLoopSpan(span: Span | null, options?: EndAgentLoopSpanOptions): void;
156
+ /**
157
+ * Create a span parented to the current active context.
158
+ */
159
+ private _startSpan;
160
+ /**
161
+ * End a span with the given attributes and optional error.
162
+ */
163
+ private _endSpan;
164
+ /**
165
+ * Add an event to a span.
166
+ */
167
+ private _addEvent;
168
+ /**
169
+ * Get common attributes based on semantic convention version.
170
+ * The attribute name changed between OTEL semconv versions:
171
+ * - Stable: 'gen_ai.system'
172
+ * - Latest experimental: 'gen_ai.provider.name'
173
+ */
174
+ private _getCommonAttributes;
175
+ /**
176
+ * Add message events to a span.
177
+ * Uses different event formats based on semantic convention version:
178
+ * - Latest: Single 'gen_ai.client.inference.operation.details' event with all messages
179
+ * - Stable: Separate events per message (gen_ai.user.message, gen_ai.assistant.message, etc.)
180
+ */
181
+ private _addEventMessages;
182
+ /**
183
+ * Get the event name for a message based on its type.
184
+ */
185
+ private _getEventNameForMessage;
186
+ /**
187
+ * Set usage attributes on an attributes object.
188
+ * Sets both legacy (prompt_tokens/completion_tokens) and new (input_tokens/output_tokens)
189
+ * attribute names for compatibility with different OTEL backends.
190
+ */
191
+ private _setUsageAttributes;
192
+ /**
193
+ * Set metrics attributes on an attributes object.
194
+ */
195
+ private _setMetricsAttributes;
196
+ /**
197
+ * Add response event to a span.
198
+ */
199
+ private _addResponseEvent;
200
+ /**
201
+ * Add output event to a span for model invocation.
202
+ */
203
+ private _addOutputEvent;
204
+ /**
205
+ * Parse the OTEL_SEMCONV_STABILITY_OPT_IN environment variable.
206
+ */
207
+ private static _parseSemconvOptIn;
208
+ /**
209
+ * Map content blocks to OTEL parts format (latest conventions).
210
+ * Converts SDK content block types to OTEL semantic convention format.
211
+ */
212
+ private static _mapContentBlocksToOtelParts;
213
+ /**
214
+ * Map content blocks to stable format (older conventions).
215
+ * Simplifies content blocks to a minimal structure for legacy OTEL backends.
216
+ */
217
+ private static _mapContentBlocksToStableFormat;
218
+ }
219
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/telemetry/tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAqC,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEjG,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EAG1B,MAAM,YAAY,CAAA;AAKnB;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IAEpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAE/C;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IAEjD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAEjE,kDAAkD;IAClD,OAAO,CAAC,UAAU,CAAkB;IAEpC,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;;;;;OAOG;gBACS,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAY5D;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAqC3D;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAoBxE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI;IAsBvE;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAoB9E;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI;IA0CjE;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,sBAA2B,GAAG,IAAI;IAqC9E;;;;;;;;OAQG;IACH,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKrD;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAmBnE;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,GAAE,uBAA4B,GAAG,IAAI;IAUhF;;OAEG;IACH,OAAO,CAAC,UAAU;IA8BlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgBjB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAUjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAiB3C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;CAkB/C"}