openlit 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +1 -1
  2. package/dist/config.d.ts +12 -4
  3. package/dist/config.js +7 -17
  4. package/dist/config.js.map +1 -1
  5. package/dist/evals/llm/anthropic.js +10 -6
  6. package/dist/evals/llm/anthropic.js.map +1 -1
  7. package/dist/evals/llm/openai.js +9 -5
  8. package/dist/evals/llm/openai.js.map +1 -1
  9. package/dist/features/vault.js +1 -1
  10. package/dist/features/vault.js.map +1 -1
  11. package/dist/helpers.d.ts +93 -1
  12. package/dist/helpers.js +271 -8
  13. package/dist/helpers.js.map +1 -1
  14. package/dist/index.d.ts +6 -5
  15. package/dist/index.js +95 -50
  16. package/dist/index.js.map +1 -1
  17. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +215 -27
  18. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -1
  19. package/dist/instrumentation/__tests__/base-wrapper.test.js +19 -23
  20. package/dist/instrumentation/__tests__/base-wrapper.test.js.map +1 -1
  21. package/dist/instrumentation/__tests__/bedrock-trace-comparison.test.d.ts +1 -0
  22. package/dist/instrumentation/__tests__/bedrock-trace-comparison.test.js +422 -0
  23. package/dist/instrumentation/__tests__/bedrock-trace-comparison.test.js.map +1 -0
  24. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.js +1 -1
  25. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.js.map +1 -1
  26. package/dist/instrumentation/__tests__/cohere-wrapper.test.js +150 -25
  27. package/dist/instrumentation/__tests__/cohere-wrapper.test.js.map +1 -1
  28. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js +152 -33
  29. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js.map +1 -1
  30. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js +391 -45
  31. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js.map +1 -1
  32. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.d.ts +2 -2
  33. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.js +323 -31
  34. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.js.map +1 -1
  35. package/dist/instrumentation/__tests__/langchain-wrapper.test.d.ts +1 -0
  36. package/dist/instrumentation/__tests__/langchain-wrapper.test.js +282 -0
  37. package/dist/instrumentation/__tests__/langchain-wrapper.test.js.map +1 -0
  38. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.js +1 -1
  39. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.js.map +1 -1
  40. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.d.ts +0 -3
  41. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js +275 -68
  42. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js.map +1 -1
  43. package/dist/instrumentation/__tests__/openai-wrapper.test.js +7 -9
  44. package/dist/instrumentation/__tests__/openai-wrapper.test.js.map +1 -1
  45. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.js +1 -1
  46. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.js.map +1 -1
  47. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.d.ts +2 -1
  48. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.js +209 -21
  49. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.js.map +1 -1
  50. package/dist/instrumentation/__tests__/together-trace-comparison.test.js +231 -51
  51. package/dist/instrumentation/__tests__/together-trace-comparison.test.js.map +1 -1
  52. package/dist/instrumentation/__tests__/vercel-ai-trace-comparison.test.d.ts +8 -0
  53. package/dist/instrumentation/__tests__/vercel-ai-trace-comparison.test.js +446 -0
  54. package/dist/instrumentation/__tests__/vercel-ai-trace-comparison.test.js.map +1 -0
  55. package/dist/instrumentation/anthropic/index.d.ts +2 -3
  56. package/dist/instrumentation/anthropic/index.js.map +1 -1
  57. package/dist/instrumentation/anthropic/wrapper.d.ts +1 -3
  58. package/dist/instrumentation/anthropic/wrapper.js +211 -91
  59. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  60. package/dist/instrumentation/azure-ai-inference/index.d.ts +11 -0
  61. package/dist/instrumentation/azure-ai-inference/index.js +76 -0
  62. package/dist/instrumentation/azure-ai-inference/index.js.map +1 -0
  63. package/dist/instrumentation/azure-ai-inference/wrapper.d.ts +42 -0
  64. package/dist/instrumentation/azure-ai-inference/wrapper.js +515 -0
  65. package/dist/instrumentation/azure-ai-inference/wrapper.js.map +1 -0
  66. package/dist/instrumentation/base-wrapper.d.ts +2 -1
  67. package/dist/instrumentation/base-wrapper.js +35 -23
  68. package/dist/instrumentation/base-wrapper.js.map +1 -1
  69. package/dist/instrumentation/bedrock/wrapper.d.ts +21 -3
  70. package/dist/instrumentation/bedrock/wrapper.js +318 -265
  71. package/dist/instrumentation/bedrock/wrapper.js.map +1 -1
  72. package/dist/instrumentation/chroma/wrapper.js +1 -1
  73. package/dist/instrumentation/chroma/wrapper.js.map +1 -1
  74. package/dist/instrumentation/claude-agent-sdk/index.d.ts +23 -0
  75. package/dist/instrumentation/claude-agent-sdk/index.js +83 -0
  76. package/dist/instrumentation/claude-agent-sdk/index.js.map +1 -0
  77. package/dist/instrumentation/claude-agent-sdk/wrapper.d.ts +13 -0
  78. package/dist/instrumentation/claude-agent-sdk/wrapper.js +1031 -0
  79. package/dist/instrumentation/claude-agent-sdk/wrapper.js.map +1 -0
  80. package/dist/instrumentation/cohere/index.d.ts +2 -3
  81. package/dist/instrumentation/cohere/index.js.map +1 -1
  82. package/dist/instrumentation/cohere/wrapper.d.ts +1 -1
  83. package/dist/instrumentation/cohere/wrapper.js +215 -56
  84. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  85. package/dist/instrumentation/cursor-sdk/index.d.ts +21 -0
  86. package/dist/instrumentation/cursor-sdk/index.js +58 -0
  87. package/dist/instrumentation/cursor-sdk/index.js.map +1 -0
  88. package/dist/instrumentation/cursor-sdk/wrapper.d.ts +17 -0
  89. package/dist/instrumentation/cursor-sdk/wrapper.js +689 -0
  90. package/dist/instrumentation/cursor-sdk/wrapper.js.map +1 -0
  91. package/dist/instrumentation/google-adk/index.d.ts +57 -0
  92. package/dist/instrumentation/google-adk/index.js +371 -0
  93. package/dist/instrumentation/google-adk/index.js.map +1 -0
  94. package/dist/instrumentation/google-adk/utils.d.ts +45 -0
  95. package/dist/instrumentation/google-adk/utils.js +663 -0
  96. package/dist/instrumentation/google-adk/utils.js.map +1 -0
  97. package/dist/instrumentation/google-adk/wrapper.d.ts +11 -0
  98. package/dist/instrumentation/google-adk/wrapper.js +391 -0
  99. package/dist/instrumentation/google-adk/wrapper.js.map +1 -0
  100. package/dist/instrumentation/google-ai/wrapper.d.ts +7 -4
  101. package/dist/instrumentation/google-ai/wrapper.js +197 -61
  102. package/dist/instrumentation/google-ai/wrapper.js.map +1 -1
  103. package/dist/instrumentation/groq/wrapper.js +137 -65
  104. package/dist/instrumentation/groq/wrapper.js.map +1 -1
  105. package/dist/instrumentation/huggingface/wrapper.js +241 -39
  106. package/dist/instrumentation/huggingface/wrapper.js.map +1 -1
  107. package/dist/instrumentation/index.d.ts +2 -2
  108. package/dist/instrumentation/index.js +66 -6
  109. package/dist/instrumentation/index.js.map +1 -1
  110. package/dist/instrumentation/langchain/index.d.ts +0 -7
  111. package/dist/instrumentation/langchain/index.js +2 -20
  112. package/dist/instrumentation/langchain/index.js.map +1 -1
  113. package/dist/instrumentation/langchain/wrapper.d.ts +35 -0
  114. package/dist/instrumentation/langchain/wrapper.js +1098 -184
  115. package/dist/instrumentation/langchain/wrapper.js.map +1 -1
  116. package/dist/instrumentation/langgraph/index.d.ts +12 -0
  117. package/dist/instrumentation/langgraph/index.js +99 -0
  118. package/dist/instrumentation/langgraph/index.js.map +1 -0
  119. package/dist/instrumentation/langgraph/wrapper.d.ts +20 -0
  120. package/dist/instrumentation/langgraph/wrapper.js +619 -0
  121. package/dist/instrumentation/langgraph/wrapper.js.map +1 -0
  122. package/dist/instrumentation/llamaindex/index.d.ts +31 -6
  123. package/dist/instrumentation/llamaindex/index.js +180 -61
  124. package/dist/instrumentation/llamaindex/index.js.map +1 -1
  125. package/dist/instrumentation/llamaindex/wrapper.d.ts +15 -3
  126. package/dist/instrumentation/llamaindex/wrapper.js +670 -179
  127. package/dist/instrumentation/llamaindex/wrapper.js.map +1 -1
  128. package/dist/instrumentation/milvus/wrapper.js +1 -1
  129. package/dist/instrumentation/milvus/wrapper.js.map +1 -1
  130. package/dist/instrumentation/mistral/wrapper.js +154 -79
  131. package/dist/instrumentation/mistral/wrapper.js.map +1 -1
  132. package/dist/instrumentation/ollama/index.js +33 -4
  133. package/dist/instrumentation/ollama/index.js.map +1 -1
  134. package/dist/instrumentation/ollama/wrapper.d.ts +28 -2
  135. package/dist/instrumentation/ollama/wrapper.js +432 -48
  136. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  137. package/dist/instrumentation/openai/index.d.ts +2 -3
  138. package/dist/instrumentation/openai/index.js.map +1 -1
  139. package/dist/instrumentation/openai/wrapper.js +293 -194
  140. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  141. package/dist/instrumentation/openai-agents/index.d.ts +20 -0
  142. package/dist/instrumentation/openai-agents/index.js +174 -0
  143. package/dist/instrumentation/openai-agents/index.js.map +1 -0
  144. package/dist/instrumentation/openai-agents/processor.d.ts +35 -0
  145. package/dist/instrumentation/openai-agents/processor.js +249 -0
  146. package/dist/instrumentation/openai-agents/processor.js.map +1 -0
  147. package/dist/instrumentation/openai-agents/utils.d.ts +20 -0
  148. package/dist/instrumentation/openai-agents/utils.js +624 -0
  149. package/dist/instrumentation/openai-agents/utils.js.map +1 -0
  150. package/dist/instrumentation/pinecone/wrapper.js +2 -2
  151. package/dist/instrumentation/pinecone/wrapper.js.map +1 -1
  152. package/dist/instrumentation/qdrant/wrapper.js +1 -1
  153. package/dist/instrumentation/qdrant/wrapper.js.map +1 -1
  154. package/dist/instrumentation/replicate/wrapper.js +103 -21
  155. package/dist/instrumentation/replicate/wrapper.js.map +1 -1
  156. package/dist/instrumentation/strands/index.d.ts +21 -0
  157. package/dist/instrumentation/strands/index.js +83 -0
  158. package/dist/instrumentation/strands/index.js.map +1 -0
  159. package/dist/instrumentation/strands/processor.d.ts +45 -0
  160. package/dist/instrumentation/strands/processor.js +545 -0
  161. package/dist/instrumentation/strands/processor.js.map +1 -0
  162. package/dist/instrumentation/strands/utils.d.ts +24 -0
  163. package/dist/instrumentation/strands/utils.js +360 -0
  164. package/dist/instrumentation/strands/utils.js.map +1 -0
  165. package/dist/instrumentation/together/wrapper.js +125 -51
  166. package/dist/instrumentation/together/wrapper.js.map +1 -1
  167. package/dist/instrumentation/vercel-ai/wrapper.d.ts +28 -2
  168. package/dist/instrumentation/vercel-ai/wrapper.js +314 -164
  169. package/dist/instrumentation/vercel-ai/wrapper.js.map +1 -1
  170. package/dist/llm/anthropic.js +10 -6
  171. package/dist/llm/anthropic.js.map +1 -1
  172. package/dist/llm/openai.js +9 -5
  173. package/dist/llm/openai.js.map +1 -1
  174. package/dist/otel/__tests__/metrics.test.js +16 -27
  175. package/dist/otel/__tests__/metrics.test.js.map +1 -1
  176. package/dist/otel/events.d.ts +11 -0
  177. package/dist/otel/events.js +74 -0
  178. package/dist/otel/events.js.map +1 -0
  179. package/dist/otel/metrics.d.ts +5 -6
  180. package/dist/otel/metrics.js +66 -48
  181. package/dist/otel/metrics.js.map +1 -1
  182. package/dist/otel/tracing.d.ts +6 -2
  183. package/dist/otel/tracing.js +71 -24
  184. package/dist/otel/tracing.js.map +1 -1
  185. package/dist/otel/utils.d.ts +11 -0
  186. package/dist/otel/utils.js +34 -0
  187. package/dist/otel/utils.js.map +1 -0
  188. package/dist/semantic-convention.d.ts +49 -5
  189. package/dist/semantic-convention.js +56 -8
  190. package/dist/semantic-convention.js.map +1 -1
  191. package/dist/types.d.ts +58 -22
  192. package/package.json +41 -9
