openlit 1.10.0 → 1.12.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 (195) hide show
  1. package/README.md +35 -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/__tests__/rule-engine.test.d.ts +1 -0
  10. package/dist/features/__tests__/rule-engine.test.js +146 -0
  11. package/dist/features/__tests__/rule-engine.test.js.map +1 -0
  12. package/dist/features/base.d.ts +2 -0
  13. package/dist/features/base.js +2 -0
  14. package/dist/features/base.js.map +1 -1
  15. package/dist/features/rule-engine.d.ts +6 -0
  16. package/dist/features/rule-engine.js +60 -0
  17. package/dist/features/rule-engine.js.map +1 -0
  18. package/dist/features/vault.js +1 -1
  19. package/dist/features/vault.js.map +1 -1
  20. package/dist/helpers.d.ts +93 -1
  21. package/dist/helpers.js +270 -8
  22. package/dist/helpers.js.map +1 -1
  23. package/dist/index.d.ts +6 -5
  24. package/dist/index.js +95 -50
  25. package/dist/index.js.map +1 -1
  26. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +215 -27
  27. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -1
  28. package/dist/instrumentation/__tests__/base-wrapper.test.js +19 -23
  29. package/dist/instrumentation/__tests__/base-wrapper.test.js.map +1 -1
  30. package/dist/instrumentation/__tests__/bedrock-trace-comparison.test.d.ts +1 -0
  31. package/dist/instrumentation/__tests__/bedrock-trace-comparison.test.js +422 -0
  32. package/dist/instrumentation/__tests__/bedrock-trace-comparison.test.js.map +1 -0
  33. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.js +1 -1
  34. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.js.map +1 -1
  35. package/dist/instrumentation/__tests__/cohere-wrapper.test.js +150 -25
  36. package/dist/instrumentation/__tests__/cohere-wrapper.test.js.map +1 -1
  37. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js +152 -33
  38. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js.map +1 -1
  39. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js +391 -45
  40. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js.map +1 -1
  41. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.d.ts +2 -2
  42. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.js +323 -31
  43. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.js.map +1 -1
  44. package/dist/instrumentation/__tests__/langchain-wrapper.test.d.ts +1 -0
  45. package/dist/instrumentation/__tests__/langchain-wrapper.test.js +282 -0
  46. package/dist/instrumentation/__tests__/langchain-wrapper.test.js.map +1 -0
  47. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.js +1 -1
  48. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.js.map +1 -1
  49. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.d.ts +0 -3
  50. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js +275 -68
  51. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js.map +1 -1
  52. package/dist/instrumentation/__tests__/openai-wrapper.test.js +7 -9
  53. package/dist/instrumentation/__tests__/openai-wrapper.test.js.map +1 -1
  54. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.js +1 -1
  55. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.js.map +1 -1
  56. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.d.ts +2 -1
  57. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.js +209 -21
  58. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.js.map +1 -1
  59. package/dist/instrumentation/__tests__/together-trace-comparison.test.js +231 -51
  60. package/dist/instrumentation/__tests__/together-trace-comparison.test.js.map +1 -1
  61. package/dist/instrumentation/__tests__/vercel-ai-trace-comparison.test.d.ts +8 -0
  62. package/dist/instrumentation/__tests__/vercel-ai-trace-comparison.test.js +446 -0
  63. package/dist/instrumentation/__tests__/vercel-ai-trace-comparison.test.js.map +1 -0
  64. package/dist/instrumentation/anthropic/index.d.ts +2 -3
  65. package/dist/instrumentation/anthropic/index.js.map +1 -1
  66. package/dist/instrumentation/anthropic/wrapper.d.ts +1 -3
  67. package/dist/instrumentation/anthropic/wrapper.js +211 -91
  68. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  69. package/dist/instrumentation/azure-ai-inference/index.d.ts +11 -0
  70. package/dist/instrumentation/azure-ai-inference/index.js +76 -0
  71. package/dist/instrumentation/azure-ai-inference/index.js.map +1 -0
  72. package/dist/instrumentation/azure-ai-inference/wrapper.d.ts +42 -0
  73. package/dist/instrumentation/azure-ai-inference/wrapper.js +515 -0
  74. package/dist/instrumentation/azure-ai-inference/wrapper.js.map +1 -0
  75. package/dist/instrumentation/base-wrapper.d.ts +2 -1
  76. package/dist/instrumentation/base-wrapper.js +35 -23
  77. package/dist/instrumentation/base-wrapper.js.map +1 -1
  78. package/dist/instrumentation/bedrock/wrapper.d.ts +21 -3
  79. package/dist/instrumentation/bedrock/wrapper.js +318 -265
  80. package/dist/instrumentation/bedrock/wrapper.js.map +1 -1
  81. package/dist/instrumentation/chroma/wrapper.js +1 -1
  82. package/dist/instrumentation/chroma/wrapper.js.map +1 -1
  83. package/dist/instrumentation/claude-agent-sdk/index.d.ts +23 -0
  84. package/dist/instrumentation/claude-agent-sdk/index.js +83 -0
  85. package/dist/instrumentation/claude-agent-sdk/index.js.map +1 -0
  86. package/dist/instrumentation/claude-agent-sdk/wrapper.d.ts +13 -0
  87. package/dist/instrumentation/claude-agent-sdk/wrapper.js +1031 -0
  88. package/dist/instrumentation/claude-agent-sdk/wrapper.js.map +1 -0
  89. package/dist/instrumentation/cohere/index.d.ts +2 -3
  90. package/dist/instrumentation/cohere/index.js.map +1 -1
  91. package/dist/instrumentation/cohere/wrapper.d.ts +1 -1
  92. package/dist/instrumentation/cohere/wrapper.js +215 -56
  93. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  94. package/dist/instrumentation/google-adk/index.d.ts +57 -0
  95. package/dist/instrumentation/google-adk/index.js +371 -0
  96. package/dist/instrumentation/google-adk/index.js.map +1 -0
  97. package/dist/instrumentation/google-adk/utils.d.ts +45 -0
  98. package/dist/instrumentation/google-adk/utils.js +663 -0
  99. package/dist/instrumentation/google-adk/utils.js.map +1 -0
  100. package/dist/instrumentation/google-adk/wrapper.d.ts +11 -0
  101. package/dist/instrumentation/google-adk/wrapper.js +391 -0
  102. package/dist/instrumentation/google-adk/wrapper.js.map +1 -0
  103. package/dist/instrumentation/google-ai/wrapper.d.ts +7 -4
  104. package/dist/instrumentation/google-ai/wrapper.js +197 -61
  105. package/dist/instrumentation/google-ai/wrapper.js.map +1 -1
  106. package/dist/instrumentation/groq/wrapper.js +137 -65
  107. package/dist/instrumentation/groq/wrapper.js.map +1 -1
  108. package/dist/instrumentation/huggingface/wrapper.js +241 -39
  109. package/dist/instrumentation/huggingface/wrapper.js.map +1 -1
  110. package/dist/instrumentation/index.d.ts +2 -2
  111. package/dist/instrumentation/index.js +64 -6
  112. package/dist/instrumentation/index.js.map +1 -1
  113. package/dist/instrumentation/langchain/index.d.ts +0 -7
  114. package/dist/instrumentation/langchain/index.js +2 -20
  115. package/dist/instrumentation/langchain/index.js.map +1 -1
  116. package/dist/instrumentation/langchain/wrapper.d.ts +35 -0
  117. package/dist/instrumentation/langchain/wrapper.js +1098 -184
  118. package/dist/instrumentation/langchain/wrapper.js.map +1 -1
  119. package/dist/instrumentation/langgraph/index.d.ts +12 -0
  120. package/dist/instrumentation/langgraph/index.js +99 -0
  121. package/dist/instrumentation/langgraph/index.js.map +1 -0
  122. package/dist/instrumentation/langgraph/wrapper.d.ts +20 -0
  123. package/dist/instrumentation/langgraph/wrapper.js +619 -0
  124. package/dist/instrumentation/langgraph/wrapper.js.map +1 -0
  125. package/dist/instrumentation/llamaindex/index.d.ts +31 -6
  126. package/dist/instrumentation/llamaindex/index.js +180 -61
  127. package/dist/instrumentation/llamaindex/index.js.map +1 -1
  128. package/dist/instrumentation/llamaindex/wrapper.d.ts +15 -3
  129. package/dist/instrumentation/llamaindex/wrapper.js +670 -179
  130. package/dist/instrumentation/llamaindex/wrapper.js.map +1 -1
  131. package/dist/instrumentation/milvus/wrapper.js +1 -1
  132. package/dist/instrumentation/milvus/wrapper.js.map +1 -1
  133. package/dist/instrumentation/mistral/wrapper.js +154 -79
  134. package/dist/instrumentation/mistral/wrapper.js.map +1 -1
  135. package/dist/instrumentation/ollama/index.js +33 -4
  136. package/dist/instrumentation/ollama/index.js.map +1 -1
  137. package/dist/instrumentation/ollama/wrapper.d.ts +28 -2
  138. package/dist/instrumentation/ollama/wrapper.js +432 -48
  139. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  140. package/dist/instrumentation/openai/index.d.ts +2 -3
  141. package/dist/instrumentation/openai/index.js.map +1 -1
  142. package/dist/instrumentation/openai/wrapper.js +293 -194
  143. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  144. package/dist/instrumentation/openai-agents/index.d.ts +20 -0
  145. package/dist/instrumentation/openai-agents/index.js +174 -0
  146. package/dist/instrumentation/openai-agents/index.js.map +1 -0
  147. package/dist/instrumentation/openai-agents/processor.d.ts +35 -0
  148. package/dist/instrumentation/openai-agents/processor.js +249 -0
  149. package/dist/instrumentation/openai-agents/processor.js.map +1 -0
  150. package/dist/instrumentation/openai-agents/utils.d.ts +20 -0
  151. package/dist/instrumentation/openai-agents/utils.js +624 -0
  152. package/dist/instrumentation/openai-agents/utils.js.map +1 -0
  153. package/dist/instrumentation/pinecone/wrapper.js +2 -2
  154. package/dist/instrumentation/pinecone/wrapper.js.map +1 -1
  155. package/dist/instrumentation/qdrant/wrapper.js +1 -1
  156. package/dist/instrumentation/qdrant/wrapper.js.map +1 -1
  157. package/dist/instrumentation/replicate/wrapper.js +103 -21
  158. package/dist/instrumentation/replicate/wrapper.js.map +1 -1
  159. package/dist/instrumentation/strands/index.d.ts +21 -0
  160. package/dist/instrumentation/strands/index.js +83 -0
  161. package/dist/instrumentation/strands/index.js.map +1 -0
  162. package/dist/instrumentation/strands/processor.d.ts +45 -0
  163. package/dist/instrumentation/strands/processor.js +545 -0
  164. package/dist/instrumentation/strands/processor.js.map +1 -0
  165. package/dist/instrumentation/strands/utils.d.ts +24 -0
  166. package/dist/instrumentation/strands/utils.js +360 -0
  167. package/dist/instrumentation/strands/utils.js.map +1 -0
  168. package/dist/instrumentation/together/wrapper.js +125 -51
  169. package/dist/instrumentation/together/wrapper.js.map +1 -1
  170. package/dist/instrumentation/vercel-ai/wrapper.d.ts +28 -2
  171. package/dist/instrumentation/vercel-ai/wrapper.js +314 -164
  172. package/dist/instrumentation/vercel-ai/wrapper.js.map +1 -1
  173. package/dist/llm/anthropic.js +10 -6
  174. package/dist/llm/anthropic.js.map +1 -1
  175. package/dist/llm/openai.js +9 -5
  176. package/dist/llm/openai.js.map +1 -1
  177. package/dist/otel/__tests__/metrics.test.js +16 -27
  178. package/dist/otel/__tests__/metrics.test.js.map +1 -1
  179. package/dist/otel/events.d.ts +11 -0
  180. package/dist/otel/events.js +74 -0
  181. package/dist/otel/events.js.map +1 -0
  182. package/dist/otel/metrics.d.ts +5 -6
  183. package/dist/otel/metrics.js +66 -48
  184. package/dist/otel/metrics.js.map +1 -1
  185. package/dist/otel/tracing.d.ts +6 -2
  186. package/dist/otel/tracing.js +71 -24
  187. package/dist/otel/tracing.js.map +1 -1
  188. package/dist/otel/utils.d.ts +11 -0
  189. package/dist/otel/utils.js +34 -0
  190. package/dist/otel/utils.js.map +1 -0
  191. package/dist/semantic-convention.d.ts +44 -5
  192. package/dist/semantic-convention.js +51 -8
  193. package/dist/semantic-convention.js.map +1 -1
  194. package/dist/types.d.ts +74 -22
  195. package/package.json +41 -9
