openlit 1.7.1 → 1.9.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 (101) hide show
  1. package/README.md +14 -10
  2. package/dist/helpers.d.ts +10 -0
  3. package/dist/helpers.js +106 -3
  4. package/dist/helpers.js.map +1 -1
  5. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +1 -1
  6. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -1
  7. package/dist/instrumentation/__tests__/base-wrapper.test.js +1 -1
  8. package/dist/instrumentation/__tests__/base-wrapper.test.js.map +1 -1
  9. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.d.ts +4 -0
  10. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js +99 -0
  11. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js.map +1 -0
  12. package/dist/instrumentation/__tests__/groq-trace-comparison.test.d.ts +7 -0
  13. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js +180 -0
  14. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js.map +1 -0
  15. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.d.ts +4 -0
  16. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js +127 -0
  17. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js.map +1 -0
  18. package/dist/instrumentation/__tests__/together-trace-comparison.test.d.ts +4 -0
  19. package/dist/instrumentation/__tests__/together-trace-comparison.test.js +98 -0
  20. package/dist/instrumentation/__tests__/together-trace-comparison.test.js.map +1 -0
  21. package/dist/instrumentation/__tests__/trace-comparison-utils.d.ts +66 -0
  22. package/dist/instrumentation/__tests__/trace-comparison-utils.js +245 -0
  23. package/dist/instrumentation/__tests__/trace-comparison-utils.js.map +1 -0
  24. package/dist/instrumentation/anthropic/index.js +6 -4
  25. package/dist/instrumentation/anthropic/index.js.map +1 -1
  26. package/dist/instrumentation/anthropic/wrapper.js +12 -30
  27. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  28. package/dist/instrumentation/base-wrapper.js +2 -2
  29. package/dist/instrumentation/base-wrapper.js.map +1 -1
  30. package/dist/instrumentation/bedrock/index.d.ts +11 -0
  31. package/dist/instrumentation/bedrock/index.js +52 -0
  32. package/dist/instrumentation/bedrock/index.js.map +1 -0
  33. package/dist/instrumentation/bedrock/wrapper.d.ts +10 -0
  34. package/dist/instrumentation/bedrock/wrapper.js +345 -0
  35. package/dist/instrumentation/bedrock/wrapper.js.map +1 -0
  36. package/dist/instrumentation/cohere/wrapper.js +8 -10
  37. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  38. package/dist/instrumentation/google-ai/index.d.ts +11 -0
  39. package/dist/instrumentation/google-ai/index.js +48 -0
  40. package/dist/instrumentation/google-ai/index.js.map +1 -0
  41. package/dist/instrumentation/google-ai/wrapper.d.ts +34 -0
  42. package/dist/instrumentation/google-ai/wrapper.js +241 -0
  43. package/dist/instrumentation/google-ai/wrapper.js.map +1 -0
  44. package/dist/instrumentation/groq/index.d.ts +11 -0
  45. package/dist/instrumentation/groq/index.js +43 -0
  46. package/dist/instrumentation/groq/index.js.map +1 -0
  47. package/dist/instrumentation/groq/wrapper.d.ts +33 -0
  48. package/dist/instrumentation/groq/wrapper.js +289 -0
  49. package/dist/instrumentation/groq/wrapper.js.map +1 -0
  50. package/dist/instrumentation/index.js +20 -0
  51. package/dist/instrumentation/index.js.map +1 -1
  52. package/dist/instrumentation/langchain/index.d.ts +23 -0
  53. package/dist/instrumentation/langchain/index.js +109 -0
  54. package/dist/instrumentation/langchain/index.js.map +1 -0
  55. package/dist/instrumentation/langchain/wrapper.d.ts +6 -0
  56. package/dist/instrumentation/langchain/wrapper.js +318 -0
  57. package/dist/instrumentation/langchain/wrapper.js.map +1 -0
  58. package/dist/instrumentation/llamaindex/index.d.ts +11 -0
  59. package/dist/instrumentation/llamaindex/index.js +102 -0
  60. package/dist/instrumentation/llamaindex/index.js.map +1 -0
  61. package/dist/instrumentation/llamaindex/wrapper.d.ts +11 -0
  62. package/dist/instrumentation/llamaindex/wrapper.js +252 -0
  63. package/dist/instrumentation/llamaindex/wrapper.js.map +1 -0
  64. package/dist/instrumentation/mistral/index.d.ts +11 -0
  65. package/dist/instrumentation/mistral/index.js +66 -0
  66. package/dist/instrumentation/mistral/index.js.map +1 -0
  67. package/dist/instrumentation/mistral/wrapper.d.ts +34 -0
  68. package/dist/instrumentation/mistral/wrapper.js +340 -0
  69. package/dist/instrumentation/mistral/wrapper.js.map +1 -0
  70. package/dist/instrumentation/ollama/wrapper.d.ts +11 -3
  71. package/dist/instrumentation/ollama/wrapper.js +60 -95
  72. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  73. package/dist/instrumentation/openai/index.js +1 -1
  74. package/dist/instrumentation/openai/index.js.map +1 -1
  75. package/dist/instrumentation/openai/wrapper.js +14 -84
  76. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  77. package/dist/instrumentation/pinecone/index.d.ts +11 -0
  78. package/dist/instrumentation/pinecone/index.js +79 -0
  79. package/dist/instrumentation/pinecone/index.js.map +1 -0
  80. package/dist/instrumentation/pinecone/wrapper.d.ts +14 -0
  81. package/dist/instrumentation/pinecone/wrapper.js +198 -0
  82. package/dist/instrumentation/pinecone/wrapper.js.map +1 -0
  83. package/dist/instrumentation/together/index.d.ts +11 -0
  84. package/dist/instrumentation/together/index.js +43 -0
  85. package/dist/instrumentation/together/index.js.map +1 -0
  86. package/dist/instrumentation/together/wrapper.d.ts +33 -0
  87. package/dist/instrumentation/together/wrapper.js +271 -0
  88. package/dist/instrumentation/together/wrapper.js.map +1 -0
  89. package/dist/instrumentation/vercel-ai/index.d.ts +10 -0
  90. package/dist/instrumentation/vercel-ai/index.js +59 -0
  91. package/dist/instrumentation/vercel-ai/index.js.map +1 -0
  92. package/dist/instrumentation/vercel-ai/wrapper.d.ts +11 -0
  93. package/dist/instrumentation/vercel-ai/wrapper.js +248 -0
  94. package/dist/instrumentation/vercel-ai/wrapper.js.map +1 -0
  95. package/dist/otel/__tests__/metrics.test.js +5 -5
  96. package/dist/otel/__tests__/metrics.test.js.map +1 -1
  97. package/dist/semantic-convention.d.ts +14 -3
  98. package/dist/semantic-convention.js +19 -8
  99. package/dist/semantic-convention.js.map +1 -1
  100. package/dist/types.d.ts +1 -1
  101. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const instrumentation_1 = require("@opentelemetry/instrumentation");
