@traceroot-ai/traceroot 0.1.1 → 0.1.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.
@@ -1,3 +1,6 @@
1
+ export declare const DEFAULT_FLUSH_INTERVAL_SEC = 5;
2
+ export declare const DEFAULT_FLUSH_AT = 100;
3
+ export declare const DEFAULT_TIMEOUT_SEC = 30;
1
4
  export declare const SPAN_METADATA = "traceroot.span.metadata";
2
5
  export declare const SPAN_TAGS = "traceroot.span.tags";
3
6
  export declare const LLM_MODEL = "traceroot.llm.model";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,4BAA4B,CAAC;AACvD,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAG/C,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AACrE,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,UAAU,yBAAyB,CAAC;AAGjD,eAAO,MAAM,cAAc,6BAA6B,CAAC;AACzD,eAAO,MAAM,UAAU,yBAAyB,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CA6BjB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,aAAa,4BAA4B,CAAC;AACvD,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAG/C,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AACrE,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,UAAU,yBAAyB,CAAC;AAGjD,eAAO,MAAM,cAAc,6BAA6B,CAAC;AACzD,eAAO,MAAM,UAAU,yBAAyB,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CA6BjB,CAAC"}
package/dist/constants.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
- // src/constants.ts — TraceRoot-specific span attribute keys
2
+ // src/constants.ts — TraceRoot-specific span attribute keys and SDK defaults
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SpanAttributes = exports.TRACE_TAGS = exports.TRACE_METADATA = exports.LLM_PROMPT = exports.LLM_USAGE = exports.LLM_MODEL_PARAMETERS = exports.LLM_MODEL = exports.SPAN_TAGS = exports.SPAN_METADATA = void 0;
4
+ exports.SpanAttributes = exports.TRACE_TAGS = exports.TRACE_METADATA = exports.LLM_PROMPT = exports.LLM_USAGE = exports.LLM_MODEL_PARAMETERS = exports.LLM_MODEL = exports.SPAN_TAGS = exports.SPAN_METADATA = exports.DEFAULT_TIMEOUT_SEC = exports.DEFAULT_FLUSH_AT = exports.DEFAULT_FLUSH_INTERVAL_SEC = void 0;
5
+ // Flush/batch defaults — mirror traceroot-py/traceroot/constants.py
6
+ exports.DEFAULT_FLUSH_INTERVAL_SEC = 5; // seconds → BatchSpanProcessor scheduledDelayMillis (×1000)
7
+ exports.DEFAULT_FLUSH_AT = 100; // BatchSpanProcessor maxExportBatchSize
8
+ exports.DEFAULT_TIMEOUT_SEC = 30; // seconds → BatchSpanProcessor exportTimeoutMillis (×1000)
5
9
  // Span-level
6
10
  exports.SPAN_METADATA = 'traceroot.span.metadata';
