openlit 1.7.0 → 1.8.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 (74) hide show
  1. package/README.md +15 -11
  2. package/dist/helpers.d.ts +10 -0
  3. package/dist/helpers.js +114 -7
  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__/openai-wrapper.test.js +81 -18
  19. package/dist/instrumentation/__tests__/openai-wrapper.test.js.map +1 -1
  20. package/dist/instrumentation/__tests__/together-trace-comparison.test.d.ts +4 -0
  21. package/dist/instrumentation/__tests__/together-trace-comparison.test.js +98 -0
  22. package/dist/instrumentation/__tests__/together-trace-comparison.test.js.map +1 -0
  23. package/dist/instrumentation/__tests__/trace-comparison-utils.d.ts +66 -0
  24. package/dist/instrumentation/__tests__/trace-comparison-utils.js +245 -0
  25. package/dist/instrumentation/__tests__/trace-comparison-utils.js.map +1 -0
  26. package/dist/instrumentation/anthropic/index.js +6 -4
  27. package/dist/instrumentation/anthropic/index.js.map +1 -1
  28. package/dist/instrumentation/anthropic/wrapper.js +12 -30
  29. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  30. package/dist/instrumentation/base-wrapper.js +2 -2
  31. package/dist/instrumentation/base-wrapper.js.map +1 -1
  32. package/dist/instrumentation/cohere/wrapper.js +8 -10
  33. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  34. package/dist/instrumentation/google-ai/index.d.ts +11 -0
  35. package/dist/instrumentation/google-ai/index.js +48 -0
  36. package/dist/instrumentation/google-ai/index.js.map +1 -0
  37. package/dist/instrumentation/google-ai/wrapper.d.ts +34 -0
  38. package/dist/instrumentation/google-ai/wrapper.js +241 -0
  39. package/dist/instrumentation/google-ai/wrapper.js.map +1 -0
  40. package/dist/instrumentation/groq/index.d.ts +11 -0
  41. package/dist/instrumentation/groq/index.js +43 -0
  42. package/dist/instrumentation/groq/index.js.map +1 -0
  43. package/dist/instrumentation/groq/wrapper.d.ts +33 -0
  44. package/dist/instrumentation/groq/wrapper.js +289 -0
  45. package/dist/instrumentation/groq/wrapper.js.map +1 -0
  46. package/dist/instrumentation/index.js +10 -0
  47. package/dist/instrumentation/index.js.map +1 -1
  48. package/dist/instrumentation/mistral/index.d.ts +11 -0
  49. package/dist/instrumentation/mistral/index.js +66 -0
  50. package/dist/instrumentation/mistral/index.js.map +1 -0
  51. package/dist/instrumentation/mistral/wrapper.d.ts +34 -0
  52. package/dist/instrumentation/mistral/wrapper.js +340 -0
  53. package/dist/instrumentation/mistral/wrapper.js.map +1 -0
  54. package/dist/instrumentation/ollama/wrapper.d.ts +11 -3
  55. package/dist/instrumentation/ollama/wrapper.js +60 -95
  56. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  57. package/dist/instrumentation/openai/index.js +11 -0
  58. package/dist/instrumentation/openai/index.js.map +1 -1
  59. package/dist/instrumentation/openai/wrapper.d.ts +30 -1
  60. package/dist/instrumentation/openai/wrapper.js +419 -61
  61. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  62. package/dist/instrumentation/together/index.d.ts +11 -0
  63. package/dist/instrumentation/together/index.js +43 -0
  64. package/dist/instrumentation/together/index.js.map +1 -0
  65. package/dist/instrumentation/together/wrapper.d.ts +33 -0
  66. package/dist/instrumentation/together/wrapper.js +271 -0
  67. package/dist/instrumentation/together/wrapper.js.map +1 -0
  68. package/dist/otel/__tests__/metrics.test.js +5 -5
  69. package/dist/otel/__tests__/metrics.test.js.map +1 -1
  70. package/dist/semantic-convention.d.ts +34 -3
  71. package/dist/semantic-convention.js +50 -14
  72. package/dist/semantic-convention.js.map +1 -1
  73. package/dist/types.d.ts +1 -1
  74. package/package.json +1 -1