7
+ const constant_1 = require("../../constant");
8
+ const wrapper_1 = __importDefault(require("./wrapper"));
9
+ // Functions to intercept from the `ai` module
10
+ const PATCHED_FNS = ['generateText', 'streamText', 'generateObject', 'embed'];
11
+ class OpenlitVercelAIInstrumentation extends instrumentation_1.InstrumentationBase {
12
+ constructor(config = {}) {
13
+ super(`${constant_1.INSTRUMENTATION_PREFIX}/instrumentation-vercel-ai`, '1.0.0', config);
14
+ }
15
+ init() {
16
+ const module = new instrumentation_1.InstrumentationNodeModuleDefinition('ai', ['>=3.0.0 <5'], (moduleExports) => this._patch(moduleExports),
17
+ // No-op unpatch: Proxy is discarded when the module is re-required
18
+ () => { });
19
+ return [module];
20
+ }
21
+ manualPatch(ai) {
22
+ return this._patch(ai);
23
+ }
24
+ _patch(moduleExports) {
25
+ try {
26
+ const tracer = this.tracer;
27
+ // The `ai` package exports functions as non-configurable getter properties,
28
+ // so shimmer's Object.defineProperty-based wrapping fails. Instead, return a
29
+ // Proxy that intercepts property access and returns wrapped functions.
30
+ const patchers = {
31
+ generateText: wrapper_1.default._patchGenerateText,
32
+ streamText: wrapper_1.default._patchStreamText,
33
+ generateObject: wrapper_1.default._patchGenerateObject,
34
+ embed: wrapper_1.default._patchEmbed,
35
+ };
36
+ // Pre-build wrapped functions once (avoid re-wrapping on every get)
37
+ const wrapped = {};
38
+ for (const name of PATCHED_FNS) {
39
+ const original = moduleExports[name];
40
+ if (typeof original === 'function') {
41
+ wrapped[name] = patchers[name](tracer)(original);
42
+ }
43
+ }
44
+ return new Proxy(moduleExports, {
45
+ get(target, prop, receiver) {
46
+ if (prop in wrapped)
47
+ return wrapped[prop];
48
+ return Reflect.get(target, prop, receiver);
49
+ },
50
+ });
51
+ }
52
+ catch (e) {
53
+ console.error('Error in VercelAI _patch method:', e);
54
+ return moduleExports;
55
+ }
56
+ }
57
+ }
58
+ exports.default = OpenlitVercelAIInstrumentation;
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instrumentation/vercel-ai/index.ts"],"names":[],"mappings":";;;;;AAAA,oEAIwC;AAExC,6CAAwD;AACxD,wDAAwC;AAIxC,8CAA8C;AAC9C,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAU,CAAC;AAEvF,MAAqB,8BAA+B,SAAQ,qCAAmB;IAC7E,YAAY,SAAwC,EAAE;QACpD,KAAK,CAAC,GAAG,iCAAsB,4BAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAES,IAAI;QACZ,MAAM,MAAM,GAAG,IAAI,qDAAmC,CACpD,IAAI,EACJ,CAAC,YAAY,CAAC,EACd,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC7C,mEAAmE;QACnE,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,WAAW,CAAC,EAAO;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAES,MAAM,CAAC,aAAkB;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAE3B,4EAA4E;YAC5E,6EAA6E;YAC7E,uEAAuE;YACvE,MAAM,QAAQ,GAA6D;gBACzE,YAAY,EAAE,iBAAe,CAAC,kBAAkB;gBAChD,UAAU,EAAE,iBAAe,CAAC,gBAAgB;gBAC5C,cAAc,EAAE,iBAAe,CAAC,oBAAoB;gBACpD,KAAK,EAAE,iBAAe,CAAC,WAAW;aACnC,CAAC;YAEF,oEAAoE;YACpE,MAAM,OAAO,GAAwB,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;gBAC9B,GAAG,CAAC,MAAM,EAAE,IAAY,EAAE,QAAQ;oBAChC,IAAI,IAAI,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAtDD,iDAsDC"}
@@ -0,0 +1,11 @@
1
+ import { Tracer } from '@opentelemetry/api';
2
+ import BaseWrapper from '../base-wrapper';
3
+ declare class VercelAIWrapper extends BaseWrapper {
4
+ static aiSystem: string;
5
+ static _getProviderFromModel(model: any): string;
6
+ static _patchGenerateText(tracer: Tracer): any;
7
+ static _patchStreamText(tracer: Tracer): any;
8
+ static _patchGenerateObject(tracer: Tracer): any;
9
+ static _patchEmbed(tracer: Tracer): any;
10
+ }
11
+ export default VercelAIWrapper;
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("@opentelemetry/api");
7
+ const config_1 = __importDefault(require("../../config"));
8
+ const helpers_1 = __importDefault(require("../../helpers"));
9
+ const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
10
+ const base_wrapper_1 = __importDefault(require("../base-wrapper"));
11
+ class VercelAIWrapper extends base_wrapper_1.default {
12
+ static _getProviderFromModel(model) {
13
+ if (!model)
14
+ return VercelAIWrapper.aiSystem;
15
+ const provider = model.provider || '';
16
+ if (provider.startsWith('openai'))
17
+ return semantic_convention_1.default.GEN_AI_SYSTEM_OPENAI;
18
+ if (provider.startsWith('anthropic'))
19
+ return semantic_convention_1.default.GEN_AI_SYSTEM_ANTHROPIC;
20
+ if (provider.startsWith('google'))
21
+ return semantic_convention_1.default.GEN_AI_SYSTEM_VERTEXAI;
22
+ if (provider.startsWith('mistral'))
23
+ return semantic_convention_1.default.GEN_AI_SYSTEM_MISTRAL;
24
+ if (provider.startsWith('cohere'))
25
+ return semantic_convention_1.default.GEN_AI_SYSTEM_COHERE;
26
+ if (provider.startsWith('amazon') || provider.startsWith('aws'))
27
+ return semantic_convention_1.default.GEN_AI_SYSTEM_AWS_BEDROCK;
28
+ return VercelAIWrapper.aiSystem;
29
+ }
30
+ static _patchGenerateText(tracer) {
31
+ const genAIEndpoint = 'ai.generateText';
32
+ return (originalMethod) => {
33
+ return async function (...args) {
34
+ const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
35
+ return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
36
+ let metricParams;
37
+ try {
38
+ const response = await originalMethod.apply(this, args);
39
+ const params = args[0] || {};
40
+ const model = params.model;
41
+ const modelId = model?.modelId || 'unknown';
42
+ const aiSystem = VercelAIWrapper._getProviderFromModel(model);
43
+ const pricingInfo = await config_1.default.updatePricingJson(config_1.default.pricing_json);
44
+ const cost = helpers_1.default.getChatModelCost(modelId, pricingInfo, response.usage?.promptTokens || 0, response.usage?.completionTokens || 0);
45
+ VercelAIWrapper.setBaseSpanAttributes(span, { genAIEndpoint, model: modelId, cost, aiSystem });
46
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
47
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, false);
48
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, params.maxTokens || -1);
49
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, params.temperature ?? 1);
50
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_P, params.topP ?? 1);
51
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, modelId);
52
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, response.usage?.promptTokens || 0);
53
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, response.usage?.completionTokens || 0);
54
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, response.usage?.totalTokens || 0);
55
+ span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, response.usage?.totalTokens || 0);
56
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [response.finishReason || 'stop']);
57
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_TEXT);
58
+ if (response.toolCalls?.length > 0) {
59
+ const toolNames = response.toolCalls.map((t) => t.toolName || '').filter(Boolean);
60
+ const toolArgs = response.toolCalls.map((t) => JSON.stringify(t.args || {}));
61
+ if (toolNames.length > 0)
62
+ span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_NAME, toolNames.join(', '));
63
+ if (toolArgs.length > 0)
64
+ span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_CALL_ARGUMENTS, toolArgs);
65
+ }
66
+ if (config_1.default.traceContent) {
67
+ const messages = params.messages || (params.prompt ? [{ role: 'user', content: params.prompt }] : []);
68
+ span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages));
69
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(response.text || '', response.finishReason || 'stop', response.toolCalls));
70
+ }
71
+ metricParams = { genAIEndpoint, model: modelId, cost, aiSystem };
72
+ return response;
73
+ }
74
+ catch (e) {
75
+ helpers_1.default.handleException(span, e);
76
+ throw e;
77
+ }
78
+ finally {
79
+ span.end();
80
+ if (metricParams)
81
+ base_wrapper_1.default.recordMetrics(span, metricParams);
82
+ }
83
+ });
84
+ };
85
+ };
86
+ }
87
+ static _patchStreamText(tracer) {
88
+ const genAIEndpoint = 'ai.streamText';
89
+ return (originalMethod) => {
90
+ return async function (...args) {
91
+ const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
92
+ const startTime = Date.now();
93
+ try {
94
+ const response = await originalMethod.apply(this, args);
95
+ const params = args[0] || {};
96
+ const model = params.model;
97
+ const modelId = model?.modelId || 'unknown';
98
+ const aiSystem = VercelAIWrapper._getProviderFromModel(model);
99
+ // Set request attributes immediately
100
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
101
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, true);
102
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, params.maxTokens || -1);
103
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, params.temperature ?? 1);
104
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_P, params.topP ?? 1);
105
+ if (config_1.default.traceContent) {
106
+ const messages = params.messages || (params.prompt ? [{ role: 'user', content: params.prompt }] : []);
107
+ span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages));
108
+ }
109
+ // Observe stream completion via usage promise
110
+ Promise.resolve(response.usage)
111
+ .then(async (usage) => {
112
+ try {
113
+ const ttft = response.experimental_providerMetadata
114
+ ? undefined
115
+ : (Date.now() - startTime) / 1000;
116
+ const pricingInfo = await config_1.default.updatePricingJson(config_1.default.pricing_json);
117
+ const cost = helpers_1.default.getChatModelCost(modelId, pricingInfo, usage?.promptTokens || 0, usage?.completionTokens || 0);
118
+ VercelAIWrapper.setBaseSpanAttributes(span, { genAIEndpoint, model: modelId, cost, aiSystem });
119
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, modelId);
120
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, usage?.promptTokens || 0);
121
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, usage?.completionTokens || 0);
122
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, usage?.totalTokens || 0);
123
+ span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, usage?.totalTokens || 0);
124
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_TEXT);
125
+ if (ttft)
126
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TTFT, ttft);
127
+ const finishReason = await Promise.resolve(response.finishReason).catch(() => 'stop');
128
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [finishReason || 'stop']);
129
+ if (config_1.default.traceContent) {
130
+ const text = await Promise.resolve(response.text).catch(() => '');
131
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(text || '', finishReason || 'stop'));
132
+ }
133
+ base_wrapper_1.default.recordMetrics(span, { genAIEndpoint, model: modelId, cost, aiSystem });
134
+ }
135
+ catch (e) {
136
+ helpers_1.default.handleException(span, e);
137
+ }
138
+ finally {
139
+ span.end();
140
+ }
141
+ })
142
+ .catch((e) => {
143
+ helpers_1.default.handleException(span, e);
144
+ span.end();
145
+ });
146
+ return response;
147
+ }
148
+ catch (e) {
149
+ helpers_1.default.handleException(span, e);
150
+ span.end();
151
+ throw e;
152
+ }
153
+ };
154
+ };
155
+ }
156
+ static _patchGenerateObject(tracer) {
157
+ const genAIEndpoint = 'ai.generateObject';
158
+ return (originalMethod) => {
159
+ return async function (...args) {
160
+ const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
161
+ return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
162
+ let metricParams;
163
+ try {
164
+ const response = await originalMethod.apply(this, args);
165
+ const params = args[0] || {};
166
+ const model = params.model;
167
+ const modelId = model?.modelId || 'unknown';
168
+ const aiSystem = VercelAIWrapper._getProviderFromModel(model);
169
+ const pricingInfo = await config_1.default.updatePricingJson(config_1.default.pricing_json);
170
+ const cost = helpers_1.default.getChatModelCost(modelId, pricingInfo, response.usage?.promptTokens || 0, response.usage?.completionTokens || 0);
171
+ VercelAIWrapper.setBaseSpanAttributes(span, { genAIEndpoint, model: modelId, cost, aiSystem });
172
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
173
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, false);
174
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, params.maxTokens || -1);
175
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, params.temperature ?? 1);
176
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, modelId);
177
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, response.usage?.promptTokens || 0);
178
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, response.usage?.completionTokens || 0);
179
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, response.usage?.totalTokens || 0);
180
+ span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, response.usage?.totalTokens || 0);
181
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [response.finishReason || 'stop']);
182
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_JSON);
183
+ if (config_1.default.traceContent) {
184
+ const messages = params.messages || (params.prompt ? [{ role: 'user', content: params.prompt }] : []);
185
+ span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages));
186
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(JSON.stringify(response.object || {}), response.finishReason || 'stop'));
187
+ }
188
+ metricParams = { genAIEndpoint, model: modelId, cost, aiSystem };
189
+ return response;
190
+ }
191
+ catch (e) {
192
+ helpers_1.default.handleException(span, e);
193
+ throw e;
194
+ }
195
+ finally {
196
+ span.end();
197
+ if (metricParams)
198
+ base_wrapper_1.default.recordMetrics(span, metricParams);
199
+ }
200
+ });
201
+ };
202
+ };
203
+ }
204
+ static _patchEmbed(tracer) {
205
+ const genAIEndpoint = 'ai.embed';
206
+ return (originalMethod) => {
207
+ return async function (...args) {
208
+ const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
209
+ return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
210
+ let metricParams;
211
+ try {
212
+ const response = await originalMethod.apply(this, args);
213
+ const params = args[0] || {};
214
+ const model = params.model;
215
+ const modelId = model?.modelId || 'unknown';
216
+ const aiSystem = VercelAIWrapper._getProviderFromModel(model);
217
+ const pricingInfo = await config_1.default.updatePricingJson(config_1.default.pricing_json);
218
+ const cost = helpers_1.default.getEmbedModelCost(modelId, pricingInfo, response.usage?.tokens || 0);
219
+ VercelAIWrapper.setBaseSpanAttributes(span, { genAIEndpoint, model: modelId, cost, aiSystem });
220
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_EMBEDDING);
221
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, false);
222
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, modelId);
223
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, response.usage?.tokens || 0);
224
+ span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, response.usage?.tokens || 0);
225
+ if (config_1.default.traceContent && params.value !== undefined) {
226
+ const inputStr = typeof params.value === 'string' ? params.value : JSON.stringify(params.value);
227
+ span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, inputStr);
228
+ }
229
+ metricParams = { genAIEndpoint, model: modelId, cost, aiSystem };
230
+ return response;
231
+ }
232
+ catch (e) {
233
+ helpers_1.default.handleException(span, e);
234
+ throw e;
235
+ }
236
+ finally {
237
+ span.end();
238
+ if (metricParams)
239
+ base_wrapper_1.default.recordMetrics(span, metricParams);
240
+ }
241
+ });
242
+ };
243
+ };
244
+ }
245
+ }
246
+ VercelAIWrapper.aiSystem = 'vercel_ai';
247
+ exports.default = VercelAIWrapper;
248
+ //# sourceMappingURL=wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/vercel-ai/wrapper.ts"],"names":[],"mappings":"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"}
@@ -14,27 +14,27 @@ describe('Metrics creation', () => {
14
14
  it('should create genaiRequests counter and allow increment', () => {
15
15
  expect(metrics_1.default.genaiRequests).toBeDefined();
16
16
  expect(typeof metrics_1.default.genaiRequests.add).toBe('function');
17
- expect(() => metrics_1.default.genaiRequests.add(1, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
17
+ expect(() => metrics_1.default.genaiRequests.add(1, { [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: 'openai' })).not.toThrow();
18
18
  });
19
19
  it('should create genaiPromptTokens counter and allow increment', () => {
20
20
  expect(metrics_1.default.genaiPromptTokens).toBeDefined();
21
21
  expect(typeof metrics_1.default.genaiPromptTokens.add).toBe('function');
22
- expect(() => metrics_1.default.genaiPromptTokens.add(42, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
22
+ expect(() => metrics_1.default.genaiPromptTokens.add(42, { [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: 'openai' })).not.toThrow();
23
23
  });
24
24
  it('should create genaiCompletionTokens counter and allow increment', () => {
25
25
  expect(metrics_1.default.genaiCompletionTokens).toBeDefined();
26
26
  expect(typeof metrics_1.default.genaiCompletionTokens.add).toBe('function');
27
- expect(() => metrics_1.default.genaiCompletionTokens.add(24, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
27
+ expect(() => metrics_1.default.genaiCompletionTokens.add(24, { [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: 'openai' })).not.toThrow();
28
28
  });
29
29
  it('should create genaiClientOperationDuration histogram and allow record', () => {
30
30
  expect(metrics_1.default.genaiClientOperationDuration).toBeDefined();
31
31
  expect(typeof metrics_1.default.genaiClientOperationDuration.record).toBe('function');
32
- expect(() => metrics_1.default.genaiClientOperationDuration.record(1.23, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
32
+ expect(() => metrics_1.default.genaiClientOperationDuration.record(1.23, { [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: 'openai' })).not.toThrow();
33
33
  });
34
34
  it('should create genaiCost histogram and allow record', () => {
35
35
  expect(metrics_1.default.genaiCost).toBeDefined();
36
36
  expect(typeof metrics_1.default.genaiCost.record).toBe('function');
37
- expect(() => metrics_1.default.genaiCost.record(0.99, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
37
+ expect(() => metrics_1.default.genaiCost.record(0.99, { [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: 'openai' })).not.toThrow();
38
38
  });
39
39
  it('should throw an error when allowConsoleExporterFallback is not set and fallback is required', () => {
40
40
  expect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../../src/otel/__tests__/metrics.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../../src/otel/__tests__/metrics.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export default class SemanticConvention {
2
2
  static ATTR_DEPLOYMENT_ENVIRONMENT: string;
3
3
  static GEN_AI_ENDPOINT: string;
4
- static GEN_AI_SYSTEM: string;
4
+ static GEN_AI_PROVIDER_NAME: string;
5
5
  static GEN_AI_ENVIRONMENT: string;
6
6
  static GEN_AI_APPLICATION_NAME: string;
7
7
  static GEN_AI_OPERATION: string;
@@ -57,10 +57,11 @@ export default class SemanticConvention {
57
57
  static GEN_AI_REQUEST_SERVICE_TIER: string;
58
58
  static GEN_AI_RESPONSE_SERVICE_TIER: string;
59
59
  static GEN_AI_RESPONSE_SYSTEM_FINGERPRINT: string;
60
- static GEN_AI_CONTENT_PROMPT: string;
60
+ static GEN_AI_INPUT_MESSAGES: string;
61
+ static GEN_AI_OUTPUT_MESSAGES: string;
61
62
  static GEN_AI_CONTENT_PROMPT_EVENT: string;
62
- static GEN_AI_CONTENT_COMPLETION: string;
63
63
  static GEN_AI_CONTENT_COMPLETION_EVENT: string;
64
+ static GEN_AI_SYSTEM_INSTRUCTIONS: string;
64
65
  static GEN_AI_CONTENT_REVISED_PROMPT: string;
65
66
  static GEN_AI_TOOL_NAME: string;
66
67
  static GEN_AI_TOOL_TYPE: string;
@@ -91,12 +92,16 @@ export default class SemanticConvention {
91
92
  static GEN_AI_SYSTEM_AWS_BEDROCK: string;
92
93
  static GEN_AI_SYSTEM_VERTEXAI: string;
93
94
  static GEN_AI_SYSTEM_LANGCHAIN: string;
95
+ static GEN_AI_SYSTEM_VERCEL_AI: string;
96
+ static GEN_AI_SYSTEM_LLAMAINDEX: string;
94
97
  static DB_REQUESTS: string;
95
98
  static DB_SYSTEM: string;
99
+ static DB_SYSTEM_NAME: string;
96
100
  static DB_SYSTEM_CHROMA: string;
97
101
  static DB_SYSTEM_PINECONE: string;
98
102
  static DB_COLLECTION_NAME: string;
99
103
  static DB_OPERATION: string;
104
+ static DB_OPERATION_NAME: string;
100
105
  static DB_OPERATION_CREATE_INDEX: string;
101
106
  static DB_OPERATION_QUERY: string;
102
107
  static DB_OPERATION_DELETE: string;
@@ -105,16 +110,22 @@ export default class SemanticConvention {
105
110
  static DB_OPERATION_GET: string;
106
111
  static DB_OPERATION_ADD: string;
107
112
  static DB_OPERATION_PEEK: string;
113
+ static DB_OPERATION_SEARCH: string;
114
+ static DB_OPERATION_FETCH: string;
108
115
  static DB_ID_COUNT: string;
109
116
  static DB_VECTOR_COUNT: string;
110
117
  static DB_METADATA_COUNT: string;
111
118
  static DB_DOCUMENTS_COUNT: string;
112
119
  static DB_QUERY_LIMIT: string;
120
+ static DB_VECTOR_QUERY_TOP_K: string;
113
121
  static DB_OFFSET: string;
114
122
  static DB_WHERE_DOCUMENT: string;
115
123
  static DB_FILTER: string;
124
+ static DB_QUERY_TEXT: string;
125
+ static DB_QUERY_SUMMARY: string;
116
126
  static DB_STATEMENT: string;
117
127
  static DB_N_RESULTS: string;
128
+ static DB_RESPONSE_RETURNED_ROWS: string;
118
129
  static DB_DELETE_ALL: string;
119
130
  static DB_INDEX_NAME: string;
120
131
  static DB_INDEX_DIMENSION: string;
@@ -6,7 +6,7 @@ class SemanticConvention {
6
6
  SemanticConvention.ATTR_DEPLOYMENT_ENVIRONMENT = 'deployment.environment';
7
7
  // GenAI General
8
8
  SemanticConvention.GEN_AI_ENDPOINT = 'gen_ai.endpoint';
9
- SemanticConvention.GEN_AI_SYSTEM = 'gen_ai.system';
9
+ SemanticConvention.GEN_AI_PROVIDER_NAME = 'gen_ai.system';
10
10
  SemanticConvention.GEN_AI_ENVIRONMENT = 'gen_ai.environment';
11
11
  SemanticConvention.GEN_AI_APPLICATION_NAME = 'gen_ai.application_name';
12
12
  SemanticConvention.GEN_AI_OPERATION = 'gen_ai.operation.name';
@@ -68,10 +68,11 @@ SemanticConvention.GEN_AI_REQUEST_SERVICE_TIER = 'gen_ai.request.service_tier';
68
68
  SemanticConvention.GEN_AI_RESPONSE_SERVICE_TIER = 'gen_ai.response.service_tier';
69
69
  SemanticConvention.GEN_AI_RESPONSE_SYSTEM_FINGERPRINT = 'gen_ai.response.system_fingerprint';
70
70
  // GenAI Content
71
- SemanticConvention.GEN_AI_CONTENT_PROMPT = 'gen_ai.prompt';
71
+ SemanticConvention.GEN_AI_INPUT_MESSAGES = 'gen_ai.input.messages';
72
+ SemanticConvention.GEN_AI_OUTPUT_MESSAGES = 'gen_ai.output.messages';
72
73
  SemanticConvention.GEN_AI_CONTENT_PROMPT_EVENT = 'gen_ai.content.prompt';
73
- SemanticConvention.GEN_AI_CONTENT_COMPLETION = 'gen_ai.completion';
74
74
  SemanticConvention.GEN_AI_CONTENT_COMPLETION_EVENT = 'gen_ai.content.completion';
75
+ SemanticConvention.GEN_AI_SYSTEM_INSTRUCTIONS = 'gen_ai.system.instructions';
75
76
  SemanticConvention.GEN_AI_CONTENT_REVISED_PROMPT = 'gen_ai.content.revised_prompt';
76
77
  // Tool attributes
77
78
  SemanticConvention.GEN_AI_TOOL_NAME = 'gen_ai.tool.name';
@@ -104,31 +105,41 @@ SemanticConvention.GEN_AI_SYSTEM_MISTRAL = 'mistral_ai';
104
105
  SemanticConvention.GEN_AI_SYSTEM_AWS_BEDROCK = 'aws.bedrock';
105
106
  SemanticConvention.GEN_AI_SYSTEM_VERTEXAI = 'vertex_ai';
106
107
  SemanticConvention.GEN_AI_SYSTEM_LANGCHAIN = 'langchain';
108
+ SemanticConvention.GEN_AI_SYSTEM_VERCEL_AI = 'vercel_ai';
109
+ SemanticConvention.GEN_AI_SYSTEM_LLAMAINDEX = 'llamaindex';
107
110
  // Vector DB
108
111
  SemanticConvention.DB_REQUESTS = 'db.total.requests';
109
112
  SemanticConvention.DB_SYSTEM = 'db.system';
113
+ SemanticConvention.DB_SYSTEM_NAME = 'db.system.name';
110
114
  SemanticConvention.DB_SYSTEM_CHROMA = 'chroma';
111
115
  SemanticConvention.DB_SYSTEM_PINECONE = 'pinecone';
112
116
  SemanticConvention.DB_COLLECTION_NAME = 'db.collection.name';
113
117
  SemanticConvention.DB_OPERATION = 'db.operation';
118
+ SemanticConvention.DB_OPERATION_NAME = 'db.operation.name';
114
119
  SemanticConvention.DB_OPERATION_CREATE_INDEX = 'create_index';
115
- SemanticConvention.DB_OPERATION_QUERY = 'query';
116
- SemanticConvention.DB_OPERATION_DELETE = 'delete';
117
- SemanticConvention.DB_OPERATION_UPDATE = 'update';
118
- SemanticConvention.DB_OPERATION_UPSERT = 'upsert';
120
+ SemanticConvention.DB_OPERATION_QUERY = 'QUERY';
121
+ SemanticConvention.DB_OPERATION_DELETE = 'DELETE';
122
+ SemanticConvention.DB_OPERATION_UPDATE = 'UPDATE';
123
+ SemanticConvention.DB_OPERATION_UPSERT = 'UPSERT';
119
124
  SemanticConvention.DB_OPERATION_GET = 'get';
120
125
  SemanticConvention.DB_OPERATION_ADD = 'add';
121
126
  SemanticConvention.DB_OPERATION_PEEK = 'peek';
127
+ SemanticConvention.DB_OPERATION_SEARCH = 'SEARCH';
128
+ SemanticConvention.DB_OPERATION_FETCH = 'FETCH';
122
129
  SemanticConvention.DB_ID_COUNT = 'db.ids_count';
123
- SemanticConvention.DB_VECTOR_COUNT = 'db.vector_count';
130
+ SemanticConvention.DB_VECTOR_COUNT = 'db.vector.count';
124
131
  SemanticConvention.DB_METADATA_COUNT = 'db.metadatas_count';
125
132
  SemanticConvention.DB_DOCUMENTS_COUNT = 'db.documents_count';
126
133
  SemanticConvention.DB_QUERY_LIMIT = 'db.limit';
134
+ SemanticConvention.DB_VECTOR_QUERY_TOP_K = 'db.vector.query.top_k';
127
135
  SemanticConvention.DB_OFFSET = 'db.offset';
128
136
  SemanticConvention.DB_WHERE_DOCUMENT = 'db.where_document';
129
137
  SemanticConvention.DB_FILTER = 'db.filter';
138
+ SemanticConvention.DB_QUERY_TEXT = 'db.query.text';
139
+ SemanticConvention.DB_QUERY_SUMMARY = 'db.query.summary';
130
140
  SemanticConvention.DB_STATEMENT = 'db.statement';
131
141
  SemanticConvention.DB_N_RESULTS = 'db.n_results';
142
+ SemanticConvention.DB_RESPONSE_RETURNED_ROWS = 'db.response.returned_rows';
132
143
  SemanticConvention.DB_DELETE_ALL = 'db.delete_all';
133
144
  SemanticConvention.DB_INDEX_NAME = 'db.create_index.name';
134
145
  SemanticConvention.DB_INDEX_DIMENSION = 'db.create_index.dimensions';
@@ -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,7 +1,7 @@
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';
4
+ export type InstrumentationType = 'openai' | 'anthropic' | 'cohere' | 'groq' | 'mistral' | 'google-ai' | 'together' | 'ollama' | 'vercel-ai' | 'langchain' | 'pinecone' | 'bedrock' | 'llamaindex';
5
5
  export type OpenlitInstrumentations = Partial<Record<InstrumentationType, any>>;
6
6
  export type PricingObject = Record<string, Record<string, unknown>>;
7
7
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openlit",
3
- "version": "1.7.1",
3
+ "version": "1.9.0",
4
4
  "homepage": "https://github.com/openlit/openlit#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/openlit/openlit/issues",