@traceroot-ai/traceroot 0.1.6 → 0.1.8

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGtF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGvD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,GAAG,IAAI,IAAI,CAAC;IACZ,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B;AAwCD,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAE7C;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAsCzD;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAGvD;AAED,2BAA2B;AAC3B,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC"}
package/dist/spans.js ADDED
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapSpan = wrapSpan;
4
+ exports.startSpan = startSpan;
5
+ exports.usingSpan = usingSpan;
6
+ exports._resetSpansState = _resetSpansState;
7
+ // src/spans.ts — imperative span handle API
8
+ const api_1 = require("@opentelemetry/api");
9
+ const attributes_1 = require("./attributes");
10
+ const constants_1 = require("./constants");
11
+ const traceroot_1 = require("./traceroot");
12
+ class TracerootSpan {
13
+ otelSpan;
14
+ constructor(otelSpan) {
15
+ this.otelSpan = otelSpan;
16
+ }
17
+ get spanId() {
18
+ return this.otelSpan.spanContext().spanId;
19
+ }
20
+ get traceId() {
21
+ return this.otelSpan.spanContext().traceId;
22
+ }
23
+ update(attrs) {
24
+ if (attrs.name !== undefined)
25
+ this.otelSpan.updateName(attrs.name);
26
+ (0, attributes_1.applyIO)(this.otelSpan, { input: attrs.input, output: attrs.output });
27
+ if (attrs.metadata !== undefined) {
28
+ const s = (0, attributes_1.trySerialize)(attrs.metadata);
29
+ if (s !== undefined)
30
+ this.otelSpan.setAttribute(constants_1.SPAN_METADATA, s);
31
+ }
32
+ if (attrs.model !== undefined || attrs.modelParameters !== undefined) {
33
+ (0, attributes_1.applyModel)(this.otelSpan, attrs.model, attrs.modelParameters);
34
+ }
35
+ if (attrs.usage !== undefined)
36
+ (0, attributes_1.applyUsage)(this.otelSpan, attrs.usage);
37
+ if (attrs.attributes !== undefined)
38
+ this.otelSpan.setAttributes(attrs.attributes);
39
+ return this;
40
+ }
41
+ end() {
42
+ this.otelSpan.end();
43
+ }
44
+ startSpan(options) {
45
+ return startSpan({ ...options, parent: this });
46
+ }
47
+ setError(err) {
48
+ this.otelSpan.recordException(err instanceof Error ? err : new Error(String(err)));
49
+ this.otelSpan.setStatus({
50
+ code: api_1.SpanStatusCode.ERROR,
51
+ message: err instanceof Error ? err.message : String(err),
52
+ });
53
+ return this;
54
+ }
55
+ }
56
+ /** Wrap an existing OTel span (e.g. the active one) as a Span handle. */
57
+ function wrapSpan(otel) {
58
+ return new TracerootSpan(otel);
59
+ }
60
+ let _tracer;
61
+ let _hasWarnedUninit = false;
62
+ function startSpan(options) {
63
+ // Synchronous init guard — mirrors observe(). Unlike observe() (which is async
64
+ // and can await a dynamic import), startSpan() is synchronous, so it must init
65
+ // BEFORE creating the span or the first span would be dropped. initialize() is
66
+ // synchronous and safe to call repeatedly.
67
+ if (process.env['TRACEROOT_API_KEY'] && !traceroot_1.TraceRoot.isInitialized()) {
68
+ traceroot_1.TraceRoot.initialize();
69
+ }
70
+ _tracer ??= api_1.trace.getTracer('traceroot-ts');
71
+ const parentOtel = options.parent ? options.parent.otelSpan : undefined;
72
+ const ctx = parentOtel ? api_1.trace.setSpan(api_1.context.active(), parentOtel) : api_1.context.active();
73
+ const otel = _tracer.startSpan(options.name, undefined, ctx);
74
+ if (!otel.isRecording() && !_hasWarnedUninit) {
75
+ _hasWarnedUninit = true;
76
+ console.warn('[TraceRoot] startSpan() called but TraceRoot.initialize() was not called. Spans will not be recorded.');
77
+ }
78
+ if (otel.isRecording()) {
79
+ (0, attributes_1.applyCommonAttributes)(otel, {
80
+ type: options.type,
81
+ metadata: options.metadata,
82
+ tags: options.tags,
83
+ sessionId: options.sessionId,
84
+ userId: options.userId,
85
+ }, options.input !== undefined ? [options.input] : []);
86
+ if (options.model !== undefined || options.modelParameters !== undefined) {
87
+ (0, attributes_1.applyModel)(otel, options.model, options.modelParameters);
88
+ }
89
+ if (options.attributes !== undefined)
90
+ otel.setAttributes(options.attributes);
91
+ }
92
+ return new TracerootSpan(otel);
93
+ }
94
+ /** Run fn with `span` as the active span so inner observe()/startSpan() nest under it. */
95
+ function usingSpan(span, fn) {
96
+ const otel = span.otelSpan;
97
+ return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), otel), fn);
98
+ }
99
+ /** @internal test reset */
100
+ function _resetSpansState() {
101
+ _tracer = undefined;
102
+ _hasWarnedUninit = false;
103
+ }
104
+ //# sourceMappingURL=spans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,16 @@
1
+ import type { PiInstrumentationConfig } from './pi';
1
2
  export type SpanType = 'span' | 'agent' | 'tool' | 'llm';