@@ -3,44 +3,91 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("@opentelemetry/api");
6
7
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
7
8
  const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
8
9
  const instrumentation_1 = __importDefault(require("../instrumentation"));
9
10
  const config_1 = __importDefault(require("../config"));
11
+ const utils_1 = require("./utils");
12
+ let TRACER_SET = false;
10
13
  class Tracing {
11
- static async setup(options) {
14
+ static setup(options) {
12
15
  if (options.tracer)
13
16
  return options.tracer;
14
17
  try {
15
- const consoleSpanExporter = new sdk_trace_node_1.ConsoleSpanExporter();
16
- const url = options.otlpEndpoint + "/v1/traces";
17
- const otlpTraceExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
18
- url,
19
- headers: options.otlpHeaders,
20
- });
21
- const spanProcessors = [
22
- new sdk_trace_node_1.SimpleSpanProcessor(consoleSpanExporter),
23
- options.disableBatch
24
- ? new sdk_trace_node_1.SimpleSpanProcessor(otlpTraceExporter)
25
- : new sdk_trace_node_1.BatchSpanProcessor(otlpTraceExporter),
26
- ];
27
- this.traceProvider = new sdk_trace_node_1.NodeTracerProvider({
28
- resource: options.resource,
29
- spanProcessors,
30
- });
31
- config_1.default.updateConfig({
32
- ...options,
33
- tracer: options.tracer || Tracing.traceProvider,
34
- });
35
- instrumentation_1.default.setup(Tracing.traceProvider, options?.disabledInstrumentations, options?.instrumentations);
36
- this.traceExporter = otlpTraceExporter;
37
- this.traceProvider.register();
18
+ if (!TRACER_SET) {
19
+ const existingProvider = api_1.trace.getTracerProvider();
20
+ const isSDKProvider = existingProvider &&
21
+ typeof existingProvider.addSpanProcessor === 'function';
22
+ if (isSDKProvider) {
23
+ // Reuse existing SDK TracerProvider
24
+ this.traceProvider = existingProvider;
25
+ }
26
+ else {
27
+ const spanProcessors = Tracing.buildSpanProcessors(options);
28
+ this.traceProvider = new sdk_trace_node_1.NodeTracerProvider({
29
+ resource: options.resource,
30
+ spanProcessors,
31
+ });
32
+ this.traceProvider.register();
33
+ }
34
+ config_1.default.updateConfig({
35
+ ...options,
36
+ tracer: options.tracer || Tracing.traceProvider,
37
+ });
38
+ instrumentation_1.default.setup(Tracing.traceProvider, options?.disabledInstrumentors, options?.instrumentations);
39
+ TRACER_SET = true;
40
+ }
41
+ return api_1.trace.getTracer('openlit');
38
42
  }
39
43
  catch (e) {
40
44
  console.error('[Traces] Failed to initialize traces:', e);
41
45
  return null;
42
46
  }
43
47
  }
