@openai/agents-core 0.11.3 → 0.11.5

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 (87) hide show
  1. package/dist/agentToolRunConfig.js +4 -0
  2. package/dist/agentToolRunConfig.js.map +1 -1
  3. package/dist/agentToolRunConfig.mjs +4 -0
  4. package/dist/agentToolRunConfig.mjs.map +1 -1
  5. package/dist/handoff.d.ts +45 -0
  6. package/dist/handoff.js +28 -0
  7. package/dist/handoff.js.map +1 -1
  8. package/dist/handoff.mjs +28 -0
  9. package/dist/handoff.mjs.map +1 -1
  10. package/dist/index.d.ts +3 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/memory/session.d.ts +7 -0
  14. package/dist/memory/session.js.map +1 -1
  15. package/dist/memory/session.mjs.map +1 -1
  16. package/dist/metadata.js +2 -2
  17. package/dist/metadata.mjs +2 -2
  18. package/dist/run.d.ts +18 -4
  19. package/dist/run.js +30 -6
  20. package/dist/run.js.map +1 -1
  21. package/dist/run.mjs +31 -7
  22. package/dist/run.mjs.map +1 -1
  23. package/dist/runState.d.ts +14 -1
  24. package/dist/runState.js +25 -2
  25. package/dist/runState.js.map +1 -1
  26. package/dist/runState.mjs +25 -2
  27. package/dist/runState.mjs.map +1 -1
  28. package/dist/runner/items.d.ts +1 -0
  29. package/dist/runner/items.js +14 -7
  30. package/dist/runner/items.js.map +1 -1
  31. package/dist/runner/items.mjs +13 -7
  32. package/dist/runner/items.mjs.map +1 -1
  33. package/dist/runner/modelOutputs.d.ts +3 -2
  34. package/dist/runner/modelOutputs.js +43 -14
  35. package/dist/runner/modelOutputs.js.map +1 -1
  36. package/dist/runner/modelOutputs.mjs +43 -14
  37. package/dist/runner/modelOutputs.mjs.map +1 -1
  38. package/dist/runner/sessionPersistence.d.ts +2 -0
  39. package/dist/runner/sessionPersistence.js +19 -13
  40. package/dist/runner/sessionPersistence.js.map +1 -1
  41. package/dist/runner/sessionPersistence.mjs +20 -14
  42. package/dist/runner/sessionPersistence.mjs.map +1 -1
  43. package/dist/runner/toolExecution.js +4 -1
  44. package/dist/runner/toolExecution.js.map +1 -1
  45. package/dist/runner/toolExecution.mjs +4 -1
  46. package/dist/runner/toolExecution.mjs.map +1 -1
  47. package/dist/runner/turnResolution.js +51 -0
  48. package/dist/runner/turnResolution.js.map +1 -1
  49. package/dist/runner/turnResolution.mjs +50 -2
  50. package/dist/runner/turnResolution.mjs.map +1 -1
  51. package/dist/runner/types.d.ts +5 -0
  52. package/dist/shims/shims-browser.d.ts +6 -5
  53. package/dist/shims/shims-browser.js +62 -2
  54. package/dist/shims/shims-browser.js.map +1 -1
  55. package/dist/shims/shims-browser.mjs +62 -2
  56. package/dist/shims/shims-browser.mjs.map +1 -1
  57. package/dist/tracing/context.d.ts +38 -0
  58. package/dist/tracing/context.js +115 -1
  59. package/dist/tracing/context.js.map +1 -1
  60. package/dist/tracing/context.mjs +112 -1
  61. package/dist/tracing/context.mjs.map +1 -1
  62. package/dist/tracing/index.d.ts +31 -3
  63. package/dist/tracing/index.js +37 -1
  64. package/dist/tracing/index.js.map +1 -1
  65. package/dist/tracing/index.mjs +31 -3
  66. package/dist/tracing/index.mjs.map +1 -1
  67. package/dist/tracing/processor.d.ts +10 -0
  68. package/dist/tracing/processor.js +64 -5
  69. package/dist/tracing/processor.js.map +1 -1
  70. package/dist/tracing/processor.mjs +64 -5
  71. package/dist/tracing/processor.mjs.map +1 -1
  72. package/dist/tracing/provider.d.ts +34 -1
  73. package/dist/tracing/provider.js +64 -3
  74. package/dist/tracing/provider.js.map +1 -1
  75. package/dist/tracing/provider.mjs +65 -4
  76. package/dist/tracing/provider.mjs.map +1 -1
  77. package/dist/tracing/utils.d.ts +5 -0
  78. package/dist/tracing/utils.js +5 -1
  79. package/dist/tracing/utils.js.map +1 -1
  80. package/dist/tracing/utils.mjs +4 -0
  81. package/dist/tracing/utils.mjs.map +1 -1
  82. package/dist/usage.d.ts +10 -2
  83. package/dist/usage.js +12 -0
  84. package/dist/usage.js.map +1 -1
  85. package/dist/usage.mjs +12 -0
  86. package/dist/usage.mjs.map +1 -1
  87. package/package.json +1 -1
