@respan/instrumentation-vercel 1.0.5 → 1.0.6
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.
|
@@ -25,14 +25,21 @@ export function enrichMetadata(attrs) {
|
|
|
25
25
|
setDefault(attrs, TRACE_GROUP_ID, String(value));
|
|
26
26
|
break;
|
|
27
27
|
case "customer_params": {
|
|
28
|
+
// customer_params is a JSON-stringified object (Vercel telemetry
|
|
29
|
+
// metadata values must be flat scalars, so users serialize the object).
|
|
30
|
+
// Documented shape uses `email` / `name` (matching the Customer columns
|
|
31
|
+
// in the UI); accept the legacy `customer_email` / `customer_name`
|
|
32
|
+
// aliases too so older integrations keep working.
|
|
28
33
|
try {
|
|
29
34
|
const parsed = typeof value === "string" ? JSON.parse(value) : value;
|
|
30
35
|
if (parsed?.customer_identifier)
|
|
31
36
|
setDefault(attrs, CUSTOMER_ID, parsed.customer_identifier);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
const email = parsed?.email ?? parsed?.customer_email;
|
|
38
|
+
if (email)
|
|
39
|
+
setDefault(attrs, CUSTOMER_EMAIL, email);
|
|
40
|
+
const name = parsed?.name ?? parsed?.customer_name;
|
|
41
|
+
if (name)
|
|
42
|
+
setDefault(attrs, CUSTOMER_NAME, name);
|
|
36
43
|
}
|
|
37
44
|
catch {
|
|
38
45
|
// Ignore malformed customer_params metadata.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-enrichment.js","sourceRoot":"","sources":["../../src/_translator/span-enrichment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,EACN,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,UAAU,GAEX,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAChE,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,qBAAqB;gBACxB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,gBAAgB;gBACnB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,eAAe;gBAClB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,oBAAoB;gBACvB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,mBAAmB;gBACtB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,wBAAwB;gBAC3B,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrE,IAAI,MAAM,EAAE,mBAAmB;wBAAE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBAC5F,IAAI,MAAM,EAAE,cAAc;wBAAE,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"span-enrichment.js","sourceRoot":"","sources":["../../src/_translator/span-enrichment.ts"],"names":[],"mappings":"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"}
|
package/dist/_translator.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { RespanLogType } from "@respan/respan-sdk";
|
|
13
13
|
import { VERCEL_PARENT_SPANS, VERCEL_SPAN_CONFIG } from "./constants/index.js";
|
|
14
14
|
import { formatCompletionOutput, formatPromptInput, formatToolInput, formatToolOutput, parseToolChoice, parseToolsValue } from "./_translator/messages.js";
|
|
15
|
-
import { AI_AGENT_ID, AI_MODEL_ID, AI_PREFIX, GEN_AI_REQUEST_MODEL, LLM_REQUEST_TYPE, RESPAN_LOG_TYPE, RESPAN_METADATA_AGENT_NAME, RESPAN_SPAN_TOOLS, TL_ENTITY_INPUT, TL_ENTITY_OUTPUT, TL_REQUEST_FUNCTIONS,
|
|
15
|
+
import { AI_AGENT_ID, AI_MODEL_ID, AI_PREFIX, GEN_AI_REQUEST_MODEL, LLM_REQUEST_TYPE, RESPAN_LOG_TYPE, RESPAN_METADATA_AGENT_NAME, RESPAN_SPAN_TOOLS, TL_ENTITY_INPUT, TL_ENTITY_OUTPUT, TL_REQUEST_FUNCTIONS, isVercelAISpan, metadataKey, normalizeModel, resolveLogType, safeJsonStr, setDefault, } from "./_translator/shared.js";
|
|
16
16
|
import { enrichMetadata, enrichPerformanceMetrics, enrichTokens, stripRedundantAttrs } from "./_translator/span-enrichment.js";
|
|
17
17
|
/**
|
|
18
18
|
* SpanProcessor that translates Vercel AI SDK attributes to Traceloop/OpenLLMetry.
|
|
@@ -57,7 +57,16 @@ export class VercelAITranslator {
|
|
|
57
57
|
}
|
|
58
58
|
attrs[RESPAN_LOG_TYPE] = logType;
|
|
59
59
|
if (config) {
|
|
60
|
-
|
|
60
|
+
// Do NOT set traceloop.span.kind for auto-emitted Vercel SDK spans.
|
|
61
|
+
// In the Respan composite processor `traceloop.span.kind` is reserved
|
|
62
|
+
// for user-decorated spans (withWorkflow / withTask / withAgent) and
|
|
63
|
+
// setting it on auto spans (a) flattens the parent/child tree and
|
|
64
|
+
// (b) causes LLM detail spans (doGenerate / doStream) to be classified
|
|
65
|
+
// as "task" instead of LLM in the backend. The respan.entity.log_type
|
|
66
|
+
// attribute (set above) carries the correct type for ingestion.
|
|
67
|
+
// Matches the patterns in respan-instrumentation-openinference (see
|
|
68
|
+
// _translator.ts:500) and respan-instrumentation-openai-agents
|
|
69
|
+
// (see _otel_emitter.ts:398).
|
|
61
70
|
if (config.isLLM) {
|
|
62
71
|
setDefault(attrs, LLM_REQUEST_TYPE, RespanLogType.CHAT);
|
|
63
72
|
const modelId = attrs[AI_MODEL_ID];
|
package/dist/_translator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_translator.js","sourceRoot":"","sources":["../src/_translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3J,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"_translator.js","sourceRoot":"","sources":["../src/_translator.ts"],"names":[],"mappings":"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"}
|