@@ -1,26 +1,85 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  const api_1 = require("@opentelemetry/api");
7
40
  const config_1 = __importDefault(require("../../config"));
8
- const helpers_1 = __importDefault(require("../../helpers"));
41
+ const helpers_1 = __importStar(require("../../helpers"));
9
42
  const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
10
43
  const base_wrapper_1 = __importDefault(require("../base-wrapper"));
44
+ const FINISH_REASON_MAP = {
45
+ end_turn: 'stop',
46
+ max_tokens: 'length',
47
+ stop_sequence: 'stop',
48
+ tool_use: 'tool_call',
49
+ };
50
+ function mapFinishReason(reason) {
51
+ return FINISH_REASON_MAP[reason] || reason || 'stop';
52
+ }
53
+ function spanCreationAttrs(operationName, requestModel) {
54
+ return {
55
+ [semantic_convention_1.default.GEN_AI_OPERATION]: operationName,
56
+ [semantic_convention_1.default.GEN_AI_PROVIDER_NAME_OTEL]: AnthropicWrapper.aiSystem,
57
+ [semantic_convention_1.default.GEN_AI_REQUEST_MODEL]: requestModel,
58
+ [semantic_convention_1.default.SERVER_ADDRESS]: AnthropicWrapper.serverAddress,
59
+ [semantic_convention_1.default.SERVER_PORT]: AnthropicWrapper.serverPort,
60
+ };
61
+ }
11
62
  class AnthropicWrapper extends base_wrapper_1.default {
12
63
  static _patchMessageCreate(tracer) {
13
64
  const genAIEndpoint = 'anthropic.resources.messages';
14
65
  return (originalMethod) => {
15
66
  return async function (...args) {
16
- const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
17
- const { stream = false } = args[0];
67
+ if ((0, helpers_1.isFrameworkLlmActive)())
68
+ return originalMethod.apply(this, args);
69
+ const requestModel = args[0]?.model || 'claude-3-5-sonnet-latest';
70
+ const spanName = `${semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT} ${requestModel}`;
71
+ const effectiveCtx = (0, helpers_1.getFrameworkParentContext)() ?? api_1.context.active();
72
+ const span = tracer.startSpan(spanName, {
73
+ kind: api_1.SpanKind.CLIENT,
74
+ attributes: spanCreationAttrs(semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT, requestModel),
75
+ }, effectiveCtx);
18
76
  return api_1.context
19
- .with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
77
+ .with(api_1.trace.setSpan(effectiveCtx, span), async () => {
20
78
  return originalMethod.apply(this, args);
21
79
  })
22
80
  .then((response) => {
23
- if (!!stream) {
81
+ const { stream = false } = args[0];
82
+ if (stream) {
24
83
  return helpers_1.default.createStreamProxy(response, AnthropicWrapper._messageCreateGenerator({
25
84
  args,
26
85
  genAIEndpoint,
@@ -32,6 +91,14 @@ class AnthropicWrapper extends base_wrapper_1.default {
32
91
  })
33
92
  .catch((e) => {
34
93
  helpers_1.default.handleException(span, e);
94
+ base_wrapper_1.default.recordMetrics(span, {
95
+ genAIEndpoint,
96
+ model: requestModel,
97
+ aiSystem: AnthropicWrapper.aiSystem,
98
+ serverAddress: AnthropicWrapper.serverAddress,
99
+ serverPort: AnthropicWrapper.serverPort,
100
+ errorType: e?.constructor?.name || '_OTHER',
101
+ });
35
102
  span.end();
36
103
  throw e;
37
104
  });
@@ -39,13 +106,7 @@ class AnthropicWrapper extends base_wrapper_1.default {
39
106
  };
40
107
  }
41
108
  static async _messageCreate({ args, genAIEndpoint, response, span, }) {
42
- let metricParams = {
43
- genAIEndpoint,
44
- model: '',
45
- user: '',
46
- cost: 0,
47
- aiSystem: AnthropicWrapper.aiSystem,
48
- };
109
+ let metricParams;
49
110
  try {
50
111
  metricParams = await AnthropicWrapper._messageCreateCommonSetter({
51
112
  args,
@@ -57,10 +118,13 @@ class AnthropicWrapper extends base_wrapper_1.default {
57
118
  }
58
119
  catch (e) {
59
120
  helpers_1.default.handleException(span, e);
121
+ throw e;
60
122
  }
61
123
  finally {
62
124
  span.end();
63
- base_wrapper_1.default.recordMetrics(span, metricParams);
125
+ if (metricParams) {
126
+ base_wrapper_1.default.recordMetrics(span, metricParams);
127
+ }
64
128
  }
65
129
  }
66
130
  static async *_messageCreateGenerator({ args, genAIEndpoint, response, span, }) {
@@ -69,63 +133,87 @@ class AnthropicWrapper extends base_wrapper_1.default {
69
133
  const startTime = Date.now();
70
134
  try {
71
135
  const result = {
72
- id: '0',
136
+ id: '',
73
137
  model: '',
74
138
  stop_reason: '',
75
- content: [
76
- {
77
- text: '',
78
- role: '',
79
- },
80
- ],
139
+ content: [],
81
140
  usage: {
82
141
  input_tokens: 0,
83
142
  output_tokens: 0,
84
- total_tokens: 0,
85
143
  cache_creation_input_tokens: 0,
86
144
  cache_read_input_tokens: 0,
87
145
  },
88
146
  };
147
+ let llmResponse = '';
148
+ let toolId = '';
149
+ let toolName = '';
150
+ let toolArguments = '';
89
151
  for await (const chunk of response) {
90
152
  timestamps.push(Date.now());
91
153
  switch (chunk.type) {
92
- case 'content_block_delta':
93
- result.content[0].text += chunk.delta?.text ?? '';
94
- break;
95
- case 'message_stop':
96
- break;
97
- case 'content_block_stop':
98
- break;
99
154
  case 'message_start':
100
155
  if (chunk.message) {
101
156
  result.id = chunk.message.id;
102
157
  result.model = chunk.message.model;
103
- result.content[0].role = chunk.message.role;
104
- result.usage.input_tokens += Number(chunk.message.usage?.input_tokens) ?? 0;
105
- result.usage.output_tokens += Number(chunk.message.usage?.output_tokens) ?? 0;
106
- result.usage.cache_creation_input_tokens = Number(chunk.message.usage?.cache_creation_input_tokens) || 0;
107
- result.usage.cache_read_input_tokens = Number(chunk.message.usage?.cache_read_input_tokens) || 0;
108
- result.stop_reason = chunk.message?.stop_reason ?? '';
158
+ result.usage.input_tokens = Number(chunk.message.usage?.input_tokens) || 0;
159
+ result.usage.output_tokens += Number(chunk.message.usage?.output_tokens) || 0;
160
+ result.usage.cache_creation_input_tokens =
161
+ Number(chunk.message.usage?.cache_creation_input_tokens) || 0;
162
+ result.usage.cache_read_input_tokens =
163
+ Number(chunk.message.usage?.cache_read_input_tokens) || 0;
164
+ result.stop_reason = chunk.message.stop_reason || '';
109
165
  }
110
166
  break;
111
167
  case 'content_block_start':
112
- result.content[0].text = chunk.content_block?.text ?? '';
168
+ if (chunk.content_block?.type === 'tool_use') {
169
+ toolId = chunk.content_block.id || '';
170
+ toolName = chunk.content_block.name || '';
171
+ toolArguments = '';
172
+ }
173
+ break;
174
+ case 'content_block_delta':
175
+ if (chunk.delta?.text) {
176
+ llmResponse += chunk.delta.text;
177
+ }
178
+ if (chunk.delta?.partial_json) {
179
+ toolArguments += chunk.delta.partial_json;
180
+ }
181
+ break;
182
+ case 'content_block_stop':
113
183
  break;
114
184
  case 'message_delta':
115
- result.stop_reason = chunk.delta?.stop_reason ?? '';
116
- result.usage.output_tokens += Number(chunk.usage?.output_tokens) ?? 0;
117
- if (chunk.usage?.cache_creation_input_tokens) {
118
- result.usage.cache_creation_input_tokens = Number(chunk.usage.cache_creation_input_tokens) || 0;
185
+ result.stop_reason = chunk.delta?.stop_reason || result.stop_reason;
186
+ result.usage.output_tokens += Number(chunk.usage?.output_tokens) || 0;
187
+ if (chunk.usage?.cache_creation_input_tokens != null) {
188
+ result.usage.cache_creation_input_tokens =
189
+ Number(chunk.usage.cache_creation_input_tokens) || 0;
119
190
  }
120
- if (chunk.usage?.cache_read_input_tokens) {
121
- result.usage.cache_read_input_tokens = Number(chunk.usage.cache_read_input_tokens) || 0;
191
+ if (chunk.usage?.cache_read_input_tokens != null) {
192
+ result.usage.cache_read_input_tokens =
193
+ Number(chunk.usage.cache_read_input_tokens) || 0;
122
194
  }
123
195
  break;
196
+ case 'message_stop':
197
+ break;
124
198
  }
125
199
  yield chunk;
126
200
  }
127
- result.usage.total_tokens = result.usage.output_tokens + result.usage.input_tokens;
128
- // Calculate TTFT and TBT
201
+ if (llmResponse) {
202
+ result.content.push({ type: 'text', text: llmResponse });
203
+ }
204
+ if (toolId) {
205
+ let parsedInput = {};
206
+ try {
207
+ parsedInput = JSON.parse(toolArguments);
208
+ }
209
+ catch { /* keep empty */ }
210
+ result.content.push({
211
+ type: 'tool_use',
212
+ id: toolId,
213
+ name: toolName,
214
+ input: parsedInput,
215
+ });
216
+ }
129
217
  const ttft = timestamps.length > 0 ? (timestamps[0] - startTime) / 1000 : 0;
130
218
  let tbt = 0;
131
219
  if (timestamps.length > 1) {
@@ -140,10 +228,11 @@ class AnthropicWrapper extends base_wrapper_1.default {
140
228
  ttft,
141
229
  tbt,
142
230
  });
143
- return response;
231
+ return result;
144
232
  }
145
233
  catch (e) {
146
234
  helpers_1.default.handleException(span, e);
235
+ throw e;
147
236
  }
148
237
  finally {
149
238
  span.end();
@@ -153,65 +242,69 @@ class AnthropicWrapper extends base_wrapper_1.default {
153
242
  }
154
243
  }
155
244
  static async _messageCreateCommonSetter({ args, genAIEndpoint, result, span, ttft = 0, tbt = 0, }) {
156
- const traceContent = config_1.default.traceContent;
157
- const { messages, system, max_tokens = null, seed = null, temperature = 1, top_p, top_k, user, stream = false, } = args[0];
158
- span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
245
+ const captureContent = config_1.default.captureMessageContent;
246
+ const requestModel = args[0]?.model || 'claude-3-5-sonnet-latest';
247
+ const { messages, system, max_tokens = null, seed = null, temperature = 1, top_p, top_k, stop_sequences = null, stream = false, user, } = args[0];
248
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, temperature);
249
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_P, top_p || 1);
250
+ if (top_k != null) {
251
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_K, top_k);
252
+ }
253
+ if (max_tokens != null) {
254
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, max_tokens);
255
+ }
256
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, stream);
257
+ if (seed != null) {
258
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_SEED, Number(seed));
259
+ }
260
+ if (stop_sequences && Array.isArray(stop_sequences) && stop_sequences.length > 0) {
261
+ span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_STOP_SEQUENCES, stop_sequences);
262
+ }
263
+ if (captureContent) {
264
+ const systemStr = typeof system === 'string' ? system : undefined;
265
+ span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages || [], systemStr));
266
+ if (system) {
267
+ const sysAttr = typeof system === 'string' ? system : JSON.stringify(system);
268
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, sysAttr);
269
+ }
270
+ }
159
271
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_ID, result.id);
160
- const model = result.model || 'claude-3-sonnet-20240229';
161
- const pricingInfo = await config_1.default.updatePricingJson(config_1.default.pricing_json);
162
- // Calculate cost of the operation
163
- const cost = helpers_1.default.getChatModelCost(model, pricingInfo, result.usage.input_tokens, result.usage.output_tokens);
272
+ const responseModel = result.model || requestModel;
273
+ const pricingInfo = config_1.default.pricingInfo || {};
274
+ const cost = helpers_1.default.getChatModelCost(requestModel, pricingInfo, result.usage.input_tokens, result.usage.output_tokens);
164
275
  AnthropicWrapper.setBaseSpanAttributes(span, {
165
276
  genAIEndpoint,
166
- model,
277
+ model: requestModel,
167
278
  user,
168
279
  cost,
169
280
  aiSystem: AnthropicWrapper.aiSystem,
170
281
  serverAddress: AnthropicWrapper.serverAddress,
171
282
  serverPort: AnthropicWrapper.serverPort,
172
283
  });
173
- // Response model
174
- span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, model);
175
- // Request Params attributes : Start
176
- span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_P, top_p);
177
- span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_K, top_k);
178
- span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, max_tokens);
179
- span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, temperature);
180
- span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, stream);
181
- span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_SEED, seed);
182
- // System instructions
183
- if (system) {
184
- const systemStr = typeof system === 'string' ? system : JSON.stringify(system);
185
- span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, systemStr);
186
- span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS_OTEL, systemStr);
187
- }
188
- if (traceContent) {
189
- span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages || []));
190
- }
191
- // Request Params attributes : End
192
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, result.usage.input_tokens);
193
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, result.usage.output_tokens);
194
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, result.usage.input_tokens + result.usage.output_tokens);
195
- span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, result.usage.input_tokens + result.usage.output_tokens);
196
- // Cache token attributes (Anthropic prompt caching)
284
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, responseModel);
285
+ const inputTokens = result.usage.input_tokens;
286
+ const outputTokens = result.usage.output_tokens;
287
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, inputTokens);
288
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, outputTokens);
197
289
  if (result.usage.cache_creation_input_tokens) {
198
290
  span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS, result.usage.cache_creation_input_tokens);
