tokenmeter 0.9.0 → 0.9.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.
- package/README.md +220 -6
- package/dist/config.d.ts +7 -84
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -158
- package/dist/config.js.map +1 -1
- package/dist/exporter/PostgresExporter.d.ts.map +1 -1
- package/dist/exporter/PostgresExporter.js +4 -2
- package/dist/exporter/PostgresExporter.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/proxy.d.ts.map +1 -1
- package/dist/instrumentation/proxy.js +279 -51
- package/dist/instrumentation/proxy.js.map +1 -1
- package/dist/instrumentation/strategies/index.d.ts +33 -0
- package/dist/instrumentation/strategies/index.d.ts.map +1 -1
- package/dist/instrumentation/strategies/index.js +146 -17
- package/dist/instrumentation/strategies/index.js.map +1 -1
- package/dist/integrations/inngest/index.d.ts +0 -38
- package/dist/integrations/inngest/index.d.ts.map +1 -1
- package/dist/integrations/inngest/index.js +0 -49
- package/dist/integrations/inngest/index.js.map +1 -1
- package/dist/integrations/vercel-ai/index.d.ts.map +1 -1
- package/dist/integrations/vercel-ai/index.js +2 -1
- package/dist/integrations/vercel-ai/index.js.map +1 -1
- package/dist/pricing/manifest.bundled.d.ts +24 -0
- package/dist/pricing/manifest.bundled.d.ts.map +1 -0
- package/dist/pricing/manifest.bundled.js +13347 -0
- package/dist/pricing/manifest.bundled.js.map +1 -0
- package/dist/pricing/manifest.d.ts +24 -10
- package/dist/pricing/manifest.d.ts.map +1 -1
- package/dist/pricing/manifest.js +189 -118
- package/dist/pricing/manifest.js.map +1 -1
- package/dist/pricing/schema.d.ts +22 -13
- package/dist/pricing/schema.d.ts.map +1 -1
- package/dist/pricing/schema.js +5 -2
- package/dist/pricing/schema.js.map +1 -1
- package/dist/processor/TokenMeterProcessor.d.ts +37 -7
- package/dist/processor/TokenMeterProcessor.d.ts.map +1 -1
- package/dist/processor/TokenMeterProcessor.js +45 -24
- package/dist/processor/TokenMeterProcessor.js.map +1 -1
- package/dist/query/client.d.ts +0 -24
- package/dist/query/client.d.ts.map +1 -1
- package/dist/query/client.js +42 -9
- package/dist/query/client.js.map +1 -1
- package/dist/registry.d.ts +127 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +144 -0
- package/dist/registry.js.map +1 -0
- package/dist/types.d.ts +61 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
|
@@ -5,42 +5,60 @@
|
|
|
5
5
|
* Calculates costs and adds them to spans before export.
|
|
6
6
|
*/
|
|
7
7
|
import { trace, context, propagation, SpanKind, SpanStatusCode, } from "@opentelemetry/api";
|
|
8
|
-
import { extractUsage } from "./strategies/index.js";
|
|
8
|
+
import { extractUsage, setRegistryResolver } from "./strategies/index.js";
|
|
9
9
|
import { getModelPricing, calculateCost, getCachedManifest, loadManifest, } from "../pricing/manifest.js";
|
|
10
10
|
import { TM_ATTRIBUTES, GEN_AI_ATTRIBUTES } from "../types.js";
|
|
11
11
|
import { logger } from "../logger.js";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// Pricing manifest (loaded once)
|
|
15
|
-
let pricingManifest = null;
|
|
16
|
-
let manifestLoadPromise = null;
|
|
12
|
+
import { TOKENMETER_PROVIDER, detectProviderFromRegistry, getFactoryMethods, getRegisteredStrategy, } from "../registry.js";
|
|
13
|
+
import { VERSION, PACKAGE_NAME } from "../config.js";
|
|
17
14
|
/**
|
|
18
|
-
*
|
|
15
|
+
* Properties that should never be proxied (prototype pollution protection)
|
|
19
16
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
const BLOCKED_PROPERTIES = new Set([
|
|
18
|
+
"__proto__",
|
|
19
|
+
"constructor",
|
|
20
|
+
"prototype",
|
|
21
|
+
"__defineGetter__",
|
|
22
|
+
"__defineSetter__",
|
|
23
|
+
"__lookupGetter__",
|
|
24
|
+
"__lookupSetter__",
|
|
25
|
+
]);
|
|
26
|
+
/**
|
|
27
|
+
* Sanitize error messages to prevent leaking sensitive information
|
|
28
|
+
*/
|
|
29
|
+
function sanitizeErrorMessage(error) {
|
|
30
|
+
if (!(error instanceof Error)) {
|
|
31
|
+
return "Unknown error";
|
|
26
32
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
let message = error.message;
|
|
34
|
+
// Redact common API key patterns
|
|
35
|
+
message = message.replace(/sk-[a-zA-Z0-9]{20,}/g, "sk-***"); // OpenAI
|
|
36
|
+
message = message.replace(/sk-ant-[a-zA-Z0-9-]{20,}/g, "sk-ant-***"); // Anthropic
|
|
37
|
+
message = message.replace(/AIza[a-zA-Z0-9_-]{35}/g, "AIza***"); // Google
|
|
38
|
+
message = message.replace(/xai-[a-zA-Z0-9]{20,}/g, "xai-***"); // xAI
|
|
39
|
+
// Redact Bearer tokens
|
|
40
|
+
message = message.replace(/Bearer\s+[a-zA-Z0-9._-]+/gi, "Bearer ***");
|
|
41
|
+
// Redact api_key parameters
|
|
42
|
+
message = message.replace(/api[_-]?key[:=]\s*[^\s&"']+/gi, "api_key=***");
|
|
43
|
+
// Redact authorization headers
|
|
44
|
+
message = message.replace(/authorization[:=]\s*[^\s&"']+/gi, "authorization=***");
|
|
45
|
+
return message;
|
|
35
46
|
}
|
|
36
|
-
//
|
|
37
|
-
|
|
47
|
+
// The tracer instance
|
|
48
|
+
let tracer = null;
|
|
49
|
+
// Connect strategies to registry (avoids circular dependency)
|
|
50
|
+
setRegistryResolver(getRegisteredStrategy);
|
|
51
|
+
// Try to fetch updated pricing manifest on module load (fire-and-forget)
|
|
52
|
+
// Bundled pricing is always available, this just refreshes with latest data
|
|
53
|
+
loadManifest().catch((err) => {
|
|
54
|
+
logger.debug("Failed to fetch updated pricing manifest:", err);
|
|
55
|
+
});
|
|
38
56
|
/**
|
|
39
57
|
* Get or create the TokenMeter tracer
|
|
40
58
|
*/
|
|
41
59
|
function getTracer() {
|
|
42
60
|
if (!tracer) {
|
|
43
|
-
tracer = trace.getTracer(
|
|
61
|
+
tracer = trace.getTracer(PACKAGE_NAME, VERSION);
|
|
44
62
|
}
|
|
45
63
|
return tracer;
|
|
46
64
|
}
|
|
@@ -60,11 +78,29 @@ function getBaggageAttributes() {
|
|
|
60
78
|
return attributes;
|
|
61
79
|
}
|
|
62
80
|
/**
|
|
63
|
-
* Detect the provider from the client instance
|
|
81
|
+
* Detect the provider from the client instance.
|
|
82
|
+
*
|
|
83
|
+
* Detection order:
|
|
84
|
+
* 1. Symbol-based identification (TOKENMETER_PROVIDER)
|
|
85
|
+
* 2. Custom registered providers
|
|
86
|
+
* 3. Built-in provider detection (duck-typing)
|
|
64
87
|
*/
|
|
65
88
|
function detectProvider(client) {
|
|
66
89
|
if (!client || typeof client !== "object")
|
|
67
90
|
return "unknown";
|
|
91
|
+
// 1. Check for Symbol-based provider identification
|
|
92
|
+
if (TOKENMETER_PROVIDER in client) {
|
|
93
|
+
const symbolProvider = client[TOKENMETER_PROVIDER];
|
|
94
|
+
if (typeof symbolProvider === "string") {
|
|
95
|
+
return symbolProvider;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// 2. Check registered providers from registry
|
|
99
|
+
const registeredProvider = detectProviderFromRegistry(client);
|
|
100
|
+
if (registeredProvider) {
|
|
101
|
+
return registeredProvider;
|
|
102
|
+
}
|
|
103
|
+
// 3. Built-in provider detection (duck-typing fallback)
|
|
68
104
|
const c = client;
|
|
69
105
|
// OpenAI: has chat.completions
|
|
70
106
|
if ("chat" in c &&
|
|
@@ -85,6 +121,23 @@ function detectProvider(client) {
|
|
|
85
121
|
if ("textToSpeech" in c && typeof c.textToSpeech === "object") {
|
|
86
122
|
return "elevenlabs";
|
|
87
123
|
}
|
|
124
|
+
// @google/generative-ai: GoogleGenerativeAI has getGenerativeModel method
|
|
125
|
+
if ("getGenerativeModel" in c && typeof c.getGenerativeModel === "function") {
|
|
126
|
+
return "google";
|
|
127
|
+
}
|
|
128
|
+
// @google/generative-ai: GenerativeModel has generateContent method
|
|
129
|
+
if ("generateContent" in c &&
|
|
130
|
+
typeof c.generateContent === "function" &&
|
|
131
|
+
"model" in c) {
|
|
132
|
+
return "google";
|
|
133
|
+
}
|
|
134
|
+
// @google/genai: GoogleGenAI has models property with generateContent
|
|
135
|
+
if ("models" in c &&
|
|
136
|
+
typeof c.models === "object" &&
|
|
137
|
+
c.models !== null &&
|
|
138
|
+
"generateContent" in c.models) {
|
|
139
|
+
return "google";
|
|
140
|
+
}
|
|
88
141
|
return "unknown";
|
|
89
142
|
}
|
|
90
143
|
/**
|
|
@@ -96,6 +149,68 @@ function isPromise(value) {
|
|
|
96
149
|
"then" in value &&
|
|
97
150
|
typeof value.then === "function");
|
|
98
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if a value should be recursively proxied
|
|
154
|
+
* We proxy plain objects and class instances, but not primitives,
|
|
155
|
+
* arrays, built-in types, or API response objects.
|
|
156
|
+
*/
|
|
157
|
+
function shouldProxyReturnValue(value, methodPath) {
|
|
158
|
+
if (value === null || typeof value !== "object") {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
// Don't proxy arrays
|
|
162
|
+
if (Array.isArray(value)) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
// Don't proxy built-in types
|
|
166
|
+
if (value instanceof Date ||
|
|
167
|
+
value instanceof RegExp ||
|
|
168
|
+
value instanceof Error ||
|
|
169
|
+
value instanceof Map ||
|
|
170
|
+
value instanceof Set ||
|
|
171
|
+
value instanceof WeakMap ||
|
|
172
|
+
value instanceof WeakSet ||
|
|
173
|
+
value instanceof ArrayBuffer ||
|
|
174
|
+
value instanceof DataView) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
// Don't proxy Buffer or typed arrays
|
|
178
|
+
if (ArrayBuffer.isView(value)) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
// Don't proxy if it looks like an API response (has usage data or common response fields)
|
|
182
|
+
const v = value;
|
|
183
|
+
if ("usage" in v ||
|
|
184
|
+
"usageMetadata" in v ||
|
|
185
|
+
"choices" in v ||
|
|
186
|
+
"content" in v ||
|
|
187
|
+
"candidates" in v ||
|
|
188
|
+
"response" in v ||
|
|
189
|
+
"id" in v) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
// Proxy objects that look like SDK clients/models (have methods we want to intercept)
|
|
193
|
+
// This catches things like GenerativeModel returned from getGenerativeModel()
|
|
194
|
+
if ("generateContent" in v ||
|
|
195
|
+
"generateContentStream" in v ||
|
|
196
|
+
"chat" in v ||
|
|
197
|
+
"create" in v ||
|
|
198
|
+
"messages" in v ||
|
|
199
|
+
"embedContent" in v ||
|
|
200
|
+
"countTokens" in v ||
|
|
201
|
+
"startChat" in v) {
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
// For factory methods (like getGenerativeModel), proxy the returned object
|
|
205
|
+
const methodName = methodPath[methodPath.length - 1];
|
|
206
|
+
if (methodName?.startsWith("get") ||
|
|
207
|
+
methodName?.startsWith("create") ||
|
|
208
|
+
methodName === "model" ||
|
|
209
|
+
methodName === "models") {
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
99
214
|
/**
|
|
100
215
|
* Check if a value is an async iterator (stream)
|
|
101
216
|
*/
|
|
@@ -103,14 +218,11 @@ function isAsyncIterable(value) {
|
|
|
103
218
|
return (value !== null && typeof value === "object" && Symbol.asyncIterator in value);
|
|
104
219
|
}
|
|
105
220
|
/**
|
|
106
|
-
* Calculate cost for usage data
|
|
221
|
+
* Calculate cost for usage data.
|
|
222
|
+
* Pricing data is always available via bundled manifest.
|
|
107
223
|
*/
|
|
108
224
|
function calculateUsageCost(usage) {
|
|
109
|
-
const manifest =
|
|
110
|
-
if (!manifest) {
|
|
111
|
-
logger.warn("Pricing manifest not loaded, cost will be 0");
|
|
112
|
-
return 0;
|
|
113
|
-
}
|
|
225
|
+
const manifest = getCachedManifest();
|
|
114
226
|
const pricing = getModelPricing(usage.provider, usage.model, manifest);
|
|
115
227
|
if (!pricing) {
|
|
116
228
|
logger.warn(`Missing pricing for ${usage.provider}/${usage.model}`);
|
|
@@ -145,10 +257,31 @@ function addUsageToSpan(span, usage) {
|
|
|
145
257
|
attributes[TM_ATTRIBUTES.COST_USD] = costUsd;
|
|
146
258
|
span.setAttributes(attributes);
|
|
147
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Invoke the streaming cost callback with current usage data
|
|
262
|
+
*/
|
|
263
|
+
function invokeStreamingCallback(callback, usage, isComplete) {
|
|
264
|
+
if (!callback)
|
|
265
|
+
return;
|
|
266
|
+
try {
|
|
267
|
+
const estimatedCost = usage ? calculateUsageCost(usage) : 0;
|
|
268
|
+
callback({
|
|
269
|
+
estimatedCost,
|
|
270
|
+
inputTokens: usage?.inputUnits ?? 0,
|
|
271
|
+
outputTokens: usage?.outputUnits ?? 0,
|
|
272
|
+
provider: usage?.provider ?? "unknown",
|
|
273
|
+
model: usage?.model ?? "unknown",
|
|
274
|
+
isComplete,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
catch (err) {
|
|
278
|
+
logger.warn("Streaming cost callback error:", err);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
148
281
|
/**
|
|
149
282
|
* Wrap an async iterator to track usage from streamed responses
|
|
150
283
|
*/
|
|
151
|
-
function wrapAsyncIterator(iterator, span, provider, methodPath, args) {
|
|
284
|
+
function wrapAsyncIterator(iterator, span, provider, methodPath, args, onStreamingCost) {
|
|
152
285
|
const originalIterator = iterator[Symbol.asyncIterator]();
|
|
153
286
|
let accumulatedUsage = null;
|
|
154
287
|
const wrappedIterator = {
|
|
@@ -160,6 +293,8 @@ function wrapAsyncIterator(iterator, span, provider, methodPath, args) {
|
|
|
160
293
|
if (accumulatedUsage) {
|
|
161
294
|
addUsageToSpan(span, accumulatedUsage);
|
|
162
295
|
}
|
|
296
|
+
// Notify callback with final (complete) update
|
|
297
|
+
invokeStreamingCallback(onStreamingCost, accumulatedUsage, true);
|
|
163
298
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
164
299
|
span.end();
|
|
165
300
|
}
|
|
@@ -170,16 +305,29 @@ function wrapAsyncIterator(iterator, span, provider, methodPath, args) {
|
|
|
170
305
|
const usage = extractUsage(methodPath, chunk, args, provider);
|
|
171
306
|
if (usage) {
|
|
172
307
|
accumulatedUsage = usage;
|
|
308
|
+
// Notify callback with intermediate update
|
|
309
|
+
invokeStreamingCallback(onStreamingCost, accumulatedUsage, false);
|
|
173
310
|
}
|
|
174
311
|
}
|
|
175
312
|
}
|
|
176
313
|
return result;
|
|
177
314
|
}
|
|
178
315
|
catch (error) {
|
|
316
|
+
// Capture partial usage before recording error
|
|
317
|
+
if (accumulatedUsage) {
|
|
318
|
+
try {
|
|
319
|
+
addUsageToSpan(span, accumulatedUsage);
|
|
320
|
+
}
|
|
321
|
+
catch (usageError) {
|
|
322
|
+
logger.warn("Failed to add partial usage to span:", usageError);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
// Notify callback of completion on error
|
|
326
|
+
invokeStreamingCallback(onStreamingCost, accumulatedUsage, true);
|
|
179
327
|
span.recordException(error);
|
|
180
328
|
span.setStatus({
|
|
181
329
|
code: SpanStatusCode.ERROR,
|
|
182
|
-
message:
|
|
330
|
+
message: sanitizeErrorMessage(error),
|
|
183
331
|
});
|
|
184
332
|
span.end();
|
|
185
333
|
throw error;
|
|
@@ -187,25 +335,42 @@ function wrapAsyncIterator(iterator, span, provider, methodPath, args) {
|
|
|
187
335
|
},
|
|
188
336
|
async return(value) {
|
|
189
337
|
// Stream was cancelled - still calculate cost for what we consumed
|
|
190
|
-
|
|
191
|
-
|
|
338
|
+
try {
|
|
339
|
+
if (accumulatedUsage) {
|
|
340
|
+
addUsageToSpan(span, accumulatedUsage);
|
|
341
|
+
}
|
|
342
|
+
// Notify callback of completion on cancellation
|
|
343
|
+
invokeStreamingCallback(onStreamingCost, accumulatedUsage, true);
|
|
344
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
logger.warn("Failed to finalize stream span:", error);
|
|
348
|
+
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
349
|
+
}
|
|
350
|
+
finally {
|
|
351
|
+
span.end();
|
|
192
352
|
}
|
|
193
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
194
|
-
span.end();
|
|
195
353
|
if (originalIterator.return) {
|
|
196
354
|
return originalIterator.return(value);
|
|
197
355
|
}
|
|
198
|
-
return { done: true, value:
|
|
356
|
+
return { done: true, value: value };
|
|
199
357
|
},
|
|
200
358
|
async throw(error) {
|
|
201
359
|
// Stream errored - still calculate cost for what we consumed
|
|
202
|
-
|
|
203
|
-
|
|
360
|
+
try {
|
|
361
|
+
if (accumulatedUsage) {
|
|
362
|
+
addUsageToSpan(span, accumulatedUsage);
|
|
363
|
+
}
|
|
204
364
|
}
|
|
365
|
+
catch (usageError) {
|
|
366
|
+
logger.warn("Failed to add usage on stream error:", usageError);
|
|
367
|
+
}
|
|
368
|
+
// Notify callback of completion on error
|
|
369
|
+
invokeStreamingCallback(onStreamingCost, accumulatedUsage, true);
|
|
205
370
|
span.recordException(error);
|
|
206
371
|
span.setStatus({
|
|
207
372
|
code: SpanStatusCode.ERROR,
|
|
208
|
-
message:
|
|
373
|
+
message: sanitizeErrorMessage(error),
|
|
209
374
|
});
|
|
210
375
|
span.end();
|
|
211
376
|
if (originalIterator.throw) {
|
|
@@ -238,15 +403,38 @@ export function monitor(client, options = {}) {
|
|
|
238
403
|
const provider = options.provider || detectProvider(client);
|
|
239
404
|
const clientName = options.name || provider;
|
|
240
405
|
const baseAttributes = options.attributes || {};
|
|
406
|
+
const onStreamingCost = options.onStreamingCost;
|
|
407
|
+
// WeakSet to track already-proxied objects and prevent double-wrapping
|
|
408
|
+
const proxiedObjects = new WeakSet();
|
|
409
|
+
/**
|
|
410
|
+
* Wrap a value in a proxy if it should be monitored
|
|
411
|
+
*/
|
|
412
|
+
function wrapIfNeeded(value, path) {
|
|
413
|
+
// Don't double-wrap
|
|
414
|
+
if (proxiedObjects.has(value)) {
|
|
415
|
+
return value;
|
|
416
|
+
}
|
|
417
|
+
const proxy = new Proxy(value, createProxyHandler(path));
|
|
418
|
+
proxiedObjects.add(proxy);
|
|
419
|
+
return proxy;
|
|
420
|
+
}
|
|
241
421
|
/**
|
|
242
422
|
* Create a recursive proxy handler
|
|
243
423
|
*/
|
|
244
424
|
function createProxyHandler(path = []) {
|
|
245
425
|
return {
|
|
246
426
|
get(target, prop, receiver) {
|
|
427
|
+
// Skip symbols
|
|
428
|
+
if (typeof prop === "symbol") {
|
|
429
|
+
return Reflect.get(target, prop, receiver);
|
|
430
|
+
}
|
|
431
|
+
// Prototype pollution protection
|
|
432
|
+
if (BLOCKED_PROPERTIES.has(prop)) {
|
|
433
|
+
return Reflect.get(target, prop, receiver);
|
|
434
|
+
}
|
|
247
435
|
const value = Reflect.get(target, prop, receiver);
|
|
248
|
-
// Skip
|
|
249
|
-
if (
|
|
436
|
+
// Skip internal properties
|
|
437
|
+
if (prop.startsWith("_")) {
|
|
250
438
|
return value;
|
|
251
439
|
}
|
|
252
440
|
// If it's a function, wrap it
|
|
@@ -254,6 +442,34 @@ export function monitor(client, options = {}) {
|
|
|
254
442
|
return function (...args) {
|
|
255
443
|
const methodPath = [...path, prop];
|
|
256
444
|
const spanName = `${clientName}.${methodPath.join(".")}`;
|
|
445
|
+
// Check if this is a factory method that returns an object we should proxy
|
|
446
|
+
// For these, we don't create spans but do wrap the returned object
|
|
447
|
+
const registeredFactoryMethods = getFactoryMethods(provider);
|
|
448
|
+
const isFactoryMethod = prop === "getGenerativeModel" ||
|
|
449
|
+
prop === "getModel" ||
|
|
450
|
+
prop === "startChat" ||
|
|
451
|
+
registeredFactoryMethods.includes(prop);
|
|
452
|
+
if (isFactoryMethod) {
|
|
453
|
+
const result = value.apply(this === receiver ? target : this, args);
|
|
454
|
+
// Handle async factory methods
|
|
455
|
+
if (isPromise(result)) {
|
|
456
|
+
return result.then((resolved) => {
|
|
457
|
+
if (resolved !== null &&
|
|
458
|
+
typeof resolved === "object" &&
|
|
459
|
+
shouldProxyReturnValue(resolved, methodPath)) {
|
|
460
|
+
return wrapIfNeeded(resolved, methodPath);
|
|
461
|
+
}
|
|
462
|
+
return resolved;
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
// Handle sync factory methods (like getGenerativeModel)
|
|
466
|
+
if (result !== null &&
|
|
467
|
+
typeof result === "object" &&
|
|
468
|
+
shouldProxyReturnValue(result, methodPath)) {
|
|
469
|
+
return wrapIfNeeded(result, methodPath);
|
|
470
|
+
}
|
|
471
|
+
return result;
|
|
472
|
+
}
|
|
257
473
|
// Get baggage attributes from context (set by withAttributes)
|
|
258
474
|
const baggageAttrs = getBaggageAttributes();
|
|
259
475
|
// Start span with base + baggage attributes
|
|
@@ -277,7 +493,7 @@ export function monitor(client, options = {}) {
|
|
|
277
493
|
return result.then((resolved) => {
|
|
278
494
|
// Check if result is a stream
|
|
279
495
|
if (isAsyncIterable(resolved)) {
|
|
280
|
-
return wrapAsyncIterator(resolved, span, provider, methodPath, args);
|
|
496
|
+
return wrapAsyncIterator(resolved, span, provider, methodPath, args, onStreamingCost);
|
|
281
497
|
}
|
|
282
498
|
// Extract usage from result
|
|
283
499
|
const usage = extractUsage(methodPath, resolved, args, provider);
|
|
@@ -286,14 +502,18 @@ export function monitor(client, options = {}) {
|
|
|
286
502
|
}
|
|
287
503
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
288
504
|
span.end();
|
|
505
|
+
// Wrap returned objects that should be monitored (e.g., chat sessions)
|
|
506
|
+
if (resolved !== null &&
|
|
507
|
+
typeof resolved === "object" &&
|
|
508
|
+
shouldProxyReturnValue(resolved, methodPath)) {
|
|
509
|
+
return wrapIfNeeded(resolved, methodPath);
|
|
510
|
+
}
|
|
289
511
|
return resolved;
|
|
290
512
|
}, (error) => {
|
|
291
513
|
span.recordException(error);
|
|
292
514
|
span.setStatus({
|
|
293
515
|
code: SpanStatusCode.ERROR,
|
|
294
|
-
message: error
|
|
295
|
-
? error.message
|
|
296
|
-
: String(error),
|
|
516
|
+
message: sanitizeErrorMessage(error),
|
|
297
517
|
});
|
|
298
518
|
span.end();
|
|
299
519
|
throw error;
|
|
@@ -301,7 +521,7 @@ export function monitor(client, options = {}) {
|
|
|
301
521
|
}
|
|
302
522
|
// Handle sync results (rare for API calls)
|
|
303
523
|
if (isAsyncIterable(result)) {
|
|
304
|
-
return wrapAsyncIterator(result, span, provider, methodPath, args);
|
|
524
|
+
return wrapAsyncIterator(result, span, provider, methodPath, args, onStreamingCost);
|
|
305
525
|
}
|
|
306
526
|
const usage = extractUsage(methodPath, result, args, provider);
|
|
307
527
|
if (usage) {
|
|
@@ -309,13 +529,19 @@ export function monitor(client, options = {}) {
|
|
|
309
529
|
}
|
|
310
530
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
311
531
|
span.end();
|
|
532
|
+
// Wrap returned objects that should be monitored
|
|
533
|
+
if (result !== null &&
|
|
534
|
+
typeof result === "object" &&
|
|
535
|
+
shouldProxyReturnValue(result, methodPath)) {
|
|
536
|
+
return wrapIfNeeded(result, methodPath);
|
|
537
|
+
}
|
|
312
538
|
return result;
|
|
313
539
|
}
|
|
314
540
|
catch (error) {
|
|
315
541
|
span.recordException(error);
|
|
316
542
|
span.setStatus({
|
|
317
543
|
code: SpanStatusCode.ERROR,
|
|
318
|
-
message:
|
|
544
|
+
message: sanitizeErrorMessage(error),
|
|
319
545
|
});
|
|
320
546
|
span.end();
|
|
321
547
|
throw error;
|
|
@@ -325,13 +551,15 @@ export function monitor(client, options = {}) {
|
|
|
325
551
|
}
|
|
326
552
|
// If it's an object, recursively proxy it
|
|
327
553
|
if (value !== null && typeof value === "object") {
|
|
328
|
-
return
|
|
554
|
+
return wrapIfNeeded(value, [...path, prop]);
|
|
329
555
|
}
|
|
330
556
|
return value;
|
|
331
557
|
},
|
|
332
558
|
};
|
|
333
559
|
}
|
|
334
|
-
|
|
560
|
+
const proxy = new Proxy(client, createProxyHandler());
|
|
561
|
+
proxiedObjects.add(proxy);
|
|
562
|
+
return proxy;
|
|
335
563
|
}
|
|
336
564
|
export default monitor;
|
|
337
565
|
//# sourceMappingURL=proxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/instrumentation/proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/instrumentation/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,25 @@ export declare const elevenlabsStrategy: ExtractionStrategy;
|
|
|
26
26
|
export declare const bedrockStrategy: ExtractionStrategy;
|
|
27
27
|
/**
|
|
28
28
|
* Google Vertex AI / Gemini extraction strategy
|
|
29
|
+
*
|
|
30
|
+
* Handles responses from:
|
|
31
|
+
* - Google Vertex AI SDK
|
|
32
|
+
* - @google/genai (new unified SDK)
|
|
33
|
+
*
|
|
34
|
+
* Response structure: { usageMetadata: { promptTokenCount, candidatesTokenCount, ... } }
|
|
29
35
|
*/
|
|
30
36
|
export declare const vertexAIStrategy: ExtractionStrategy;
|
|
37
|
+
/**
|
|
38
|
+
* Google Generative AI SDK extraction strategy
|
|
39
|
+
*
|
|
40
|
+
* Handles responses from @google/generative-ai (deprecated SDK)
|
|
41
|
+
* where the response is wrapped: result.response.usageMetadata
|
|
42
|
+
*
|
|
43
|
+
* This strategy specifically handles the wrapped response format used by:
|
|
44
|
+
* - GoogleGenerativeAI.getGenerativeModel().generateContent()
|
|
45
|
+
* - GoogleGenerativeAI.getGenerativeModel().generateContentStream()
|
|
46
|
+
*/
|
|
47
|
+
export declare const googleGenerativeAIStrategy: ExtractionStrategy;
|
|
31
48
|
/**
|
|
32
49
|
* BFL (Black Forest Labs) extraction strategy
|
|
33
50
|
*
|
|
@@ -42,12 +59,28 @@ export declare const bflStrategy: ExtractionStrategy;
|
|
|
42
59
|
export declare const vercelAIStrategy: ExtractionStrategy;
|
|
43
60
|
/**
|
|
44
61
|
* All registered strategies
|
|
62
|
+
*
|
|
63
|
+
* Note: Order matters! More specific strategies should come before general ones.
|
|
64
|
+
* googleGenerativeAIStrategy checks for wrapped response format and must come
|
|
65
|
+
* before vertexAIStrategy which handles the unwrapped format.
|
|
45
66
|
*/
|
|
46
67
|
export declare const strategies: ExtractionStrategy[];
|
|
47
68
|
/**
|
|
48
69
|
* Find the appropriate strategy for a given result
|
|
49
70
|
*/
|
|
50
71
|
export declare function findStrategy(methodPath: string[], result: unknown): ExtractionStrategy | null;
|
|
72
|
+
/**
|
|
73
|
+
* Registry strategy resolver type.
|
|
74
|
+
* Allows the caller to provide a function to look up registered strategies
|
|
75
|
+
* without creating a circular dependency.
|
|
76
|
+
*/
|
|
77
|
+
export type RegistryStrategyResolver = (provider: string) => ExtractionStrategy | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Set the registry strategy resolver.
|
|
80
|
+
* Called by proxy.ts at initialization to provide access to registered strategies.
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
export declare function setRegistryResolver(resolver: RegistryStrategyResolver): void;
|
|
51
84
|
/**
|
|
52
85
|
* Extract usage data using the appropriate strategy
|
|
53
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/strategies/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,kBAwD5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAqD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBA4DzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAyDhC,CAAC;AAsBF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,kBA8D7B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/strategies/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,kBAwD5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAqD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBA4DzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAyDhC,CAAC;AAsBF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,kBA8D7B,CAAC;AAwEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBAiC9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,kBA6ExC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,kBAgEzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA0E9B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,kBAAkB,EAU1C,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,OAAO,GACd,kBAAkB,GAAG,IAAI,CAO3B;AAED;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,QAAQ,EAAE,MAAM,KACb,kBAAkB,GAAG,SAAS,CAAC;AAKpC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,SAAS,GAAG,IAAI,CAyBlB"}
|