@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,14 @@
1
+ import { Span } from '@opentelemetry/api';
2
+ import { ObserveOptions, SpanType, TokenUsage } from './types';
3
+ export declare const SPAN_KIND_MAP: Record<SpanType, string>;
4
+ export declare function trySerialize(value: unknown): string | undefined;
5
+ export declare function applyModel(span: Span, model?: string, modelParameters?: Record<string, unknown>): void;
6
+ export declare function applyUsage(span: Span, usage: TokenUsage): void;
7
+ export declare function applyIO(span: Span, io: {
8
+ input?: unknown;
9
+ output?: unknown;
10
+ }): void;
11
+ /** Moved verbatim from observe.ts:_applyCommonAttributes (kind, ambient ctx,
12
+ * session/user, input-from-args, metadata, tags, git source). */
13
+ export declare function applyCommonAttributes(span: Span, options: ObserveOptions, args: unknown[]): void;
14
+ //# sourceMappingURL=attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAW,MAAM,oBAAoB,CAAC;AAsBnD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK/D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKlD,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM/D;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,IAAI,CASN;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAe9D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CASnF;AAED;kEACkE;AAClE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CA4BhG"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SPAN_KIND_MAP = void 0;
4
+ exports.trySerialize = trySerialize;
5
+ exports.applyModel = applyModel;
6
+ exports.applyUsage = applyUsage;
7
+ exports.applyIO = applyIO;
8
+ exports.applyCommonAttributes = applyCommonAttributes;
9
+ // src/attributes.ts — native field → OTel attribute mapping (single source of truth)
10
+ const api_1 = require("@opentelemetry/api");
11
+ const openinference_core_1 = require("@arizeai/openinference-core");
12
+ const openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
13
+ const constants_1 = require("./constants");
14
+ const git_context_1 = require("./git_context");
15
+ const OPENINFERENCE_SPAN_KIND = openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND;
16
+ exports.SPAN_KIND_MAP = {
17
+ agent: 'AGENT',
18
+ tool: 'TOOL',
19
+ llm: 'LLM',
20
+ span: 'CHAIN',
21
+ };
22
+ function trySerialize(value) {
23
+ try {
24
+ return JSON.stringify(value);
25
+ }
26
+ catch {
27
+ return undefined;
28
+ }
29
+ }
30
+ function applyModel(span, model, modelParameters) {
31
+ if (model !== undefined) {
32
+ span.setAttribute(constants_1.OI_LLM_MODEL_NAME, model); // read by backend
33
+ span.setAttribute(constants_1.LLM_MODEL, model); // back-compat
34
+ }
35
+ if (modelParameters !== undefined) {
36
+ const s = trySerialize(modelParameters);
37
+ if (s !== undefined)
38
+ span.setAttribute(constants_1.LLM_MODEL_PARAMETERS, s);
39
+ }
40
+ }
41
+ function applyUsage(span, usage) {
42
+ const input = usage.input ?? 0;
43
+ const cacheRead = usage.cacheRead ?? 0;
44
+ const cacheWrite = usage.cacheWrite ?? 0;
45
+ const output = usage.output ?? 0;
46
+ const prompt = input + cacheRead + cacheWrite; // GROSS
47
+ if (prompt > 0)
48
+ span.setAttribute(constants_1.OI_LLM_TOKEN_COUNT_PROMPT, prompt);
49
+ if (output > 0)
50
+ span.setAttribute(constants_1.OI_LLM_TOKEN_COUNT_COMPLETION, output);
51
+ const total = usage.total ?? prompt + output;
52
+ if (total > 0)
53
+ span.setAttribute(constants_1.OI_LLM_TOKEN_COUNT_TOTAL, total);
54
+ if (cacheRead > 0)
55
+ span.setAttribute(constants_1.OI_LLM_TOKEN_COUNT_CACHE_READ, cacheRead);
56
+ if (cacheWrite > 0)
57
+ span.setAttribute(constants_1.OI_LLM_TOKEN_COUNT_CACHE_WRITE, cacheWrite);
58
+ // Preserve the full object (incl. any custom keys) as a blob for completeness.
59
+ const blob = trySerialize(usage);
60
+ if (blob !== undefined)
61
+ span.setAttribute(constants_1.LLM_USAGE, blob);
62
+ }
63
+ function applyIO(span, io) {
64
+ if (io.input !== undefined) {
65
+ const s = trySerialize(io.input);
66
+ if (s !== undefined)
67
+ span.setAttribute(openinference_semantic_conventions_1.INPUT_VALUE, s);
68
+ }
69
+ if (io.output !== undefined) {
70
+ const s = trySerialize(io.output);
71
+ if (s !== undefined)
72
+ span.setAttribute(openinference_semantic_conventions_1.OUTPUT_VALUE, s);
73
+ }
74
+ }
75
+ /** Moved verbatim from observe.ts:_applyCommonAttributes (kind, ambient ctx,
76
+ * session/user, input-from-args, metadata, tags, git source). */
77
+ function applyCommonAttributes(span, options, args) {
78
+ span.setAttribute(OPENINFERENCE_SPAN_KIND, exports.SPAN_KIND_MAP[options.type ?? 'span']);
79
+ const ctxAttrs = (0, openinference_core_1.getAttributesFromContext)(api_1.context.active());
80
+ if (ctxAttrs && Object.keys(ctxAttrs).length > 0)
81
+ span.setAttributes(ctxAttrs);
82
+ if (options.sessionId !== undefined)
83
+ span.setAttribute(openinference_semantic_conventions_1.SESSION_ID, options.sessionId);
84
+ if (options.userId !== undefined)
85
+ span.setAttribute(openinference_semantic_conventions_1.USER_ID, options.userId);
86
+ if (options.captureInput !== false && args.length > 0) {
87
+ const inputValue = args.length === 1 ? args[0] : args;
88
+ const s = trySerialize(inputValue);
89
+ if (s !== undefined)
90
+ span.setAttribute(openinference_semantic_conventions_1.INPUT_VALUE, s);
91
+ }
92
+ if (options.metadata !== undefined) {
93
+ const s = trySerialize(options.metadata);
94
+ if (s !== undefined)
95
+ span.setAttribute(constants_1.SPAN_METADATA, s);
96
+ }
97
+ if (options.tags !== undefined) {
98
+ const s = trySerialize(options.tags);
99
+ if (s !== undefined)
100
+ span.setAttribute(constants_1.SPAN_TAGS, s);
101
+ }
102
+ const loc = (0, git_context_1.captureSourceLocation)();
103
+ if (loc.file !== undefined)
104
+ span.setAttribute('traceroot.git.source_file', loc.file);
105
+ if (loc.line !== undefined)
106
+ span.setAttribute('traceroot.git.source_line', loc.line);
107
+ if (loc.functionName !== undefined)
108
+ span.setAttribute('traceroot.git.source_function', loc.functionName);
109
+ }
110
+ //# sourceMappingURL=attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export declare const TOOL_NAME = "tool.name";
13
13
  export declare const OI_LLM_MODEL_NAME = "llm.model_name";