48
+ static buildSpanProcessors(options) {
49
+ const processors = [];
50
+ const exporterList = (0, utils_1.parseExporters)('OTEL_TRACES_EXPORTER');
51
+ if (exporterList) {
52
+ for (const name of exporterList) {
53
+ if (name === 'otlp') {
54
+ const exporter = Tracing.createOTLPExporter(options);
55
+ this.traceExporter = exporter;
56
+ processors.push(Tracing.wrapProcessor(exporter, options.disableBatch));
57
+ }
58
+ else if (name === 'console') {
59
+ processors.push(new sdk_trace_node_1.SimpleSpanProcessor(new sdk_trace_node_1.ConsoleSpanExporter()));
60
+ }
61
+ }
62
+ }
63
+ else {
64
+ // Default: OTLP if endpoint is set, otherwise Console
65
+ if (options.otlpEndpoint) {
66
+ const exporter = Tracing.createOTLPExporter(options);
67
+ this.traceExporter = exporter;
68
+ processors.push(Tracing.wrapProcessor(exporter, options.disableBatch));
69
+ }
70
+ else {
71
+ processors.push(new sdk_trace_node_1.SimpleSpanProcessor(new sdk_trace_node_1.ConsoleSpanExporter()));
72
+ }
73
+ }
74
+ return processors;
75
+ }
76
+ static createOTLPExporter(options) {
77
+ const url = (options.otlpEndpoint || '') + '/v1/traces';
78
+ return new exporter_trace_otlp_http_1.OTLPTraceExporter({
79
+ url,
80
+ headers: options.otlpHeaders,
81
+ });
82
+ }
83
+ static wrapProcessor(exporter, disableBatch) {
84
+ return disableBatch
85
+ ? new sdk_trace_node_1.SimpleSpanProcessor(exporter)
86
+ : new sdk_trace_node_1.BatchSpanProcessor(exporter);
87
+ }
88
+ static resetForTesting() {
89
+ TRACER_SET = false;
90
+ }
44
91
  }
45
92
  exports.default = Tracing;
46
93
  //# sourceMappingURL=tracing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/otel/tracing.ts"],"names":[],"mappings":";;;;;AACA,kEAMuC;AACvC,sFAA4E;AAE5E,yEAAkD;AAClD,uDAAsC;AAEtC,MAAqB,OAAO;IAG1B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAA2B;QAC5C,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,oCAAmB,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YAChD,MAAM,iBAAiB,GAAG,IAAI,4CAAiB,CAAC;gBAC9C,GAAG;gBACH,OAAO,EAAE,OAAO,CAAC,WAAiD;aACnE,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG;gBACrB,IAAI,oCAAmB,CAAC,mBAAmB,CAAC;gBAC5C,OAAO,CAAC,YAAY;oBAClB,CAAC,CAAC,IAAI,oCAAmB,CAAC,iBAAiC,CAAC;oBAC5D,CAAC,CAAC,IAAI,mCAAkB,CAAC,iBAAiC,CAAC;aAC9D,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,IAAI,mCAAkB,CAAC;gBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,cAAc;aACf,CAAC,CAAC;YAEH,gBAAa,CAAC,YAAY,CAAC;gBACzB,GAAG,OAAO;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa;aAChD,CAAC,CAAC;YAEH,yBAAgB,CAAC,KAAK,CACpB,OAAO,CAAC,aAAa,EACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,gBAAgB,CAC1B,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YAEvC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA5CD,0BA4CC"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/otel/tracing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Parse a comma-separated OTel exporter env var into an array of exporter names.
