@traceroot-ai/traceroot 0.1.1 → 0.1.2

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"}
@@ -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":";;;AAuIA,4CAQC;AA/ID,mBAAmB;AACnB,4CAO4B;AAC5B,wFAA6E;AAC7E,kEAAwF;AACxF,kEAAmE;AAEnE,2CAA4E;AAC5E,uDAAyD;AACzD,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,yEAAyE;QACzE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,CAAC;QAEpE,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;AA7GD,8BA6GC;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"}
1
+ {"version":3,"file":"traceroot.js","sourceRoot":"","sources":["../src/traceroot.ts"],"names":[],"mappings":"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"}
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.2",
4
4
  "description": "TraceRoot TypeScript SDK for AI observability",
5
5
  "keywords": [
6
6
  "traceroot",