199
291
  }
200
292
  if (result.usage.cache_read_input_tokens) {
201
293
  span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, result.usage.cache_read_input_tokens);
202
294
  }
203
- // TTFT and TBT streaming metrics
204
295
  if (ttft > 0) {
205
296
  span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TTFT, ttft);
206
297
  }
207
298
  if (tbt > 0) {
208
299
  span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TBT, tbt);
209
300
  }
210
- if (result.stop_reason) {
211
- span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [result.stop_reason]);
212
- }
213
- // Tool calls from content blocks of type 'tool_use'
301
+ const finishReason = mapFinishReason(result.stop_reason);
302
+ span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [finishReason]);
214
303
  const toolUseBlocks = (result.content || []).filter((b) => b.type === 'tool_use');
304
+ const outputType = toolUseBlocks.length > 0
305
+ ? semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_JSON
306
+ : semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_TEXT;
307
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, outputType);
215
308
  if (toolUseBlocks.length > 0) {
216
309
  const toolNames = toolUseBlocks.map((b) => b.name || '').filter(Boolean);
217
310
  const toolIds = toolUseBlocks.map((b) => b.id || '').filter(Boolean);
@@ -221,27 +314,54 @@ class AnthropicWrapper extends base_wrapper_1.default {
221
314
  if (toolIds.length > 0)
222
315
  span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_CALL_ID, toolIds.join(', '));
223
316
  if (toolArgs.length > 0)
224
- span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_CALL_ARGUMENTS, toolArgs);
225
- span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_JSON);
317
+ span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_ARGS, toolArgs.join(', '));
226
318
  }