7
11
  exports.SPAN_TAGS = 'traceroot.span.tags';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAE5D,aAAa;AACA,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAC1C,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAE/C,eAAe;AACF,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAClC,QAAA,oBAAoB,GAAG,gCAAgC,CAAC;AACxD,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAClC,QAAA,UAAU,GAAG,sBAAsB,CAAC;AAEjD,cAAc;AACD,QAAA,cAAc,GAAG,0BAA0B,CAAC;AAC5C,QAAA,UAAU,GAAG,sBAAsB,CAAC;AAEjD;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG;IAC5B,aAAa;IACb,SAAS,EAAE,qBAAqB;IAChC,UAAU,EAAE,aAAa,EAAE,gBAAgB;IAC3C,WAAW,EAAE,cAAc,EAAE,gBAAgB;IAC7C,aAAa,EADgB,gBAAgB;IAC7C,qBAAa;IACb,SAAS,EAAT,iBAAS;IAET,eAAe;IACf,SAAS,EAAT,iBAAS;IACT,oBAAoB,EAApB,4BAAoB;IACpB,SAAS,EAAT,iBAAS;IACT,UAAU,EAAV,kBAAU;IAEV,cAAc;IACd,aAAa,EAAE,SAAS,EAAE,gBAAgB;IAC1C,gBAAgB,EAAE,YAAY,EAAE,gBAAgB;IAChD,cAAc,EADkB,gBAAgB;IAChD,sBAAc;IACd,UAAU,EAAV,kBAAU;IAEV,cAAc;IACd,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,mBAAmB;IAC5B,eAAe,EAAE,2BAA2B;IAC5C,eAAe,EAAE,2BAA2B;IAC5C,mBAAmB,EAAE,+BAA+B;IAEpD,aAAa;IACb,WAAW,EAAE,wBAAwB;CAC7B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,6EAA6E;;;AAE7E,oEAAoE;AACvD,QAAA,0BAA0B,GAAG,CAAC,CAAC,CAAC,4DAA4D;AAC5F,QAAA,gBAAgB,GAAG,GAAG,CAAC,CAAC,wCAAwC;AAChE,QAAA,mBAAmB,GAAG,EAAE,CAAC,CAAC,2DAA2D;AAElG,aAAa;AACA,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAC1C,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAE/C,eAAe;AACF,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAClC,QAAA,oBAAoB,GAAG,gCAAgC,CAAC;AACxD,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAClC,QAAA,UAAU,GAAG,sBAAsB,CAAC;AAEjD,cAAc;AACD,QAAA,cAAc,GAAG,0BAA0B,CAAC;AAC5C,QAAA,UAAU,GAAG,sBAAsB,CAAC;AAEjD;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG;IAC5B,aAAa;IACb,SAAS,EAAE,qBAAqB;IAChC,UAAU,EAAE,aAAa,EAAE,gBAAgB;IAC3C,WAAW,EAAE,cAAc,EAAE,gBAAgB;IAC7C,aAAa,EADgB,gBAAgB;IAC7C,qBAAa;IACb,SAAS,EAAT,iBAAS;IAET,eAAe;IACf,SAAS,EAAT,iBAAS;IACT,oBAAoB,EAApB,4BAAoB;IACpB,SAAS,EAAT,iBAAS;IACT,UAAU,EAAV,kBAAU;IAEV,cAAc;IACd,aAAa,EAAE,SAAS,EAAE,gBAAgB;IAC1C,gBAAgB,EAAE,YAAY,EAAE,gBAAgB;IAChD,cAAc,EADkB,gBAAgB;IAChD,sBAAc;IACd,UAAU,EAAV,kBAAU;IAEV,cAAc;IACd,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,mBAAmB;IAC5B,eAAe,EAAE,2BAA2B;IAC5C,eAAe,EAAE,2BAA2B;IAC5C,mBAAmB,EAAE,+BAA+B;IAEpD,aAAa;IACb,WAAW,EAAE,wBAAwB;CAC7B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export { usingAttributes } from './usingAttributes';
5
5
  export { SpanAttributes } from './constants';
6
6
  export type { SpanType, ObserveOptions, InitializeOptions } from './types';
7
7
  export type { UsingAttributesOptions } from './usingAttributes';
8
+ export { OpenAIAgentsProcessor } from './openai-agents';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SpanAttributes = exports.usingAttributes = exports.getCurrentSpanId = exports.getCurrentTraceId = exports.updateCurrentTrace = exports.updateCurrentSpan = exports.observe = exports.TraceRoot = void 0;
3
+ exports.OpenAIAgentsProcessor = exports.SpanAttributes = exports.usingAttributes = exports.getCurrentSpanId = exports.getCurrentTraceId = exports.updateCurrentTrace = exports.updateCurrentSpan = exports.observe = exports.TraceRoot = void 0;
4
4
  // src/index.ts
5
5
  var traceroot_1 = require("./traceroot");
6
6
  Object.defineProperty(exports, "TraceRoot", { enumerable: true, get: function () { return traceroot_1.TraceRoot; } });
@@ -15,4 +15,6 @@ var usingAttributes_1 = require("./usingAttributes");
15
15
  Object.defineProperty(exports, "usingAttributes", { enumerable: true, get: function () { return usingAttributes_1.usingAttributes; } });
16
16
  var constants_1 = require("./constants");
17
17
  Object.defineProperty(exports, "SpanAttributes", { enumerable: true, get: function () { return constants_1.SpanAttributes; } });