3
+ * Returns null if the env var is not set (caller uses default logic).
4
+ * Matches Python's parse_exporters() in __helpers.py.
5
+ */
6
+ export declare function parseExporters(envVarName: string): string[] | null;
7
+ /**
8
+ * Parse a boolean-like env var (true/1/yes -> true, false/0/no -> false).
9
+ * Returns undefined if the env var is not set.
10
+ */
11
+ export declare function parseBoolEnv(envVarName: string): boolean | undefined;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseExporters = parseExporters;
4
+ exports.parseBoolEnv = parseBoolEnv;
5
+ /**
6
+ * Parse a comma-separated OTel exporter env var into an array of exporter names.
7
+ * Returns null if the env var is not set (caller uses default logic).
8
+ * Matches Python's parse_exporters() in __helpers.py.
9
+ */
10
+ function parseExporters(envVarName) {
11
+ const val = process.env[envVarName];
12
+ if (!val)
13
+ return null;
14
+ return val
15
+ .split(',')
16
+ .map((e) => e.trim().toLowerCase())
17
+ .filter(Boolean);
18
+ }
19
+ /**
20
+ * Parse a boolean-like env var (true/1/yes -> true, false/0/no -> false).
21
+ * Returns undefined if the env var is not set.
22
+ */
23
+ function parseBoolEnv(envVarName) {
24
+ const val = process.env[envVarName];
25
+ if (val === undefined || val === '')
26
+ return undefined;
27
+ const lower = val.trim().toLowerCase();
28
+ if (['true', '1', 'yes'].includes(lower))
29
+ return true;
30
+ if (['false', '0', 'no'].includes(lower))
31
+ return false;
32
+ return undefined;
33
+ }
34
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/otel/utils.ts"],"names":[],"mappings":";;AAKA,wCAOC;AAMD,oCAOC;AAzBD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,UAAkB;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -26,10 +26,7 @@ export default class SemanticConvention {
26
26
  static GEN_AI_RESPONSE_MODEL: string;
27
27
  static GEN_AI_INPUT_MESSAGES: string;
28
28
  static GEN_AI_OUTPUT_MESSAGES: string;
29
- /** Legacy */
30
29
  static GEN_AI_SYSTEM_INSTRUCTIONS: string;
31
- /** OTel standard */
32
- static GEN_AI_SYSTEM_INSTRUCTIONS_OTEL: string;
33
30
  static GEN_AI_TOOL_DEFINITIONS: string;
34
31
  static GEN_AI_EMBEDDINGS_DIMENSION_COUNT: string;
35
32
  static GEN_AI_TOKEN_TYPE: string;
@@ -38,6 +35,8 @@ export default class SemanticConvention {
38
35
  static GEN_AI_TOKEN_TYPE_REASONING: string;
39
36
  static GEN_AI_CLIENT_OPERATION_DURATION: string;
40
37
  static GEN_AI_CLIENT_OPERATION_TIME_TO_FIRST_CHUNK: string;
38
+ /** OTel standard span attribute for TTFT */
39
+ static GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK: string;
41
40
  static GEN_AI_CLIENT_OPERATION_TIME_PER_OUTPUT_CHUNK: string;
42
41
  static GEN_AI_CLIENT_TOKEN_USAGE: string;
43
42
  static GEN_AI_SERVER_REQUEST_DURATION: string;
@@ -59,6 +58,7 @@ export default class SemanticConvention {
59
58
  static GEN_AI_ASSISTANT_MESSAGE: string;
60
59
  static GEN_AI_TOOL_MESSAGE: string;
61
60
  static GEN_AI_CHOICE: string;
61
+ static GEN_AI_CLIENT_INFERENCE_OPERATION_DETAILS: string;
62
62
  static GEN_AI_ENDPOINT: string;
63
63
  static GEN_AI_ENVIRONMENT: string;
64
64
  static GEN_AI_APPLICATION_NAME: string;
@@ -68,6 +68,8 @@ export default class SemanticConvention {
68
68
  static GEN_AI_REQUESTS: string;
69
69
  static GEN_AI_SDK_VERSION: string;
70
70
  static GEN_AI_REQUEST_IS_STREAM: string;
71
+ /** OTel standard: gen_ai.request.stream (replaces gen_ai.request.is_stream) */
72
+ static GEN_AI_REQUEST_STREAM: string;
71
73
  static GEN_AI_REQUEST_USER: string;
72
74
  static GEN_AI_REQUEST_EMBEDDING_DIMENSION: string;
73
75
  static GEN_AI_REQUEST_TOOL_CHOICE: string;
@@ -103,8 +105,11 @@ export default class SemanticConvention {
103
105
  static GEN_AI_RESPONSE_IMAGE_SIZE: string;
104
106
  static GEN_AI_RESPONSE_IMAGE_QUALITY: string;
105
107
  static GEN_AI_RESPONSE_IMAGE_STYLE: string;
106
- static GEN_AI_REQUEST_SERVICE_TIER: string;
107
- static GEN_AI_RESPONSE_SERVICE_TIER: string;
108
+ static OPENAI_REQUEST_SERVICE_TIER: string;
109
+ static OPENAI_RESPONSE_SERVICE_TIER: string;
110
+ static OPENAI_RESPONSE_SYSTEM_FINGERPRINT: string;
111
+ static OPENAI_API_TYPE: string;
112
+ /** @deprecated Use OPENAI_RESPONSE_SYSTEM_FINGERPRINT for OpenAI */
108
113
  static GEN_AI_RESPONSE_SYSTEM_FINGERPRINT: string;
109
114
  static GEN_AI_CONTENT_PROMPT_EVENT: string;
110
115
  static GEN_AI_CONTENT_COMPLETION_EVENT: string;
@@ -123,11 +128,24 @@ export default class SemanticConvention {
123
128
  static GEN_AI_TOOL_OUTPUT: string;
124
129
  static GEN_AI_TOOL_ARGS: string;
125
130
  static GEN_AI_RETRIEVAL_QUERY: string;
131
+ static GEN_AI_RETRIEVAL_QUERY_TEXT: string;
126
132
  static GEN_AI_RETRIEVAL_DOCUMENTS: string;
127
133
  static GEN_AI_RETRIEVAL_DOCUMENT_COUNT: string;
134
+ static GEN_AI_DATA_SOURCE_ID: string;
135
+ static GEN_AI_AGENT_NAME: string;
136
+ static GEN_AI_AGENT_ID: string;
137
+ static GEN_AI_AGENT_DESCRIPTION: string;
138
+ static GEN_AI_AGENT_VERSION: string;
139
+ static GEN_AI_AGENT_SOURCE: string;
140
+ static GEN_AI_AGENT_ACTION_TOOL: string;
141
+ static GEN_AI_AGENT_ACTION_TOOL_INPUT: string;
142
+ static GEN_AI_AGENT_ACTION_LOG: string;
143
+ static GEN_AI_AGENT_FINISH_OUTPUT: string;
144
+ static GEN_AI_AGENT_FINISH_LOG: string;
128
145
  static GEN_AI_WORKFLOW_INPUT: string;
129
146
  static GEN_AI_WORKFLOW_OUTPUT: string;
130
147
  static GEN_AI_WORKFLOW_TYPE: string;
148
+ static GEN_AI_WORKFLOW_NAME: string;
131
149
  static GEN_AI_FRAMEWORK_ERROR_CLASS: string;
132
150
  static GEN_AI_FRAMEWORK_ERROR_TYPE: string;
133
151
  static GEN_AI_FRAMEWORK_ERROR_MESSAGE: string;
@@ -145,6 +163,9 @@ export default class SemanticConvention {
145
163
  static GEN_AI_OPERATION_TYPE_FINETUNING: string;
146
164
  static GEN_AI_OPERATION_TYPE_VECTORDB: string;
147
165
  static GEN_AI_OPERATION_TYPE_FRAMEWORK: string;
166
+ static GEN_AI_OPERATION_TYPE_AGENT: string;
167
+ static GEN_AI_OPERATION_TYPE_TOOLS: string;
168
+ static GEN_AI_OPERATION_TYPE_RETRIEVE: string;
148
169
  static GEN_AI_OUTPUT_TYPE_TEXT: string;
149
170
  static GEN_AI_OUTPUT_TYPE_JSON: string;
150
171
  static GEN_AI_OUTPUT_TYPE_IMAGE: string;
@@ -160,7 +181,30 @@ export default class SemanticConvention {
160
181
  static GEN_AI_SYSTEM_VERTEXAI: string;
161
182
  static GEN_AI_SYSTEM_LANGCHAIN: string;
162
183
  static GEN_AI_SYSTEM_VERCEL_AI: string;
184
+ static GEN_AI_SYSTEM_OLLAMA: string;
185
+ static GEN_AI_SYSTEM_GOOGLE_AI_STUDIO: string;
186
+ static GEN_AI_SYSTEM_GROQ: string;
187
+ static GEN_AI_SYSTEM_AZURE_AI_INFERENCE: string;
163
188
  static GEN_AI_SYSTEM_LLAMAINDEX: string;
189
+ static GEN_AI_SYSTEM_TOGETHER: string;
190
+ static GEN_AI_SYSTEM_LANGGRAPH: string;
191
+ static GEN_AI_SYSTEM_OPENAI_AGENTS: string;
192
+ static GEN_AI_SYSTEM_MASTRA: string;
193
+ static GEN_AI_SYSTEM_CLAUDE_AGENT_SDK: string;
194
+ static GEN_AI_SYSTEM_GOOGLE_ADK: string;
195
+ static GEN_AI_SYSTEM_STRANDS: string;
196
+ static GEN_AI_SYSTEM_CURSOR: string;
197
+ static GEN_AI_OPERATION_TYPE_CREATE_AGENT: string;
198
+ static GEN_AI_GRAPH_NODES: string;
199
+ static GEN_AI_GRAPH_NODE_COUNT: string;
200
+ static GEN_AI_GRAPH_EDGES: string;
201
+ static GEN_AI_GRAPH_EDGE_COUNT: string;
202
+ static GEN_AI_GRAPH_EXECUTED_NODES: string;
203
+ static GEN_AI_GRAPH_STATUS: string;
204
+ static GEN_AI_GRAPH_MESSAGE_COUNT: string;
205
+ static GEN_AI_GRAPH_TOTAL_CHUNKS: string;
206
+ static GEN_AI_EXECUTION_MODE: string;
207
+ static GEN_AI_CHECKPOINT_ID: string;
164
208
  static DB_REQUESTS: string;
165
209
  static DB_SYSTEM: string;
166
210
  static DB_SYSTEM_NAME: string;
@@ -32,10 +32,7 @@ SemanticConvention.GEN_AI_RESPONSE_ID = 'gen_ai.response.id';
32
32
  SemanticConvention.GEN_AI_RESPONSE_MODEL = 'gen_ai.response.model';
33
33
  SemanticConvention.GEN_AI_INPUT_MESSAGES = 'gen_ai.input.messages';
34
34
  SemanticConvention.GEN_AI_OUTPUT_MESSAGES = 'gen_ai.output.messages';
35
- /** Legacy */
36
- SemanticConvention.GEN_AI_SYSTEM_INSTRUCTIONS = 'gen_ai.system.instructions';
37
- /** OTel standard */
38
- SemanticConvention.GEN_AI_SYSTEM_INSTRUCTIONS_OTEL = 'gen_ai.system_instructions';
35
+ SemanticConvention.GEN_AI_SYSTEM_INSTRUCTIONS = 'gen_ai.system_instructions';
39
36
  SemanticConvention.GEN_AI_TOOL_DEFINITIONS = 'gen_ai.tool.definitions';
40
37
  SemanticConvention.GEN_AI_EMBEDDINGS_DIMENSION_COUNT = 'gen_ai.embeddings.dimension.count';
41
38
  SemanticConvention.GEN_AI_TOKEN_TYPE = 'gen_ai.token.type';
@@ -44,6 +41,8 @@ SemanticConvention.GEN_AI_TOKEN_TYPE_OUTPUT = 'output';
44
41
  SemanticConvention.GEN_AI_TOKEN_TYPE_REASONING = 'reasoning';
45
42
  SemanticConvention.GEN_AI_CLIENT_OPERATION_DURATION = 'gen_ai.client.operation.duration';
46
43
  SemanticConvention.GEN_AI_CLIENT_OPERATION_TIME_TO_FIRST_CHUNK = 'gen_ai.client.operation.time_to_first_chunk';
44
+ /** OTel standard span attribute for TTFT */
45
+ SemanticConvention.GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK = 'gen_ai.response.time_to_first_chunk';
47
46
  SemanticConvention.GEN_AI_CLIENT_OPERATION_TIME_PER_OUTPUT_CHUNK = 'gen_ai.client.operation.time_per_output_chunk';
48
47
  SemanticConvention.GEN_AI_CLIENT_TOKEN_USAGE = 'gen_ai.client.token.usage';
49
48
  SemanticConvention.GEN_AI_SERVER_REQUEST_DURATION = 'gen_ai.server.request.duration';
@@ -66,6 +65,7 @@ SemanticConvention.GEN_AI_SYSTEM_MESSAGE = 'gen_ai.system.message';
66
65
  SemanticConvention.GEN_AI_ASSISTANT_MESSAGE = 'gen_ai.assistant.message';
67
66
  SemanticConvention.GEN_AI_TOOL_MESSAGE = 'gen_ai.tools.message';
68
67
  SemanticConvention.GEN_AI_CHOICE = 'gen_ai.choice';
68
+ SemanticConvention.GEN_AI_CLIENT_INFERENCE_OPERATION_DETAILS = 'gen_ai.client.inference.operation.details';
69
69
  // ----- GenAI General (OpenLIT + OTel) -----
70
70
  SemanticConvention.GEN_AI_ENDPOINT = 'gen_ai.endpoint';
71
71
  SemanticConvention.GEN_AI_ENVIRONMENT = 'gen_ai.environment';
@@ -77,6 +77,8 @@ SemanticConvention.GEN_AI_REQUESTS = 'gen_ai.total.requests';
77
77
  SemanticConvention.GEN_AI_SDK_VERSION = 'gen_ai.sdk.version';
78
78
  // GenAI Request (extended / OpenLIT)
79
79
  SemanticConvention.GEN_AI_REQUEST_IS_STREAM = 'gen_ai.request.is_stream';
80
+ /** OTel standard: gen_ai.request.stream (replaces gen_ai.request.is_stream) */
81
+ SemanticConvention.GEN_AI_REQUEST_STREAM = 'gen_ai.request.stream';
80
82
  SemanticConvention.GEN_AI_REQUEST_USER = 'gen_ai.request.user';
81
83
  SemanticConvention.GEN_AI_REQUEST_EMBEDDING_DIMENSION = 'gen_ai.request.embedding_dimension';
82
84
  SemanticConvention.GEN_AI_REQUEST_TOOL_CHOICE = 'gen_ai.request.tool_choice';
@@ -116,8 +118,12 @@ SemanticConvention.GEN_AI_RESPONSE_IMAGE = 'gen_ai.response.image';
116
118
  SemanticConvention.GEN_AI_RESPONSE_IMAGE_SIZE = 'gen_ai.request.image_size';
117
119
  SemanticConvention.GEN_AI_RESPONSE_IMAGE_QUALITY = 'gen_ai.request.image_quality';
118
120
  SemanticConvention.GEN_AI_RESPONSE_IMAGE_STYLE = 'gen_ai.request.image_style';
119
- SemanticConvention.GEN_AI_REQUEST_SERVICE_TIER = 'gen_ai.request.service_tier';
120
- SemanticConvention.GEN_AI_RESPONSE_SERVICE_TIER = 'gen_ai.response.service_tier';
121
+ // OpenAI-specific attributes (openai.* namespace per OTel semconv)
122
+ SemanticConvention.OPENAI_REQUEST_SERVICE_TIER = 'openai.request.service_tier';
123
+ SemanticConvention.OPENAI_RESPONSE_SERVICE_TIER = 'openai.response.service_tier';
124
+ SemanticConvention.OPENAI_RESPONSE_SYSTEM_FINGERPRINT = 'openai.response.system_fingerprint';
125
+ SemanticConvention.OPENAI_API_TYPE = 'openai.api.type';
126
+ /** @deprecated Use OPENAI_RESPONSE_SYSTEM_FINGERPRINT for OpenAI */
121
127
  SemanticConvention.GEN_AI_RESPONSE_SYSTEM_FINGERPRINT = 'gen_ai.response.system_fingerprint';
122
128
  // GenAI Content
123
129
  SemanticConvention.GEN_AI_CONTENT_PROMPT_EVENT = 'gen_ai.content.prompt';
@@ -139,12 +145,26 @@ SemanticConvention.GEN_AI_TOOL_OUTPUT = 'gen_ai.tool.output';
139
145
  SemanticConvention.GEN_AI_TOOL_ARGS = 'gen_ai.tool.args';
140
146
  // Retrieval (framework / RAG)
141
147
  SemanticConvention.GEN_AI_RETRIEVAL_QUERY = 'gen_ai.retrieval.query';
148
+ SemanticConvention.GEN_AI_RETRIEVAL_QUERY_TEXT = 'gen_ai.retrieval.query.text';
142
149
  SemanticConvention.GEN_AI_RETRIEVAL_DOCUMENTS = 'gen_ai.retrieval.documents';
143
150
  SemanticConvention.GEN_AI_RETRIEVAL_DOCUMENT_COUNT = 'gen_ai.retrieval.document_count';
151
+ SemanticConvention.GEN_AI_DATA_SOURCE_ID = 'gen_ai.data_source.id';
152
+ // Agent (OTel Semconv)
153
+ SemanticConvention.GEN_AI_AGENT_NAME = 'gen_ai.agent.name';
154
+ SemanticConvention.GEN_AI_AGENT_ID = 'gen_ai.agent.id';
155
+ SemanticConvention.GEN_AI_AGENT_DESCRIPTION = 'gen_ai.agent.description';
156
+ SemanticConvention.GEN_AI_AGENT_VERSION = 'gen_ai.agent.version';
157
+ SemanticConvention.GEN_AI_AGENT_SOURCE = 'gen_ai.agent.source';
158
+ SemanticConvention.GEN_AI_AGENT_ACTION_TOOL = 'gen_ai.agent.action.tool';
159
+ SemanticConvention.GEN_AI_AGENT_ACTION_TOOL_INPUT = 'gen_ai.agent.action.tool_input';
160
+ SemanticConvention.GEN_AI_AGENT_ACTION_LOG = 'gen_ai.agent.action.log';
161
+ SemanticConvention.GEN_AI_AGENT_FINISH_OUTPUT = 'gen_ai.agent.finish.output';
162
+ SemanticConvention.GEN_AI_AGENT_FINISH_LOG = 'gen_ai.agent.finish.log';
144
163
  // Workflow / framework
145
164
  SemanticConvention.GEN_AI_WORKFLOW_INPUT = 'gen_ai.workflow.input';
146
165
  SemanticConvention.GEN_AI_WORKFLOW_OUTPUT = 'gen_ai.workflow.output';
147
166
  SemanticConvention.GEN_AI_WORKFLOW_TYPE = 'gen_ai.workflow.type';
167
+ SemanticConvention.GEN_AI_WORKFLOW_NAME = 'gen_ai.workflow.name';
148
168
  SemanticConvention.GEN_AI_FRAMEWORK_ERROR_CLASS = 'gen_ai.framework.error.class';
149
169
  SemanticConvention.GEN_AI_FRAMEWORK_ERROR_TYPE = 'gen_ai.framework.error.type';
150
170
  SemanticConvention.GEN_AI_FRAMEWORK_ERROR_MESSAGE = 'gen_ai.framework.error.message';
@@ -161,7 +181,10 @@ SemanticConvention.GEN_AI_OPERATION_TYPE_IMAGE = 'image';
161
181
  SemanticConvention.GEN_AI_OPERATION_TYPE_AUDIO = 'audio';
162
182
  SemanticConvention.GEN_AI_OPERATION_TYPE_FINETUNING = 'fine_tuning';
163
183
  SemanticConvention.GEN_AI_OPERATION_TYPE_VECTORDB = 'vectordb';
164
- SemanticConvention.GEN_AI_OPERATION_TYPE_FRAMEWORK = 'workflow';
184
+ SemanticConvention.GEN_AI_OPERATION_TYPE_FRAMEWORK = 'invoke_workflow';
185
+ SemanticConvention.GEN_AI_OPERATION_TYPE_AGENT = 'invoke_agent';
186
+ SemanticConvention.GEN_AI_OPERATION_TYPE_TOOLS = 'execute_tool';
187
+ SemanticConvention.GEN_AI_OPERATION_TYPE_RETRIEVE = 'retrieval';
165
188
  // GenAI Output Types
166
189
  SemanticConvention.GEN_AI_OUTPUT_TYPE_TEXT = 'text';
167
190
  SemanticConvention.GEN_AI_OUTPUT_TYPE_JSON = 'json';
@@ -170,7 +193,7 @@ SemanticConvention.GEN_AI_OUTPUT_TYPE_SPEECH = 'speech';
170
193
  SemanticConvention.GEN_AI_SYSTEM_HUGGING_FACE = 'huggingface';
171
194
  SemanticConvention.GEN_AI_SYSTEM_REPLICATE = 'replicate';
172
195
  SemanticConvention.GEN_AI_SYSTEM_OPENAI = 'openai';
173
- SemanticConvention.GEN_AI_SYSTEM_AZURE_OPENAI = 'az.ai.openai';
196
+ SemanticConvention.GEN_AI_SYSTEM_AZURE_OPENAI = 'azure.ai.openai';
174
197
  SemanticConvention.GEN_AI_SYSTEM_ANTHROPIC = 'anthropic';
175
198
  SemanticConvention.GEN_AI_SYSTEM_COHERE = 'cohere';
176
199
  SemanticConvention.GEN_AI_SYSTEM_MISTRAL = 'mistral_ai';
@@ -178,7 +201,32 @@ SemanticConvention.GEN_AI_SYSTEM_AWS_BEDROCK = 'aws.bedrock';
178
201
  SemanticConvention.GEN_AI_SYSTEM_VERTEXAI = 'vertex_ai';
179
202
  SemanticConvention.GEN_AI_SYSTEM_LANGCHAIN = 'langchain';
180
203
  SemanticConvention.GEN_AI_SYSTEM_VERCEL_AI = 'vercel_ai';
204
+ SemanticConvention.GEN_AI_SYSTEM_OLLAMA = 'ollama';
205
+ SemanticConvention.GEN_AI_SYSTEM_GOOGLE_AI_STUDIO = 'gcp.gemini';
206
+ SemanticConvention.GEN_AI_SYSTEM_GROQ = 'groq';
207
+ SemanticConvention.GEN_AI_SYSTEM_AZURE_AI_INFERENCE = 'azure.ai.inference';
181
208
  SemanticConvention.GEN_AI_SYSTEM_LLAMAINDEX = 'llamaindex';
209
+ SemanticConvention.GEN_AI_SYSTEM_TOGETHER = 'together';
210
+ SemanticConvention.GEN_AI_SYSTEM_LANGGRAPH = 'langgraph';
211
+ SemanticConvention.GEN_AI_SYSTEM_OPENAI_AGENTS = 'openai_agents';
212
+ SemanticConvention.GEN_AI_SYSTEM_MASTRA = 'mastra';
213
+ SemanticConvention.GEN_AI_SYSTEM_CLAUDE_AGENT_SDK = 'claude_agent_sdk';
214
+ SemanticConvention.GEN_AI_SYSTEM_GOOGLE_ADK = 'google_adk';
215
+ SemanticConvention.GEN_AI_SYSTEM_STRANDS = 'strands_agents';
216
+ SemanticConvention.GEN_AI_SYSTEM_CURSOR = 'cursor';
217
+ SemanticConvention.GEN_AI_OPERATION_TYPE_CREATE_AGENT = 'create_agent';
218
+ // Graph attributes (LangGraph)
219
+ SemanticConvention.GEN_AI_GRAPH_NODES = 'gen_ai.graph.nodes';
220
+ SemanticConvention.GEN_AI_GRAPH_NODE_COUNT = 'gen_ai.graph.node_count';
221
+ SemanticConvention.GEN_AI_GRAPH_EDGES = 'gen_ai.graph.edges';
222
+ SemanticConvention.GEN_AI_GRAPH_EDGE_COUNT = 'gen_ai.graph.edge_count';
223
+ SemanticConvention.GEN_AI_GRAPH_EXECUTED_NODES = 'gen_ai.graph.executed_nodes';
224
+ SemanticConvention.GEN_AI_GRAPH_STATUS = 'gen_ai.graph.status';
225
+ SemanticConvention.GEN_AI_GRAPH_MESSAGE_COUNT = 'gen_ai.graph.message_count';
226
+ SemanticConvention.GEN_AI_GRAPH_TOTAL_CHUNKS = 'gen_ai.graph.total_chunks';
227
+ // Execution attributes (LangGraph)
228
+ SemanticConvention.GEN_AI_EXECUTION_MODE = 'gen_ai.execution.mode';
229
+ SemanticConvention.GEN_AI_CHECKPOINT_ID = 'gen_ai.checkpoint.id';
182
230
  // Vector DB
183
231
  SemanticConvention.DB_REQUESTS = 'db.total.requests';
184
232
  SemanticConvention.DB_SYSTEM = 'db.system';
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-convention.js","sourceRoot":"","sources":["../src/semantic-convention.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-convention.js","sourceRoot":"","sources":["../src/semantic-convention.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,18 +1,11 @@
1
1
  import { Resource } from '@opentelemetry/resources';
2
2
  import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
3
3
  import { metrics } from '@opentelemetry/api';
4
- export type InstrumentationType = 'openai' | 'anthropic' | 'cohere' | 'groq' | 'mistral' | 'google-ai' | 'together' | 'ollama' | 'vercel-ai' | 'langchain' | 'pinecone' | 'bedrock' | 'llamaindex' | 'huggingface' | 'replicate' | 'chroma' | 'qdrant' | 'milvus';
4
+ export type InstrumentationType = 'openai' | 'anthropic' | 'cohere' | 'groq' | 'mistral' | 'google-ai' | 'together' | 'ollama' | 'vercel-ai' | 'langchain' | 'langgraph' | 'pinecone' | 'bedrock' | 'llamaindex' | 'huggingface' | 'replicate' | 'chroma' | 'qdrant' | 'milvus' | 'azure-ai-inference' | 'openai-agents' | 'strands' | 'google-adk' | 'claude-agent-sdk' | 'cursor-sdk';
5
5
  export type OpenlitInstrumentations = Partial<Record<InstrumentationType, any>>;
6
6
  export type PricingObject = Record<string, Record<string, unknown>>;
7
7
  /**
8
- * environment (string): Deployment environment of the application.
9
- * applicationName (string): Name of the application using openLIT.
10
- * pricingInfo (Object): Pricing information.
11
- * tracer (any): Tracer instance for OpenTelemetry.
12
- * otlpEndpoint (string): Endpoint for OTLP.
13
- * otlpHeaders (Object): Headers for OTLP.
14
- * disableBatch (boolean): Flag to disable batch span processing in tracing.
15
- * traceContent (boolean): Flag to enable or disable tracing of content.
8
+ * Internal config interface used by OpenlitConfig.
16
9
  */
17
10
  export interface OpenlitConfigInterface {
18
11
  environment?: string;
@@ -22,30 +15,73 @@ export interface OpenlitConfigInterface {
22
15
  otlpEndpoint?: string;
23
16
  otlpHeaders?: Record<string, unknown>;
24
17
  disableBatch?: boolean;
25
- traceContent?: boolean;
26
- pricing_json?: string | PricingObject;
18
+ captureMessageContent?: boolean;
19
+ pricingJson?: string | PricingObject;
20
+ disableMetrics?: boolean;
21
+ disableEvents?: boolean;
22
+ maxContentLength?: number | null;
23
+ customSpanAttributes?: Record<string, string> | null;
27
24
  }
25
+ /**
26
+ * Public init() options.
27
+ *
28
+ * Names match the Python SDK's init() parameters in camelCase form:
29
+ * Python: application_name → JS: applicationName
30
+ * Python: otlp_endpoint → JS: otlpEndpoint
31
+ * Python: otlp_headers → JS: otlpHeaders
32
+ * Python: disable_batch → JS: disableBatch
33
+ * Python: capture_message_content → JS: captureMessageContent
34
+ * Python: disabled_instrumentors → JS: disabledInstrumentors
35
+ * Python: disable_metrics → JS: disableMetrics
36
+ * Python: disable_events → JS: disableEvents
37
+ * Python: pricing_json → JS: pricingJson
38
+ * Python: max_content_length → JS: maxContentLength
39
+ * Python: custom_span_attributes → JS: customSpanAttributes
40
+ */
28
41
  export type OpenlitOptions = {
29
- environment?: OpenlitConfigInterface['environment'];
30
- applicationName?: OpenlitConfigInterface['applicationName'];
31
- tracer?: OpenlitConfigInterface['tracer'];
32
- otlpEndpoint?: OpenlitConfigInterface['otlpEndpoint'];
33
- otlpHeaders?: OpenlitConfigInterface['otlpHeaders'];
34
- disableBatch?: OpenlitConfigInterface['disableBatch'];
35
- traceContent?: OpenlitConfigInterface['traceContent'];
36
- disabledInstrumentations?: string[];
42
+ environment?: string;
43
+ applicationName?: string;
44
+ tracer?: NodeTracerProvider;
45
+ otlpEndpoint?: string;
46
+ otlpHeaders?: Record<string, unknown>;
47
+ disableBatch?: boolean;
48
+ captureMessageContent?: boolean;
49
+ disabledInstrumentors?: string[];
37
50
  instrumentations?: OpenlitInstrumentations;
38
- pricing_json?: OpenlitConfigInterface['pricing_json'];
51
+ disableMetrics?: boolean;
52
+ disableEvents?: boolean;
53
+ pricingJson?: string | PricingObject;
54
+ maxContentLength?: number | null;
55
+ customSpanAttributes?: Record<string, string> | null;
39
56
  };
40
- export type SetupTracerOptions = OpenlitOptions & {
57
+ /**
58
+ * Resolved options used internally after merging args, env vars, and defaults.
59
+ */
60
+ export interface ResolvedOptions {
61
+ environment: string;
62
+ applicationName: string;
63
+ tracer?: NodeTracerProvider;
64
+ otlpEndpoint?: string;
65
+ otlpHeaders?: Record<string, unknown>;
66
+ disableBatch: boolean;
67
+ captureMessageContent: boolean;
68
+ disabledInstrumentors?: string[];
69
+ instrumentations?: OpenlitInstrumentations;
70
+ disableMetrics: boolean;
71
+ disableEvents: boolean;
72
+ pricingJson?: string | PricingObject;
73
+ maxContentLength?: number | null;
74
+ customSpanAttributes?: Record<string, string> | null;
75
+ }
76
+ export type SetupTracerOptions = ResolvedOptions & {
41
77
  resource: Resource;
42
78
  };
43
79
  export type MeterType = ReturnType<typeof metrics.getMeter>;
44
80
  export type SetupMetricsOptions = SetupTracerOptions & {
45
81
  meter?: MeterType;
46
82
  exportIntervalMillis?: number;
47
- allowConsoleExporterFallback?: boolean;
48
83
  };
84
+ export type SetupEventsOptions = SetupTracerOptions;
49
85
  export interface BaseOpenlitOptions {
50
86
  url?: string;
51
87
  apiKey?: string;