package/README.md CHANGED
@@ -24,19 +24,25 @@ This project proudly follows and maintains the [Semantic Conventions](https://gi
24
24
 
25
25
  ## ⚡ Features
26
26
 
27
- - 🔎 **Auto Instrumentation**: Works with 30+ LLM providers and vector databases with just one line of code.
27
+ - 🔎 **Auto Instrumentation**: Works with 8 LLM providers with just one line of code.
28
28
  - 🔭 **OpenTelemetry-Native Observability SDKs**: Vendor-neutral SDKs that can send traces and metrics to your existing observability tool like Prometheus and Jaeger.
29
29
  - 💲 **Cost Tracking for Custom and Fine-Tuned Models**: Pass custom pricing files for accurate budgeting of custom and fine-tuned models.
30
- - 🚀 **Suppport for OpenLIT Features**: Includes suppprt for prompt management and secrets management features available in OpenLIT.
30
+ - 🚀 **Support for OpenLIT Features**: Includes support for prompt management and secrets management features available in OpenLIT.
31
31
 
32
32
 
33
33
  ## Auto Instrumentation Capabilities
34
34
 
35
- | LLMs |
36
- | --------------------------------------------------------------------- |
37
- | [✅ OpenAI](https://docs.openlit.io/latest/integrations/openai) | [✅ ChromaDB](https://docs.openlit.io/latest/integrations/chromadb) | [✅ LiteLLM](https://docs.openlit.io/latest/integrations/litellm) | |
38
- | [✅ Anthropic](https://docs.openlit.io/latest/integrations/anthropic) |
39
- | [✅ Cohere](https://docs.openlit.io/latest/integrations/cohere) |
35
+ | LLMs |
36
+ | ------------------------------------------------------------------------------------------- |
37
+ | [✅ OpenAI](https://docs.openlit.io/latest/integrations/openai) |
38
+ | [✅ Anthropic](https://docs.openlit.io/latest/integrations/anthropic) |
39
+ | [✅ Cohere](https://docs.openlit.io/latest/integrations/cohere) |
40
+ | [✅ Groq](https://docs.openlit.io/latest/integrations/groq) |
41
+ | [✅ Mistral](https://docs.openlit.io/latest/integrations/mistral) |
42
+ | [✅ Google AI Studio](https://docs.openlit.io/latest/integrations/google-ai-studio) |
43
+ | [✅ Together AI](https://docs.openlit.io/latest/integrations/together) |
44
+ | [✅ Ollama](https://docs.openlit.io/latest/integrations/ollama) |
45
+ | [✅ Azure OpenAI](https://docs.openlit.io/latest/integrations/azure-openai) *(via OpenAI SDK)* |
40
46
 
41
47
  ## Supported Destinations
42
48
 
@@ -56,9 +62,7 @@ This project proudly follows and maintains the [Semantic Conventions](https://gi
56
62
 
57
63
  ## Supported Metrics
58
64
 
59
- > **Note:** Metrics tracking in the TypeScript SDK is only available for Anthropic, Cohere, Ollama, and OpenAI integrations.
60
-
61
- The following metrics are supported:
65
+ The following metrics are supported across all integrations:
62
66
 
63
67
  - **genaiClientUsageTokens**: Histogram for total input/output tokens used.
64
68
  - **genaiClientOperationDuration**: Histogram for GenAI operation duration.
@@ -161,7 +165,7 @@ Now that your LLM observability data is being collected and sent to configured O
161
165
 
162
166
  If you want to use OpenLIT's Observability Dashboard to monitor LLM usage—like cost, tokens, and user interactions—please check out our [Quickstart Guide](https://docs.openlit.io/latest/quickstart).
163
167
 
164
- If you're sending metrics and traces to other observability tools, take a look at our [Connections Guide](https://docs.openlit.io/latest/connections/intro) to start using a pre-built dashboard we have created for these tools.
168
+ If you're sending metrics and traces to other observability tools, take a look at our [Connections Guide](https://docs.openlit.io/latest/destinations/intro) to start using a pre-built dashboard we have created for these tools.
165
169
 
166
170
  ![](https://github.com/openlit/.github/blob/main/profile/assets/openlit-client-1.png?raw=true)
167
171
 
package/dist/helpers.d.ts CHANGED
@@ -8,6 +8,16 @@ export default class OpenLitHelper {
8
8
  static getImageModelCost(model: string, pricingInfo: any, size: string, quality: number): number;
9
9
  static getAudioModelCost(model: string, pricingInfo: any, prompt: string): number;
10
10
  static fetchPricingInfo(pricingJson: any): Promise<any>;
11
+ /**
12
+ * Build OTel-spec input messages JSON string from provider messages array.
13
+ * Format: [{"role": "user", "parts": [{"type": "text", "content": "..."}]}]
14
+ */
15
+ static buildInputMessages(messages: any[], system?: string): string;
16
+ /**
17
+ * Build OTel-spec output messages JSON string from provider response.
18
+ * Format: [{"role": "assistant", "parts": [{"type": "text", "content": "..."}], "finish_reason": "stop"}]
19
+ */
20
+ static buildOutputMessages(text: string, finishReason: string, toolCalls?: any[]): string;
11
21
  static handleException(span: Span, error: Error): void;
12
22
  static createStreamProxy(stream: any, generatorFuncResponse: any): Promise<any>;
13
23
  }
package/dist/helpers.js CHANGED
@@ -8,9 +8,8 @@ class OpenLitHelper {
8
8
  const encoding = (0, js_tiktoken_1.encodingForModel)(model);
9
9
  return encoding.encode(text).length;
10
10
  }
11
- catch (error) {
12
- console.error(`Error in openaiTokens: ${error}`);
13
- throw error;
11
+ catch {
12
+ return OpenLitHelper.generalTokens(text);
14
13
  }
15
14
  }
16
15
  static generalTokens(text) {
@@ -19,9 +18,10 @@ class OpenLitHelper {
19
18
  }
20
19
  static getChatModelCost(model, pricingInfo, promptTokens, completionTokens) {
21
20
  try {
22
- return ((promptTokens / OpenLitHelper.PROMPT_TOKEN_FACTOR) * pricingInfo.chat[model].promptPrice +
21
+ const cost = ((promptTokens / OpenLitHelper.PROMPT_TOKEN_FACTOR) * pricingInfo.chat[model].promptPrice +
23
22
  (completionTokens / OpenLitHelper.PROMPT_TOKEN_FACTOR) *
24
23
  pricingInfo.chat[model].completionPrice);
24
+ return isNaN(cost) ? 0 : cost;
25
25
  }
26
26
  catch (error) {
27
27
  console.error(`Error in getChatModelCost: ${error}`);
@@ -30,7 +30,8 @@ class OpenLitHelper {
30
30
  }
31
31
  static getEmbedModelCost(model, pricingInfo, promptTokens) {
32
32
  try {
33
- return (promptTokens / OpenLitHelper.PROMPT_TOKEN_FACTOR) * pricingInfo.embeddings[model];
33
+ const cost = (promptTokens / OpenLitHelper.PROMPT_TOKEN_FACTOR) * pricingInfo.embeddings[model];
34
+ return isNaN(cost) ? 0 : cost;
34
35
  }
35
36
  catch (error) {
36
37
  console.error(`Error in getEmbedModelCost: ${error}`);
@@ -39,7 +40,8 @@ class OpenLitHelper {
39
40
  }
40
41
  static getImageModelCost(model, pricingInfo, size, quality) {
41
42
  try {
42
- return pricingInfo.images[model][quality][size];
43
+ const cost = pricingInfo.images[model][quality][size];
44
+ return isNaN(cost) ? 0 : cost;
43
45
  }
44
46
  catch (error) {
45
47
  console.error(`Error in getImageModelCost: ${error}`);
@@ -48,7 +50,8 @@ class OpenLitHelper {
48
50
  }
49
51
  static getAudioModelCost(model, pricingInfo, prompt) {
50
52
  try {
51
- return (prompt.length / OpenLitHelper.PROMPT_TOKEN_FACTOR) * pricingInfo.audio[model];
53
+ const cost = (prompt.length / OpenLitHelper.PROMPT_TOKEN_FACTOR) * pricingInfo.audio[model];
54
+ return isNaN(cost) ? 0 : cost;
52
55
  }
53
56
  catch (error) {
54
57
  console.error(`Error in getAudioModelCost: ${error}`);
@@ -98,6 +101,110 @@ class OpenLitHelper {
98
101
  return {};
99
102
  }
100
103
  }
104
+ /**
105
+ * Build OTel-spec input messages JSON string from provider messages array.
106
+ * Format: [{"role": "user", "parts": [{"type": "text", "content": "..."}]}]
107
+ */
108
+ static buildInputMessages(messages, system) {
109
+ try {
110
+ const otelMessages = [];
111
+ if (system) {
112
+ otelMessages.push({ role: 'system', parts: [{ type: 'text', content: system }] });
113
+ }
114
+ for (const msg of messages || []) {
115
+ const role = msg.role || 'user';
116
+ const content = msg.content;
117
+ const parts = [];
118
+ if (typeof content === 'string' && content) {
119
+ parts.push({ type: 'text', content });
120
+ }
121
+ else if (Array.isArray(content)) {
122
+ for (const item of content) {
123
+ const t = item.type;
124
+ if (t === 'text') {
125
+ parts.push({ type: 'text', content: item.text || '' });
126
+ }
127
+ else if (t === 'image_url') {
128
+ const url = item.image_url?.url || '';
129
+ if (url && !url.startsWith('data:')) {
130
+ parts.push({ type: 'uri', modality: 'image', uri: url });
131
+ }
132
+ }
133
+ else if (t === 'image') {
134
+ // Anthropic image format
135
+ const url = item.source?.url || '';
136
+ if (url && !url.startsWith('data:')) {
137
+ parts.push({ type: 'uri', modality: 'image', uri: url });
138
+ }
139
+ }
140
+ else if (t === 'tool_use') {
141
+ parts.push({ type: 'tool_call', id: item.id || '', name: item.name || '', arguments: item.input || {} });
142
+ }
143
+ else if (t === 'tool_result') {
144
+ parts.push({ type: 'tool_call_response', id: item.tool_use_id || '', response: typeof item.content === 'string' ? item.content : JSON.stringify(item.content || '') });
145
+ }
146
+ }
147
+ }
148
+ // Handle tool_calls in message (OpenAI assistant format)
149
+ if (msg.tool_calls && Array.isArray(msg.tool_calls)) {
150
+ for (const tc of msg.tool_calls) {
151
+ let args = tc.function?.arguments || {};
152
+ if (typeof args === 'string') {
153
+ try {
154
+ args = JSON.parse(args);
155
+ }
156
+ catch {
157
+ args = { raw: args };
158
+ }
159
+ }
160
+ parts.push({ type: 'tool_call', id: tc.id || '', name: tc.function?.name || '', arguments: args });
161
+ }
162
+ }
163
+ if (parts.length > 0) {
164
+ otelMessages.push({ role, parts });
165
+ }
166
+ }
167
+ return JSON.stringify(otelMessages);
168
+ }
169
+ catch {
170
+ return '[]';
171
+ }
172
+ }
173
+ /**
174
+ * Build OTel-spec output messages JSON string from provider response.
175
+ * Format: [{"role": "assistant", "parts": [{"type": "text", "content": "..."}], "finish_reason": "stop"}]
176
+ */
177
+ static buildOutputMessages(text, finishReason, toolCalls) {
178
+ try {
179
+ const parts = [];
180
+ if (text) {
181
+ parts.push({ type: 'text', content: text });
182
+ }
183
+ if (toolCalls && toolCalls.length > 0) {
184
+ for (const tc of toolCalls) {
185
+ let args = tc.function?.arguments || tc.arguments || {};
186
+ if (typeof args === 'string') {
187
+ try {
188
+ args = JSON.parse(args);
189
+ }
190
+ catch {
191
+ args = { raw: args };
192
+ }
193
+ }
194
+ parts.push({
195
+ type: 'tool_call',
196
+ id: tc.id || '',
197
+ name: tc.function?.name || tc.name || '',
198
+ arguments: args,
199
+ });
200
+ }
201
+ }
202
+ return JSON.stringify([{ role: 'assistant', parts, finish_reason: finishReason || 'stop' }]);
203
+ }
204
+ catch {
205
+ return '[]';
206
+ }
207
+ }
101
208
  static handleException(span, error) {
102
209
  span.recordException(error);
103
210
  span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: error.message });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;AAAA,6CAA8D;AAC9D,4CAA0D;AAE1D,MAAqB,aAAa;IAGhC,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAAa;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,8BAAgB,EAAC,KAAsB,CAAC,CAAC;YAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY;QAC/B,MAAM,QAAQ,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,KAAa,EACb,WAAgB,EAChB,YAAoB,EACpB,gBAAwB;QAExB,IAAI,CAAC;YACH,OAAO,CACL,CAAC,YAAY,GAAG,aAAa,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW;gBACxF,CAAC,gBAAgB,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACpD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAC1C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,WAAgB,EAAE,YAAoB;QAC5E,IAAI,CAAC;YACH,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,WAAgB,EAAE,IAAY,EAAE,OAAe;QACrF,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,WAAgB,EAAE,MAAc;QACtE,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAgB;QAC5C,IAAI,UAAU,GAAG,4EAA4E,CAAC;QAC9F,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC;gBACH,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,WAAW,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;wBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBACrC,OAAO,IAAI,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;wBACrD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0DAA0D,KAAK,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAU,EAAE,KAAY;QAC7C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAE,MAAW,EAAE,qBAA0B;QACrE,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,GAAG,CAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACzB,IAAI,IAAI,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;oBAClC,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAA;gBACpC,CAAC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC5C,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;;AApHe,iCAAmB,GAAG,IAAI,CAAC;kBADxB,aAAa"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ describe('AnthropicWrapper', () => {
85
85
  expect(setAttributeSpy).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, 10);
86
86
  expect(setAttributeSpy).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, 20);
87
87
  expect(setAttributeSpy).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, 30);
88
- expect(setAttributeSpy).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, 'stop');
88
+ expect(setAttributeSpy).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, ['stop']);
89
89
  });
90
90
  });
91
91
  });
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-wrapper.test.js","sourceRoot":"","sources":["../../../src/instrumentation/__tests__/anthropic-wrapper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-wrapper.test.js","sourceRoot":"","sources":["../../../src/instrumentation/__tests__/anthropic-wrapper.test.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ describe('BaseWrapper.setBaseSpanAttributes', () => {
60
60
  expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_COST, 0.99);
61
61
  expect(span.setStatus).toHaveBeenCalled();
62
62
  expect(metrics_1.default.genaiRequests.add).toHaveBeenCalledWith(1, expect.objectContaining({
63
- [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai',
63
+ [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: 'openai',
64
64
  [semantic_convention_1.default.GEN_AI_REQUEST_USER]: 'user1',
65
65
  [semantic_convention_1.default.GEN_AI_REQUEST_MODEL]: 'gpt-4',
66
66
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"base-wrapper.test.js","sourceRoot":"","sources":["../../../src/instrumentation/__tests__/base-wrapper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-wrapper.test.js","sourceRoot":"","sources":["../../../src/instrumentation/__tests__/base-wrapper.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Cross-Language Trace Comparison Tests for Google AI Studio Integration
3
+ */
4
+ export {};
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * Cross-Language Trace Comparison Tests for Google AI Studio Integration
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const wrapper_1 = __importDefault(require("../google-ai/wrapper"));
10
+ const config_1 = __importDefault(require("../../config"));
11
+ const helpers_1 = __importDefault(require("../../helpers"));
12
+ const base_wrapper_1 = __importDefault(require("../base-wrapper"));
13
+ const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
14
+ jest.mock('../../config');
15
+ jest.mock('../../helpers');
16
+ jest.mock('../base-wrapper');
17
+ describe('Google AI Studio Cross-Language Trace Comparison', () => {
18
+ let mockSpan;
19
+ beforeEach(() => {
20
+ // Create mock span
21
+ mockSpan = {
22
+ setAttribute: jest.fn(),
23
+ addEvent: jest.fn(),
24
+ end: jest.fn(),
25
+ setStatus: jest.fn(),
26
+ };
27
+ // Mock OpenlitConfig
28
+ config_1.default.environment = 'openlit-testing';
29
+ config_1.default.applicationName = 'openlit-test';
30
+ config_1.default.traceContent = true;
31
+ config_1.default.pricing_json = {};
32
+ config_1.default.updatePricingJson = jest.fn().mockResolvedValue({});
33
+ // Mock OpenLitHelper
34
+ helpers_1.default.getChatModelCost = jest.fn().mockReturnValue(0.001);
35
+ helpers_1.default.handleException = jest.fn();
36
+ helpers_1.default.createStreamProxy = jest.fn().mockImplementation((stream, generator) => stream);
37
+ // Mock BaseWrapper
38
+ base_wrapper_1.default.recordMetrics = jest.fn();
39
+ base_wrapper_1.default.setBaseSpanAttributes = jest.fn().mockImplementation((span, attrs) => {
40
+ span.setAttribute(semantic_convention_1.default.GEN_AI_PROVIDER_NAME, attrs.aiSystem);
41
+ span.setAttribute(semantic_convention_1.default.GEN_AI_ENDPOINT, attrs.genAIEndpoint);
42
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, attrs.model);
43
+ if (attrs.cost !== undefined) {
44
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_COST, attrs.cost);
45
+ }
46
+ });
47
+ });
48
+ afterEach(() => {
49
+ jest.clearAllMocks();
50
+ });
51
+ describe('Generate Content Trace Consistency', () => {
52
+ it('should set same attributes as Python SDK', async () => {
53
+ const mockArgs = [
54
+ {
55
+ contents: [
56
+ { role: 'user', parts: [{ text: 'What is Gemini?' }] },
57
+ ],
58
+ config: {
59
+ temperature: 0.7,
60
+ maxOutputTokens: 100,
61
+ topP: 0.95,
62
+ },
63
+ },
64
+ ];
65
+ const mockResponse = {
66
+ model: 'gemini-pro',
67
+ candidates: [
68
+ {
69
+ content: {
70
+ parts: [{ text: 'Gemini is Google\'s AI model' }],
71
+ role: 'model',
72
+ },
73
+ finishReason: 'STOP',
74
+ },
75
+ ],
76
+ usageMetadata: {
77
+ promptTokenCount: 5,
78
+ candidatesTokenCount: 10,
79
+ totalTokenCount: 15,
80
+ },
81
+ };
82
+ await wrapper_1.default._generateContent({
83
+ args: mockArgs,
84
+ genAIEndpoint: 'google.generativeai.models.generate_content',
85
+ response: mockResponse,
86
+ span: mockSpan,
87
+ });
88
+ // Verify critical attributes are set (matching Python SDK)
89
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_PROVIDER_NAME, 'google_ai_studio');
90
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
91
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, 'gemini-pro');
92
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, 'gemini-pro');
93
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, 5);
94
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, 10);
95
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, 15);
96
+ });
97
+ });
98
+ });
99
+ //# sourceMappingURL=google-ai-trace-comparison.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-ai-trace-comparison.test.js","sourceRoot":"","sources":["../../../src/instrumentation/__tests__/google-ai-trace-comparison.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Cross-Language Trace Comparison Tests for Groq Integration
3
+ *
4
+ * These tests verify that TypeScript and Python generate equivalent traces
5
+ * for the same operations.
6
+ */
7
+ export {};
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ /**
3
+ * Cross-Language Trace Comparison Tests for Groq Integration
4
+ *
5
+ * These tests verify that TypeScript and Python generate equivalent traces
6
+ * for the same operations.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const wrapper_1 = __importDefault(require("../groq/wrapper"));
13
+ const config_1 = __importDefault(require("../../config"));
14
+ const helpers_1 = __importDefault(require("../../helpers"));
15
+ const base_wrapper_1 = __importDefault(require("../base-wrapper"));
16
+ const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
17
+ jest.mock('../../config');
18
+ jest.mock('../../helpers');
19
+ jest.mock('../base-wrapper');
20
+ describe('Groq Cross-Language Trace Comparison', () => {
21
+ let mockSpan;
22
+ let mockTracer;
23
+ beforeEach(() => {
24
+ // Create mock span
25
+ mockSpan = {
26
+ setAttribute: jest.fn(),
27
+ addEvent: jest.fn(),
28
+ end: jest.fn(),
29
+ setStatus: jest.fn(),
30
+ };
31
+ // Create mock tracer
32
+ mockTracer = {
33
+ startSpan: jest.fn().mockReturnValue(mockSpan),
34
+ };
35
+ // Mock OpenlitConfig
36
+ config_1.default.environment = 'openlit-testing';
37
+ config_1.default.applicationName = 'openlit-test';
38
+ config_1.default.traceContent = true;
39
+ config_1.default.pricing_json = {};
40
+ config_1.default.updatePricingJson = jest.fn().mockResolvedValue({});
41
+ // Mock OpenLitHelper
42
+ helpers_1.default.getChatModelCost = jest.fn().mockReturnValue(0.001);
43
+ helpers_1.default.openaiTokens = jest.fn().mockReturnValue(5);
44
+ helpers_1.default.handleException = jest.fn();
45
+ helpers_1.default.createStreamProxy = jest.fn().mockImplementation((stream, generator) => stream);
46
+ // Mock BaseWrapper
47
+ base_wrapper_1.default.recordMetrics = jest.fn();
48
+ base_wrapper_1.default.setBaseSpanAttributes = jest.fn().mockImplementation((span, attrs) => {
49
+ span.setAttribute(semantic_convention_1.default.GEN_AI_PROVIDER_NAME, attrs.aiSystem);
50
+ span.setAttribute(semantic_convention_1.default.GEN_AI_ENDPOINT, attrs.genAIEndpoint);
51
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, attrs.model);
52
+ if (attrs.cost !== undefined) {
53
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_COST, attrs.cost);
54
+ }
55
+ });
56
+ });
57
+ afterEach(() => {
58
+ jest.clearAllMocks();
59
+ });
60
+ describe('Chat Completion Trace Consistency', () => {
61
+ it('should set same attributes as Python SDK', async () => {
62
+ const mockArgs = [
63
+ {
64
+ messages: [{ role: 'user', content: 'What is LLM Observability?' }],
65
+ model: 'llama-3.1-8b-instant',
66
+ max_tokens: 100,
67
+ temperature: 0.7,
68
+ stream: false,
69
+ },
70
+ ];
71
+ const mockResponse = {
72
+ id: 'test-id-123',
73
+ created: Date.now(),
74
+ model: 'llama-3.1-8b-instant',
75
+ choices: [
76
+ {
77
+ index: 0,
78
+ finish_reason: 'stop',
79
+ message: { role: 'assistant', content: 'LLM Observability is...' },
80
+ },
81
+ ],
82
+ usage: {
83
+ prompt_tokens: 10,
84
+ completion_tokens: 20,
85
+ total_tokens: 30,
86
+ },
87
+ };
88
+ await wrapper_1.default._chatCompletion({
89
+ args: mockArgs,
90
+ genAIEndpoint: 'groq.chat.completions',
91
+ response: mockResponse,
92
+ span: mockSpan,
93
+ });
94
+ // Verify critical attributes are set (matching Python SDK)
95
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_PROVIDER_NAME, 'groq');
96
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
97
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_ENDPOINT, 'groq.chat.completions');
98
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, 'llama-3.1-8b-instant');
99
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, 'llama-3.1-8b-instant');
100
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_ID, 'test-id-123');
101
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, 10);
102
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, 20);
103
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, 30);
104
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, 0.7);
105
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, 100);
106
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, false);
107
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, ['stop']);
108
+ });
109
+ it('should set streaming attributes matching Python SDK', async () => {
110
+ const mockArgs = [
111
+ {
112
+ messages: [{ role: 'user', content: 'Test streaming' }],
113
+ model: 'llama-3.1-8b-instant',
114
+ stream: true,
115
+ },
116
+ ];
117
+ // Mock streaming response
118
+ async function* mockStream() {
119
+ yield {
120
+ id: 'test-id',
121
+ created: Date.now(),
122
+ model: 'llama-3.1-8b-instant',
123
+ choices: [{ delta: { content: 'Hello' } }],
124
+ };
125
+ yield {
126
+ id: 'test-id',
127
+ created: Date.now(),
128
+ model: 'llama-3.1-8b-instant',
129
+ choices: [{ delta: { content: ' world' } }],
130
+ };
131
+ }
132
+ const generator = wrapper_1.default._chatCompletionGenerator({
133
+ args: mockArgs,
134
+ genAIEndpoint: 'groq.chat.completions',
135
+ response: mockStream(),
136
+ span: mockSpan,
137
+ });
138
+ // Consume the stream
139
+ for await (const _ of generator) {
140
+ // Consume chunks
141
+ }
142
+ // Verify streaming-specific attributes are set
143
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, true);
144
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_PROVIDER_NAME, 'groq');
145
+ expect(mockSpan.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
146
+ });
147
+ });
148
+ describe('Trace Validation', () => {
149
+ it('should set all required attributes matching Python SDK', async () => {
150
+ const mockArgs = [
151
+ {
152
+ messages: [{ role: 'user', content: 'Test' }],
153
+ model: 'llama-3.1-8b-instant',
154
+ },
155
+ ];
156
+ const mockResponse = {
157
+ id: 'test',
158
+ model: 'llama-3.1-8b-instant',
159
+ choices: [{ message: { content: 'Response' }, finish_reason: 'stop' }],
160
+ usage: { prompt_tokens: 5, completion_tokens: 10, total_tokens: 15 },
161
+ };
162
+ await wrapper_1.default._chatCompletion({
163
+ args: mockArgs,
164
+ genAIEndpoint: 'groq.chat.completions',
165
+ response: mockResponse,
166
+ span: mockSpan,
167
+ });
168
+ // Verify all required attributes are set (matching Python expectations)
169
+ const setAttributeCalls = mockSpan.setAttribute.mock.calls;
170
+ const attributeMap = new Map(setAttributeCalls.map(([key, value]) => [key, value]));
171
+ expect(attributeMap.get(semantic_convention_1.default.GEN_AI_PROVIDER_NAME)).toBe('groq');
172
+ expect(attributeMap.get(semantic_convention_1.default.GEN_AI_OPERATION)).toBe(semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
173
+ expect(attributeMap.get(semantic_convention_1.default.GEN_AI_REQUEST_MODEL)).toBe('llama-3.1-8b-instant');
174
+ expect(attributeMap.get(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS)).toBe(5);
175
+ expect(attributeMap.get(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS)).toBe(10);
176
+ expect(attributeMap.get(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS)).toBe(15);
177
+ });
178
+ });
179
+ });
180
+ //# sourceMappingURL=groq-trace-comparison.test.js.map