14
14
  export declare const OI_LLM_TOKEN_COUNT_PROMPT = "llm.token_count.prompt";
15
15
  export declare const OI_LLM_TOKEN_COUNT_COMPLETION = "llm.token_count.completion";
16
+ export declare const OI_LLM_TOKEN_COUNT_TOTAL = "llm.token_count.total";
17
+ export declare const OI_LLM_TOKEN_COUNT_CACHE_READ = "llm.token_count.prompt_details.cache_read";
18
+ export declare const OI_LLM_TOKEN_COUNT_CACHE_WRITE = "llm.token_count.prompt_details.cache_write";
16
19
  export declare const LLM_MODEL = "traceroot.llm.model";
17
20
  export declare const LLM_MODEL_PARAMETERS = "traceroot.llm.model_parameters";
18
21
  export declare const LLM_USAGE = "traceroot.llm.usage";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,UAAU,eAAe,CAAC;AAGvC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,aAAa,4BAA4B,CAAC;AACvD,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAC1E,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,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,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,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,UAAU,eAAe,CAAC;AAGvC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,aAAa,4BAA4B,CAAC;AACvD,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAC1E,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,6BAA6B,8CAA8C,CAAC;AACzF,eAAO,MAAM,8BAA8B,+CAA+C,CAAC;AAC3F,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,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,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,7 @@
