fix(javascript): accept retained empty endpoint seeds (#6462)

Application analysis preserves the complete literal request endpoint,
including the empty string, and the event seed already accepts a
retained empty name. The endpoint seed still required a non-empty
value, so trace-javascript-semantics refused to select a retained ""
endpoint with invalid_request.

The endpoint seed now accepts any string and keeps exact matching.
Boundary-field seeds keep their minimum because boundary nodes are only
produced from method names.

Found while fixing #6458; the event half of that report landed in
cf5e4f6fa.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Lewis WangandClaude Fable 5.1 authored and GitHub committed 2026-11-03 10:10:33 +08:00
1 parent 193e01abb1
commit b912ec184c
2 files changed
+64 -1

No files matched your search

@@ -42,9 +42,11 @@ export const javaScriptSemanticQuerySeedSchema = z.discriminatedUnion("kind", [
kind: z.literal("property"),
name: z.string(),
}),
// Analysis preserves the complete literal endpoint, including the empty
// string, so the seed matches any retained value exactly, as event does.
z.strictObject({
kind: z.literal("endpoint"),
value: z.string().min(1),
value: z.string(),
}),
z.strictObject({
kind: z.literal("event"),