@traceai/cohere 0.1.0 → 0.1.1

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 (76) hide show
  1. package/README.md +78 -369
  2. package/dist/esm/attributes.d.ts +11 -0
  3. package/dist/esm/attributes.d.ts.map +1 -0
  4. package/dist/esm/attributes.js +240 -0
  5. package/dist/esm/attributes.js.map +1 -0
  6. package/dist/esm/instrumentation.d.ts +11 -20
  7. package/dist/esm/instrumentation.d.ts.map +1 -1
  8. package/dist/esm/instrumentation.js +175 -344
  9. package/dist/esm/instrumentation.js.map +1 -1
  10. package/dist/esm/stream.d.ts +6 -0
  11. package/dist/esm/stream.d.ts.map +1 -0
  12. package/dist/esm/stream.js +215 -0
  13. package/dist/esm/stream.js.map +1 -0
  14. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  15. package/dist/esm/version.d.ts +1 -1
  16. package/dist/esm/version.js +1 -1
  17. package/dist/esm/version.js.map +1 -1
  18. package/dist/esnext/attributes.d.ts +11 -0
  19. package/dist/esnext/attributes.d.ts.map +1 -0
  20. package/dist/esnext/attributes.js +248 -0
  21. package/dist/esnext/attributes.js.map +1 -0
  22. package/dist/esnext/instrumentation.d.ts +11 -20
  23. package/dist/esnext/instrumentation.d.ts.map +1 -1
  24. package/dist/esnext/instrumentation.js +178 -331
  25. package/dist/esnext/instrumentation.js.map +1 -1
  26. package/dist/esnext/stream.d.ts +6 -0
  27. package/dist/esnext/stream.d.ts.map +1 -0
  28. package/dist/esnext/stream.js +203 -0
  29. package/dist/esnext/stream.js.map +1 -0
  30. package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
  31. package/dist/esnext/version.d.ts +1 -1
  32. package/dist/esnext/version.js +1 -1
  33. package/dist/esnext/version.js.map +1 -1
  34. package/dist/src/__tests__/attributes.test.d.ts +2 -0
  35. package/dist/src/__tests__/attributes.test.d.ts.map +1 -0
  36. package/dist/src/__tests__/attributes.test.js +50 -0
  37. package/dist/src/__tests__/attributes.test.js.map +1 -0
  38. package/dist/src/__tests__/auto.test.d.ts +2 -0
  39. package/dist/src/__tests__/auto.test.d.ts.map +1 -0
  40. package/dist/src/__tests__/auto.test.js +70 -0
  41. package/dist/src/__tests__/auto.test.js.map +1 -0
  42. package/dist/src/__tests__/instrumentation.test.js +1 -1
  43. package/dist/src/__tests__/instrumentation.test.js.map +1 -1
  44. package/dist/src/__tests__/lifecycle.test.d.ts +2 -0
  45. package/dist/src/__tests__/lifecycle.test.d.ts.map +1 -0
  46. package/dist/src/__tests__/lifecycle.test.js +232 -0
  47. package/dist/src/__tests__/lifecycle.test.js.map +1 -0
  48. package/dist/src/__tests__/metadata.test.d.ts +2 -0
  49. package/dist/src/__tests__/metadata.test.d.ts.map +1 -0
  50. package/dist/src/__tests__/metadata.test.js +320 -0
  51. package/dist/src/__tests__/metadata.test.js.map +1 -0
  52. package/dist/src/__tests__/sdk.test.d.ts +2 -0
  53. package/dist/src/__tests__/sdk.test.d.ts.map +1 -0
  54. package/dist/src/__tests__/sdk.test.js +883 -0
  55. package/dist/src/__tests__/sdk.test.js.map +1 -0
  56. package/dist/src/__tests__/timing.test.d.ts +2 -0
  57. package/dist/src/__tests__/timing.test.d.ts.map +1 -0
  58. package/dist/src/__tests__/timing.test.js +158 -0
  59. package/dist/src/__tests__/timing.test.js.map +1 -0
  60. package/dist/src/attributes.d.ts +11 -0
  61. package/dist/src/attributes.d.ts.map +1 -0
  62. package/dist/src/attributes.js +257 -0
  63. package/dist/src/attributes.js.map +1 -0
  64. package/dist/src/instrumentation.d.ts +11 -20
  65. package/dist/src/instrumentation.d.ts.map +1 -1
  66. package/dist/src/instrumentation.js +176 -329
  67. package/dist/src/instrumentation.js.map +1 -1
  68. package/dist/src/stream.d.ts +6 -0
  69. package/dist/src/stream.d.ts.map +1 -0
  70. package/dist/src/stream.js +215 -0
  71. package/dist/src/stream.js.map +1 -0
  72. package/dist/src/version.d.ts +1 -1
  73. package/dist/src/version.js +1 -1
  74. package/dist/src/version.js.map +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +18 -11