@@ -9,6 +9,8 @@ exports.defaultProcessor = defaultProcessor;
9
9
  const logger_1 = __importDefault(require("../logger.js"));
10
10
  const _shims_1 = require("@openai/agents-core/_shims");
11
11
  const config_1 = require("../config.js");
12
+ const abortSignals_1 = require("../utils/abortSignals.js");
13
+ const utils_1 = require("./utils.js");
12
14
  /**
13
15
  * Prints the traces and spans to the console
14
16
  */
@@ -40,6 +42,7 @@ class BatchTraceProcessor {
40
42
  #timeout = null;
41
43
  #exportInProgress = false;
42
44
  #timeoutAbortController = null;
45
+ #activeExportAbortControllers = new Set();
43
46
  constructor(exporter, { maxQueueSize = 1000, maxBatchSize = 100, scheduleDelay = 5000, // 5 seconds
44
47
  exportTriggerRatio = 0.8, } = {}) {
45
48
  this.#maxQueueSize = maxQueueSize;
@@ -90,14 +93,19 @@ class BatchTraceProcessor {
90
93
  logger_1.default.debug(`Exporting batches. Force: ${force}. Buffer size: ${this.#buffer.length}`);
91
94
  const exportBatch = async (batch) => {
92
95
  this.#exportInProgress = true;
96
+ const activeExportAbortController = new AbortController();
97
+ this.#activeExportAbortControllers.add(activeExportAbortController);
98
+ const combinedSignal = (0, abortSignals_1.combineAbortSignals)(signal, activeExportAbortController.signal);
93
99
  try {
94
- await this.#exporter.export(batch, signal);
100
+ await this.#exporter.export(batch, combinedSignal.signal);
95
101
  }
96
102
  catch (error) {
97
103
  logger_1.default.error('Tracing exporter failed to export batch', error);
98
104
  }
99
105
  finally {
100
- this.#exportInProgress = false;
106
+ combinedSignal.cleanup();
107
+ this.#activeExportAbortControllers.delete(activeExportAbortController);
108
+ this.#exportInProgress = this.#activeExportAbortControllers.size > 0;
101
109
  }
102
110
  };
103
111
  if (force || this.#buffer.length < this.#maxBatchSize) {
@@ -110,6 +118,33 @@ class BatchTraceProcessor {
110
118
  await exportBatch(batch);
111
119
  }
112
120
  }
121
+ #abortActiveExports() {
122
+ for (const controller of this.#activeExportAbortControllers) {
123
+ controller.abort();
124
+ }
125
+ }
126
+ async #waitForShutdownProgress(signal) {
127
+ await new Promise((resolve) => {
128
+ if (signal?.aborted) {
129
+ resolve();
130
+ return;
131
+ }
132
+ const state = {};
133
+ const cleanup = () => {
134
+ if (state.timeout) {
135
+ this.#timer.clearTimeout(state.timeout);
136
+ }
137
+ signal?.removeEventListener('abort', onAbort);
138
+ };
139
+ const done = () => {
140
+ cleanup();
141
+ resolve();
142
+ };
143
+ const onAbort = () => done();
144
+ state.timeout = this.#timer.setTimeout(done, 500);
145
+ signal?.addEventListener('abort', onAbort, { once: true });
146
+ });
147
+ }
113
148
  async onTraceStart(trace) {
114
149
  await this.#safeAddItem(trace);
115
150
  }
@@ -132,6 +167,7 @@ class BatchTraceProcessor {
132
167
  shutdownTimeout = this.#timer.setTimeout(() => {
133
168
  // Force shutdown the HTTP request.
134
169
  shutdownAbortController?.abort();
170
+ this.#abortActiveExports();
135
171
  }, timeout);
