autotel-devtools 28.0.0 → 28.0.2
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 +4 -1
- package/dist/cli.cjs +2 -2
- package/dist/cli.js +2 -2
- package/dist/fullpage.global.js +34 -34
- package/dist/genai/index.cjs +49 -5
- package/dist/genai/index.js +49 -5
- package/dist/{grpc-DB8OLUPR.cjs → grpc-CU54oyWh.cjs} +1 -1
- package/dist/{grpc-BhGs5AGf.js → grpc-D0ZTTAmW.js} +1 -1
- package/dist/{http-DD3SVQJp.cjs → http-B1v_UPgL.cjs} +4 -2
- package/dist/{http-CHt5okyc.js → http-CBOtd0Yi.js} +4 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server/index.cjs +2 -2
- package/dist/server/index.js +2 -2
- package/dist/widget.global.js +15 -15
- package/package.json +2 -2
package/dist/genai/index.cjs
CHANGED
|
@@ -62,6 +62,43 @@ const TABLE = {
|
|
|
62
62
|
inputPerMTok: .5,
|
|
63
63
|
outputPerMTok: 1.5
|
|
64
64
|
},
|
|
65
|
+
"anthropic/claude-fable-5-1": {
|
|
66
|
+
inputPerMTok: 10,
|
|
67
|
+
outputPerMTok: 50,
|
|
68
|
+
cacheReadPerMTok: .25
|
|
69
|
+
},
|
|
70
|
+
"anthropic/claude-fable-5": {
|
|
71
|
+
inputPerMTok: 10,
|
|
72
|
+
outputPerMTok: 50
|
|
73
|
+
},
|
|
74
|
+
"anthropic/claude-opus-5": {
|
|
75
|
+
inputPerMTok: 5,
|
|
76
|
+
outputPerMTok: 25
|
|
77
|
+
},
|
|
78
|
+
"anthropic/claude-opus-4-8": {
|
|
79
|
+
inputPerMTok: 5,
|
|
80
|
+
outputPerMTok: 25
|
|
81
|
+
},
|
|
82
|
+
"anthropic/claude-opus-4-7": {
|
|
83
|
+
inputPerMTok: 5,
|
|
84
|
+
outputPerMTok: 25
|
|
85
|
+
},
|
|
86
|
+
"anthropic/claude-opus-4-6": {
|
|
87
|
+
inputPerMTok: 5,
|
|
88
|
+
outputPerMTok: 25
|
|
89
|
+
},
|
|
90
|
+
"anthropic/claude-sonnet-5": {
|
|
91
|
+
inputPerMTok: 2,
|
|
92
|
+
outputPerMTok: 10
|
|
93
|
+
},
|
|
94
|
+
"anthropic/claude-sonnet-4-6": {
|
|
95
|
+
inputPerMTok: 3,
|
|
96
|
+
outputPerMTok: 15
|
|
97
|
+
},
|
|
98
|
+
"anthropic/claude-haiku-4-5": {
|
|
99
|
+
inputPerMTok: 1,
|
|
100
|
+
outputPerMTok: 5
|
|
101
|
+
},
|
|
65
102
|
"anthropic/claude-opus-4": {
|
|
66
103
|
inputPerMTok: 15,
|
|
67
104
|
outputPerMTok: 75
|
|
@@ -366,16 +403,22 @@ function readToolDefinitions(attrs) {
|
|
|
366
403
|
}));
|
|
367
404
|
}
|
|
368
405
|
function readUsage(attrs) {
|
|
406
|
+
const inputTokens = require_json_fields.asNumber(attrs["gen_ai.usage.input_tokens"]) ?? require_json_fields.asNumber(attrs["gen_ai.usage.prompt_tokens"]) ?? require_json_fields.asNumber(attrs["llm.usage.prompt_tokens"]) ?? require_json_fields.asNumber(attrs["ai.usage.inputTokens"]);
|
|
407
|
+
const outputTokens = require_json_fields.asNumber(attrs["gen_ai.usage.output_tokens"]) ?? require_json_fields.asNumber(attrs["gen_ai.usage.completion_tokens"]) ?? require_json_fields.asNumber(attrs["llm.usage.completion_tokens"]) ?? require_json_fields.asNumber(attrs["ai.usage.outputTokens"]);
|
|
408
|
+
const cacheReadInputTokens = require_json_fields.asNumber(attrs["gen_ai.usage.cache_read.input_tokens"]) ?? require_json_fields.asNumber(attrs["cache_read_tokens"]);
|
|
409
|
+
const cacheCreationInputTokens = require_json_fields.asNumber(attrs["gen_ai.usage.cache_write.input_tokens"]) ?? require_json_fields.asNumber(attrs["gen_ai.usage.cache_creation.input_tokens"]) ?? require_json_fields.asNumber(attrs["cache_creation_tokens"]);
|
|
410
|
+
const ccInput = require_json_fields.asNumber(attrs["input_tokens"]);
|
|
369
411
|
return {
|
|
370
|
-
inputTokens:
|
|
371
|
-
outputTokens:
|
|
412
|
+
inputTokens: inputTokens ?? (ccInput === void 0 ? void 0 : ccInput + (cacheReadInputTokens ?? 0) + (cacheCreationInputTokens ?? 0)),
|
|
413
|
+
outputTokens: outputTokens ?? require_json_fields.asNumber(attrs["output_tokens"]),
|
|
372
414
|
reasoningOutputTokens: require_json_fields.asNumber(attrs["gen_ai.usage.reasoning.output_tokens"]),
|
|
373
|
-
cacheReadInputTokens
|
|
374
|
-
cacheCreationInputTokens
|
|
415
|
+
cacheReadInputTokens,
|
|
416
|
+
cacheCreationInputTokens
|
|
375
417
|
};
|
|
376
418
|
}
|
|
377
419
|
function readStreaming(attrs) {
|
|
378
|
-
const
|
|
420
|
+
const ttftMs = require_json_fields.asNumber(attrs["ttft_ms"]);
|
|
421
|
+
const timeToFirstChunkS = require_json_fields.asNumber(attrs["gen_ai.response.time_to_first_chunk"]) ?? (ttftMs === void 0 ? void 0 : ttftMs / 1e3);
|
|
379
422
|
const timeToFinishS = require_json_fields.asNumber(attrs["gen_ai.response.time_to_finish"]);
|
|
380
423
|
const outputTokensPerSecond = require_json_fields.asNumber(attrs["gen_ai.response.output_tokens_per_second"]);
|
|
381
424
|
const timePerOutputChunkS = require_json_fields.asNumber(attrs["gen_ai.response.time_per_output_chunk"]);
|
|
@@ -469,6 +512,7 @@ const KNOWN_TOP_LEVEL_KEYS = /* @__PURE__ */ new Set([
|
|
|
469
512
|
"gen_ai.usage.completion_tokens",
|
|
470
513
|
"gen_ai.usage.reasoning.output_tokens",
|
|
471
514
|
"gen_ai.usage.cache_read.input_tokens",
|
|
515
|
+
"gen_ai.usage.cache_write.input_tokens",
|
|
472
516
|
"gen_ai.usage.cache_creation.input_tokens",
|
|
473
517
|
"gen_ai.usage.cost.usd",
|
|
474
518
|
"gen_ai.response.time_to_first_chunk",
|
package/dist/genai/index.js
CHANGED
|
@@ -61,6 +61,43 @@ const TABLE = {
|
|
|
61
61
|
inputPerMTok: .5,
|
|
62
62
|
outputPerMTok: 1.5
|
|
63
63
|
},
|
|
64
|
+
"anthropic/claude-fable-5-1": {
|
|
65
|
+
inputPerMTok: 10,
|
|
66
|
+
outputPerMTok: 50,
|
|
67
|
+
cacheReadPerMTok: .25
|
|
68
|
+
},
|
|
69
|
+
"anthropic/claude-fable-5": {
|
|
70
|
+
inputPerMTok: 10,
|
|
71
|
+
outputPerMTok: 50
|
|
72
|
+
},
|
|
73
|
+
"anthropic/claude-opus-5": {
|
|
74
|
+
inputPerMTok: 5,
|
|
75
|
+
outputPerMTok: 25
|
|
76
|
+
},
|
|
77
|
+
"anthropic/claude-opus-4-8": {
|
|
78
|
+
inputPerMTok: 5,
|
|
79
|
+
outputPerMTok: 25
|
|
80
|
+
},
|
|
81
|
+
"anthropic/claude-opus-4-7": {
|
|
82
|
+
inputPerMTok: 5,
|
|
83
|
+
outputPerMTok: 25
|
|
84
|
+
},
|
|
85
|
+
"anthropic/claude-opus-4-6": {
|
|
86
|
+
inputPerMTok: 5,
|
|
87
|
+
outputPerMTok: 25
|
|
88
|
+
},
|
|
89
|
+
"anthropic/claude-sonnet-5": {
|
|
90
|
+
inputPerMTok: 2,
|
|
91
|
+
outputPerMTok: 10
|
|
92
|
+
},
|
|
93
|
+
"anthropic/claude-sonnet-4-6": {
|
|
94
|
+
inputPerMTok: 3,
|
|
95
|
+
outputPerMTok: 15
|
|
96
|
+
},
|
|
97
|
+
"anthropic/claude-haiku-4-5": {
|
|
98
|
+
inputPerMTok: 1,
|
|
99
|
+
outputPerMTok: 5
|
|
100
|
+
},
|
|
64
101
|
"anthropic/claude-opus-4": {
|
|
65
102
|
inputPerMTok: 15,
|
|
66
103
|
outputPerMTok: 75
|
|
@@ -365,16 +402,22 @@ function readToolDefinitions(attrs) {
|
|
|
365
402
|
}));
|
|
366
403
|
}
|
|
367
404
|
function readUsage(attrs) {
|
|
405
|
+
const inputTokens = asNumber(attrs["gen_ai.usage.input_tokens"]) ?? asNumber(attrs["gen_ai.usage.prompt_tokens"]) ?? asNumber(attrs["llm.usage.prompt_tokens"]) ?? asNumber(attrs["ai.usage.inputTokens"]);
|
|
406
|
+
const outputTokens = asNumber(attrs["gen_ai.usage.output_tokens"]) ?? asNumber(attrs["gen_ai.usage.completion_tokens"]) ?? asNumber(attrs["llm.usage.completion_tokens"]) ?? asNumber(attrs["ai.usage.outputTokens"]);
|
|
407
|
+
const cacheReadInputTokens = asNumber(attrs["gen_ai.usage.cache_read.input_tokens"]) ?? asNumber(attrs["cache_read_tokens"]);
|
|
408
|
+
const cacheCreationInputTokens = asNumber(attrs["gen_ai.usage.cache_write.input_tokens"]) ?? asNumber(attrs["gen_ai.usage.cache_creation.input_tokens"]) ?? asNumber(attrs["cache_creation_tokens"]);
|
|
409
|
+
const ccInput = asNumber(attrs["input_tokens"]);
|
|
368
410
|
return {
|
|
369
|
-
inputTokens:
|
|
370
|
-
outputTokens:
|
|
411
|
+
inputTokens: inputTokens ?? (ccInput === void 0 ? void 0 : ccInput + (cacheReadInputTokens ?? 0) + (cacheCreationInputTokens ?? 0)),
|
|
412
|
+
outputTokens: outputTokens ?? asNumber(attrs["output_tokens"]),
|
|
371
413
|
reasoningOutputTokens: asNumber(attrs["gen_ai.usage.reasoning.output_tokens"]),
|
|
372
|
-
cacheReadInputTokens
|
|
373
|
-
cacheCreationInputTokens
|
|
414
|
+
cacheReadInputTokens,
|
|
415
|
+
cacheCreationInputTokens
|
|
374
416
|
};
|
|
375
417
|
}
|
|
376
418
|
function readStreaming(attrs) {
|
|
377
|
-
const
|
|
419
|
+
const ttftMs = asNumber(attrs["ttft_ms"]);
|
|
420
|
+
const timeToFirstChunkS = asNumber(attrs["gen_ai.response.time_to_first_chunk"]) ?? (ttftMs === void 0 ? void 0 : ttftMs / 1e3);
|
|
378
421
|
const timeToFinishS = asNumber(attrs["gen_ai.response.time_to_finish"]);
|
|
379
422
|
const outputTokensPerSecond = asNumber(attrs["gen_ai.response.output_tokens_per_second"]);
|
|
380
423
|
const timePerOutputChunkS = asNumber(attrs["gen_ai.response.time_per_output_chunk"]);
|
|
@@ -468,6 +511,7 @@ const KNOWN_TOP_LEVEL_KEYS = /* @__PURE__ */ new Set([
|
|
|
468
511
|
"gen_ai.usage.completion_tokens",
|
|
469
512
|
"gen_ai.usage.reasoning.output_tokens",
|
|
470
513
|
"gen_ai.usage.cache_read.input_tokens",
|
|
514
|
+
"gen_ai.usage.cache_write.input_tokens",
|
|
471
515
|
"gen_ai.usage.cache_creation.input_tokens",
|
|
472
516
|
"gen_ai.usage.cost.usd",
|
|
473
517
|
"gen_ai.response.time_to_first_chunk",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as decodeOtlpTraceRequest, o as decodeOtlpLogsRequest, s as decodeOtlpMetricsRequest } from "./http-
|
|
1
|
+
import { c as decodeOtlpTraceRequest, o as decodeOtlpLogsRequest, s as decodeOtlpMetricsRequest } from "./http-CBOtd0Yi.js";
|
|
2
2
|
import { Server, ServerCredentials, status } from "@grpc/grpc-js";
|
|
3
3
|
|
|
4
4
|
//#region src/server/grpc.ts
|
|
@@ -2378,8 +2378,10 @@ function parseOtlpLogs(payload) {
|
|
|
2378
2378
|
const traceId = normalizeHexId(rec.traceId) || void 0;
|
|
2379
2379
|
const spanId = normalizeHexId(rec.spanId) || void 0;
|
|
2380
2380
|
const body = rec.body ? resolveOtlpValue(rec.body) : "";
|
|
2381
|
+
const attributes = flattenAttributes(rec.attributes);
|
|
2382
|
+
const digest = (0, node_crypto.createHash)("sha1").update(JSON.stringify([body, attributes])).digest("hex").slice(0, 8);
|
|
2381
2383
|
logs.push({
|
|
2382
|
-
id: `${traceId || "no-trace"}:${spanId || "no-span"}:${timestamp}:${rec.severityNumber || 0}`,
|
|
2384
|
+
id: `${traceId || "no-trace"}:${spanId || "no-span"}:${timestamp}:${rec.severityNumber || 0}:${digest}`,
|
|
2383
2385
|
traceId,
|
|
2384
2386
|
spanId,
|
|
2385
2387
|
resourceName: require_resource_utils.getResourceName(resourceAttrs),
|
|
@@ -2387,7 +2389,7 @@ function parseOtlpLogs(payload) {
|
|
|
2387
2389
|
severityNumber: rec.severityNumber,
|
|
2388
2390
|
body: logBody(body),
|
|
2389
2391
|
timestamp,
|
|
2390
|
-
attributes
|
|
2392
|
+
attributes,
|
|
2391
2393
|
resource: resourceAttrs
|
|
2392
2394
|
});
|
|
2393
2395
|
}
|
|
@@ -2349,8 +2349,10 @@ function parseOtlpLogs(payload) {
|
|
|
2349
2349
|
const traceId = normalizeHexId(rec.traceId) || void 0;
|
|
2350
2350
|
const spanId = normalizeHexId(rec.spanId) || void 0;
|
|
2351
2351
|
const body = rec.body ? resolveOtlpValue(rec.body) : "";
|
|
2352
|
+
const attributes = flattenAttributes(rec.attributes);
|
|
2353
|
+
const digest = createHash("sha1").update(JSON.stringify([body, attributes])).digest("hex").slice(0, 8);
|
|
2352
2354
|
logs.push({
|
|
2353
|
-
id: `${traceId || "no-trace"}:${spanId || "no-span"}:${timestamp}:${rec.severityNumber || 0}`,
|
|
2355
|
+
id: `${traceId || "no-trace"}:${spanId || "no-span"}:${timestamp}:${rec.severityNumber || 0}:${digest}`,
|
|
2354
2356
|
traceId,
|
|
2355
2357
|
spanId,
|
|
2356
2358
|
resourceName: getResourceName(resourceAttrs),
|
|
@@ -2358,7 +2360,7 @@ function parseOtlpLogs(payload) {
|
|
|
2358
2360
|
severityNumber: rec.severityNumber,
|
|
2359
2361
|
body: logBody(body),
|
|
2360
2362
|
timestamp,
|
|
2361
|
-
attributes
|
|
2363
|
+
attributes,
|
|
2362
2364
|
resource: resourceAttrs
|
|
2363
2365
|
});
|
|
2364
2366
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_http = require('./http-
|
|
2
|
+
const require_http = require('./http-B1v_UPgL.cjs');
|
|
3
3
|
const require_listen = require('./listen-l09RRHht.cjs');
|
|
4
4
|
const require_server_exporter = require('./server/exporter.cjs');
|
|
5
5
|
const require_server_log_exporter = require('./server/log-exporter.cjs');
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as ErrorAggregator, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-
|
|
1
|
+
import { C as ErrorAggregator, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-CBOtd0Yi.js";
|
|
2
2
|
import { t as listenLoopbackDualStack } from "./listen-D-lLgfro.js";
|
|
3
3
|
import { DevtoolsSpanExporter } from "./server/exporter.js";
|
|
4
4
|
import { DevtoolsLogExporter } from "./server/log-exporter.js";
|
package/dist/server/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_http = require('../http-
|
|
2
|
+
const require_http = require('../http-B1v_UPgL.cjs');
|
|
3
3
|
const require_server_exporter = require('./exporter.cjs');
|
|
4
4
|
const require_server_log_exporter = require('./log-exporter.cjs');
|
|
5
5
|
const require_server_remote_exporter = require('./remote-exporter.cjs');
|
|
6
|
-
const require_grpc = require('../grpc-
|
|
6
|
+
const require_grpc = require('../grpc-CU54oyWh.cjs');
|
|
7
7
|
|
|
8
8
|
exports.DEVTOOLS_IDENTITY = require_http.DEVTOOLS_IDENTITY;
|
|
9
9
|
exports.DevtoolsLogExporter = require_server_log_exporter.DevtoolsLogExporter;
|
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { C as ErrorAggregator, S as resolveTelemetryLimits, _ as isLoopbackHostname, a as probePortHolder, b as appendWithLimit, c as decodeOtlpTraceRequest, d as parseOtlpLogs, f as parseOtlpTraces, g as hostHeaderIsLoopback, h as allowSensitiveRequest, i as DEVTOOLS_IDENTITY, l as DevtoolsServer, m as SPAN_SCHEMA, n as createDevtoolsHttpServer, o as decodeOtlpLogsRequest, p as DevtoolsStore, s as decodeOtlpMetricsRequest, t as attachDevtoolsRoutes, u as isProtobufContentType, v as originIsLoopback, x as applyTelemetryLimits, y as appendManyWithLimit } from "../http-
|
|
1
|
+
import { C as ErrorAggregator, S as resolveTelemetryLimits, _ as isLoopbackHostname, a as probePortHolder, b as appendWithLimit, c as decodeOtlpTraceRequest, d as parseOtlpLogs, f as parseOtlpTraces, g as hostHeaderIsLoopback, h as allowSensitiveRequest, i as DEVTOOLS_IDENTITY, l as DevtoolsServer, m as SPAN_SCHEMA, n as createDevtoolsHttpServer, o as decodeOtlpLogsRequest, p as DevtoolsStore, s as decodeOtlpMetricsRequest, t as attachDevtoolsRoutes, u as isProtobufContentType, v as originIsLoopback, x as applyTelemetryLimits, y as appendManyWithLimit } from "../http-CBOtd0Yi.js";
|
|
2
2
|
import { DevtoolsSpanExporter } from "./exporter.js";
|
|
3
3
|
import { DevtoolsLogExporter } from "./log-exporter.js";
|
|
4
4
|
import { DevtoolsRemoteExporter } from "./remote-exporter.js";
|
|
5
|
-
import { t as startOtlpGrpcReceiver } from "../grpc-
|
|
5
|
+
import { t as startOtlpGrpcReceiver } from "../grpc-D0ZTTAmW.js";
|
|
6
6
|
|
|
7
7
|
export { DEVTOOLS_IDENTITY, DevtoolsLogExporter, DevtoolsRemoteExporter, DevtoolsServer, DevtoolsSpanExporter, DevtoolsStore, ErrorAggregator, SPAN_SCHEMA, allowSensitiveRequest, appendManyWithLimit, appendWithLimit, applyTelemetryLimits, attachDevtoolsRoutes, createDevtoolsHttpServer, decodeOtlpLogsRequest, decodeOtlpMetricsRequest, decodeOtlpTraceRequest, hostHeaderIsLoopback, isLoopbackHostname, isProtobufContentType, originIsLoopback, parseOtlpLogs, parseOtlpTraces, probePortHolder, resolveTelemetryLimits, startOtlpGrpcReceiver };
|