227
- else {
228
- span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_TEXT);
229
- }
230
- if (traceContent) {
319
+ let inputMessagesJson;
320
+ let outputMessagesJson;
321
+ if (captureContent) {
231
322
  const textContent = (result.content || [])
232
323
  .filter((b) => b.type === 'text')
233
324
  .map((b) => b.text || '')
234
325
  .join('');
235
- span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(textContent, result.stop_reason || 'stop', toolUseBlocks.length > 0 ? toolUseBlocks : undefined));
326
+ const toolCallsForOutput = toolUseBlocks.length > 0
327
+ ? toolUseBlocks.map((b) => ({
328
+ id: b.id || '',
329
+ name: b.name || '',
330
+ arguments: b.input || {},
331
+ }))
332
+ : undefined;
333
+ outputMessagesJson = helpers_1.default.buildOutputMessages(textContent, finishReason, toolCallsForOutput);
334
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, outputMessagesJson);
335
+ const systemStr = typeof system === 'string' ? system : undefined;
336
+ inputMessagesJson = helpers_1.default.buildInputMessages(messages || [], systemStr);
337
+ }
338
+ if (!config_1.default.disableEvents) {
339
+ const eventAttrs = {
340
+ [semantic_convention_1.default.GEN_AI_OPERATION]: semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT,
341
+ [semantic_convention_1.default.GEN_AI_REQUEST_MODEL]: requestModel,
342
+ [semantic_convention_1.default.GEN_AI_RESPONSE_MODEL]: responseModel,
343
+ [semantic_convention_1.default.SERVER_ADDRESS]: AnthropicWrapper.serverAddress,
344
+ [semantic_convention_1.default.SERVER_PORT]: AnthropicWrapper.serverPort,
345
+ [semantic_convention_1.default.GEN_AI_RESPONSE_ID]: result.id,
346
+ [semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON]: [finishReason],
347
+ [semantic_convention_1.default.GEN_AI_OUTPUT_TYPE]: outputType,
348
+ [semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS]: inputTokens,
349
+ [semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS]: outputTokens,
350
+ };
351
+ if (captureContent) {
352
+ if (inputMessagesJson)
353
+ eventAttrs[semantic_convention_1.default.GEN_AI_INPUT_MESSAGES] = inputMessagesJson;
354
+ if (outputMessagesJson)
355
+ eventAttrs[semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES] = outputMessagesJson;
356
+ }
357
+ helpers_1.default.emitInferenceEvent(span, eventAttrs);
236
358
  }