1
1
  "use strict";
2
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.OI_TRACE_SESSION_ID = exports.OI_TRACE_USER_ID = exports.LLM_PROMPT = exports.LLM_USAGE = exports.LLM_MODEL_PARAMETERS = exports.LLM_MODEL = exports.OI_LLM_TOKEN_COUNT_COMPLETION = exports.OI_LLM_TOKEN_COUNT_PROMPT = exports.OI_LLM_MODEL_NAME = exports.TOOL_NAME = exports.AGENT_NAME = exports.SPAN_TAGS = exports.SPAN_METADATA = exports.OI_OUTPUT_VALUE = exports.OI_INPUT_VALUE = exports.OI_SPAN_KIND = exports.DEFAULT_TIMEOUT_SEC = exports.DEFAULT_FLUSH_AT = exports.DEFAULT_FLUSH_INTERVAL_SEC = exports.GITHUB_SHA = exports.GITHUB_REPOSITORY = void 0;
4
+ exports.SpanAttributes = exports.TRACE_TAGS = exports.TRACE_METADATA = exports.OI_TRACE_SESSION_ID = exports.OI_TRACE_USER_ID = exports.LLM_PROMPT = exports.LLM_USAGE = exports.LLM_MODEL_PARAMETERS = exports.LLM_MODEL = exports.OI_LLM_TOKEN_COUNT_CACHE_WRITE = exports.OI_LLM_TOKEN_COUNT_CACHE_READ = exports.OI_LLM_TOKEN_COUNT_TOTAL = exports.OI_LLM_TOKEN_COUNT_COMPLETION = exports.OI_LLM_TOKEN_COUNT_PROMPT = exports.OI_LLM_MODEL_NAME = exports.TOOL_NAME = exports.AGENT_NAME = exports.SPAN_TAGS = exports.SPAN_METADATA = exports.OI_OUTPUT_VALUE = exports.OI_INPUT_VALUE = exports.OI_SPAN_KIND = exports.DEFAULT_TIMEOUT_SEC = exports.DEFAULT_FLUSH_AT = exports.DEFAULT_FLUSH_INTERVAL_SEC = exports.GITHUB_SHA = exports.GITHUB_REPOSITORY = void 0;
5
5
  // GitHub Actions environment variable names used for git-context harvesting.
6
6
  exports.GITHUB_REPOSITORY = 'GITHUB_REPOSITORY';
7
7
  exports.GITHUB_SHA = 'GITHUB_SHA';
@@ -21,6 +21,9 @@ exports.TOOL_NAME = 'tool.name';
21
21
  exports.OI_LLM_MODEL_NAME = 'llm.model_name';
22
22
  exports.OI_LLM_TOKEN_COUNT_PROMPT = 'llm.token_count.prompt';
23
23
  exports.OI_LLM_TOKEN_COUNT_COMPLETION = 'llm.token_count.completion';
24
+ exports.OI_LLM_TOKEN_COUNT_TOTAL = 'llm.token_count.total';
25
+ exports.OI_LLM_TOKEN_COUNT_CACHE_READ = 'llm.token_count.prompt_details.cache_read';
26
+ exports.OI_LLM_TOKEN_COUNT_CACHE_WRITE = 'llm.token_count.prompt_details.cache_write';
24
27
  exports.LLM_MODEL = 'traceroot.llm.model';
25
28
  exports.LLM_MODEL_PARAMETERS = 'traceroot.llm.model_parameters';