@@ -1,370 +1,201 @@
1
- import { InstrumentationBase, InstrumentationNodeModuleDefinition, safeExecuteInTheMiddle, } from "@opentelemetry/instrumentation";
2
- import { diag, context, trace, SpanKind, SpanStatusCode, } from "@opentelemetry/api";
3
- import { VERSION } from "./version.js";
4
- import { SemanticConventions, FISpanKind, MimeType, LLMProvider, } from "@traceai/fi-semantic-conventions";
1
+ import { InstrumentationBase, InstrumentationNodeModuleDefinition } from "@opentelemetry/instrumentation";
2
+ import { context, createContextKey, diag, trace, SpanKind, SpanStatusCode } from "@opentelemetry/api";
5
3
  import { isTracingSuppressed } from "@opentelemetry/core";
6
- import { FITracer, safelyJSONStringify, } from "@traceai/fi-core";
7
- const MODULE_NAME = "cohere-ai";
8
- /**
9
- * Flag to check if the Cohere module has been patched
10
- */
11
- let _isFIPatched = false;
12
- /**
13
- * Function to check if instrumentation is enabled / disabled
14
- */
15
- export function isPatched() {
16
- return _isFIPatched;
17
- }
18
- /**
19
- * Resolves the execution context for the current span
20
- */
21
- function getExecContext(span) {
22
- const activeContext = context.active();
23
- const suppressTracing = isTracingSuppressed(activeContext);
24
- const execContext = suppressTracing
25
- ? trace.setSpan(context.active(), span)
26
- : activeContext;
27
- if (suppressTracing) {
28
- trace.deleteSpan(activeContext);
29
- }
30
- return execContext;
31
- }
32
- /**
33
- * @param instrumentationConfig The config for the instrumentation
34
- * @param traceConfig The FI trace configuration for masking sensitive information
35
- */
4
+ import { performance } from "node:perf_hooks";
5
+ import { FITracer, generateTraceConfig } from "@traceai/fi-core";
6
+ import { VERSION } from "./version.js";
7
+ import { object, inputAttributes, outputAttributes, hideOutput } from "./attributes.js";
8
+ import { wrapStream } from "./stream.js";
9
+ const OPERATIONS = ["chat", "chatStream", "embed", "rerank"];
10
+ const IN_COHERE_CALL = createContextKey("traceai.cohere.call");
11
+ const owners = new WeakMap();
12
+ let patchCount = 0;
13
+ /** True when at least one SDK method is instrumented, across module copies. */
14
+ export function isPatched() { return patchCount > 0; }
15
+ /** Cohere v1/v2 instrumentation. Install before constructing SDK clients. */
36
16
  export class CohereInstrumentation extends InstrumentationBase {
37
- constructor({ instrumentationConfig, traceConfig, } = {}) {
38
- super("@traceai/cohere", VERSION, Object.assign({}, instrumentationConfig));
17
+ constructor({ instrumentationConfig, traceConfig } = {}) {
18
+ super("@traceai/cohere", VERSION, { ...instrumentationConfig });
39
19
  this.instrumentationName = "@traceai/cohere";
40
20
  this._traceConfig = traceConfig;
41
21
  }
22
+ init() {
23
+ return new InstrumentationNodeModuleDefinition("cohere-ai", [">=7.0.0 <9"], this.patch.bind(this), this.unpatch.bind(this));
24
+ }
42
25
  enable() {
43
26
  super.enable();
44
- this.fiTracer = new FITracer({ tracer: this.tracer, traceConfig: this._traceConfig });
27
+ for (const module of this.manualModules ?? [])
28
+ this.patch(module);
45
29
  }
46
- init() {
47
- const module = new InstrumentationNodeModuleDefinition("cohere-ai", [">=7.0.0"], this.patch.bind(this), this.unpatch.bind(this));
48
- return module;
30
+ disable() {
31
+ super.disable();
32
+ this.restorePatches();
49
33
  }
50
- /**
51
- * Manually instruments the Cohere module
52
- */
53
34
  manuallyInstrument(module) {
54
- this.patch(module);
35
+ (this.manualModules ?? (this.manualModules = new Set())).add(module);
36
+ if (this.isEnabled())
37
+ this.patch(module);
55
38
  }
56
- /**
57
- * Patches the Cohere module
58
- */
59
- patch(module, moduleVersion) {
60
- if (module?.fiPatched || _isFIPatched) {
61
- return module;
62
- }
63
- const instrumentation = this;
64
- // Ensure fiTracer uses the most up-to-date tracer
65
- if (!instrumentation.fiTracer?.tracer ||
66
- instrumentation.fiTracer?.tracer !== instrumentation.tracer) {
67
- instrumentation.fiTracer = new FITracer({
68
- tracer: instrumentation.tracer,
69
- traceConfig: instrumentation._traceConfig
70
- });
71
- }
72
- // Patch CohereClient class
73
- const CohereClient = module.CohereClient;
74
- if (CohereClient?.prototype) {
75
- // Patch chat method
76
- if (typeof CohereClient.prototype.chat === 'function') {
77
- this._wrap(CohereClient.prototype, "chat",
78
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
- (original) => {
80
- return function patchedChat(...args) {
81
- const request = args[0];
82
- const modelName = request.model || 'command';
83
- const { message, chat_history, preamble, ...invocationParameters } = request;
84
- const span = instrumentation.fiTracer.startSpan(`Cohere Chat`, {
85
- kind: SpanKind.INTERNAL,
86
- attributes: {
87
- [SemanticConventions.FI_SPAN_KIND]: FISpanKind.LLM,
88
- [SemanticConventions.LLM_MODEL_NAME]: modelName,
89
- [SemanticConventions.INPUT_VALUE]: request.message,
90
- [SemanticConventions.INPUT_MIME_TYPE]: MimeType.TEXT,
91
- [SemanticConventions.LLM_INVOCATION_PARAMETERS]: JSON.stringify(invocationParameters),
92
- [SemanticConventions.LLM_PROVIDER]: LLMProvider.COHERE,
93
- [SemanticConventions.GEN_AI_OPERATION_NAME]: "chat",
94
- ...getChatInputMessagesAttributes(request),
95
- ...getChatToolsAttributes(request),
96
- [SemanticConventions.RAW_INPUT]: safelyJSONStringify(request) ?? "",
97
- },
98
- });
99
- const execContext = getExecContext(span);
100
- const execPromise = safeExecuteInTheMiddle(() => {
101
- return context.with(trace.setSpan(execContext, span), () => {
102
- return original.apply(this, args);
103
- });
104
- }, (error) => {
105
- if (error) {
106
- span.recordException(error);
107
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
108
- span.end();
109
- }
110
- });
111
- const wrappedPromise = execPromise.then((result) => {
112
- span.setAttributes({
113
- [SemanticConventions.OUTPUT_VALUE]: result.text,
114
- [SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.TEXT,
115
- ...getChatOutputMessagesAttributes(result),
116
- ...getChatUsageAttributes(result),
117
- [SemanticConventions.RAW_OUTPUT]: safelyJSONStringify(result) ?? "",
118
- });
119
- span.setStatus({ code: SpanStatusCode.OK });
120
- span.end();
121
- return result;
122
- }).catch((error) => {
123
- span.recordException(error);
124
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
125
- span.end();
126
- throw error;
127
- });
128
- return context.bind(execContext, wrappedPromise);
129
- };
130
- });
131
- }
132
- // Patch embed method
133
- if (typeof CohereClient.prototype.embed === 'function') {
134
- this._wrap(CohereClient.prototype, "embed",
135
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
- (original) => {
137
- return function patchedEmbed(...args) {
138
- const request = args[0];
139
- const modelName = request.model || 'embed-english-v3.0';
140
- const span = instrumentation.fiTracer.startSpan(`Cohere Embed`, {
141
- kind: SpanKind.INTERNAL,
142
- attributes: {
143
- [SemanticConventions.FI_SPAN_KIND]: FISpanKind.EMBEDDING,
144
- [SemanticConventions.EMBEDDING_MODEL_NAME]: modelName,
145
- [SemanticConventions.INPUT_VALUE]: JSON.stringify(request.texts),
146
- [SemanticConventions.INPUT_MIME_TYPE]: MimeType.JSON,
147
- [SemanticConventions.LLM_PROVIDER]: LLMProvider.COHERE,
148
- [SemanticConventions.GEN_AI_OPERATION_NAME]: "embeddings",
149
- ...getEmbedTextAttributes(request),
150
- [SemanticConventions.RAW_INPUT]: safelyJSONStringify(request) ?? "",
151
- },
152
- });
153
- const execContext = getExecContext(span);
154
- const execPromise = safeExecuteInTheMiddle(() => {
155
- return context.with(trace.setSpan(execContext, span), () => {
156
- return original.apply(this, args);
157
- });
158
- }, (error) => {
159
- if (error) {
160
- span.recordException(error);
161
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
162
- span.end();
163
- }
164
- });
165
- const wrappedPromise = execPromise.then((result) => {
166
- span.setAttributes({
167
- ...getEmbedVectorAttributes(result),
168
- [SemanticConventions.RAW_OUTPUT]: safelyJSONStringify(result) ?? "",
169
- });
170
- span.setStatus({ code: SpanStatusCode.OK });
171
- span.end();
172
- return result;
173
- }).catch((error) => {
174
- span.recordException(error);
175
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
176
- span.end();
177
- throw error;
178
- });
179
- return context.bind(execContext, wrappedPromise);
180
- };
181
- });
39
+ patch(module) {
40
+ const Client = module.CohereClient;
41
+ const targets = [Client?.prototype];
42
+ // V2Client is not exported at the module root. The public client.v2 getter
43
+ // exposes the same generated class used by CohereClientV2's bound methods.
44
+ // Construction performs no I/O; an explicit inert token avoids env lookup.
45
+ if (typeof Client === "function" && Client.prototype && "v2" in Client.prototype) {
46
+ try {
47
+ const v2 = new Client({ token: "traceai-instrumentation-placeholder" }).v2;
48
+ if (v2)
49
+ targets.push(Object.getPrototypeOf(v2));
182
50
  }
183
- // Patch rerank method
184
- if (typeof CohereClient.prototype.rerank === 'function') {
185
- this._wrap(CohereClient.prototype, "rerank",
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
- (original) => {
188
- return function patchedRerank(...args) {
189
- const request = args[0];
190
- const modelName = request.model || 'rerank-english-v3.0';
191
- const span = instrumentation.fiTracer.startSpan(`Cohere Rerank`, {
192
- kind: SpanKind.INTERNAL,
193
- attributes: {
194
- [SemanticConventions.FI_SPAN_KIND]: FISpanKind.LLM,
195
- [SemanticConventions.LLM_MODEL_NAME]: modelName,
196
- [SemanticConventions.INPUT_VALUE]: request.query,
197
- [SemanticConventions.INPUT_MIME_TYPE]: MimeType.TEXT,
198
- [SemanticConventions.LLM_PROVIDER]: LLMProvider.COHERE,
199
- [SemanticConventions.GEN_AI_OPERATION_NAME]: "rerank",
200
- "cohere.rerank.query": request.query,
201
- "cohere.rerank.documents_count": request.documents.length,
202
- "cohere.rerank.top_n": request.top_n,
203
- [SemanticConventions.RAW_INPUT]: safelyJSONStringify(request) ?? "",
204
- },
205
- });
206
- const execContext = getExecContext(span);
207
- const execPromise = safeExecuteInTheMiddle(() => {
208
- return context.with(trace.setSpan(execContext, span), () => {
209
- return original.apply(this, args);
210
- });
211
- }, (error) => {
212
- if (error) {
213
- span.recordException(error);
214
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
215
- span.end();
216
- }
217
- });
218
- const wrappedPromise = execPromise.then((result) => {
219
- span.setAttributes({
220
- "cohere.rerank.results_count": result.results.length,
221
- ...getRerankResultsAttributes(result),
222
- [SemanticConventions.RAW_OUTPUT]: safelyJSONStringify(result) ?? "",
223
- });
224
- span.setStatus({ code: SpanStatusCode.OK });
225
- span.end();
226
- return result;
227
- }).catch((error) => {
228
- span.recordException(error);
229
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
230
- span.end();
231
- throw error;
232
- });
233
- return context.bind(execContext, wrappedPromise);
234
- };
235
- });
51
+ catch {
52
+ // Telemetry must not prevent module loading; v1 remains usable.
53
+ diag.warn("Cohere instrumentation could not discover the v2 client");
236
54
  }
237
55
  }
238
- _isFIPatched = true;
239
- try {
240
- module.fiPatched = true;
241
- }
242
- catch (e) {
243
- diag.warn(`Failed to set fiPatched flag on module '${MODULE_NAME}'. Error: ${e}`);
56
+ for (const target of targets) {
57
+ if (!target)
58
+ continue;
59
+ for (const method of OPERATIONS) {
60
+ if (typeof target[method] !== "function" || owners.get(target)?.has(method))
61
+ continue;
62
+ const hadOwn = Object.prototype.hasOwnProperty.call(target, method);
63
+ this._wrap(target, method, (original) => this.wrapMethod(method, original));
64
+ const wrapped = target[method];
65
+ (this.patches ?? (this.patches = [])).push({ target, method, wrapped, hadOwn });
66
+ if (!owners.has(target))
67
+ owners.set(target, new Map());
68
+ owners.get(target).set(method, this);
69
+ patchCount++;
70
+ }
244
71
  }
245
72
  return module;
246
73
  }
247
- /**
248
- * Un-patches the Cohere module
249
- */
250
- unpatch(moduleExports, moduleVersion) {
251
- const CohereClient = moduleExports.CohereClient;
252
- if (CohereClient?.prototype) {
253
- if (CohereClient.prototype.chat) {
254
- this._unwrap(CohereClient.prototype, "chat");
74
+ unpatch() { this.restorePatches(); }
75
+ restorePatches() {
76
+ for (const { target, method, wrapped, hadOwn } of this.patches ?? []) {
77
+ if (target[method] === wrapped) {
78
+ this._unwrap(target, method);
79
+ if (!hadOwn)
80
+ delete target[method];
255
81
  }
256
- if (CohereClient.prototype.embed) {
257
- this._unwrap(CohereClient.prototype, "embed");
258
- }
259
- if (CohereClient.prototype.rerank) {
260
- this._unwrap(CohereClient.prototype, "rerank");
261
- }
262
- }
263
- _isFIPatched = false;
264
- try {
265
- moduleExports.fiPatched = false;
266
- }
267
- catch (e) {
268
- diag.warn(`Failed to unset fiPatched flag on module '${MODULE_NAME}'. Error: ${e}`);
82
+ owners.get(target)?.delete(method);
83
+ patchCount--;
269
84
  }
85
+ this.patches = [];
270
86
  }
271
- }
272
- /**
273
- * Converts the chat request to LLM input messages
274
- */
275
- function getChatInputMessagesAttributes(request) {
276
- const messages = [];
277
- if (request.preamble) {
278
- messages.push({ role: 'system', content: request.preamble });
279
- }
280
- if (request.chat_history) {
281
- request.chat_history.forEach((msg) => {
282
- messages.push({ role: msg.role, content: msg.message });
283
- });
284
- }
285
- messages.push({ role: 'user', content: request.message });
286
- return { [SemanticConventions.LLM_INPUT_MESSAGES]: safelyJSONStringify(messages) ?? "[]" };
287
- }
288
- /**
289
- * Gets chat tools attributes
290
- */
291
- function getChatToolsAttributes(request) {
292
- if (!request.tools) {
293
- return {};
294
- }
295
- return { [SemanticConventions.LLM_TOOLS]: safelyJSONStringify(request.tools) ?? "[]" };
296
- }
297
- /**
298
- * Gets chat output messages attributes
299
- */
300
- function getChatOutputMessagesAttributes(response) {
301
- const msg = { role: 'assistant', content: response.text };
302
- if (response.tool_calls) {
303
- msg.tool_calls = response.tool_calls.map((tc) => ({
304
- function: { name: tc.name, arguments: JSON.stringify(tc.parameters) },
305
- }));
306
- }
307
- return { [SemanticConventions.LLM_OUTPUT_MESSAGES]: safelyJSONStringify([msg]) ?? "[]" };
308
- }
309
- /**
310
- * Gets chat usage attributes
311
- */
312
- function getChatUsageAttributes(response) {
313
- const meta = response.meta;
314
- if (!meta) {
315
- return {};
316
- }
317
- const billedUnits = meta.billed_units;
318
- const tokens = meta.tokens;
319
- if (billedUnits) {
320
- return {
321
- [SemanticConventions.LLM_TOKEN_COUNT_PROMPT]: billedUnits.input_tokens,
322
- [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION]: billedUnits.output_tokens,
323
- [SemanticConventions.LLM_TOKEN_COUNT_TOTAL]: (billedUnits.input_tokens || 0) + (billedUnits.output_tokens || 0),
324
- };
325
- }
326
- if (tokens) {
327
- return {
328
- [SemanticConventions.LLM_TOKEN_COUNT_PROMPT]: tokens.input_tokens,
329
- [SemanticConventions.LLM_TOKEN_COUNT_COMPLETION]: tokens.output_tokens,
330
- [SemanticConventions.LLM_TOKEN_COUNT_TOTAL]: (tokens.input_tokens || 0) + (tokens.output_tokens || 0),
87
+ wrapMethod(operation, original) {
88
+ const instrumentation = this;
89
+ return function (...args) {
90
+ const parent = context.active();
91
+ // Bound v2 methods can outlive unpatch. Respect disable even for those.
92
+ if (!instrumentation.isEnabled() || isTracingSuppressed(parent) || parent.getValue(IN_COHERE_CALL)) {
93
+ return original.apply(this, args);
94
+ }
95
+ const config = generateTraceConfig(instrumentation._traceConfig);
96
+ let span;
97
+ try {
98
+ const tracer = new FITracer({ tracer: instrumentation.tracer, traceConfig: config });
99
+ const name = operation === "chatStream" ? "Chat Stream" : operation[0].toUpperCase() + operation.slice(1);
100
+ span = tracer.startSpan(`Cohere ${name}`, { kind: SpanKind.INTERNAL, attributes: inputAttributes(operation, object(args[0]), config) }, parent);
101
+ }
102
+ catch {
103
+ diag.warn("Cohere instrumentation could not start span");
104
+ return original.apply(this, args);
105
+ }
106
+ const execContext = trace.setSpan(parent, span).setValue(IN_COHERE_CALL, true);
107
+ let ended = false;
108
+ const finish = (response, error, cancelled = false, timeToFirstTokenMs) => {
109
+ if (ended)
110
+ return;
111
+ ended = true;
112
+ try {
113
+ // Resolved HTTP-200 chat responses can still signal failure or user
114
+ // cancellation. Use the same classification for both chat paths,
115
+ // independent of content capture and without rejecting SDK results.
116
+ if ((operation === "chat" || operation === "chatStream") && error === undefined && !cancelled) {
117
+ const reason = response.finishReason ?? response.finish_reason;
118
+ switch (reason) {
119
+ case "ERROR":
120
+ case "ERROR_TOXIC":
121
+ case "ERROR_LIMIT":
122
+ case "TIMEOUT":
123
+ error = new Error(`Cohere generation failed (${reason})`);
124
+ break;
125
+ case "USER_CANCEL":
126
+ cancelled = true;
127
+ break;
128
+ }
129
+ }
130
+ span.setAttributes(outputAttributes(operation, response, config));
131
+ if (timeToFirstTokenMs !== undefined)
132
+ span.setAttribute("cohere.stream.time_to_first_token_ms", timeToFirstTokenMs);
133
+ if (error !== undefined) {
134
+ span.recordException(error instanceof Error ? error : new Error(String(error)));
135
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error instanceof Error ? error.message : String(error) });
136
+ }
137
+ else if (cancelled) {
138
+ span.setAttribute(operation === "chatStream" ? "cohere.stream.cancelled" : "cohere.request.cancelled", true);
139
+ }
140
+ else {
141
+ span.setStatus({ code: SpanStatusCode.OK });
142
+ }
143
+ }
144
+ catch {
145
+ diag.warn("Cohere instrumentation could not record response");
146
+ }
147
+ finally {
148
+ span.end();
149
+ }
150
+ };
151
+ const streams = new WeakMap();
152
+ const resolved = (result) => {
153
+ if (operation === "chatStream" && result && typeof result[Symbol.asyncIterator] === "function") {
154
+ if (!streams.has(result))
155
+ streams.set(result, wrapStream(result, execContext, !hideOutput(config), finish, requestStart));
156
+ return streams.get(result);
157
+ }
158
+ finish(object(result));
159
+ return result;
160
+ };
161
+ const rejected = (error) => {
162
+ finish({}, error ?? new Error("Cohere request failed"));
163
+ throw error;
164
+ };
165
+ let pending;
166
+ const requestStart = performance.now();
167
+ try {
168
+ pending = context.with(execContext, () => original.apply(this, args));
169
+ }
170
+ catch (error) {
171
+ return rejected(error);
172
+ }
173
+ return observePromise(pending, resolved, rejected);
331
174
  };
332
175
  }
333
- return {};
334
- }
335
- /**
336
- * Gets embed text attributes
337
- */
338
- function getEmbedTextAttributes(request) {
339
- return request.texts.reduce((acc, text, index) => {
340
- acc[`${SemanticConventions.EMBEDDING_EMBEDDINGS}.${index}.${SemanticConventions.EMBEDDING_TEXT}`] = text;
341
- return acc;
342
- }, {});
343
176
  }
344
- /**
345
- * Gets embed vector attributes
346
- */
347
- function getEmbedVectorAttributes(response) {
348
- const embeddings = Array.isArray(response.embeddings)
349
- ? response.embeddings
350
- : response.embeddings?.float || [];
351
- return embeddings.reduce((acc, embedding, index) => {
352
- acc[`${SemanticConventions.EMBEDDING_EMBEDDINGS}.${index}.${SemanticConventions.EMBEDDING_VECTOR}`] = embedding;
353
- return acc;
354
- }, {});
355
- }
356
- /**
357
- * Gets rerank results attributes
358
- */
359
- function getRerankResultsAttributes(response) {
360
- const attributes = {};
361
- response.results.forEach((result, index) => {
362
- attributes[`cohere.rerank.results.${index}.index`] = result.index;
363
- attributes[`cohere.rerank.results.${index}.relevance_score`] = result.relevance_score;
364
- if (result.document) {
365
- attributes[`cohere.rerank.results.${index}.document`] = result.document.text;
366
- }
177
+ /** Keep SDK promise helpers (notably HttpResponsePromise.withRawResponse). */
178
+ function observePromise(pending, resolved, rejected) {
179
+ const promise = pending;
180
+ const observed = promise.then(resolved, rejected);
181
+ if (typeof promise.withRawResponse !== "function")
182
+ return observed;
183
+ // A caller may exclusively use withRawResponse. Do not leave an unobserved
184
+ // rejected branch merely because telemetry also observes the normal promise.
185
+ void observed.catch(() => { });
186
+ return new Proxy(promise, {
187
+ get(target, key) {
188
+ if (key === "then")
189
+ return observed.then.bind(observed);
190
+ if (key === "catch")
191
+ return observed.catch.bind(observed);
192
+ if (key === "finally")
193
+ return observed.finally.bind(observed);
194
+ if (key === "withRawResponse")
195
+ return () => target.withRawResponse().then((raw) => ({ ...raw, data: resolved(raw.data) }), rejected);
196
+ const value = Reflect.get(target, key, target);
197
+ return typeof value === "function" ? value.bind(target) : value;
198
+ },
367
199
  });
368
- return attributes;
369
200
  }
370
201
  //# sourceMappingURL=instrumentation.js.map
@@ -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,6 @@
1
+ import { Context } from "@opentelemetry/api";
2
+ import { Data } from "./attributes.js";
3
+ type Finish = (response: Data, error?: unknown, cancelled?: boolean, timeToFirstTokenMs?: number) => void;
4
+ export declare function wrapStream<T extends object>(stream: T, execContext: Context, captureContent: boolean, finish: Finish, requestStart: number): T;
5
+ export {};
6
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAElD,KAAK,MAAM,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAuI1G,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,CA+D9I"}