@arizeai/openinference-instrumentation-openai 2.1.0 → 2.3.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 (35) hide show
  1. package/README.md +11 -0
  2. package/dist/esm/instrumentation.d.ts.map +1 -1
  3. package/dist/esm/instrumentation.js +86 -2
  4. package/dist/esm/instrumentation.js.map +1 -1
  5. package/dist/esm/responsesAttributes.d.ts +8 -0
  6. package/dist/esm/responsesAttributes.d.ts.map +1 -0
  7. package/dist/esm/responsesAttributes.js +222 -0
  8. package/dist/esm/responsesAttributes.js.map +1 -0
  9. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  10. package/dist/esm/version.d.ts +1 -1
  11. package/dist/esm/version.js +1 -1
  12. package/dist/esnext/instrumentation.d.ts.map +1 -1
  13. package/dist/esnext/instrumentation.js +72 -2
  14. package/dist/esnext/instrumentation.js.map +1 -1
  15. package/dist/esnext/responsesAttributes.d.ts +8 -0
  16. package/dist/esnext/responsesAttributes.d.ts.map +1 -0
  17. package/dist/esnext/responsesAttributes.js +243 -0
  18. package/dist/esnext/responsesAttributes.js.map +1 -0
  19. package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
  20. package/dist/esnext/version.d.ts +1 -1
  21. package/dist/esnext/version.js +1 -1
  22. package/dist/src/instrumentation.d.ts.map +1 -1
  23. package/dist/src/instrumentation.js +72 -2
  24. package/dist/src/instrumentation.js.map +1 -1
  25. package/dist/src/responsesAttributes.d.ts +8 -0
  26. package/dist/src/responsesAttributes.d.ts.map +1 -0
  27. package/dist/src/responsesAttributes.js +261 -0
  28. package/dist/src/responsesAttributes.js.map +1 -0
  29. package/dist/src/version.d.ts +1 -1
  30. package/dist/src/version.js +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +2 -2
  33. package/src/instrumentation.ts +126 -3
  34. package/src/responsesAttributes.ts +286 -0
  35. package/src/version.ts +1 -1
package/README.md CHANGED
@@ -29,4 +29,15 @@ registerInstrumentations({
29
29
  });