18
+ var openai_agents_1 = require("./openai-agents");
19
+ Object.defineProperty(exports, "OpenAIAgentsProcessor", { enumerable: true, get: function () { return openai_agents_1.OpenAIAgentsProcessor; } });
18
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qCAKmB;AAJjB,4GAAA,iBAAiB,OAAA;AACjB,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA;AAElB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yCAA6C;AAApC,2GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qCAKmB;AAJjB,4GAAA,iBAAiB,OAAA;AACjB,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA;AAElB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AAGvB,iDAAwD;AAA/C,sHAAA,qBAAqB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GACxD,IAAI,CAsDN"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GACxD,IAAI,CAyDN"}
@@ -8,6 +8,7 @@ const openinference_instrumentation_bedrock_1 = require("@arizeai/openinference-
8
8
  const openinference_instrumentation_claude_agent_sdk_1 = require("@arizeai/openinference-instrumentation-claude-agent-sdk");
9
9
  const openinference_instrumentation_langchain_1 = require("@arizeai/openinference-instrumentation-langchain");
10
10
  const openinference_instrumentation_openai_1 = require("@arizeai/openinference-instrumentation-openai");
11
+ const openai_agents_1 = require("./openai-agents");
11
12
  /**
12
13
  * Wires OpenInference instrumentations based on the instrumentModules option:
13
14
  *
@@ -59,6 +60,9 @@ function wireInstrumentations(instrumentModules) {
59
60
  instrs.push(instr);
60
61
  instr.manuallyInstrument(instrumentModules.bedrock);
61
62
  }
63
+ if (instrumentModules.openaiAgents) {
64
+ (0, openai_agents_1.wireOpenAIAgentsProcessor)(instrumentModules.openaiAgents);
65
+ }
62
66
  if (instrs.length > 0) {
63
67
  (0, instrumentation_1.registerInstrumentations)({ instrumentations: instrs });
64
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":";;AAkBA,oDAwDC;AA1ED,yBAAyB;AACzB,oEAA0E;AAC1E,8GAA4F;AAC5F,0GAAwF;AACxF,4HAAwG;AACxG,8GAA4F;AAC5F,wGAAsF;AAGtF;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAClC,iBAAyD;IAEzD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,6DAA6D;QAC7D,4CAA4C;QAC5C,IAAA,0CAAwB,EAAC;YACvB,gBAAgB,EAAE;gBAChB,IAAI,4DAAqB,EAAE;gBAC3B,IAAI,kEAAwB,EAAE;gBAC9B,IAAI,kEAAwB,EAAE;gBAC9B,IAAI,8EAA6B,EAAE;gBACnC,IAAI,8DAAsB,EAAE;aAC7B;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAMN,EAAE,CAAC;IAET,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,4DAAqB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,MAAa,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,kEAAwB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChC,4FAA4F;QAC5F,MAAM,KAAK,GAAG,IAAI,kEAAwB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,8EAA6B,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,cAAqB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,8DAAsB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAc,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAA,0CAAwB,EAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":";;AAmBA,oDA2DC;AA9ED,yBAAyB;AACzB,oEAA0E;AAC1E,8GAA4F;AAC5F,0GAAwF;AACxF,4HAAwG;AACxG,8GAA4F;AAC5F,wGAAsF;AAEtF,mDAA4D;AAE5D;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAClC,iBAAyD;IAEzD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,6DAA6D;QAC7D,4CAA4C;QAC5C,IAAA,0CAAwB,EAAC;YACvB,gBAAgB,EAAE;gBAChB,IAAI,4DAAqB,EAAE;gBAC3B,IAAI,kEAAwB,EAAE;gBAC9B,IAAI,kEAAwB,EAAE;gBAC9B,IAAI,8EAA6B,EAAE;gBACnC,IAAI,8DAAsB,EAAE;aAC7B;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAMN,EAAE,CAAC;IAET,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,4DAAqB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,MAAa,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,kEAAwB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChC,4FAA4F;QAC5F,MAAM,KAAK,GAAG,IAAI,kEAAwB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,8EAA6B,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,cAAqB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,8DAAsB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAc,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC;QACnC,IAAA,yCAAyB,EAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAA,0CAAwB,EAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { SpanData } from '@openai/agents';
2
+ export interface OpenAIAgentsSpan {
3
+ type: 'trace.span';
4
+ spanId: string;
5
+ traceId: string;
6
+ parentId?: string | null;
7
+ spanData: SpanData;
8
+ startedAt?: string | null;
9
+ endedAt?: string | null;
10
+ error?: {
11
+ message: string;
12
+ } | null;
13
+ }
14
+ export interface OpenAIAgentsTrace {
15
+ type?: 'trace';
16
+ traceId: string;
17
+ name?: string;
18
+ }
19
+ export declare function getSpanName(data: SpanData): string;
20
+ export declare function getSpanAttributes(data: SpanData): Record<string, string | number | boolean>;
21
+ export declare class OpenAIAgentsProcessor {
22
+ private readonly spanMap;
23
+ private readonly ctxMap;
24
+ private readonly tracer;
25
+ onTraceStart(t: OpenAIAgentsTrace): Promise<void>;
26
+ onTraceEnd(t: OpenAIAgentsTrace): Promise<void>;
27
+ onSpanStart(s: OpenAIAgentsSpan): Promise<void>;
28
+ onSpanEnd(s: OpenAIAgentsSpan): Promise<void>;
29
+ shutdown(): Promise<void>;
30
+ forceFlush(): Promise<void>;
31
+ }
32
+ /**
33
+ * Replaces @openai/agents' default tracing processors with TraceRoot's.
34
+ *
35
+ * The SDK's umbrella package eagerly registers an OpenAI-hosted exporter at
36
+ * import time (sends spans to api.openai.com). Calling `setTraceProcessors`
37
+ * here replaces that default — spans go to TraceRoot only.
38
+ *
39
+ * To dual-export (e.g. ship to both TraceRoot *and* OpenAI), call
40
+ * `addTraceProcessor(otherProcessor)` from `@openai/agents` after `initialize()`.
41
+ */
42
+ export declare function wireOpenAIAgentsProcessor(mod: unknown): void;
43
+ //# sourceMappingURL=openai-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-agents.d.ts","sourceRoot":"","sources":["../src/openai-agents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAyBlD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CA+D3F;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IAEnE,YAAY,CAAC,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,UAAU,CAAC,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,WAAW,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/C,SAAS,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAU5D"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenAIAgentsProcessor = void 0;
4
+ exports.getSpanName = getSpanName;
5
+ exports.getSpanAttributes = getSpanAttributes;
6
+ exports.wireOpenAIAgentsProcessor = wireOpenAIAgentsProcessor;
7
+ const api_1 = require("@opentelemetry/api");
8
+ const SPAN_KIND = {
9
+ agent: 'AGENT',
10
+ function: 'TOOL',
11
+ generation: 'LLM',
12
+ response: 'LLM',
13
+ handoff: 'AGENT',
14
+ custom: 'CHAIN',
15
+ guardrail: 'CHAIN',
16
+ transcription: 'LLM',
17
+ speech: 'LLM',
18
+ speech_group: 'CHAIN',
19
+ mcp_tools: 'TOOL',
20
+ };
21
+ function getSpanName(data) {
22
+ switch (data.type) {
23
+ case 'agent':
24
+ return data.name;
25
+ case 'function':
26
+ return data.name;
27
+ case 'generation':
28
+ return data.model ? `generation [${data.model}]` : 'generation';
29
+ case 'response':
30
+ return 'response';
31
+ case 'handoff':
32
+ return data.to_agent ? `handoff -> ${data.to_agent}` : 'handoff';
33
+ case 'custom':
34
+ return data.name;
35
+ case 'guardrail':
36
+ return data.name;
37
+ case 'transcription':
38
+ return 'transcription';
39
+ case 'speech':
40
+ return 'speech';
41
+ case 'speech_group':
42
+ return 'speech_group';
43
+ case 'mcp_tools':
44
+ return data.server ? `mcp_tools [${data.server}]` : 'mcp_tools';
45
+ }
46
+ }
47
+ function getSpanAttributes(data) {
48
+ const attrs = {
49
+ 'openinference.span.kind': SPAN_KIND[data.type],
50
+ };
51
+ switch (data.type) {
52
+ case 'agent':
53
+ attrs['agent.name'] = data.name;
54
+ if (data.tools?.length)
55
+ attrs['input.value'] = JSON.stringify({ tools: data.tools });
56
+ break;
57
+ case 'function':
58
+ attrs['tool.name'] = data.name;
59
+ if (data.input != null)
60
+ attrs['input.value'] = data.input;
61
+ if (data.output != null)
62
+ attrs['output.value'] = data.output;
63
+ break;
64
+ case 'generation':
65
+ if (data.model)
66
+ attrs['llm.model_name'] = data.model;
67
+ if (data.input != null)
68
+ attrs['input.value'] = JSON.stringify(data.input);
69
+ if (data.output != null)
70
+ attrs['output.value'] = JSON.stringify(data.output);
71
+ if (data.usage?.input_tokens != null)
72
+ attrs['llm.token_count.prompt'] = data.usage.input_tokens;
73
+ if (data.usage?.output_tokens != null)
74
+ attrs['llm.token_count.completion'] = data.usage.output_tokens;
75
+ break;
76
+ case 'response': {
77
+ const r = data._response;
78
+ if (r?.model)
79
+ attrs['llm.model_name'] = r.model;
80
+ const usage = r?.usage;
81
+ if (usage?.input_tokens != null)
82
+ attrs['llm.token_count.prompt'] = usage.input_tokens;
83
+ if (usage?.output_tokens != null)
84
+ attrs['llm.token_count.completion'] = usage.output_tokens;
85
+ if (data._input != null)
86
+ attrs['input.value'] =
87
+ typeof data._input === 'string' ? data._input : JSON.stringify(data._input);
88
+ if (r?.output != null)
89
+ attrs['output.value'] = JSON.stringify(r.output);
90
+ break;
91
+ }
92
+ case 'handoff':
93
+ if (data.from_agent)
94
+ attrs['agent.name'] = data.from_agent;
95
+ if (data.to_agent)
96
+ attrs['traceroot.span.metadata'] = JSON.stringify({ to_agent: data.to_agent });
97
+ break;
98
+ case 'custom':
99
+ if (data.data)
100
+ attrs['input.value'] = JSON.stringify(data.data);
101
+ break;
102
+ case 'guardrail':
103
+ attrs['traceroot.span.metadata'] = JSON.stringify({ triggered: data.triggered });
104
+ break;
105
+ case 'transcription':
106
+ if (data.model)
107
+ attrs['llm.model_name'] = data.model;
108
+ if (data.output)
109
+ attrs['output.value'] = data.output;
110
+ break;
111
+ case 'speech':
112
+ if (data.model)
113
+ attrs['llm.model_name'] = data.model;
114
+ if (data.input)
115
+ attrs['input.value'] = data.input;
116
+ break;
117
+ case 'speech_group':
118
+ if (data.input)
119
+ attrs['input.value'] = data.input;
120
+ break;
121
+ case 'mcp_tools':
122
+ if (data.server)
123
+ attrs['tool.name'] = data.server;
124
+ if (data.result)
125
+ attrs['output.value'] = JSON.stringify(data.result);
126
+ break;
127
+ }
128
+ return attrs;
129
+ }
130
+ class OpenAIAgentsProcessor {
131
+ spanMap = new Map();
132
+ ctxMap = new Map();
133
+ tracer = api_1.trace.getTracer('@traceroot-ai/openai-agents');
134
+ async onTraceStart(t) {
135
+ const span = this.tracer.startSpan(t.name ?? 'Agent workflow', {
136
+ attributes: { 'openinference.span.kind': 'CHAIN' },
137
+ });
138
+ this.spanMap.set(t.traceId, span);
139
+ this.ctxMap.set(t.traceId, api_1.trace.setSpan(api_1.context.active(), span));
140
+ }
141
+ async onTraceEnd(t) {
142
+ this.spanMap.get(t.traceId)?.end();
143
+ this.spanMap.delete(t.traceId);
144
+ this.ctxMap.delete(t.traceId);
145
+ }
146
+ async onSpanStart(s) {
147
+ const parentCtx = (s.parentId != null && this.ctxMap.get(s.parentId)) ||
148
+ this.ctxMap.get(s.traceId) ||
149
+ api_1.context.active();
150
+ const otelSpan = this.tracer.startSpan(getSpanName(s.spanData), { startTime: s.startedAt ? new Date(s.startedAt) : undefined }, parentCtx);
151
+ this.spanMap.set(s.spanId, otelSpan);
152
+ this.ctxMap.set(s.spanId, api_1.trace.setSpan(parentCtx, otelSpan));
153
+ }
154
+ async onSpanEnd(s) {
155
+ const otelSpan = this.spanMap.get(s.spanId);
156
+ if (otelSpan) {
157
+ const attrs = getSpanAttributes(s.spanData);
158
+ for (const [k, v] of Object.entries(attrs))
159
+ otelSpan.setAttribute(k, v);
160
+ if (s.error)
161
+ otelSpan.setStatus({ code: api_1.SpanStatusCode.ERROR, message: s.error.message });
162
+ otelSpan.end(s.endedAt ? new Date(s.endedAt) : undefined);
163
+ }
164
+ this.spanMap.delete(s.spanId);
165
+ this.ctxMap.delete(s.spanId);
166
+ }
167
+ async shutdown() { }
168
+ async forceFlush() { }
169
+ }
170
+ exports.OpenAIAgentsProcessor = OpenAIAgentsProcessor;
171
+ /**
172
+ * Replaces @openai/agents' default tracing processors with TraceRoot's.
173
+ *
174
+ * The SDK's umbrella package eagerly registers an OpenAI-hosted exporter at
175
+ * import time (sends spans to api.openai.com). Calling `setTraceProcessors`
176
+ * here replaces that default — spans go to TraceRoot only.
177
+ *
178
+ * To dual-export (e.g. ship to both TraceRoot *and* OpenAI), call
179
+ * `addTraceProcessor(otherProcessor)` from `@openai/agents` after `initialize()`.
180
+ */
181
+ function wireOpenAIAgentsProcessor(mod) {
182
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
183
+ const setTraceProcessors = mod?.setTraceProcessors;
184
+ if (typeof setTraceProcessors !== 'function') {
185
+ throw new Error('[TraceRoot] instrumentModules.openaiAgents does not expose setTraceProcessors. ' +
186
+ 'Pass `import * as agents from "@openai/agents"` (the module namespace, not a sub-export).');
187
+ }
188
+ setTraceProcessors([new OpenAIAgentsProcessor()]);
189
+ }
190
+ //# sourceMappingURL=openai-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-agents.js","sourceRoot":"","sources":["../src/openai-agents.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export declare class TraceRootSpanProcessor implements SpanProcessor {
17
17
  private readonly _environment;
18
18
  private readonly _gitRepo;
19
19
  private readonly _gitRef;
20
+ private readonly _idsPathBySpanId;
21
+ private readonly _namePathBySpanId;
20
22
  constructor(inner: BatchSpanProcessor | SimpleSpanProcessor, opts?: TraceRootSpanProcessorOptions);
21
23
  onStart(span: Span, parentContext: Context): void;
22
24
  onEnd(span: ReadableSpan): void;
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAKvC,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,WAAW,QAAU,CAAC;AAEnC,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAG3C,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,EAC/C,IAAI,GAAE,6BAAkC;IAQ1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAoBjD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAI/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAKvC,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,WAAW,QAAU,CAAC;AAEnC,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAI7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;gBAG/D,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,EAC/C,IAAI,GAAE,6BAAkC;IAQ1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IA2EjD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAU/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B"}
package/dist/processor.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TraceRootSpanProcessor = exports.SDK_VERSION = exports.SDK_NAME = void 0;
4
+ // src/processor.ts
5
+ const api_1 = require("@opentelemetry/api");
4
6
  // eslint-disable-next-line @typescript-eslint/no-require-imports
5
7
  const { version } = require('../package.json');
6
8
  exports.SDK_NAME = 'traceroot-ts';
@@ -15,6 +17,11 @@ class TraceRootSpanProcessor {
15
17
  _environment;
16
18
  _gitRepo;
17
19
  _gitRef;
20
+ // Keyed by spanId. Allows children to inherit paths even when the parent
21
+ // is a NonRecordingSpan (remote context) with no attributes — which is
22
+ // what OpenInference produces for LangGraph-instrumented node spans.
23
+ _idsPathBySpanId = new Map();
24
+ _namePathBySpanId = new Map();
18
25
  constructor(inner, opts = {}) {
19
26
  this.inner = inner;
20
27
  this._environment = opts.environment;
@@ -35,12 +42,59 @@ class TraceRootSpanProcessor {
35
42
  if (this._gitRef !== undefined) {
36
43
  span.setAttribute('traceroot.git.ref', this._gitRef);
37
44
  }
45
+ // Enrich every span with its full name path from root to current span.
46
+ // path[0] is always the root span name, so the backend can recover the
47
+ // correct trace name even when child spans arrive before the root span.
48
+ // Guard: a bare `{}` context (used in unit tests) has no getValue — skip gracefully.
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ const parentSpan = (typeof parentContext?.getValue === 'function'
51
+ ? api_1.trace.getSpan(parentContext)
52
+ : undefined);
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ const spanName = span.name ?? '';
55
+ // `span.name` and `span.parentSpanId` are not on the public @opentelemetry/api
56
+ // Span interface but are stable internal fields on the SDK implementation.
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ const parentSpanId = span.parentSpanId ||
59
+ parentSpan?.spanContext?.()?.spanId;
60
+ // Prefer the in-process map over span attributes: OpenInference creates
61
+ // LangGraph node spans with a remote/NonRecordingSpan parent that carries
62
+ // no attributes, so reading parentSpan.attributes would give undefined and
63
+ // break the ancestry chain.
64
+ const parentPath = (parentSpanId && this._namePathBySpanId.get(parentSpanId)) ||
65
+ parentSpan?.attributes?.['traceroot.span.path'];
66
+ const parentIdsPath = (parentSpanId && this._idsPathBySpanId.get(parentSpanId)) ||
67
+ parentSpan?.attributes?.['traceroot.span.ids_path'];
68
+ const spanPath = parentPath ? [...parentPath, spanName] : [spanName];
69
+ // Gate on parentPath (not just parentSpanId) so path and ids_path stay in sync:
70
+ // if path resolution failed (map miss + NonRecordingSpan), treat this span as a
71
+ // root rather than emitting an inconsistent single-element path with a non-empty ids_path.
72
+ const spanIdsPath = parentPath && parentSpanId
73
+ ? parentIdsPath
74
+ ? [...parentIdsPath, parentSpanId]
75
+ : [parentSpanId]
76
+ : [];
77
+ span.setAttribute('traceroot.span.path', spanPath);
78
+ span.setAttribute('traceroot.span.ids_path', spanIdsPath);
79
+ // Store paths so descendant spans can inherit them via map lookup.
80
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
+ const spanId = typeof span.spanContext === 'function' ? span.spanContext().spanId : undefined;
82
+ if (spanId) {
83
+ this._namePathBySpanId.set(spanId, spanPath);
84
+ this._idsPathBySpanId.set(spanId, spanIdsPath);
85
+ }
38
86
  // Cast required: inner processor expects the internal sdk-trace-base Span,
39
87
  // but the SpanProcessor interface uses the public @opentelemetry/api Span.
40
88
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
89
  this.inner.onStart(span, parentContext);
42
90
  }
43
91
  onEnd(span) {
92
+ // Invariant: children must be started before their parent ends. A child span
93
+ // started after onEnd runs here loses the map-based ancestry lookup for
94
+ // NonRecordingSpan parents (no attribute fallback exists for those).
95
+ const spanId = span.spanContext().spanId;
96
+ this._idsPathBySpanId.delete(spanId);
97
+ this._namePathBySpanId.delete(spanId);
44
98
  this.inner.onEnd(span);
45
99
  }
46
100
  forceFlush() {
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":";;;AASA,iEAAiE;AACjE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEzD,QAAA,QAAQ,GAAG,cAAc,CAAC;AAC1B,QAAA,WAAW,GAAG,OAAO,CAAC;AAQnC;;;;GAIG;AACH,MAAa,sBAAsB;IAChB,KAAK,CAA2C;IAChD,YAAY,CAAqB;IACjC,QAAQ,CAAqB;IAC7B,OAAO,CAAqB;IAE7C,YACE,KAA+C,EAC/C,OAAsC,EAAE;QAExC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,IAAU,EAAE,aAAsB;QACxC,IAAI,CAAC,aAAa,CAAC;YACjB,oBAAoB,EAAE,gBAAQ;YAC9B,uBAAuB,EAAE,mBAAW;SACrC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAW,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;AA/CD,wDA+CC"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"traceroot.d.ts","sourceRoot":"","sources":["../src/traceroot.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAW5C,qBAAa,SAAS;IACpB,OAAO;IAEP,MAAM,CAAC,aAAa,IAAI,OAAO;IAI/B,MAAM,CAAC,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,IAAI;WA4F3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;WAItB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
1
+ {"version":3,"file":"traceroot.d.ts","sourceRoot":"","sources":["../src/traceroot.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAY5C,qBAAa,SAAS;IACpB,OAAO;IAEP,MAAM,CAAC,aAAa,IAAI,OAAO;IAI/B,MAAM,CAAC,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,IAAI;WA8F3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;WAItB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
package/dist/traceroot.js CHANGED
@@ -9,6 +9,7 @@ const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
9
9
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
10
10
  const processor_1 = require("./processor");
11
11
  const instrumentation_1 = require("./instrumentation");
12
+ const constants_1 = require("./constants");
12
13
  const observe_1 = require("./observe");
13
14
  const git_context_1 = require("./git_context");
14
15
  const DEFAULT_BASE_URL = 'https://app.traceroot.ai';
@@ -69,10 +70,10 @@ class TraceRoot {
69
70
  else {
70
71
  (0, git_context_1.getGitRoot)(); // warm git root cache for captureSourceLocation without shelling out for repo/ref
71
72
  }
72
- // Flush/batch tuning — env vars take precedence over hardcoded defaults.
73
- const flushIntervalSec = Number(process.env['TRACEROOT_FLUSH_INTERVAL'] || '5');
74
- const flushAt = Number(process.env['TRACEROOT_FLUSH_AT'] || '100');
75
- const timeoutSec = Number(process.env['TRACEROOT_TIMEOUT'] || '30');
73
+ // Flush/batch tuning — env vars take precedence over SDK defaults.
74
+ const flushIntervalSec = Number(process.env['TRACEROOT_FLUSH_INTERVAL'] || constants_1.DEFAULT_FLUSH_INTERVAL_SEC);
75
+ const flushAt = Number(process.env['TRACEROOT_FLUSH_AT'] || constants_1.DEFAULT_FLUSH_AT);
76
+ const timeoutSec = Number(process.env['TRACEROOT_TIMEOUT'] || constants_1.DEFAULT_TIMEOUT_SEC);
76
77
  const innerProcessor = options.disableBatch
77
78
  ? new sdk_trace_base_1.SimpleSpanProcessor(exporter)
78
79
  : new sdk_trace_base_1.BatchSpanProcessor(exporter, {
@@ -1 +1 @@
1
- {"version":3,"file":"traceroot.js","sourceRoot":"","sources":["../src/traceroot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traceroot.js","sourceRoot":"","sources":["../src/traceroot.ts"],"names":[],"mappings":";;;AA0IA,4CAQC;AAlJD,mBAAmB;AACnB,4CAO4B;AAC5B,wFAA6E;AAC7E,kEAAwF;AACxF,kEAAmE;AAEnE,2CAA4E;AAC5E,uDAAyD;AACzD,2CAAgG;AAChG,uCAA+C;AAC/C,+CAAwF;AAExF,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAEpD,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,SAAyC,CAAC;AAE9C,MAAa,SAAS;IACpB,gBAAuB,CAAC;IAExB,MAAM,CAAC,aAAa;QAClB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,UAA6B,EAAE;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC;QAChF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CACV,iGAAiG;gBAC/F,6CAA6C,CAChD,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAiC;YAChD,KAAK,EAAE,kBAAY,CAAC,KAAK;YACzB,IAAI,EAAE,kBAAY,CAAC,IAAI;YACvB,IAAI,EAAE,kBAAY,CAAC,IAAI;YACvB,KAAK,EAAE,kBAAY,CAAC,KAAK;SAC1B,CAAC;QACF,UAAI,CAAC,SAAS,CACZ,IAAI,uBAAiB,EAAE,EACvB,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,kBAAY,CAAC,KAAK,CAC/D,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACjC,gBAAgB,CACjB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,MAAM,OAAO,GAA2B;YACtC,sBAAsB,EAAE,oBAAQ;YAChC,yBAAyB,EAAE,uBAAW;SACvC,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,6CAAiB,CAAC;YACrC,GAAG,EAAE,GAAG,OAAO,uBAAuB;YACtC,OAAO;YACP,6FAA6F;YAC7F,8DAA8D;YAC9D,WAAW,EAAE,MAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAEhF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,OAAO,GAAG,eAAe,CAAC;QAC9B,IAAI,MAAM,GAAG,cAAc,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,IAAA,kCAAoB,GAAE,CAAC,CAAC,gCAAgC;YACxE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;YAC5B,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAA,wBAAU,GAAE,CAAC,CAAC,kFAAkF;QAClG,CAAC;QAED,mEAAmE;QACnE,MAAM,gBAAgB,GAAG,MAAM,CAC7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,sCAA0B,CACtE,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,4BAAgB,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,+BAAmB,CAAC,CAAC;QAEnF,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY;YACzC,CAAC,CAAC,IAAI,oCAAmB,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,IAAI,mCAAkB,CAAC,QAAQ,EAAE;gBAC/B,oBAAoB,EAAE,gBAAgB,GAAG,IAAI;gBAC7C,kBAAkB,EAAE,OAAO;gBAC3B,mBAAmB,EAAE,UAAU,GAAG,IAAI;aACvC,CAAC,CAAC;QAEP,SAAS,GAAG,IAAI,mCAAkB,EAAE,CAAC;QACrC,SAAS,CAAC,gBAAgB,CACxB,IAAI,kCAAsB,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAC7E,CAAC;QACF,SAAS,CAAC,QAAQ,EAAE,CAAC;QAErB,IAAA,sCAAoB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEhD,cAAc,GAAG,IAAI,CAAC;QACtB,oFAAoF;QACpF,0EAA0E;QAC1E,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YAC9B,KAAK,SAAS,EAAE,UAAU,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,MAAM,SAAS,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC5B,cAAc,GAAG,KAAK,CAAC;QACvB,SAAS,GAAG,SAAS,CAAC;QACtB,IAAA,4BAAkB,GAAE,CAAC;IACvB,CAAC;CACF;AA/GD,8BA+GC;AAED,gBAAgB;AAChB,SAAgB,gBAAgB;IAC9B,cAAc,GAAG,KAAK,CAAC;IACvB,SAAS,GAAG,SAAS,CAAC;IACtB,IAAA,4BAAkB,GAAE,CAAC;IACrB,IAAA,mCAAqB,GAAE,CAAC;IACxB,WAAK,CAAC,OAAO,EAAE,CAAC;IAChB,aAAO,CAAC,OAAO,EAAE,CAAC;IAClB,iBAAW,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -50,6 +50,15 @@ export interface InitializeOptions {
50
50
  langchain?: unknown;
51
51
  claudeAgentSDK?: unknown;
52
52
  bedrock?: unknown;
53
+ /**
54
+ * @openai/agents module ref. Pass `import * as agents from '@openai/agents'`.
55
+ *
56
+ * Replaces the SDK's default OpenAI tracing processor with TraceRoot's —
57
+ * spans go to TraceRoot only, NOT to OpenAI's tracing backend.
58
+ * To dual-export, call `addTraceProcessor(...)` from `@openai/agents`
59
+ * after `initialize()`.
60
+ */
61
+ openaiAgents?: unknown;
53
62
  };
54
63
  /** Use SimpleSpanProcessor instead of BatchSpanProcessor. Useful for scripts/tests. */
55
64
  disableBatch?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traceroot-ai/traceroot",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "TraceRoot TypeScript SDK for AI observability",
5
5
  "keywords": [
6
6
  "traceroot",
@@ -53,6 +53,7 @@
53
53
  "devDependencies": {
54
54
  "@eslint/js": "^9.0.0",
55
55
  "@langchain/core": "^1.1.39",
56
+ "@openai/agents": ">=0.0.1",
56
57
  "@types/node": "^20.0.0",
57
58
  "anthropic": "^0.0.0",
58
59
  "eslint": "^9.0.0",
@@ -63,7 +64,8 @@
63
64
  },
64
65
  "peerDependencies": {
65
66
  "@anthropic-ai/sdk": ">=0.20.0",
66
- "openai": ">=6.0.0"
67
+ "openai": ">=6.0.0",
68
+ "@openai/agents": ">=0.0.1"
67
69
  },
68
70
  "peerDependenciesMeta": {
69
71
  "openai": {
@@ -71,6 +73,9 @@
71
73
  },
72
74
  "@anthropic-ai/sdk": {
73
75
  "optional": true
76
+ },
77
+ "@openai/agents": {
78
+ "optional": true
74
79
  }
75
80
  },
76
81
  "scripts": {