136
172
  if (typeof shutdownTimeout.unref === 'function') {
137
173
  shutdownTimeout.unref();
@@ -139,9 +175,9 @@ class BatchTraceProcessor {
139
175
  }
140
176
  try {
141
177
  logger_1.default.debug('Shutting down gracefully');
142
- while (this.#buffer.length > 0) {
178
+ while (this.#buffer.length > 0 || this.#exportInProgress) {
143
179
  logger_1.default.debug(`Waiting for buffer to empty. Items left: ${this.#buffer.length}`);
144
- if (!this.#exportInProgress) {
180
+ if (!this.#exportInProgress && this.#buffer.length > 0) {
145
181
  // No current export in progress. Forcing all items to be exported.
146
182
  await this.#exportBatches(true, shutdownAbortController?.signal);
147
183
  }
@@ -150,7 +186,7 @@ class BatchTraceProcessor {
150
186
  break;
151
187
  }
152
188
  // Using setTimeout to add to the event loop and keep this alive until done.
153
- await new Promise((resolve) => this.#timer.setTimeout(resolve, 500));
189
+ await this.#waitForShutdownProgress(shutdownAbortController?.signal);
154
190
  }
155
191
  logger_1.default.debug('Buffer empty. Exiting');
156
192
  }
@@ -210,6 +246,29 @@ class MultiTracingProcessor {
210
246
  await processor.onSpanEnd(span);
211
247
  }
212
248
  }
249
+ /**
250
+ * Dispatches a completed trace lifecycle to every registered processor without
251
+ * calling Trace.start() or Trace.end().
252
+ */
253
+ async dispatchTrace(trace) {
254
+ if (trace.traceId === utils_1.NOOP_TRACE_OR_SPAN_ID) {
255
+ return;
256
+ }
257
+ await this.onTraceStart(trace);
258
+ await this.onTraceEnd(trace);
259
+ }
260
+ /**
261
+ * Dispatches a completed span lifecycle to every registered processor without
262
+ * calling Span.start() or Span.end().
263
+ */
264
+ async dispatchSpan(span) {
265
+ if (span.traceId === utils_1.NOOP_TRACE_OR_SPAN_ID ||
266
+ span.spanId === utils_1.NOOP_TRACE_OR_SPAN_ID) {
267
+ return;
268
+ }
269
+ await this.onSpanStart(span);
270
+ await this.onSpanEnd(span);
271
+ }
213
272
  async shutdown(timeout) {
214
273
  for (const processor of this.#processors) {
215
274
  await processor.shutdown(timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import logger from "../logger.mjs";
2
2
  import { timer as _timer, isTracingLoopRunningByDefault, } from '@openai/agents-core/_shims';
3
3
  import { tracing } from "../config.mjs";
4
+ import { combineAbortSignals } from "../utils/abortSignals.mjs";
5
+ import { NOOP_TRACE_OR_SPAN_ID } from "./utils.mjs";
4
6
  /**
5
7
  * Prints the traces and spans to the console
6
8
  */
@@ -31,6 +33,7 @@ export class BatchTraceProcessor {
31
33
  #timeout = null;
32
34
  #exportInProgress = false;
33
35
  #timeoutAbortController = null;
36
+ #activeExportAbortControllers = new Set();
34
37
  constructor(exporter, { maxQueueSize = 1000, maxBatchSize = 100, scheduleDelay = 5000, // 5 seconds
35
38
  exportTriggerRatio = 0.8, } = {}) {
36
39
  this.#maxQueueSize = maxQueueSize;
@@ -81,14 +84,19 @@ export class BatchTraceProcessor {
81
84
  logger.debug(`Exporting batches. Force: ${force}. Buffer size: ${this.#buffer.length}`);
82
85
  const exportBatch = async (batch) => {
83
86
  this.#exportInProgress = true;
87
+ const activeExportAbortController = new AbortController();
88
+ this.#activeExportAbortControllers.add(activeExportAbortController);
89
+ const combinedSignal = combineAbortSignals(signal, activeExportAbortController.signal);
84
90
  try {
85
- await this.#exporter.export(batch, signal);
91
+ await this.#exporter.export(batch, combinedSignal.signal);
86
92
  }
87
93
  catch (error) {
88
94
  logger.error('Tracing exporter failed to export batch', error);
89
95
  }
90
96
  finally {
91
- this.#exportInProgress = false;
97
+ combinedSignal.cleanup();
98
+ this.#activeExportAbortControllers.delete(activeExportAbortController);
99
+ this.#exportInProgress = this.#activeExportAbortControllers.size > 0;
92
100
  }
93
101
  };
94
102
  if (force || this.#buffer.length < this.#maxBatchSize) {
@@ -101,6 +109,33 @@ export class BatchTraceProcessor {
101
109
  await exportBatch(batch);
102
110
  }
103
111
  }
112
+ #abortActiveExports() {
113
+ for (const controller of this.#activeExportAbortControllers) {
114
+ controller.abort();
115
+ }
116
+ }
117
+ async #waitForShutdownProgress(signal) {
118
+ await new Promise((resolve) => {
119
+ if (signal?.aborted) {
120
+ resolve();
121
+ return;
122
+ }
123
+ const state = {};
124
+ const cleanup = () => {
125
+ if (state.timeout) {
126
+ this.#timer.clearTimeout(state.timeout);
127
+ }
128
+ signal?.removeEventListener('abort', onAbort);
129
+ };
130
+ const done = () => {
131
+ cleanup();
132
+ resolve();
133
+ };
134
+ const onAbort = () => done();
135
+ state.timeout = this.#timer.setTimeout(done, 500);
136
+ signal?.addEventListener('abort', onAbort, { once: true });
137
+ });
138
+ }
104
139
  async onTraceStart(trace) {
105
140
  await this.#safeAddItem(trace);
106
141
  }
@@ -123,6 +158,7 @@ export class BatchTraceProcessor {
123
158
  shutdownTimeout = this.#timer.setTimeout(() => {
124
159
  // Force shutdown the HTTP request.
125
160
  shutdownAbortController?.abort();
161
+ this.#abortActiveExports();
126
162
  }, timeout);
127
163
  if (typeof shutdownTimeout.unref === 'function') {
128
164
  shutdownTimeout.unref();
@@ -130,9 +166,9 @@ export class BatchTraceProcessor {
130
166
  }
131
167
  try {
132
168
  logger.debug('Shutting down gracefully');
133
- while (this.#buffer.length > 0) {
169
+ while (this.#buffer.length > 0 || this.#exportInProgress) {
134
170
  logger.debug(`Waiting for buffer to empty. Items left: ${this.#buffer.length}`);
135
- if (!this.#exportInProgress) {
171
+ if (!this.#exportInProgress && this.#buffer.length > 0) {
136
172
  // No current export in progress. Forcing all items to be exported.
137
173
  await this.#exportBatches(true, shutdownAbortController?.signal);
138
174
  }
@@ -141,7 +177,7 @@ export class BatchTraceProcessor {
141
177
  break;
142
178
  }
143
179
  // Using setTimeout to add to the event loop and keep this alive until done.
144
- await new Promise((resolve) => this.#timer.setTimeout(resolve, 500));
180
+ await this.#waitForShutdownProgress(shutdownAbortController?.signal);
145
181
  }
146
182
  logger.debug('Buffer empty. Exiting');
147
183
  }
@@ -200,6 +236,29 @@ export class MultiTracingProcessor {
200
236
  await processor.onSpanEnd(span);
201
237
  }
202
238
  }
239
+ /**
240
+ * Dispatches a completed trace lifecycle to every registered processor without
241
+ * calling Trace.start() or Trace.end().
242
+ */
243
+ async dispatchTrace(trace) {
244
+ if (trace.traceId === NOOP_TRACE_OR_SPAN_ID) {
245
+ return;
246
+ }
247
+ await this.onTraceStart(trace);
248
+ await this.onTraceEnd(trace);
249
+ }
250
+ /**
251
+ * Dispatches a completed span lifecycle to every registered processor without
252
+ * calling Span.start() or Span.end().
253
+ */
254
+ async dispatchSpan(span) {
255
+ if (span.traceId === NOOP_TRACE_OR_SPAN_ID ||
256
+ span.spanId === NOOP_TRACE_OR_SPAN_ID) {
257
+ return;
258
+ }
259
+ await this.onSpanStart(span);
260
+ await this.onSpanEnd(span);
261
+ }
203
262
  async shutdown(timeout) {
204
263
  for (const processor of this.#processors) {
205
264
  await processor.shutdown(timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"processor.mjs","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.mjs","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import { TracingProcessor } from './processor';
2
2
  import { Span, SpanData, SpanOptions } from './spans';
3
3
  import { Trace, TraceOptions } from './traces';
4
+ import { type TracingIdGenerator } from './utils';
4
5
  export type CreateSpanOptions<TData extends SpanData> = Omit<SpanOptions<TData>, 'traceId'> & {
5
6
  traceId?: string;
6
7
  disabled?: boolean;
7
8
  };
9
+ export type TraceProviderOptions = {
10
+ idGenerator?: Partial<TracingIdGenerator>;
11
+ };
8
12
  export declare class TraceProvider {
9
13
  #private;
10
- constructor();
14
+ constructor(options?: TraceProviderOptions);
11
15
  /**
12
16
  * Add a processor to the list of processors. Each processor will receive all traces/spans.
13
17
  *
@@ -28,7 +32,36 @@ export declare class TraceProvider {
28
32
  getCurrentTrace(): Trace | null;
29
33
  getCurrentSpan(): Span<any> | null;
30
34
  setDisabled(disabled: boolean): void;
35
+ setIdGenerator(idGenerator?: Partial<TracingIdGenerator>): void;
36
+ /**
37
+ * Generate a new trace ID.
38
+ *
39
+ * Override this in custom providers to take precedence over configured ID generators.
40
+ */
41
+ generateTraceId(): string;
42
+ /**
43
+ * Generate a new span ID.
44
+ *
45
+ * Override this in custom providers to take precedence over configured ID generators.
46
+ */
47
+ generateSpanId(): string;
31
48
  startExportLoop(): void;
49
+ /**
50
+ * Dispatches a completed trace lifecycle to all registered processors.
51
+ *
52
+ * This is useful when an integration receives a trace that was started and
53
+ * ended outside this process and needs to fan out the lifecycle without
54
+ * mutating the trace state.
55
+ */
56
+ dispatchTrace(trace: Trace): Promise<void>;
57
+ /**
58
+ * Dispatches a completed span lifecycle to all registered processors.
59
+ *
60
+ * This is useful when an integration receives a span that already has
61
+ * lifecycle timestamps and needs to fan out the lifecycle without mutating
62
+ * those timestamps.
63
+ */
64
+ dispatchSpan<TSpanData extends SpanData>(span: Span<TSpanData>): Promise<void>;
32
65
  createTrace(traceOptions: TraceOptions): Trace;
33
66
  createSpan<TSpanData extends SpanData>(spanOptions: CreateSpanOptions<TSpanData>, parent?: Span<any> | Trace): Span<TSpanData>;
34
67
  shutdown(timeout?: number): Promise<void>;
@@ -12,14 +12,22 @@ const processor_1 = require("./processor.js");
12
12
  const spans_1 = require("./spans.js");
13
13
  const traces_1 = require("./traces.js");
14
14
  const utils_1 = require("./utils.js");
15
+ function resolveTracingIdGenerator(idGenerator) {
16
+ return {
17
+ generateTraceId: idGenerator?.generateTraceId ?? utils_1.defaultTracingIdGenerator.generateTraceId,
18
+ generateSpanId: idGenerator?.generateSpanId ?? utils_1.defaultTracingIdGenerator.generateSpanId,
19
+ };
20
+ }
15
21
  class TraceProvider {
16
22
  #multiProcessor;
17
23
  #disabled;
18
24
  #shutdownPromise;
19
- constructor() {
25
+ #idGenerator;
26
+ constructor(options = {}) {
20
27
  this.#multiProcessor = new processor_1.MultiTracingProcessor();
21
28
  this.#disabled = config_1.tracing.disabled;
22
29
  this.#shutdownPromise = null;
30
+ this.#idGenerator = resolveTracingIdGenerator(options.idGenerator);
23
31
  this.#addCleanupListeners();
24
32
  }
25
33
  /**
@@ -54,15 +62,62 @@ class TraceProvider {
54
62
  setDisabled(disabled) {
55
63
  this.#disabled = disabled;
56
64
  }
65
+ setIdGenerator(idGenerator) {
66
+ this.#idGenerator = resolveTracingIdGenerator(idGenerator);
67
+ }
68
+ /**
69
+ * Generate a new trace ID.
70
+ *
71
+ * Override this in custom providers to take precedence over configured ID generators.
72
+ */
73
+ generateTraceId() {
74
+ return this.#idGenerator.generateTraceId();
75
+ }
76
+ /**
77
+ * Generate a new span ID.
78
+ *
79
+ * Override this in custom providers to take precedence over configured ID generators.
80
+ */
81
+ generateSpanId() {
82
+ return this.#idGenerator.generateSpanId();
83
+ }
57
84
  startExportLoop() {
58
85
  this.#multiProcessor.start();
59
86
  }
87
+ /**
88
+ * Dispatches a completed trace lifecycle to all registered processors.
89
+ *
90
+ * This is useful when an integration receives a trace that was started and
91
+ * ended outside this process and needs to fan out the lifecycle without
92
+ * mutating the trace state.
93
+ */
94
+ async dispatchTrace(trace) {
95
+ if (this.#disabled) {
96
+ logger_1.default.debug('Tracing is disabled, Not dispatching trace %o', trace);
97
+ return;
98
+ }
99
+ await this.#multiProcessor.dispatchTrace(trace);
100
+ }
101
+ /**
102
+ * Dispatches a completed span lifecycle to all registered processors.
103
+ *
104
+ * This is useful when an integration receives a span that already has
105
+ * lifecycle timestamps and needs to fan out the lifecycle without mutating
106
+ * those timestamps.
107
+ */
108
+ async dispatchSpan(span) {
109
+ if (this.#disabled) {
110
+ logger_1.default.debug('Tracing is disabled, Not dispatching span %o', span);
111
+ return;
112
+ }
113
+ await this.#multiProcessor.dispatchSpan(span);
114
+ }
60
115
  createTrace(traceOptions) {
61
116
  if (this.#disabled) {
62
117
  logger_1.default.debug('Tracing is disabled, Not creating trace %o', traceOptions);
63
118
  return new traces_1.NoopTrace();
64
119
  }
65
- const traceId = traceOptions.traceId ?? (0, utils_1.generateTraceId)();
120
+ const traceId = traceOptions.traceId ?? this.generateTraceId();
66
121
  const name = traceOptions.name ?? 'Agent workflow';
67
122
  logger_1.default.debug('Creating trace %s with name %s', traceId, name);
68
123
  return new traces_1.Trace({ ...traceOptions, name, traceId }, this.#multiProcessor);
@@ -131,9 +186,15 @@ class TraceProvider {
131
186
  logger_1.default.error('No traceId found. Make sure to start a trace with `withTrace()` first. Returning NoopSpan.');
132
187
  return new spans_1.NoopSpan(spanOptions.data, this.#multiProcessor);
133
188
  }
134
- logger_1.default.debug(`Creating span ${JSON.stringify(spanOptions.data)} with id ${spanOptions.spanId ?? traceId}`);
189
+ const spanId = spanOptions.spanId ?? this.generateSpanId();
190
+ if (spanId === utils_1.NOOP_TRACE_OR_SPAN_ID) {
191
+ logger_1.default.debug('Span id is no-op, returning NoopSpan');
192
+ return new spans_1.NoopSpan(spanOptions.data, this.#multiProcessor);
193
+ }
194
+ logger_1.default.debug(`Creating span ${JSON.stringify(spanOptions.data)} with id ${spanId}`);
135
195
  return new spans_1.Span({
136
196
  ...spanOptions,
197
+ spanId,
137
198
  traceId,
138
199
  parentId,
139
200
  traceMetadata: traceMetadata ?? spanOptions.traceMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/tracing/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/tracing/provider.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,23 @@ import logger from "../logger.mjs";
4
4
  import { MultiTracingProcessor } from "./processor.mjs";
5
5
  import { NoopSpan, Span } from "./spans.mjs";
6
6
  import { NoopTrace, Trace } from "./traces.mjs";
7
- import { generateTraceId, NOOP_TRACE_OR_SPAN_ID } from "./utils.mjs";
7
+ import { defaultTracingIdGenerator, NOOP_TRACE_OR_SPAN_ID, } from "./utils.mjs";
8
+ function resolveTracingIdGenerator(idGenerator) {
9
+ return {
10
+ generateTraceId: idGenerator?.generateTraceId ?? defaultTracingIdGenerator.generateTraceId,
11
+ generateSpanId: idGenerator?.generateSpanId ?? defaultTracingIdGenerator.generateSpanId,
12
+ };
13
+ }
8
14
  export class TraceProvider {
9
15
  #multiProcessor;
10
16
  #disabled;
11
17
  #shutdownPromise;
12
- constructor() {
18
+ #idGenerator;
19
+ constructor(options = {}) {
13
20
  this.#multiProcessor = new MultiTracingProcessor();
14
21
  this.#disabled = tracing.disabled;
15
22
  this.#shutdownPromise = null;
23
+ this.#idGenerator = resolveTracingIdGenerator(options.idGenerator);
16
24
  this.#addCleanupListeners();
17
25
  }
18
26
  /**
@@ -47,15 +55,62 @@ export class TraceProvider {
47
55
  setDisabled(disabled) {
48
56
  this.#disabled = disabled;
49
57
  }
58
+ setIdGenerator(idGenerator) {
59
+ this.#idGenerator = resolveTracingIdGenerator(idGenerator);
60
+ }
61
+ /**
62
+ * Generate a new trace ID.
63
+ *
64
+ * Override this in custom providers to take precedence over configured ID generators.
65
+ */
66
+ generateTraceId() {
67
+ return this.#idGenerator.generateTraceId();
68
+ }
69
+ /**
70
+ * Generate a new span ID.
71
+ *
72
+ * Override this in custom providers to take precedence over configured ID generators.
73
+ */
74
+ generateSpanId() {
75
+ return this.#idGenerator.generateSpanId();
76
+ }
50
77
  startExportLoop() {
51
78
  this.#multiProcessor.start();
52
79
  }
80
+ /**
81
+ * Dispatches a completed trace lifecycle to all registered processors.
82
+ *
83
+ * This is useful when an integration receives a trace that was started and
84
+ * ended outside this process and needs to fan out the lifecycle without
85
+ * mutating the trace state.
86
+ */
87
+ async dispatchTrace(trace) {
88
+ if (this.#disabled) {
89
+ logger.debug('Tracing is disabled, Not dispatching trace %o', trace);
90
+ return;
91
+ }
92
+ await this.#multiProcessor.dispatchTrace(trace);
93
+ }
94
+ /**
95
+ * Dispatches a completed span lifecycle to all registered processors.
96
+ *
97
+ * This is useful when an integration receives a span that already has
98
+ * lifecycle timestamps and needs to fan out the lifecycle without mutating
99
+ * those timestamps.
100
+ */
101
+ async dispatchSpan(span) {
102
+ if (this.#disabled) {
103
+ logger.debug('Tracing is disabled, Not dispatching span %o', span);
104
+ return;
105
+ }
106
+ await this.#multiProcessor.dispatchSpan(span);
107
+ }
53
108
  createTrace(traceOptions) {
54
109
  if (this.#disabled) {
55
110
  logger.debug('Tracing is disabled, Not creating trace %o', traceOptions);
56
111
  return new NoopTrace();
57
112
  }
58
- const traceId = traceOptions.traceId ?? generateTraceId();
113
+ const traceId = traceOptions.traceId ?? this.generateTraceId();
59
114
  const name = traceOptions.name ?? 'Agent workflow';
60
115
  logger.debug('Creating trace %s with name %s', traceId, name);
61
116
  return new Trace({ ...traceOptions, name, traceId }, this.#multiProcessor);
@@ -124,9 +179,15 @@ export class TraceProvider {
124
179
  logger.error('No traceId found. Make sure to start a trace with `withTrace()` first. Returning NoopSpan.');
125
180
  return new NoopSpan(spanOptions.data, this.#multiProcessor);
126
181
  }
127
- logger.debug(`Creating span ${JSON.stringify(spanOptions.data)} with id ${spanOptions.spanId ?? traceId}`);
182
+ const spanId = spanOptions.spanId ?? this.generateSpanId();
183
+ if (spanId === NOOP_TRACE_OR_SPAN_ID) {
184
+ logger.debug('Span id is no-op, returning NoopSpan');
185
+ return new NoopSpan(spanOptions.data, this.#multiProcessor);
186
+ }
187
+ logger.debug(`Creating span ${JSON.stringify(spanOptions.data)} with id ${spanId}`);
128
188
  return new Span({
129
189
  ...spanOptions,
190
+ spanId,
130
191
  traceId,
131
192
  parentId,
132
193
  traceMetadata: traceMetadata ?? spanOptions.traceMetadata,