237
359
  return {
238
360
  genAIEndpoint,
239
- model,
361
+ model: requestModel,
240
362
  user,
241
363
  cost,
242
364
  aiSystem: AnthropicWrapper.aiSystem,
243
- serverAddress: AnthropicWrapper.serverAddress,
244
- serverPort: AnthropicWrapper.serverPort,
245
365
  };
246
366
  }
247
367
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/anthropic/wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/anthropic/wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { InstrumentationBase, InstrumentationModuleDefinition } from '@opentelemetry/instrumentation';
2
+ import { InstrumentationConfig } from '@opentelemetry/instrumentation';
3
+ export interface AzureAIInferenceInstrumentationConfig extends InstrumentationConfig {
4
+ }
5
+ export default class OpenlitAzureAIInferenceInstrumentation extends InstrumentationBase {
6
+ constructor(config?: AzureAIInferenceInstrumentationConfig);
7
+ protected init(): void | InstrumentationModuleDefinition | InstrumentationModuleDefinition[];
8
+ manualPatch(azureAIInference: any): void;
9
+ protected _patch(moduleExports: any): void;
10
+ protected _unpatch(moduleExports: any): void;
11
+ }
@@ -0,0 +1,76 @@
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
+ class OpenlitAzureAIInferenceInstrumentation extends instrumentation_1.InstrumentationBase {
10
+ constructor(config = {}) {
11
+ super(`${constant_1.INSTRUMENTATION_PREFIX}/instrumentation-azure-ai-inference`, '1.0.0', config);
12
+ }
13
+ init() {
14
+ const module = new instrumentation_1.InstrumentationNodeModuleDefinition('@azure-rest/ai-inference', ['>=1.0.0-beta.1'], (moduleExports) => {
15
+ this._patch(moduleExports);
16
+ return moduleExports;
17
+ }, (moduleExports) => {
18
+ if (moduleExports !== undefined) {
19
+ this._unpatch(moduleExports);
20
+ }
21
+ });
22
+ return [module];
23
+ }
24
+ manualPatch(azureAIInference) {
25
+ this._patch(azureAIInference);
26
+ }
27
+ _patch(moduleExports) {
28
+ try {
29
+ if (!moduleExports.default || typeof moduleExports.default !== 'function') {
30
+ return;
31
+ }
32
+ if ((0, instrumentation_1.isWrapped)(moduleExports.default)) {
33
+ this._unwrap(moduleExports, 'default');
34
+ }
35
+ const tracer = this.tracer;
36
+ this._wrap(moduleExports, 'default', (original) => {
37
+ return function (...args) {
38
+ const client = original.apply(this, args);
39
+ const endpoint = typeof args[0] === 'string' ? args[0] : '';
40
+ const { serverAddress, serverPort } = wrapper_1.default.parseEndpoint(endpoint);
41
+ if (client && typeof client.path === 'function') {
42
+ const originalPath = client.path;
43
+ client.path = function (...pathArgs) {
44
+ const route = pathArgs[0];
45
+ const handler = originalPath.apply(client, pathArgs);
46
+ if (route === '/chat/completions' &&
47
+ handler &&
48
+ typeof handler.post === 'function') {
49
+ const origPost = handler.post;
50
+ handler.post = wrapper_1.default._patchChatComplete(tracer, serverAddress, serverPort)(origPost);
51
+ }
52
+ else if (route === '/embeddings' &&
53
+ handler &&
54
+ typeof handler.post === 'function') {
55
+ const origPost = handler.post;
56
+ handler.post = wrapper_1.default._patchEmbeddings(tracer, serverAddress, serverPort)(origPost);
57
+ }
58
+ return handler;
59
+ };
60
+ }
61
+ return client;
62
+ };
63
+ });
64
+ }
65
+ catch (e) {
66
+ console.error('Error in _patch method:', e);
67
+ }
68
+ }
69
+ _unpatch(moduleExports) {
70
+ if (moduleExports.default) {
71
+ this._unwrap(moduleExports, 'default');
72
+ }
73
+ }
74
+ }
75
+ exports.default = OpenlitAzureAIInferenceInstrumentation;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instrumentation/azure-ai-inference/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { Span, Tracer } from '@opentelemetry/api';
2
+ import BaseWrapper, { BaseSpanAttributes } from '../base-wrapper';
3
+ declare class AzureAIInferenceWrapper extends BaseWrapper {
4
+ static aiSystem: string;
5
+ static defaultServerAddress: string;
6
+ static defaultServerPort: number;
7
+ /**
8
+ * Extracts server address and port from an endpoint URL string.
9
+ */
10
+ static parseEndpoint(endpoint: string): {
11
+ serverAddress: string;
12
+ serverPort: number;
13
+ };
14
+ static _patchChatComplete(tracer: Tracer, serverAddress: string, serverPort: number): any;
15
+ static _chatCompletion({ body, genAIEndpoint, httpResponse, span, serverAddress, serverPort, }: {
16
+ body: any;
17
+ genAIEndpoint: string;
18
+ httpResponse: any;
19
+ span: Span;
20
+ serverAddress: string;
21
+ serverPort: number;
22
+ }): Promise<any>;
23
+ /**
24
+ * Wraps an SSE body stream (Node.js IncomingMessage / ReadableStream) to
25
+ * aggregate telemetry while passing through chunks to the caller.
26
+ * Returns an async-iterable that yields the raw SSE buffers/strings so
27
+ * downstream consumers (e.g. createSseStream) keep working.
28
+ */
29
+ static _wrapSseStream(body: any, requestBody: any, genAIEndpoint: string, span: Span, serverAddress: string, serverPort: number): any;
30
+ static _chatCompletionCommonSetter({ body, genAIEndpoint, result, span, serverAddress, serverPort, ttft, tbt, }: {
31
+ body: any;
32
+ genAIEndpoint: string;
33
+ result: any;
34
+ span: Span;
35
+ serverAddress: string;
36
+ serverPort: number;
37
+ ttft?: number;
38
+ tbt?: number;
39
+ }): BaseSpanAttributes;
40
+ static _patchEmbeddings(tracer: Tracer, serverAddress: string, serverPort: number): any;
41
+ }
42
+ export default AzureAIInferenceWrapper;