26
29
  exports.LLM_USAGE = 'traceroot.llm.usage';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,6EAA6E;;;AAE7E,6EAA6E;AAChE,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,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,YAAY,GAAG,yBAAyB,CAAC;AACzC,QAAA,cAAc,GAAG,aAAa,CAAC;AAC/B,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAC1C,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAClC,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,eAAe;AACF,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,yBAAyB,GAAG,wBAAwB,CAAC;AACrD,QAAA,6BAA6B,GAAG,4BAA4B,CAAC;AAC7D,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,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,mBAAmB,GAAG,YAAY,CAAC;AACnC,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,sBAAc,EAAE,gBAAgB;IAC5C,WAAW,EAAE,uBAAe,EAAE,gBAAgB;IAC9C,aAAa,EADiB,gBAAgB;IAC9C,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,wBAAgB,EAAE,gBAAgB;IACjD,gBAAgB,EAAE,2BAAmB,EAAE,gBAAgB;IACvD,cAAc,EADyB,gBAAgB;IACvD,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,6EAA6E;AAChE,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,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,YAAY,GAAG,yBAAyB,CAAC;AACzC,QAAA,cAAc,GAAG,aAAa,CAAC;AAC/B,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAC1C,QAAA,SAAS,GAAG,qBAAqB,CAAC;AAClC,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,eAAe;AACF,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,yBAAyB,GAAG,wBAAwB,CAAC;AACrD,QAAA,6BAA6B,GAAG,4BAA4B,CAAC;AAC7D,QAAA,wBAAwB,GAAG,uBAAuB,CAAC;AACnD,QAAA,6BAA6B,GAAG,2CAA2C,CAAC;AAC5E,QAAA,8BAA8B,GAAG,4CAA4C,CAAC;AAC9E,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,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,mBAAmB,GAAG,YAAY,CAAC;AACnC,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,sBAAc,EAAE,gBAAgB;IAC5C,WAAW,EAAE,uBAAe,EAAE,gBAAgB;IAC9C,aAAa,EADiB,gBAAgB;IAC9C,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,wBAAgB,EAAE,gBAAgB;IACjD,gBAAgB,EAAE,2BAAmB,EAAE,gBAAgB;IACvD,cAAc,EADyB,gBAAgB;IACvD,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/context.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { type Span } from './spans';
2
+ import type { TokenUsage } from './types';
1
3
  /**
2
4
  * Sets attributes on the currently active span.
3
5
  * No-op when called outside an active span.
@@ -15,10 +17,12 @@ export declare function updateCurrentSpan(attrs: {
15
17
  model?: string;
16
18
  /** LLM model parameters (e.g. { temperature: 0.7, max_tokens: 1024 }). */
17
19
  modelParameters?: Record<string, unknown>;
18
- /** Token usage (e.g. { inputTokens: 100, outputTokens: 50 }). */
19
- usage?: Record<string, number>;
20
+ /** Token usage (e.g. { input: 100, output: 50 }). */
21
+ usage?: TokenUsage;
20
22
  /** Prompt / messages sent to the LLM. */
21
23
  prompt?: unknown;
24
+ /** Arbitrary span attributes for keys the typed fields don't cover. */
25
+ attributes?: Record<string, string | number | boolean>;
22
26
  }): void;