30
30
  ```
31
31
 
32
+ ## Examples
33
+
34
+ To run an example, run the following commands:
35
+
36
+ ```shell
37
+ cd js/packages/openinference-instrumentation-openai
38
+ pnpm install
39
+ pnpm -r build
40
+ npx -y tsx examples/chat.ts # or responses.ts, embed.ts, etc
41
+ ```
42
+
32
43
  For more information on OpenTelemetry Node.js SDK, see the [OpenTelemetry Node.js SDK documentation](https://opentelemetry.io/docs/instrumentation/js/getting-started/nodejs/).
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAGhC,MAAM,gCAAgC,CAAC;AAmCxC,OAAO,EAGL,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAUrC;;GAEG;AACH,wBAAgB,SAAS,YAExB;AAmBD;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,OAAO,MAAM,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAW;gBACf,EACV,qBAAqB,EACrB,WAAW,GACZ,GAAE;QACD;;;WAGG;QACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;QAC9C;;;WAGG;QACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;KAC7B;IASN,SAAS,CAAC,IAAI,IAAI,+BAA+B,CAAC,OAAO,MAAM,CAAC;IAUhE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,OAAO,MAAM;IAKxC;;OAEG;IACH,OAAO,CAAC,KAAK;IAuPb;;OAEG;IACH,OAAO,CAAC,OAAO;CAiBhB"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAGhC,MAAM,gCAAgC,CAAC;AAmCxC,OAAO,EAGL,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAsBrC;;GAEG;AACH,wBAAgB,SAAS,YAExB;AAmBD;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,OAAO,MAAM,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAW;gBACf,EACV,qBAAqB,EACrB,WAAW,GACZ,GAAE;QACD;;;WAGG;QACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;QAC9C;;;WAGG;QACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;KAC7B;IASN,SAAS,CAAC,IAAI,IAAI,+BAA+B,CAAC,OAAO,MAAM,CAAC;IAUhE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,OAAO,MAAM;IAKxC;;OAEG;IACH,OAAO,CAAC,KAAK;IAuVb;;OAEG;IACH,OAAO,CAAC,OAAO;CAiBhB"}
@@ -5,6 +5,7 @@ import { SemanticConventions, OpenInferenceSpanKind, MimeType, LLMSystem, LLMPro
5
5
  import { assertUnreachable, isString } from "./typeUtils.js";
6
6
  import { isTracingSuppressed } from "@opentelemetry/core";
7
7
  import { OITracer, safelyJSONStringify, } from "@arizeai/openinference-core";
8
+ import { consumeResponseStreamEvents, getResponsesInputMessagesAttributes, getResponsesOutputMessagesAttributes, getResponsesUsageAttributes, } from "./responsesAttributes.js";
8
9
  const MODULE_NAME = "openai";
9
10
  /**
10
11
  * Flag to check if the openai module has been patched
@@ -66,7 +67,6 @@ export class OpenAIInstrumentation extends InstrumentationBase {
66
67
  }
67
68
  // eslint-disable-next-line @typescript-eslint/no-this-alias
68
69
  const instrumentation = this;
69
- // Patch create chat completions
70
70
  this._wrap(module.OpenAI.Chat.Completions.prototype, "create",
71
71
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
72
  (original) => {
@@ -234,6 +234,82 @@ export class OpenAIInstrumentation extends InstrumentationBase {
234
234
  return context.bind(execContext, wrappedPromise);
235
235
  };
236
236
  });
237
+ // Patch responses (if the patched module contains the Responses interface)
238
+ if (module.OpenAI.Responses) {
239
+ this._wrap(module.OpenAI.Responses.prototype, "create",
240
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
241
+ (original) => {
242
+ return function patchedCreate(...args) {
243
+ const body = args[0];
244
+ const { input: _messages, ...invocationParameters } = body;
245
+ const span = instrumentation.oiTracer.startSpan(`OpenAI Responses`, {
246
+ kind: SpanKind.INTERNAL,
247
+ attributes: {
248
+ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.LLM,
249
+ [SemanticConventions.LLM_MODEL_NAME]: body.model,
250
+ [SemanticConventions.INPUT_VALUE]: JSON.stringify(body),
251
+ [SemanticConventions.INPUT_MIME_TYPE]: MimeType.JSON,
252
+ [SemanticConventions.LLM_INVOCATION_PARAMETERS]: JSON.stringify(invocationParameters),
253
+ [SemanticConventions.LLM_SYSTEM]: LLMSystem.OPENAI,
254
+ [SemanticConventions.LLM_PROVIDER]: LLMProvider.OPENAI,
255
+ ...getResponsesInputMessagesAttributes(body),
256
+ ...getLLMToolsJSONSchema(body),
257
+ },
258
+ });
259
+ const execContext = getExecContext(span);
260
+ const execPromise = safeExecuteInTheMiddle(() => {
261
+ return context.with(trace.setSpan(execContext, span), () => {
262
+ return original.apply(this, args);
263
+ });
264
+ }, (error) => {
265
+ // Push the error to the span
266
+ if (error) {
267
+ span.recordException(error);
268
+ span.setStatus({
269
+ code: SpanStatusCode.ERROR,
270
+ message: error.message,
271
+ });
272
+ span.end();
273
+ }
274
+ });
275
+ const wrappedPromise = execPromise.then((result) => {
276
+ const recordSpan = (result) => {
277
+ if (!result) {
278
+ span.setStatus({ code: SpanStatusCode.ERROR });
279
+ span.end();
280
+ return;
281
+ }
282
+ span.setAttributes({
283
+ [SemanticConventions.OUTPUT_VALUE]: JSON.stringify(result),
284
+ [SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.JSON,
285
+ // Override the model from the value sent by the server
286
+ [SemanticConventions.LLM_MODEL_NAME]: result.model,
287
+ ...getResponsesOutputMessagesAttributes(result),
288
+ ...getResponsesUsageAttributes(result),
289
+ });
290
+ span.setStatus({ code: SpanStatusCode.OK });
291
+ span.end();
292
+ };
293
+ if (isResponseCreateResponse(result)) {
294
+ // Record the results, as we have the final result
295
+ recordSpan(result);
296
+ }
297
+ else {
298
+ // This is a streaming response
299
+ // First split the stream via tee
300
+ const [leftStream, rightStream] = result.tee();
301
+ // take the right stream, consuming it and then recording the final chunk
302
+ // into the span
303
+ consumeResponseStreamEvents(rightStream).then(recordSpan);
304
+ // give the left stream back to the caller
305
+ result = leftStream;
306
+ }
307
+ return result;
308
+ });
309
+ return context.bind(execContext, wrappedPromise);
310
+ };
311
+ });
312
+ }
237
313
  _isOpenInferencePatched = true;
238
314
  try {
239
315
  // This can fail if the module is made immutable via the runtime or bundler
@@ -262,6 +338,9 @@ export class OpenAIInstrumentation extends InstrumentationBase {
262
338
  }
263
339
  }
264
340
  }
341
+ function isResponseCreateResponse(response) {
342
+ return "object" in response && response.object === "response";
343
+ }
265
344
  /**
266
345
  * type-guard that checks if the response is a chat completion response
267
346
  */
@@ -402,11 +481,16 @@ function getCompletionInputValueAndMimeType(body) {
402
481
  */
403
482
  function getUsageAttributes(completion) {
404
483
  if (completion.usage) {
405
- return {
484
+ const usageAttributes = {
406
485
  [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION]: completion.usage.completion_tokens,
407
486
  [SemanticConventions.LLM_TOKEN_COUNT_PROMPT]: completion.usage.prompt_tokens,
408
487
  [SemanticConventions.LLM_TOKEN_COUNT_TOTAL]: completion.usage.total_tokens,
488
+ [SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_READ]: completion.usage.prompt_tokens_details?.cached_tokens,
489
+ [SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_AUDIO]: completion.usage.prompt_tokens_details?.audio_tokens,
490
+ [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION_DETAILS_AUDIO]: completion.usage.completion_tokens_details?.audio_tokens,
491
+ [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION_DETAILS_REASONING]: completion.usage.completion_tokens_details?.reasoning_tokens,
409
492
  };
493
+ return usageAttributes;
410
494
  }
411
495
  return {};
412
496
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Attributes } from "@opentelemetry/api";
2
+ import { ResponseCreateParamsBase, ResponseStreamEvent, Response as ResponseType } from "openai/resources/responses/responses";
3
+ import { Stream } from "openai/streaming";
4
+ export declare function getResponsesInputMessagesAttributes(body: ResponseCreateParamsBase): Attributes;
5
+ export declare function getResponsesUsageAttributes(response: ResponseType): Attributes;
6
+ export declare function getResponsesOutputMessagesAttributes(response: ResponseType): Attributes;
7
+ export declare function consumeResponseStreamEvents(stream: Stream<ResponseStreamEvent>): Promise<ResponseType | undefined>;
8
+ //# sourceMappingURL=responsesAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsesAttributes.d.ts","sourceRoot":"","sources":["../../src/responsesAttributes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,wBAAwB,EAGxB,mBAAmB,EACnB,QAAQ,IAAI,YAAY,EACzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA0M1C,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,wBAAwB,GAC7B,UAAU,CAoBZ;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,GACrB,UAAU,CAeZ;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,YAAY,GACrB,UAAU,CAYZ;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,GAClC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAanC"}
@@ -0,0 +1,222 @@
1
+ import { SemanticConventions } from "@arizeai/openinference-semantic-conventions";
2
+ /**
3
+ * Get attributes for responses api Items that are not typical messages with role
4
+ * @param item - The item to get attributes for
5
+ * @param prefix - The prefix to use for the attributes
6
+ * @returns The attributes for the item
7
+ */
8
+ function getResponseItemAttributes(item, prefix = "") {
9
+ const attributes = {};
10
+ // all items that are not typical messages with role
11
+ // things like images, files, etc.
12
+ const toolCallPrefix = `${prefix}${SemanticConventions.MESSAGE_TOOL_CALLS}.0.`;
13
+ switch (item.type) {
14
+ case "function_call": {
15
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "assistant";
16
+ // now using tool call prefix to simulate multiple tool calls per message
17
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_ID}`] =
18
+ item.call_id;
19
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_NAME}`] = item.name;
20
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON}`] = item.arguments;
21
+ break;
22
+ }
23
+ case "function_call_output": {
24
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "tool";
25
+ attributes[`${prefix}${SemanticConventions.MESSAGE_TOOL_CALL_ID}`] =
26
+ item.call_id;
27
+ attributes[`${prefix}${SemanticConventions.MESSAGE_CONTENT}`] =
28
+ item.output;
29
+ break;
30
+ }
31
+ case "reasoning": {
32
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "assistant";
33
+ item.summary.forEach((summaryItem, index) => {
34
+ const summaryItemPrefix = `${prefix}${SemanticConventions.MESSAGE_CONTENTS}.${index}.`;
35
+ if (summaryItem.type === "summary_text") {
36
+ attributes[`${summaryItemPrefix}${SemanticConventions.MESSAGE_CONTENT_TYPE}`] = "summary_text";
37
+ attributes[`${summaryItemPrefix}${SemanticConventions.MESSAGE_CONTENT_TEXT}`] = summaryItem.text;
38
+ }
39
+ });
40
+ break;
41
+ }
42
+ case "item_reference": {
43
+ break;
44
+ }
45
+ case "file_search_call": {
46
+ if (!item.results) {
47
+ // its a tool call
48
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] =
49
+ "assistant";
50
+ // now using tool call prefix to simulate multiple tool calls per message
51
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_ID}`] =
52
+ item.id;
53
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_NAME}`] = item.type;
54
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON}`] = JSON.stringify(item.queries);
55
+ }
56
+ else {
57
+ // its a tool call output
58
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "tool";
59
+ attributes[`${prefix}${SemanticConventions.MESSAGE_TOOL_CALL_ID}`] =
60
+ item.id;
61
+ attributes[`${prefix}${SemanticConventions.MESSAGE_CONTENT}`] =
62
+ JSON.stringify(item.results);
63
+ }
64
+ break;
65
+ }
66
+ case "computer_call": {
67
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "assistant";
68
+ // now using tool call prefix to simulate multiple tool calls per message
69
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_ID}`] =
70
+ item.id;
71
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_NAME}`] = item.type;
72
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON}`] = JSON.stringify(item.action);
73
+ break;
74
+ }
75
+ case "computer_call_output": {
76
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "tool";
77
+ attributes[`${prefix}${SemanticConventions.MESSAGE_TOOL_CALL_ID}`] =
78
+ item.call_id;
79
+ attributes[`${prefix}${SemanticConventions.MESSAGE_CONTENT}`] =
80
+ JSON.stringify(item.output);
81
+ break;
82
+ }
83
+ case "web_search_call": {
84
+ attributes[`${prefix}${SemanticConventions.MESSAGE_ROLE}`] = "assistant";
85
+ // now using tool call prefix to simulate multiple tool calls per message
86
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_ID}`] =
87
+ item.id;
88
+ attributes[`${toolCallPrefix}${SemanticConventions.TOOL_CALL_FUNCTION_NAME}`] = item.type;
89
+ // web search call does not share its arguments with the caller
90
+ // it will show "undefined" in the arguments when traced
91
+ break;
92
+ }
93
+ }
94
+ return attributes;
95
+ }
96
+ /**
97
+ * Get attributes for responses api Item, input or output
98
+ * Non message items are detected and handled by {@link getResponseItemAttributes}
99
+ * @param itemMessage - The message item to get attributes for
100
+ * @param prefix - The prefix to use for the attributes
101
+ * @returns The attributes for the message item
102
+ */
103
+ function getResponseItemMessageAttributes(itemMessage, prefix = "") {
104
+ const message = typeof itemMessage === "string"
105
+ ? { content: itemMessage, role: "user" }
106
+ : itemMessage;
107
+ if (!("role" in message)) {
108
+ return getResponseItemAttributes(message, prefix);
109
+ }
110
+ const role = message.role;
111
+ const attributes = {
112
+ [`${prefix}${SemanticConventions.MESSAGE_ROLE}`]: role,
113
+ };
114
+ // add contents from message
115
+ if (typeof message.content === "string") {
116
+ attributes[`${prefix}${SemanticConventions.MESSAGE_CONTENT}`] =
117
+ message.content;
118
+ }
119
+ else if (Array.isArray(message.content)) {
120
+ message.content.forEach((part, index) => {
121
+ const contentsIndexPrefix = `${prefix}${SemanticConventions.MESSAGE_CONTENTS}.${index}.`;
122
+ if (part.type === "input_text") {
123
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TYPE}`] = "input_text";
124
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TEXT}`] = part.text;
125
+ }
126
+ else if (part.type === "output_text") {
127
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TYPE}`] = "output_text";
128
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TEXT}`] = part.text;
129
+ }
130
+ else if (part.type === "input_image") {
131
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TYPE}`] = "input_image";
132
+ if (part.image_url) {
133
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_IMAGE}.${SemanticConventions.IMAGE_URL}`] = part.image_url;
134
+ }
135
+ }
136
+ else if (part.type === "input_file") {
137
+ // TODO: Handle input file
138
+ }
139
+ else if (part.type === "refusal") {
140
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TYPE}`] = "refusal";
141
+ attributes[`${contentsIndexPrefix}${SemanticConventions.MESSAGE_CONTENT_TEXT}`] = part.refusal;
142
+ }
143
+ });
144
+ }
145
+ // add role based fields to attributes
146
+ // as of now, there are no role based fields as they are handled by alternatively typed
147
+ // items
148
+ switch (message.role) {
149
+ case "user": {
150
+ break;
151
+ }
152
+ case "assistant": {
153
+ break;
154
+ }
155
+ case "system": {
156
+ break;
157
+ }
158
+ case "developer": {
159
+ break;
160
+ }
161
+ }
162
+ return attributes;
163
+ }
164
+ export function getResponsesInputMessagesAttributes(body) {
165
+ const attributes = {};
166
+ const items = [];
167
+ if (body.instructions) {
168
+ items.push({ content: body.instructions, role: "system" });
169
+ }
170
+ if (typeof body.input === "string") {
171
+ items.push({ content: body.input, role: "user" });
172
+ }
173
+ else {
174
+ items.push(...body.input);
175
+ }
176
+ items.forEach((item, index) => {
177
+ const indexPrefix = `${SemanticConventions.LLM_INPUT_MESSAGES}.${index}.`;
178
+ const itemAttributes = getResponseItemMessageAttributes(item, indexPrefix);
179
+ Object.entries(itemAttributes).forEach(([key, value]) => {
180
+ attributes[key] = value;
181
+ });
182
+ });
183
+ return attributes;
184
+ }
185
+ export function getResponsesUsageAttributes(response) {
186
+ if (response.usage) {
187
+ return {
188
+ [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION]: response.usage.output_tokens,
189
+ [SemanticConventions.LLM_TOKEN_COUNT_PROMPT]: response.usage.input_tokens,
190
+ [SemanticConventions.LLM_TOKEN_COUNT_TOTAL]: response.usage.total_tokens,
191
+ [SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_READ]: response.usage.input_tokens_details?.cached_tokens,
192
+ [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION_DETAILS_REASONING]: response.usage.output_tokens_details?.reasoning_tokens,
193
+ // no audio tokens for response inputs or outputs
194
+ };
195
+ }
196
+ return {};
197
+ }
198
+ export function getResponsesOutputMessagesAttributes(response) {
199
+ const attributes = {};
200
+ const items = response.output;
201
+ items.forEach((item, index) => {
202
+ const indexPrefix = `${SemanticConventions.LLM_OUTPUT_MESSAGES}.${index}.`;
203
+ const itemAttributes = getResponseItemMessageAttributes(item, indexPrefix);
204
+ Object.entries(itemAttributes).forEach(([key, value]) => {
205
+ attributes[key] = value;
206
+ });
207
+ });
208
+ return attributes;
209
+ }
210
+ export async function consumeResponseStreamEvents(stream) {
211
+ let response;
212
+ for await (const event of stream) {
213
+ switch (event.type) {
214
+ case "response.completed": {
215
+ response = event.response;
216
+ break;
217
+ }
218
+ }
219
+ }
220
+ return response;
221
+ }
222
+ //# sourceMappingURL=responsesAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsesAttributes.js","sourceRoot":"","sources":["../../src/responsesAttributes.ts"],"names":[],"mappings":"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"}