3
+ /**
4
+ * The object form of `instrumentModules.piCodingAgent`: the pi module ref plus
5
+ * an explicit {@link PiInstrumentationConfig}. Use instead of the bare module
6
+ * ref to override capture behavior (e.g. `captureContent: false` for PII).
7
+ */
8
+ export interface PiCodingAgentInstrumentation {
9
+ /** `import * as pi from '@earendil-works/pi-coding-agent'`. */
10
+ module: unknown;
11
+ /** Explicit pi instrumentation config (captureContent/captureToolIo); overrides the defaults. */
12
+ config?: PiInstrumentationConfig;
13
+ }
2
14
  export interface ObserveOptions {
3
15
  /** Span name. Defaults to fn.name, then 'anonymous'. */
4
16
  name?: string;
@@ -59,6 +71,16 @@ export interface InitializeOptions {
59
71
  * after `initialize()`.
60
72
  */
61
73
  openaiAgents?: unknown;
74
+ /**
75
+ * @earendil-works/pi-coding-agent module ref, or a
76
+ * {@link PiCodingAgentInstrumentation} wrapper (`{ module: pi, config }`)
77
+ * to override `captureContent`/`captureToolIo` — a deliberate divergence
78
+ * from {@link claudeAgentSDK}, which has no config at all.
79
+ *
80
+ * Traces through the globally-registered provider and builds no export
81
+ * pipeline of its own, so there is no apiKey/baseUrl to thread here.
82
+ */
83
+ piCodingAgent?: unknown;
62
84
  };
63
85
  /** Use SimpleSpanProcessor instead of BatchSpanProcessor. Useful for scripts/tests. */
64
86
  disableBatch?: boolean;
@@ -86,4 +108,50 @@ export interface InitializeOptions {
86
108
  */
87
109
  gitRef?: string;
88
110
  }
111
+ /** LLM token usage. Known fields map to OpenInference token-count keys;
112
+ * extra keys are preserved in the traceroot.llm.usage blob. */
113
+ export interface TokenUsage {
114
+ /** Uncached prompt tokens. */
115
+ input?: number;
116
+ /** Completion tokens. */
117
+ output?: number;
118
+ /** Cache-read (Anthropic cache_read_input_tokens). */
119
+ cacheRead?: number;
120
+ /** Cache-write / creation (Anthropic cache_creation_input_tokens). */
121
+ cacheWrite?: number;
122
+ /** Total; derived from prompt+completion if omitted. */
123
+ total?: number;
124
+ [key: string]: number | undefined;
125
+ }
126
+ export interface StartSpanOptions {
127
+ name: string;
128
+ type?: SpanType;
129
+ input?: unknown;
130
+ metadata?: Record<string, unknown>;
131
+ tags?: string[];
132
+ sessionId?: string;
133
+ userId?: string;
134
+ model?: string;
135
+ modelParameters?: Record<string, unknown>;
136
+ /** Arbitrary span attributes (see {@link SpanUpdate.attributes}). */
137
+ attributes?: Record<string, string | number | boolean>;
138
+ /** Explicit parent handle. Default: the current active span. */
139
+ parent?: import('./spans').Span;
140
+ }
141
+ export interface SpanUpdate {
142
+ name?: string;
143
+ input?: unknown;
144
+ output?: unknown;
145
+ metadata?: Record<string, unknown>;
146
+ model?: string;
147
+ modelParameters?: Record<string, unknown>;
148
+ usage?: TokenUsage;
149
+ /**
150
+ * Arbitrary span attributes for keys the typed fields above don't cover
151
+ * (e.g. `gen_ai.*` semconv keys, domain-specific tags). Set through to the
152
+ * underlying span verbatim — the escape hatch so callers never need raw
153
+ * OpenTelemetry for a one-off attribute.
154
+ */
155
+ attributes?: Record<string, string | number | boolean>;
156
+ }
89
157
  //# sourceMappingURL=types.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
- // src/types.ts
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,eAAe"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traceroot-ai/traceroot",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "TraceRoot TypeScript SDK for AI observability",
5
5
  "keywords": [
6
6
  "traceroot",
@@ -52,9 +52,11 @@
52
52
  "@opentelemetry/semantic-conventions": "^1.40.0"
53
53
  },
54
54
  "devDependencies": {
55
+ "@earendil-works/pi-coding-agent": "^0.80.0",
55
56
  "@eslint/js": "^9.0.0",
56
57
  "@langchain/core": "^1.1.39",
57
58
  "@openai/agents": ">=0.0.1",
59
+ "@opentelemetry/core": "^1.30.1",
58
60
  "@types/node": "^20.0.0",
59
61
  "anthropic": "^0.0.0",
60
62
  "eslint": "^9.0.0",