23
27
  /**
24
28
  * Sets trace-level association attributes (user, session, tags, metadata) on the
@@ -30,6 +34,8 @@ export declare function updateCurrentTrace(attrs: {
30
34
  tags?: string[];
31
35
  metadata?: Record<string, unknown>;
32
36
  }): void;
37
+ /** The active span as a TraceRoot handle, or undefined outside a span. */
38
+ export declare function getCurrentSpan(): Span | undefined;
33
39
  /**
34
40
  * Returns the trace ID of the currently active span, or undefined if no span is active.
35
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,CAoDP;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,IAAI,CAwBP;AAOD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,qDAAqD;IACrD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACxD,GAAG,IAAI,CA2BP;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,IAAI,CAwBP;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,IAAI,GAAG,SAAS,CAGjD;AAOD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD"}
package/dist/context.js CHANGED
@@ -2,12 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateCurrentSpan = updateCurrentSpan;
4
4
  exports.updateCurrentTrace = updateCurrentTrace;
5
+ exports.getCurrentSpan = getCurrentSpan;
5
6
  exports.getCurrentTraceId = getCurrentTraceId;
6
7
  exports.getCurrentSpanId = getCurrentSpanId;
7
8
  // src/context.ts
8
9
  const api_1 = require("@opentelemetry/api");
9
10
  const openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
10
11
  const constants_1 = require("./constants");
12
+ const spans_1 = require("./spans");
13
+ const attributes_1 = require("./attributes");
11
14
  /**
12
15
  * Sets attributes on the currently active span.
13
16
  * No-op when called outside an active span.
@@ -22,22 +25,7 @@ function updateCurrentSpan(attrs) {
22
25
  if (attrs.name !== undefined) {
23
26
  span.updateName(attrs.name);
24
27
  }
25
- if (attrs.input !== undefined) {
26
- try {
27
- span.setAttribute(openinference_semantic_conventions_1.INPUT_VALUE, JSON.stringify(attrs.input));
28
- }
29
- catch {
30
- /* non-serializable */
31
- }
32
- }
33
- if (attrs.output !== undefined) {
34
- try {
35
- span.setAttribute(openinference_semantic_conventions_1.OUTPUT_VALUE, JSON.stringify(attrs.output));
36
- }
37
- catch {
38
- /* non-serializable */
39
- }
40
- }
28
+ (0, attributes_1.applyIO)(span, { input: attrs.input, output: attrs.output });
41
29
  if (attrs.metadata !== undefined) {
42
30
  try {
43
31
  span.setAttribute(constants_1.SPAN_METADATA, JSON.stringify(attrs.metadata));
@@ -46,25 +34,11 @@ function updateCurrentSpan(attrs) {
46
34
  /* non-serializable */
47
35
  }
48
36
  }
49
- if (attrs.model !== undefined) {
50
- span.setAttribute(constants_1.LLM_MODEL, attrs.model);
51
- }
52
- if (attrs.modelParameters !== undefined) {
53
- try {
54
- span.setAttribute(constants_1.LLM_MODEL_PARAMETERS, JSON.stringify(attrs.modelParameters));
55
- }
56
- catch {
57
- /* non-serializable */
58
- }
59
- }
60
- if (attrs.usage !== undefined) {
61
- try {
62
- span.setAttribute(constants_1.LLM_USAGE, JSON.stringify(attrs.usage));
63
- }
64
- catch {
65
- /* non-serializable */
66
- }
37
+ if (attrs.model !== undefined || attrs.modelParameters !== undefined) {
38
+ (0, attributes_1.applyModel)(span, attrs.model, attrs.modelParameters);
67
39
  }
40
+ if (attrs.usage !== undefined)
41
+ (0, attributes_1.applyUsage)(span, attrs.usage);
68
42
  if (attrs.prompt !== undefined) {
69
43
  try {
70
44
  span.setAttribute(constants_1.LLM_PROMPT, JSON.stringify(attrs.prompt));
@@ -73,6 +47,8 @@ function updateCurrentSpan(attrs) {
73
47
  /* non-serializable */
74
48
  }
75
49
  }
50
+ if (attrs.attributes !== undefined)
51
+ span.setAttributes(attrs.attributes);
76
52
  }
77
53
  /**
78
54
  * Sets trace-level association attributes (user, session, tags, metadata) on the
@@ -105,6 +81,11 @@ function updateCurrentTrace(attrs) {
105
81
  }
106
82
  }
107
83
  }
84
+ /** The active span as a TraceRoot handle, or undefined outside a span. */
85
+ function getCurrentSpan() {
86
+ const otel = api_1.trace.getActiveSpan();
87
+ return otel ? (0, spans_1.wrapSpan)(otel) : undefined;
88
+ }
108
89
  function activeSpanContext() {
109
90
  const span = api_1.trace.getActiveSpan();
110
91
  return span ? span.spanContext() : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAyBA,8CAkEC;AAMD,gDA6BC;AAUD,8CAEC;AAKD,4CAEC;AAjJD,iBAAiB;AACjB,4CAA2C;AAC3C,oGAKqD;AACrD,2CAQqB;AAErB;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,KAcjC;IACC,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,gDAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,iDAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,yBAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,qBAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,gCAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,qBAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,sBAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,KAKlC;IACC,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,4CAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,+CAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,qBAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,0BAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,iBAAiB,EAAE,EAAE,OAAO,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,iBAAiB,EAAE,EAAE,MAAM,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,13 @@
1
1
  export { TraceRoot } from './traceroot';
2
2
  export { observe } from './observe';
3
- export { updateCurrentSpan, updateCurrentTrace, getCurrentTraceId, getCurrentSpanId, } from './context';
3
+ export { updateCurrentSpan, updateCurrentTrace, getCurrentTraceId, getCurrentSpanId, getCurrentSpan, } from './context';
4
4
  export { usingAttributes } from './usingAttributes';
5
5
  export { SpanAttributes } from './constants';
6
- export type { SpanType, ObserveOptions, InitializeOptions } from './types';
6
+ export type { SpanType, ObserveOptions, InitializeOptions, PiCodingAgentInstrumentation, } from './types';
7
7
  export type { UsingAttributesOptions } from './usingAttributes';
8
8
  export { OpenAIAgentsProcessor } from './openai-agents';
9
+ export { startSpan, usingSpan } from './spans';
10
+ export type { Span } from './spans';
11
+ export type { StartSpanOptions, SpanUpdate, TokenUsage } from './types';
12
+ export type { PiInstrumentationConfig } from './pi';
9
13
  //# 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;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,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,EAChB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EACV,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenAIAgentsProcessor = exports.SpanAttributes = exports.usingAttributes = exports.getCurrentSpanId = exports.getCurrentTraceId = exports.updateCurrentTrace = exports.updateCurrentSpan = exports.observe = exports.TraceRoot = void 0;
3
+ exports.usingSpan = exports.startSpan = exports.OpenAIAgentsProcessor = exports.SpanAttributes = exports.usingAttributes = exports.getCurrentSpan = 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; } });
@@ -11,10 +11,14 @@ Object.defineProperty(exports, "updateCurrentSpan", { enumerable: true, get: fun
11
11
  Object.defineProperty(exports, "updateCurrentTrace", { enumerable: true, get: function () { return context_1.updateCurrentTrace; } });
12
12
  Object.defineProperty(exports, "getCurrentTraceId", { enumerable: true, get: function () { return context_1.getCurrentTraceId; } });
13
13
  Object.defineProperty(exports, "getCurrentSpanId", { enumerable: true, get: function () { return context_1.getCurrentSpanId; } });
14
+ Object.defineProperty(exports, "getCurrentSpan", { enumerable: true, get: function () { return context_1.getCurrentSpan; } });
14
15
  var usingAttributes_1 = require("./usingAttributes");
15
16
  Object.defineProperty(exports, "usingAttributes", { enumerable: true, get: function () { return usingAttributes_1.usingAttributes; } });
16
17
  var constants_1 = require("./constants");
17
18
  Object.defineProperty(exports, "SpanAttributes", { enumerable: true, get: function () { return constants_1.SpanAttributes; } });
18
19
  var openai_agents_1 = require("./openai-agents");
19
20
  Object.defineProperty(exports, "OpenAIAgentsProcessor", { enumerable: true, get: function () { return openai_agents_1.OpenAIAgentsProcessor; } });
21
+ var spans_1 = require("./spans");
22
+ Object.defineProperty(exports, "startSpan", { enumerable: true, get: function () { return spans_1.startSpan; } });
23
+ Object.defineProperty(exports, "usingSpan", { enumerable: true, get: function () { return spans_1.usingSpan; } });
20
24
  //# 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;AAGvB,iDAAwD;AAA/C,sHAAA,qBAAqB,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,qCAMmB;AALjB,4GAAA,iBAAiB,OAAA;AACjB,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AAEhB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AAQvB,iDAAwD;AAA/C,sHAAA,qBAAqB,OAAA;AAC9B,iCAA+C;AAAtC,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA6BjD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GACxD,IAAI,CAuCN"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA8BjD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GACxD,IAAI,CA0CN"}
@@ -5,6 +5,7 @@ exports.wireInstrumentations = wireInstrumentations;
5
5
  const instrumentation_1 = require("@opentelemetry/instrumentation");
6
6
  const openai_agents_1 = require("./openai-agents");
7
7
  const claude_agent_sdk_1 = require("./claude-agent-sdk");
8
+ const pi_1 = require("./pi");
8
9
  const OPENINFERENCE_PACKAGES = {
9
10
  openAI: ['@arizeai/openinference-instrumentation-openai', 'OpenAIInstrumentation'],
10
11
  anthropic: ['@arizeai/openinference-instrumentation-anthropic', 'AnthropicInstrumentation'],
@@ -70,6 +71,9 @@ function wireInstrumentations(instrumentModules) {
70
71
  if (instrumentModules.openaiAgents) {
71
72
  (0, openai_agents_1.wireOpenAIAgentsProcessor)(instrumentModules.openaiAgents);
72
73
  }
74
+ if (instrumentModules.piCodingAgent) {
75
+ (0, pi_1.wirePiCodingAgentInstrumentation)(instrumentModules.piCodingAgent);
76
+ }
73
77
  if (instrs.length > 0) {
74
78
  (0, instrumentation_1.registerInstrumentations)({ instrumentations: instrs });
75
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":";;AA2CA,oDAyCC;AApFD,yBAAyB;AACzB,oEAAgG;AAEhG,mDAA4D;AAC5D,yDAAuE;AAQvE,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,CAAC,+CAA+C,EAAE,uBAAuB,CAAC;IAClF,SAAS,EAAE,CAAC,kDAAkD,EAAE,0BAA0B,CAAC;IAC3F,SAAS,EAAE,CAAC,kDAAkD,EAAE,0BAA0B,CAAC;IAC3F,OAAO,EAAE,CAAC,gDAAgD,EAAE,wBAAwB,CAAC;CAC7E,CAAC;AAEX,SAAS,mBAAmB,CAAC,GAAW,EAAE,UAAkB;IAC1D,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAA4B,CAAC;QACpD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAA2B,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAClC,iBAAyD;IAEzD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,6DAA6D;QAC7D,4CAA4C;QAC5C,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAClD,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAA,0CAAwB,EAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAA0C,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;QACrC,IAAA,oDAAiC,EAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtE,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"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAY,MAAM,SAAS,CAAC;AAiCnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC5C,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,EACrC,GAAG,IAAI,EAAE,CAAC,GACT,cAAc,CAAC,CAAC,CAAC,CAAC;AAGrB,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC5C,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAClC,GAAG,IAAI,EAAE,CAAC,GACT,OAAO,CAAC,CAAC,CAAC,CAAC;AAoKd,mDAAmD;AACnD,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAczC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC5C,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,EACrC,GAAG,IAAI,EAAE,CAAC,GACT,cAAc,CAAC,CAAC,CAAC,CAAC;AAGrB,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC5C,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAClC,GAAG,IAAI,EAAE,CAAC,GACT,OAAO,CAAC,CAAC,CAAC,CAAC;AA6Hd,mDAAmD;AACnD,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
package/dist/observe.js CHANGED
@@ -37,17 +37,8 @@ exports.observe = observe;
37
37
  exports._resetObserveState = _resetObserveState;
38
38
  // src/observe.ts
39
39
  const api_1 = require("@opentelemetry/api");
40
- const openinference_core_1 = require("@arizeai/openinference-core");
41
40
  const openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
42
- const constants_1 = require("./constants");
43
- const git_context_1 = require("./git_context");
44
- const OPENINFERENCE_SPAN_KIND = openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND;
45
- const SPAN_KIND_MAP = {
46
- agent: 'AGENT',
47
- tool: 'TOOL',
48
- llm: 'LLM',
49
- span: 'CHAIN',
50
- };
41
+ const attributes_1 = require("./attributes");
51
42
  // Cached once after the first call; the tracer name never changes.
52
43
  let _tracer;
53
44
  let _hasWarnedUninit = false;
@@ -57,15 +48,6 @@ const AsyncGeneratorFunction = Object.getPrototypeOf(async function* () { })
57
48
  function isAsyncGeneratorFunction(fn) {
58
49
  return typeof fn === 'function' && fn instanceof AsyncGeneratorFunction;
59
50
  }
60
- /** Serialize a value for a span attribute, returning undefined on failure. */
61
- function trySerialize(value) {
62
- try {
63
- return JSON.stringify(value);
64
- }
65
- catch {
66
- return undefined;
67
- }
68
- }
69
51
  // Implementation
70
52
  function observe(options, fn, ...args) {
71
53
  const name = options.name ?? (fn.name || 'anonymous');
@@ -97,10 +79,10 @@ async function _observeRegular(name, options, fn, args) {
97
79
  }
98
80
  }
99
81
  try {
100
- _applyCommonAttributes(span, options, args);
82
+ (0, attributes_1.applyCommonAttributes)(span, options, args);
101
83
  const result = await fn(...args);
102
84
  if (options.captureOutput !== false) {
103
- const serialized = trySerialize(result);
85
+ const serialized = (0, attributes_1.trySerialize)(result);
104
86
  if (serialized !== undefined)
105
87
  span.setAttribute(openinference_semantic_conventions_1.OUTPUT_VALUE, serialized);
106
88
  }
@@ -136,7 +118,7 @@ async function* _observeAsyncGenerator(name, options, fn, args) {
136
118
  yield* fn(...args);
137
119
  return;
138
120
  }
139
- _applyCommonAttributes(span, options, args);
121
+ (0, attributes_1.applyCommonAttributes)(span, options, args);
140
122
  // Activate the span in the OTel context so that updateCurrentSpan() and
141
123
  // nested observe() calls inside the generator body target the correct span.
142
124
  // We must wrap each .next() call in context.with() because AsyncLocalStorage
@@ -154,7 +136,7 @@ async function* _observeAsyncGenerator(name, options, fn, args) {
154
136
  yield value;
155
137
  }
156
138
  if (options.captureOutput !== false && collected.length > 0) {
157
- const serialized = trySerialize(collected);
139
+ const serialized = (0, attributes_1.trySerialize)(collected);
158
140
  if (serialized !== undefined)
159
141
  span.setAttribute(openinference_semantic_conventions_1.OUTPUT_VALUE, serialized);
160
142
  }
@@ -168,46 +150,6 @@ async function* _observeAsyncGenerator(name, options, fn, args) {
168
150
  span.end();
169
151
  }
170
152
  }
171
- /**
172
- * Apply attributes common to all span types: kind, ambient context, session/user,
173
- * input from args, metadata, tags, git source location.
174
- */
175
- function _applyCommonAttributes(span, options, args) {
176
- span.setAttribute(OPENINFERENCE_SPAN_KIND, SPAN_KIND_MAP[options.type ?? 'span']);
177
- // Propagate any ambient attributes set by usingAttributes() in the call stack.
178
- const ctxAttrs = (0, openinference_core_1.getAttributesFromContext)(api_1.context.active());
179
- if (ctxAttrs && Object.keys(ctxAttrs).length > 0) {
180
- span.setAttributes(ctxAttrs);
181
- }
182
- if (options.sessionId !== undefined)
183
- span.setAttribute(openinference_semantic_conventions_1.SESSION_ID, options.sessionId);
184
- if (options.userId !== undefined)
185
- span.setAttribute(openinference_semantic_conventions_1.USER_ID, options.userId);
186
- // Auto-capture input from args. Single arg → use directly; multiple → array.
187
- if (options.captureInput !== false && args.length > 0) {
188
- const inputValue = args.length === 1 ? args[0] : args;
189
- const serialized = trySerialize(inputValue);
190
- if (serialized !== undefined)
191
- span.setAttribute(openinference_semantic_conventions_1.INPUT_VALUE, serialized);
192
- }
193
- if (options.metadata !== undefined) {
194
- const s = trySerialize(options.metadata);
195
- if (s !== undefined)
196
- span.setAttribute(constants_1.SPAN_METADATA, s);
197
- }
198
- if (options.tags !== undefined) {
199
- const s = trySerialize(options.tags);
200
- if (s !== undefined)
201
- span.setAttribute(constants_1.SPAN_TAGS, s);
202
- }
203
- const loc = (0, git_context_1.captureSourceLocation)();
204
- if (loc.file !== undefined)
205
- span.setAttribute('traceroot.git.source_file', loc.file);
206
- if (loc.line !== undefined)
207
- span.setAttribute('traceroot.git.source_line', loc.line);
208
- if (loc.functionName !== undefined)
209
- span.setAttribute('traceroot.git.source_function', loc.functionName);
210
- }
211
153
  /** @internal — reset module state between tests */
212
154
  function _resetObserveState() {
213
155
  _tracer = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"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"}