@superblocksteam/telemetry 2.0.139 → 2.0.140-next.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 (59) hide show
  1. package/dist/browser/init.d.ts +2 -0
  2. package/dist/browser/init.d.ts.map +1 -1
  3. package/dist/browser/init.js +3 -0
  4. package/dist/browser/init.js.map +1 -1
  5. package/dist/common/contracts/tier2-traces.d.ts +30 -10
  6. package/dist/common/contracts/tier2-traces.d.ts.map +1 -1
  7. package/dist/common/contracts/tier2-traces.js +57 -12
  8. package/dist/common/contracts/tier2-traces.js.map +1 -1
  9. package/dist/common/resource.d.ts +14 -0
  10. package/dist/common/resource.d.ts.map +1 -1
  11. package/dist/common/resource.js +20 -0
  12. package/dist/common/resource.js.map +1 -1
  13. package/dist/node/dynamic-attribute-processor.d.ts +43 -0
  14. package/dist/node/dynamic-attribute-processor.d.ts.map +1 -0
  15. package/dist/node/dynamic-attribute-processor.js +79 -0
  16. package/dist/node/dynamic-attribute-processor.js.map +1 -0
  17. package/dist/node/index.d.ts +1 -1
  18. package/dist/node/index.d.ts.map +1 -1
  19. package/dist/node/index.js.map +1 -1
  20. package/dist/node/init.d.ts +24 -2
  21. package/dist/node/init.d.ts.map +1 -1
  22. package/dist/node/init.js +55 -16
  23. package/dist/node/init.js.map +1 -1
  24. package/dist/node/service-tracers.d.ts +52 -0
  25. package/dist/node/service-tracers.d.ts.map +1 -0
  26. package/dist/node/service-tracers.js +81 -0
  27. package/dist/node/service-tracers.js.map +1 -0
  28. package/dist/types/index.d.ts +11 -0
  29. package/dist/types/index.d.ts.map +1 -1
  30. package/dist-esm/browser/init.d.ts +2 -0
  31. package/dist-esm/browser/init.d.ts.map +1 -1
  32. package/dist-esm/browser/init.js +3 -0
  33. package/dist-esm/browser/init.js.map +1 -1
  34. package/dist-esm/common/contracts/tier2-traces.d.ts +30 -10
  35. package/dist-esm/common/contracts/tier2-traces.d.ts.map +1 -1
  36. package/dist-esm/common/contracts/tier2-traces.js +57 -12
  37. package/dist-esm/common/contracts/tier2-traces.js.map +1 -1
  38. package/dist-esm/common/resource.d.ts +14 -0
  39. package/dist-esm/common/resource.d.ts.map +1 -1
  40. package/dist-esm/common/resource.js +19 -0
  41. package/dist-esm/common/resource.js.map +1 -1
  42. package/dist-esm/node/dynamic-attribute-processor.d.ts +43 -0
  43. package/dist-esm/node/dynamic-attribute-processor.d.ts.map +1 -0
  44. package/dist-esm/node/dynamic-attribute-processor.js +74 -0
  45. package/dist-esm/node/dynamic-attribute-processor.js.map +1 -0
  46. package/dist-esm/node/index.d.ts +1 -1
  47. package/dist-esm/node/index.d.ts.map +1 -1
  48. package/dist-esm/node/index.js.map +1 -1
  49. package/dist-esm/node/init.d.ts +24 -2
  50. package/dist-esm/node/init.d.ts.map +1 -1
  51. package/dist-esm/node/init.js +56 -17
  52. package/dist-esm/node/init.js.map +1 -1
  53. package/dist-esm/node/service-tracers.d.ts +52 -0
  54. package/dist-esm/node/service-tracers.d.ts.map +1 -0
  55. package/dist-esm/node/service-tracers.js +78 -0
  56. package/dist-esm/node/service-tracers.js.map +1 -0
  57. package/dist-esm/types/index.d.ts +11 -0
  58. package/dist-esm/types/index.d.ts.map +1 -1
  59. package/package.json +4 -4
@@ -1,16 +1,30 @@
1
1
  /**
2
- * Tier 2 Traces Contract (v0.5.0)
2
+ * Tier 2 Traces Contract (v0.6.0) — TypeScript mirror.
3
3
  *
4
- * Single source of truth for Tier 2 sanitized trace telemetry.
5
- * Mirrors: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.5.0.json
4
+ * THIS FILE IS A MIRROR, NOT THE SOURCE OF TRUTH. The canonical Tier 2 traces
5
+ * contract lives in the `engineering` repo:
6
+ * - engineering/projects/o11y-refactor/contracts/tier2-traces.v0.6.0.json (canonical contract)
7
+ * - engineering/projects/o11y-refactor/contracts/README.md (rationale, Versioning Policy, Review Checklist)
8
+ * Org-wide telemetry naming and the Tier 2 privacy boundary are documented in the
9
+ * `workspace` repo: workspace/docs/naming-conventions.md and the `observability`
10
+ * skill (.agents/skills/observability/SKILL.md).
6
11
  *
7
- * Used by:
8
- * - trace-sanitizer (SDK: which spans/attributes to export)
9
- * - lint/forbidden-attributes (ESLint)
10
- * - guardrails (dev-time warnings)
11
- * - Collector config generation
12
+ * CHANGING TIER 2 BEHAVIOR (forbidden / hashed / dropped / allowed attributes):
13
+ * 1. Update the canonical JSON in `engineering` FIRST, as a NEW version, per the
14
+ * README Versioning Policy (breaking = MAJOR, additive = MINOR, docs = PATCH).
15
+ * 2. Propagate the SAME change to every mirror so they stay byte-for-byte aligned:
16
+ * - this file (TS SDK sanitizer / ESLint / guardrails)
17
+ * - orchestrator/pkg/telemetry/forbidden_attributes.go (Go SDK maps)
18
+ * - orchestrator/pkg/telemetry/contracts/tier2-traces.json (Go embedded; regenerate via
19
+ * orchestrator/scripts/sync-ts-telemetry-contracts.sh — do not hand-edit)
20
+ * Editing this file alone silently drifts from the contract and the other SDKs, which
21
+ * lets a re-cased or newly added attribute bypass the Tier 2 privacy boundary. Cross-surface
22
+ * parity is enforced by the orchestrator Go tests (TestForbiddenAttributesMatchTSContract,
23
+ * TestDroppedAttributesMatchTS).
12
24
  *
13
- * "request handler *" is a local extension for Express instrumentation (not in JSON).
25
+ * Used by: trace-sanitizer (which spans/attributes to export), lint/forbidden-attributes
26
+ * (ESLint), guardrails (dev-time warnings), and Collector config generation.
27
+ * "request handler *" is a local extension for Express instrumentation (not in the JSON).
14
28
  */
15
29
  import { DeploymentTypeEnum } from "@superblocksteam/shared";
16
30
  export function getAttributeName(attr) {
@@ -522,7 +536,7 @@ export function getTraceContract(deploymentType) {
522
536
  }
523
537
  }
524
538
  // ---------------------------------------------------------------------------
525
- // Forbidden / hashed / dropped attribute names (v0.4.0 JSON)
539
+ // Forbidden / hashed / dropped attribute names (v0.6.0 JSON)
526
540
  // ---------------------------------------------------------------------------
527
541
  /** Forbidden in Tier 2 (forbiddenAttributes in contract). Collector strips these entirely. */
528
542
  export const FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
@@ -530,12 +544,19 @@ export const FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
530
544
  "llmobs.output",
531
545
  "prompt",
532
546
  "code",
547
+ "code.path",
548
+ "code.function.name",
533
549
  "tool_input",
534
550
  "tool_output",
551
+ "tool.input",
552
+ "tool.output",
535
553
  "file_path",
536
554
  "file_content",
555
+ "file.path",
556
+ "file.content",
537
557
  "db.statement",
538
558
  "db.query.text",
559
+ "db.query_text",
539
560
  "http.request.body",
540
561
  "http.response.body",
541
562
  "url.full",
@@ -555,14 +576,20 @@ export const FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
555
576
  // (api-name, resource-name) and widget-type stay forbidden as customer content.
556
577
  "api-name",
557
578
  "api_name",
579
+ "api.name",
558
580
  "resource-name",
559
581
  "resource_name",
582
+ "resource.name",
560
583
  "widget-type",
584
+ "widget_type",
585
+ "widget.type",
561
586
  "branch",
562
587
  "error.stack",
563
588
  "exception.stacktrace",
564
589
  "auth_token",
565
590
  "api_key",
591
+ "api-key",
592
+ "api.key",
566
593
  "authorization",
567
594
  "cookie",
568
595
  "x-api-key",
@@ -571,8 +598,12 @@ export const FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
571
598
  // future emitter that names an attribute after the token is stripped.
572
599
  "npm.token",
573
600
  "npm_token",
601
+ "npm-token",
602
+ "npm.registry.token",
574
603
  "npm.registry_token",
575
604
  "registry_token",
605
+ "registry-token",
606
+ "registry.token",
576
607
  ];
577
608
  /**
578
609
  * Hashed (keyed HMAC) for Tier 2 (hashedAttributes in contract).
@@ -585,14 +616,28 @@ export const FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
585
616
  * these fail closed and never flow raw until an HMAC key is provisioned.
586
617
  */
587
618
  export const HASHED_TIER_2_SPAN_ATTRIBUTES = [
619
+ "enduser-id",
588
620
  "enduser.id",
621
+ "enduser_id",
622
+ "session-id",
589
623
  "session.id",
624
+ "session_id",
590
625
  "user-id",
591
626
  "user.id",
592
627
  "user_id",
593
628
  ];
594
- /** Dropped — high cardinality, no hash value (droppedAttributes in contract). */
595
- export const DROPPED_HIGH_CARDINALITY_ATTRIBUTES = ["binding_keys"];
629
+ /**
630
+ * Dropped high cardinality, no hash value (droppedAttributes in contract).
631
+ * The contract's dropped set also lists correlation/request/trace/execution ids,
632
+ * but those are dropped at the collector (and pass through at the SDK in
633
+ * pass-through mode); the SDK only hard-drops binding keys. v0.6.0 adds the
634
+ * dotted/kebab spellings of binding_keys for casing parity.
635
+ */
636
+ export const DROPPED_HIGH_CARDINALITY_ATTRIBUTES = [
637
+ "binding-keys",
638
+ "binding.keys",
639
+ "binding_keys",
640
+ ];
596
641
  // ---------------------------------------------------------------------------
597
642
  // Set views (for lint, guardrails: fast .has() lookup)
598
643
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"tier2-traces.js","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAsB7D,MAAM,UAAU,gBAAgB,CAAC,IAAsB;IACrD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,8BAA8B,GAAuB;IACzD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrD,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7D;QACE,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE;YACb,SAAS;YACT,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,MAAM;YACN,SAAS;YACT,OAAO;YACP,YAAY;YACZ,SAAS;YACT,SAAS;YACT,kBAAkB;SACnB;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE;YACb,MAAM;YACN,YAAY;YACZ,cAAc;YACd,kBAAkB;YAClB,cAAc;YACd,iBAAiB;SAClB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,aAAa,EAAE;YACb,WAAW;YACX,aAAa;YACb,oBAAoB;YACpB,iBAAiB;YACjB,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,eAAe;YACf,MAAM;YACN,YAAY;YACZ,QAAQ;SACT;KACF;IACD,EAAE,IAAI,EAAE,sBAAsB,EAAE,cAAc,EAAE,EAAE,EAAE;IACpD;QACE,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;KACpC;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,aAAa,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;KAC3E;IACD,EAAE,IAAI,EAAE,uBAAuB,EAAE,cAAc,EAAE,EAAE,EAAE;IACrD;QACE,IAAI,EAAE,eAAe;QACrB,aAAa,EAAE;YACb,WAAW;YACX,aAAa;YACb,oBAAoB;YACpB,iBAAiB;YACjB,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,eAAe;YACf,MAAM;YACN,YAAY;YACZ,QAAQ;SACT;KACF;IACD,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtD,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrD,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtD,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzD,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3C;QACE,IAAI,EAAE,oBAAoB;QAC1B,aAAa,EAAE;YACb,SAAS;YACT,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,MAAM;YACN,SAAS;YACT,OAAO;YACP,YAAY;YACZ,SAAS;YACT,SAAS;YACT,kBAAkB;SACnB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,aAAa,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;KAC3E;IACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE;IACzC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7C;QACE,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE;YACb,WAAW;YACX,OAAO;YACP,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,QAAQ;SACT;KACF;IACD,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAChD;QACE,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;KACpC;IACD,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5C,kBAAkB;IAClB;QACE,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC;KAC9D;CACF,CAAC;AAEF,MAAM,2BAA2B,GAAuB;IACtD,GAAG,8BAA8B;IACjC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5C;QACE,IAAI,EAAE,qBAAqB;QAC3B,aAAa,EAAE;YACb,iBAAiB;YACjB,MAAM;YACN,WAAW;YACX,mBAAmB;YACnB,SAAS;YACT,SAAS;YACT,kBAAkB;SACnB;KACF;IACD,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE;IACzC;QACE,IAAI,EAAE,aAAa;QACnB,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;KACpC;CACF,CAAC;AAEF,MAAM,6BAA6B,GAAuB;IACxD,GAAG,8BAA8B;IACjC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvC;QACE,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;KAC9D;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD;QACE,IAAI,EAAE,YAAY;QAClB,iBAAiB,EAAE;YACjB,aAAa;YACb,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,kBAAkB;YAClB,8BAA8B;YAC9B,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;SACrE;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE;YACjB,aAAa;YACb,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,kBAAkB;YAClB,8BAA8B;YAC9B,6BAA6B;YAC7B,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;SACrE;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,iBAAiB,EAAE;YACjB,aAAa;YACb,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,kBAAkB;YAClB,8BAA8B;YAC9B,6BAA6B;SAC9B;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,iBAAiB,EAAE;YACjB,aAAa;YACb,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,kBAAkB;YAClB,8BAA8B;SAC/B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,iBAAiB,EAAE;YACjB,aAAa;YACb,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,kBAAkB;YAClB,8BAA8B;YAC9B,6BAA6B;SAC9B;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,iBAAiB,EAAE;YACjB,aAAa;YACb,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,kBAAkB;YAClB,8BAA8B;YAC9B,6BAA6B;YAC7B,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;YACpE,eAAe;SAChB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;YAChE,EAAE,IAAI,EAAE,4BAA4B,EAAE,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE;YACpE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;SAC3C;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;SACjE;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;YAChE,EAAE,IAAI,EAAE,4BAA4B,EAAE,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE;SACrE;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;YACrE;gBACE,IAAI,EAAE,YAAY;gBAClB,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;aAC5D;YACD,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE;YACzE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YACpD,kBAAkB;YAClB,yBAAyB;SAC1B;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE;YACzC,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;YAC5D,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,kBAAkB;SACnB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;YAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;SAC9D;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE;YAC3C;gBACE,IAAI,EAAE,cAAc;gBACpB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;aAC7D;YACD,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;YACjE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9C,kBAAkB;SACnB;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE;YACjB;gBACE,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE;oBACb,YAAY;oBACZ,OAAO;oBACP,OAAO;oBACP,SAAS;oBACT,OAAO;oBACP,WAAW;oBACX,UAAU;oBACV,YAAY;oBACZ,UAAU;oBACV,QAAQ;iBACT;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;aACjE;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;YACvC,kBAAkB;SACnB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,8FAA8F;QAChG,iBAAiB,EAAE,8BAA8B;KAClD;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,gGAAgG;QAClG,iBAAiB,EAAE,8BAA8B;KAClD;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kGAAkG;QACpG,iBAAiB,EAAE,6BAA6B;KACjD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,iGAAiG;QACnG,iBAAiB,EAAE,2BAA2B;KAC/C;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0CAA0C;QACvD,iBAAiB,EAAE,8BAA8B;KAClD;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4CAA4C;QACzD,iBAAiB,EAAE,2BAA2B;KAC/C;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yCAAyC;QACtD,iBAAiB,EAAE;YACjB,WAAW;YACX,cAAc;YACd,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7C;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,8CAA8C;QAC3D,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvC;gBACE,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;aAC9D;SACF;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,iBAAiB,EAAE;YACjB,qBAAqB;YACrB,oBAAoB;YACpB,wBAAwB;YACxB,yBAAyB;YACzB,sBAAsB;YACtB;gBACE,IAAI,EAAE,iBAAiB;gBACvB,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C;gBACE,IAAI,EAAE,aAAa;gBACnB,aAAa,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,OAAO,CAAC;aACjE;YACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7C;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE;YAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE;YAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE;YAC3C,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACjD;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;YACtD,EAAE,IAAI,EAAE,uBAAuB,EAAE,cAAc,EAAE,EAAE,EAAE;YACrD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;aACjD;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;YAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE;SAC7C;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,iBAAiB,EAAE;YACjB,aAAa;YACb,kBAAkB;YAClB,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE;SAC3C;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,iBAAiB,EAAE;YACjB;gBACE,IAAI,EAAE,eAAe;gBACrB,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;aAChD;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;aAC/C;SACF;KACF;IACD,kEAAkE;IAClE;QACE,IAAI,EAAE,YAAY;QAClB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE;YAC3C;gBACE,IAAI,EAAE,eAAe;gBACrB,aAAa,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;aACrC;YACD,kBAAkB;YAClB,yBAAyB;SAC1B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE;YAC3C,kBAAkB;YAClB,yBAAyB;SAC1B;KACF;IACD,wEAAwE;IACxE;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,+LAA+L;QACjM,iBAAiB,EAAE;YACjB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,kBAAkB;YAClB,yBAAyB;SAC1B;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD,EAAE,IAAI,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,cAAkC;IAElC,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,kBAAkB,CAAC,KAAK;YAC3B,OAAO,oBAAoB,CAAC;QAC9B,KAAK,kBAAkB,CAAC,UAAU,CAAC;QACnC;YACE,OAAO,qBAAqB,CAAC;IACjC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gCAAgC,GAAa;IACxD,cAAc;IACd,eAAe;IACf,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,aAAa;IACb,WAAW;IACX,cAAc;IACd,cAAc;IACd,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,UAAU;IACV,WAAW;IACX,UAAU;IACV,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,8EAA8E;IAC9E,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,+EAA+E;IAC/E,yEAAyE;IACzE,gFAAgF;IAChF,UAAU;IACV,UAAU;IACV,eAAe;IACf,eAAe;IACf,aAAa;IACb,QAAQ;IACR,aAAa;IACb,sBAAsB;IACtB,YAAY;IACZ,SAAS;IACT,eAAe;IACf,QAAQ;IACR,WAAW;IACX,0EAA0E;IAC1E,sEAAsE;IACtE,sEAAsE;IACtE,WAAW;IACX,WAAW;IACX,oBAAoB;IACpB,gBAAgB;CACjB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAa;IACrD,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,mCAAmC,GAAa,CAAC,cAAc,CAAC,CAAC;AAE9E,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAC/C,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAC7C,mCAAmC,CACpC,CAAC;AAEF,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAgB9C;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,cAAkC;IAElC,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACzD,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,kBAAkB,CAAC,KAAK;YAC3B,OAAO;gBACL,mBAAmB,EAAE,mBAAmB;gBACxC,iBAAiB,EAAE,mBAAmB;gBACtC,gBAAgB,EAAE,mBAAmB;gBACrC,eAAe;gBACf,6BAA6B,EAAE,IAAI;aACpC,CAAC;QACJ,KAAK,kBAAkB,CAAC,UAAU,CAAC;QACnC;YACE,OAAO;gBACL,mBAAmB,EAAE,0BAA0B;gBAC/C,iBAAiB,EAAE,wBAAwB;gBAC3C,gBAAgB,EAAE,uBAAuB;gBACzC,eAAe;gBACf,wEAAwE;gBACxE,uEAAuE;gBACvE,+CAA+C;gBAC/C,6BAA6B,EAAE,KAAK;aACrC,CAAC;IACN,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,8DAA8D;IAC9D,8BAA8B;IAC9B,8BAA8B;IAC9B,mDAAmD;IACnD,sBAAsB;IACtB,4CAA4C;IAC5C,4EAA4E;IAC5E,yEAAyE;IACzE,yEAAyE;IACzE,0BAA0B;IAC1B,oFAAoF;CACrF,CAAC;AAEF,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"tier2-traces.js","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,20 @@ export declare const SUPERBLOCKS_NAMESPACE = "superblocks";
46
46
  * @returns Resource with standardized attributes
47
47
  */
48
48
  export declare function buildResource(config: BaseTelemetryConfig): Resource;
49
+ /**
50
+ * Derive a resource identical to `base` but with a different `service.name`.
51
+ *
52
+ * Used to emit a subset of a service's spans under a secondary service identity
53
+ * (e.g. server LLM-Obs spans under `superblocks-ai-code-gen`) while every other
54
+ * resource attribute — version, environment, superblocks.* — is inherited.
55
+ * Datadog maps the OTel resource `service.name` to LLM-Obs `ml_app`, so this is
56
+ * the only sanctioned way to change `ml_app` for those spans. See APPS-5082.
57
+ *
58
+ * @param base - Resource to derive from (not mutated)
59
+ * @param serviceName - Service name to apply
60
+ * @returns A new resource with the overridden service.name
61
+ */
62
+ export declare function withServiceName(base: Resource, serviceName: string): Resource;
49
63
  /**
50
64
  * Validate that a resource has all required attributes.
51
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAKnD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,6EAI/B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAKnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAiBnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAOzD;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CASN"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAKnD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,6EAI/B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAKnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAiBnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAOzD;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CASN"}
@@ -69,6 +69,25 @@ export function buildResource(config) {
69
69
  ...config.resourceAttributes,
70
70
  }));
71
71
  }
72
+ /**
73
+ * Derive a resource identical to `base` but with a different `service.name`.
74
+ *
75
+ * Used to emit a subset of a service's spans under a secondary service identity
76
+ * (e.g. server LLM-Obs spans under `superblocks-ai-code-gen`) while every other
77
+ * resource attribute — version, environment, superblocks.* — is inherited.
78
+ * Datadog maps the OTel resource `service.name` to LLM-Obs `ml_app`, so this is
79
+ * the only sanctioned way to change `ml_app` for those spans. See APPS-5082.
80
+ *
81
+ * @param base - Resource to derive from (not mutated)
82
+ * @param serviceName - Service name to apply
83
+ * @returns A new resource with the overridden service.name
84
+ */
85
+ export function withServiceName(base, serviceName) {
86
+ if (!serviceName?.trim()) {
87
+ throw new Error("[Telemetry] withServiceName: serviceName must be a non-empty string");
88
+ }
89
+ return base.merge(resourceFromAttributes({ [ATTR_SERVICE_NAME]: serviceName }));
90
+ }
72
91
  /**
73
92
  * Validate that a resource has all required attributes.
74
93
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,sBAAsB,EACtB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAI7C,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,gCAAgC,GAAG,6BAA6B,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc;IACd,iBAAiB;IACjB,6BAA6B;CACrB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,cAAc;IACd,iBAAiB;IACjB,6BAA6B;IAC7B,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,cAAc,GAAe;QACjC,6DAA6D;QAC7D,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW;QACvC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,cAAc;QAC7C,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC,WAAW;QAEtD,0CAA0C;QAC1C,CAAC,GAAG,qBAAqB,cAAc,CAAC,EAAE,MAAM,CAAC,WAAW;KAC7D,CAAC;IAEF,OAAO,eAAe,EAAE,CAAC,KAAK,CAC5B,sBAAsB,CAAC;QACrB,GAAG,cAAc;QACjB,GAAG,MAAM,CAAC,kBAAkB;KAC7B,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,4BAA4B,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAAkC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,cAAc,GAAG,0DAA0D;gBACzE,qDAAqD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,sBAAsB,EACtB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAI7C,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,gCAAgC,GAAG,6BAA6B,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc;IACd,iBAAiB;IACjB,6BAA6B;CACrB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,cAAc;IACd,iBAAiB;IACjB,6BAA6B;IAC7B,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,cAAc,GAAe;QACjC,6DAA6D;QAC7D,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW;QACvC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,cAAc;QAC7C,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC,WAAW;QAEtD,0CAA0C;QAC1C,CAAC,GAAG,qBAAqB,cAAc,CAAC,EAAE,MAAM,CAAC,WAAW;KAC7D,CAAC;IAEF,OAAO,eAAe,EAAE,CAAC,KAAK,CAC5B,sBAAsB,CAAC;QACrB,GAAG,cAAc;QACjB,GAAG,MAAM,CAAC,kBAAkB;KAC7B,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,WAAmB;IACjE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CACf,sBAAsB,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,4BAA4B,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAAkC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,cAAc,GAAG,0DAA0D;gBACzE,qDAAqD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { Context } from "@opentelemetry/api";
2
+ import type { LogRecordProcessor, SdkLogRecord } from "@opentelemetry/sdk-logs";
3
+ import type { ReadableSpan, Span, SpanProcessor } from "@opentelemetry/sdk-trace-base";
4
+ /**
5
+ * Wraps a span processor and stamps caller-provided attributes onto every span
6
+ * at start.
7
+ *
8
+ * This exists for attributes that are only known AFTER the SDK is initialized —
9
+ * e.g. the application/user/org identity a dev-server learns at connect time,
10
+ * when the SDK must already be running to instrument startup. Rather than
11
+ * re-initializing the SDK (which would churn instrumentation), the caller passes
12
+ * a getter that returns the current identity, and each span picks it up on start.
13
+ *
14
+ * Override semantics: `onStart` runs after creation-time attributes are applied,
15
+ * so a dynamic attribute overwrites any same-key attribute passed to `startSpan`.
16
+ * Attributes set on the span after creation still overwrite the dynamic value.
17
+ */
18
+ export declare class DynamicAttributeSpanProcessor implements SpanProcessor {
19
+ private readonly inner;
20
+ private readonly attributes;
21
+ constructor(inner: SpanProcessor, attributes: () => Record<string, string>);
22
+ onStart(span: Span, parentContext: Context): void;
23
+ onEnd(span: ReadableSpan): void;
24
+ forceFlush(): Promise<void>;
25
+ shutdown(): Promise<void>;
26
+ }
27
+ /**
28
+ * Log-record twin of {@link DynamicAttributeSpanProcessor}: stamps the same
29
+ * late-known identity onto every exported log record. Without it, a service
30
+ * whose SDK started before identity was known (the dev-server preload) would
31
+ * export logs missing the application/user/org attributes that spans carry.
32
+ * Same override semantics as the span twin: dynamic attributes win over
33
+ * same-key attributes already on the record at emit time.
34
+ */
35
+ export declare class DynamicAttributeLogRecordProcessor implements LogRecordProcessor {
36
+ private readonly inner;
37
+ private readonly attributes;
38
+ constructor(inner: LogRecordProcessor, attributes: () => Record<string, string>);
39
+ onEmit(logRecord: SdkLogRecord, context?: Context): void;
40
+ forceFlush(): Promise<void>;
41
+ shutdown(): Promise<void>;
42
+ }
43
+ //# sourceMappingURL=dynamic-attribute-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-attribute-processor.d.ts","sourceRoot":"","sources":["../../src/node/dynamic-attribute-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,aAAa,EACd,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,qBAAa,6BAA8B,YAAW,aAAa;IAE/D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAG3D,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAUjD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAI/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B;AAED;;;;;;;GAOG;AACH,qBAAa,kCAAmC,YAAW,kBAAkB;IAEzE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAG3D,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAUxD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Wraps a span processor and stamps caller-provided attributes onto every span
3
+ * at start.
4
+ *
5
+ * This exists for attributes that are only known AFTER the SDK is initialized —
6
+ * e.g. the application/user/org identity a dev-server learns at connect time,
7
+ * when the SDK must already be running to instrument startup. Rather than
8
+ * re-initializing the SDK (which would churn instrumentation), the caller passes
9
+ * a getter that returns the current identity, and each span picks it up on start.
10
+ *
11
+ * Override semantics: `onStart` runs after creation-time attributes are applied,
12
+ * so a dynamic attribute overwrites any same-key attribute passed to `startSpan`.
13
+ * Attributes set on the span after creation still overwrite the dynamic value.
14
+ */
15
+ export class DynamicAttributeSpanProcessor {
16
+ inner;
17
+ attributes;
18
+ constructor(inner, attributes) {
19
+ this.inner = inner;
20
+ this.attributes = attributes;
21
+ }
22
+ onStart(span, parentContext) {
23
+ // Telemetry must never break span creation; a bad getter is swallowed.
24
+ try {
25
+ span.setAttributes(this.attributes());
26
+ }
27
+ catch {
28
+ // ignore
29
+ }
30
+ this.inner.onStart(span, parentContext);
31
+ }
32
+ onEnd(span) {
33
+ this.inner.onEnd(span);
34
+ }
35
+ forceFlush() {
36
+ return this.inner.forceFlush();
37
+ }
38
+ shutdown() {
39
+ return this.inner.shutdown();
40
+ }
41
+ }
42
+ /**
43
+ * Log-record twin of {@link DynamicAttributeSpanProcessor}: stamps the same
44
+ * late-known identity onto every exported log record. Without it, a service
45
+ * whose SDK started before identity was known (the dev-server preload) would
46
+ * export logs missing the application/user/org attributes that spans carry.
47
+ * Same override semantics as the span twin: dynamic attributes win over
48
+ * same-key attributes already on the record at emit time.
49
+ */
50
+ export class DynamicAttributeLogRecordProcessor {
51
+ inner;
52
+ attributes;
53
+ constructor(inner, attributes) {
54
+ this.inner = inner;
55
+ this.attributes = attributes;
56
+ }
57
+ onEmit(logRecord, context) {
58
+ // Telemetry must never break log emission; a bad getter is swallowed.
59
+ try {
60
+ logRecord.setAttributes(this.attributes());
61
+ }
62
+ catch {
63
+ // ignore
64
+ }
65
+ this.inner.onEmit(logRecord, context);
66
+ }
67
+ forceFlush() {
68
+ return this.inner.forceFlush();
69
+ }
70
+ shutdown() {
71
+ return this.inner.shutdown();
72
+ }
73
+ }
74
+ //# sourceMappingURL=dynamic-attribute-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-attribute-processor.js","sourceRoot":"","sources":["../../src/node/dynamic-attribute-processor.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,6BAA6B;IAErB;IACA;IAFnB,YACmB,KAAoB,EACpB,UAAwC;QADxC,UAAK,GAAL,KAAK,CAAe;QACpB,eAAU,GAAV,UAAU,CAA8B;IACxD,CAAC;IAEJ,OAAO,CAAC,IAAU,EAAE,aAAsB;QACxC,uEAAuE;QACvE,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,kCAAkC;IAE1B;IACA;IAFnB,YACmB,KAAyB,EACzB,UAAwC;QADxC,UAAK,GAAL,KAAK,CAAoB;QACzB,eAAU,GAAV,UAAU,CAA8B;IACxD,CAAC;IAEJ,MAAM,CAAC,SAAuB,EAAE,OAAiB;QAC/C,sEAAsE;QACtE,IAAI,CAAC;YACH,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * This is the ONLY approved way to initialize telemetry in Node.js services.
5
5
  */
6
- export { initNodeTelemetry, getTelemetryInstance, isTelemetryInitialized, resetTelemetry, type NodeTelemetryInstance, } from "./init.js";
6
+ export { initNodeTelemetry, getTelemetryInstance, isTelemetryInitialized, resetTelemetry, type GetTracerOptions, type NodeTelemetryInstance, } from "./init.js";
7
7
  export { isLocalObsMode } from "./local-obs-mode.js";
8
8
  export { MetricsClient, type Labels, type CounterHandle, type GaugeHandle, type HistogramHandle, } from "./metrics-client.js";
9
9
  export { TracedSocket, type TracedSocketConfig, type TracedSocketOptions, } from "./traced-socket.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gCAAgC,EAChC,oCAAoC,EACpC,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gCAAgC,EAChC,oCAAoC,EACpC,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,aAAa,GAKd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gCAAgC,EAChC,oCAAoC,EACpC,kBAAkB,GAEnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,GAGf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,aAAa,GAKd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gCAAgC,EAChC,oCAAoC,EACpC,kBAAkB,GAEnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC"}
@@ -11,6 +11,17 @@ import { TelemetryPolicyEvaluator } from "../common/policy-evaluator.js";
11
11
  import type { NodeTelemetryConfig } from "../types/index.js";
12
12
  import { TelemetryPolicy } from "../types/policy.js";
13
13
  import { MetricsClient } from "./metrics-client.js";
14
+ /**
15
+ * Options for {@link NodeTelemetryInstance.getTracer}.
16
+ */
17
+ export interface GetTracerOptions {
18
+ /**
19
+ * Emit the tracer's spans under this service identity (its resource
20
+ * `service.name`, which Datadog maps to LLM-Obs `ml_app`). Omit for the
21
+ * primary service.
22
+ */
23
+ serviceName?: string;
24
+ }
14
25
  /**
15
26
  * Telemetry instance returned by initNodeTelemetry.
16
27
  */
@@ -19,8 +30,16 @@ export interface NodeTelemetryInstance {
19
30
  sdk?: NodeSDK;
20
31
  /** Policy evaluator for runtime decisions */
21
32
  policyEvaluator: TelemetryPolicyEvaluator;
22
- /** Get a tracer for the service */
23
- getTracer: (name?: string) => Tracer;
33
+ /**
34
+ * Get a tracer for the service.
35
+ *
36
+ * Pass `options.serviceName` to emit the tracer's spans under a secondary
37
+ * service identity (its resource `service.name`, which Datadog maps to LLM-Obs
38
+ * `ml_app`) while sharing this SDK's sanitization + export pipeline. Omit it
39
+ * for the primary service. The `options` argument is additive and optional —
40
+ * existing single-argument callers are unaffected. See APPS-5082.
41
+ */
42
+ getTracer: (name?: string, options?: GetTracerOptions) => Tracer;
24
43
  /** Get a meter for the service */
25
44
  getMeter: (name?: string) => Meter;
26
45
  /** Get a logger for the service */
@@ -30,6 +49,9 @@ export interface NodeTelemetryInstance {
30
49
  /** Graceful shutdown */
31
50
  shutdown: () => Promise<void>;
32
51
  }
52
+ declare global {
53
+ var __superblocksNodeTelemetryInstance: NodeTelemetryInstance | undefined;
54
+ }
33
55
  /**
34
56
  * Initialize Node.js telemetry with policy enforcement.
35
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/node/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAS,MAAM,EAAW,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAQ,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAWvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAC;AAQpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mCAAmC;IACnC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,kCAAkC;IAClC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IACnC,mCAAmC;IACnC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,oEAAoE;IACpE,aAAa,EAAE,aAAa,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAmGD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,eAAe,GACtB,qBAAqB,CAiMvB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,CAO5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/node/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAS,MAAM,EAAW,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAQ,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAcvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAC;AAYpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,eAAe,EAAE,wBAAwB,CAAC;IAC1C;;;;;;;;OAQG;IACH,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACjE,kCAAkC;IAClC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IACnC,mCAAmC;IACnC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,oEAAoE;IACpE,aAAa,EAAE,aAAa,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AASD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kCAAkC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC3E;AA0GD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,eAAe,GACtB,qBAAqB,CAwOvB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,CAQ5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
@@ -11,7 +11,7 @@ import { W3CTraceContextPropagator } from "@opentelemetry/core";
11
11
  import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
12
12
  import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
13
13
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
14
- import { BatchLogRecordProcessor } from "@opentelemetry/sdk-logs";
14
+ import { BatchLogRecordProcessor, } from "@opentelemetry/sdk-logs";
15
15
  import { AggregationTemporality, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
16
16
  import { NodeSDK } from "@opentelemetry/sdk-node";
17
17
  import { BatchSpanProcessor, } from "@opentelemetry/sdk-trace-base";
@@ -20,13 +20,19 @@ import { TelemetryPolicyEvaluator } from "../common/policy-evaluator.js";
20
20
  import { buildResource, validateResource } from "../common/resource.js";
21
21
  import { TraceSanitizer } from "../common/trace-sanitizer.js";
22
22
  import { TelemetryTier } from "../types/policy.js";
23
+ import { DynamicAttributeLogRecordProcessor, DynamicAttributeSpanProcessor, } from "./dynamic-attribute-processor.js";
23
24
  import { ResilientExporter } from "./exporters/resilient-exporter.js";
24
25
  import { isLocalObsMode } from "./local-obs-mode.js";
25
26
  import { PolicyAwareLogProcessor, getLoggingPolicy, LogExportMode, } from "./log-processor.js";
26
27
  import { MetricsClient } from "./metrics-client.js";
27
28
  import { SanitizingSpanProcessor, noopSpanProcessor, } from "./sanitizing-processor.js";
28
- // Singleton instance
29
- let instance;
29
+ import { createServiceTracers } from "./service-tracers.js";
30
+ function getInstance() {
31
+ return globalThis.__superblocksNodeTelemetryInstance;
32
+ }
33
+ function setInstance(next) {
34
+ globalThis.__superblocksNodeTelemetryInstance = next;
35
+ }
30
36
  /**
31
37
  * Create a no-op telemetry instance for CI environments.
32
38
  *
@@ -46,7 +52,9 @@ function createNoOpInstance(config, policy) {
46
52
  return {
47
53
  sdk: undefined,
48
54
  policyEvaluator,
49
- getTracer: (name) => trace.getTracer(name ?? config.serviceName, config.serviceVersion),
55
+ // No-op mode has no SDK/exporter, so secondary services collapse to the
56
+ // global (no-op) tracer — options.serviceName is accepted but inert.
57
+ getTracer: (name, _options) => trace.getTracer(name ?? config.serviceName, config.serviceVersion),
50
58
  getMeter: (name) => metrics.getMeter(name ?? config.serviceName, config.serviceVersion),
51
59
  getLogger: (name) => logs.getLogger(name ?? config.serviceName, config.serviceVersion),
52
60
  metricsClient: new MetricsClient(defaultMeter),
@@ -138,21 +146,23 @@ export function initNodeTelemetry(config, policy) {
138
146
  // Validate config
139
147
  validateNodeTelemetryConfig(config);
140
148
  // Return existing instance if already initialized
141
- if (instance) {
149
+ const existing = getInstance();
150
+ if (existing) {
142
151
  // Warn if config differs from existing
143
- const existingPolicy = instance.policyEvaluator.getPolicy();
152
+ const existingPolicy = existing.policyEvaluator.getPolicy();
144
153
  if (existingPolicy.deploymentType !== policy.deploymentType) {
145
154
  console.warn(`[Telemetry] Already initialized with different deployment type ` +
146
155
  `(existing: ${existingPolicy.deploymentType}, requested: ${policy.deploymentType}). ` +
147
156
  `Returning existing instance.`);
148
157
  }
149
- return instance;
158
+ return existing;
150
159
  }
151
160
  // CI environment detection - use no-op telemetry
152
161
  if (process.env.CI === "true") {
153
162
  console.debug("[Telemetry] CI environment detected, using no-op telemetry");
154
- instance = createNoOpInstance(config, policy);
155
- return instance;
163
+ const noOp = createNoOpInstance(config, policy);
164
+ setInstance(noOp);
165
+ return noOp;
156
166
  }
157
167
  const policyEvaluator = new TelemetryPolicyEvaluator(policy);
158
168
  const resource = buildResource(config);
@@ -189,6 +199,11 @@ export function initNodeTelemetry(config, policy) {
189
199
  if (isLocalObsMode()) {
190
200
  spanProcessor = new BatchSpanProcessor(tier2Exporter);
191
201
  }
202
+ // Stamp late-known identity (e.g. a dev-server's app/user/org, resolved at
203
+ // connect) onto every span without re-initializing the SDK.
204
+ if (config.dynamicAttributes) {
205
+ spanProcessor = new DynamicAttributeSpanProcessor(spanProcessor, config.dynamicAttributes);
206
+ }
192
207
  }
193
208
  // Create metric exporter if enabled
194
209
  // Use isExportEnabled (not canExport) - sampling applies at runtime, not initialization
@@ -226,6 +241,11 @@ export function initNodeTelemetry(config, policy) {
226
241
  loggingPolicy.exportMode !== LogExportMode.LOCAL_ONLY) {
227
242
  const batchProcessor = new BatchLogRecordProcessor(new OTLPLogExporter({ url: `${config.otlpUrl}/v1/logs` }));
228
243
  logProcessor = new PolicyAwareLogProcessor(loggingPolicy, batchProcessor);
244
+ // Same late-known identity as spans: stamp before the policy processor so
245
+ // sanitization sees (and can redact) the identity attributes.
246
+ if (config.dynamicAttributes) {
247
+ logProcessor = new DynamicAttributeLogRecordProcessor(logProcessor, config.dynamicAttributes);
248
+ }
229
249
  }
230
250
  // Create the SDK
231
251
  // Note: instrumentations typed as unknown[] for flexibility with various OTEL instrumentation packages
@@ -260,23 +280,41 @@ export function initNodeTelemetry(config, policy) {
260
280
  ` | Traces: ${tracesEnabled} | Metrics: ${metricsEnabled} | Logs: ${logsEnabled}`);
261
281
  }
262
282
  const defaultMeter = metrics.getMeter(config.serviceName, config.serviceVersion);
263
- instance = {
283
+ // Secondary-service tracers (e.g. server LLM-Obs spans under
284
+ // `superblocks-ai-code-gen`). They reuse the SAME span processor so
285
+ // sanitization + export are identical; the SDK owns its lifecycle.
286
+ const serviceTracers = createServiceTracers({
287
+ baseResource: resource,
288
+ defaultServiceName: config.serviceName,
289
+ serviceVersion: config.serviceVersion,
290
+ spanProcessor,
291
+ });
292
+ const created = {
264
293
  sdk,
265
294
  policyEvaluator,
266
- getTracer: (name) => trace.getTracer(name ?? config.serviceName, config.serviceVersion),
295
+ getTracer: (name, options) => serviceTracers.getTracer(name ?? config.serviceName, options?.serviceName ?? config.serviceName),
267
296
  getMeter: (name) => metrics.getMeter(name ?? config.serviceName, config.serviceVersion),
268
297
  getLogger: (name) => logs.getLogger(name ?? config.serviceName, config.serviceVersion),
269
298
  metricsClient: new MetricsClient(defaultMeter),
270
299
  shutdown: async () => {
271
300
  try {
301
+ // Best-effort flush of secondary providers; never let it block the
302
+ // primary SDK teardown (which owns the shared span processor).
303
+ try {
304
+ await serviceTracers.shutdown();
305
+ }
306
+ catch (error) {
307
+ console.warn("[Telemetry] serviceTracers shutdown failed:", error);
308
+ }
272
309
  await sdk.shutdown();
273
310
  }
274
311
  finally {
275
- instance = undefined;
312
+ setInstance(undefined);
276
313
  }
277
314
  },
278
315
  };
279
- return instance;
316
+ setInstance(created);
317
+ return created;
280
318
  }
281
319
  /**
282
320
  * Get the current telemetry instance.
@@ -284,22 +322,23 @@ export function initNodeTelemetry(config, policy) {
284
322
  * @throws Error if not initialized
285
323
  */
286
324
  export function getTelemetryInstance() {
287
- if (!instance) {
325
+ const current = getInstance();
326
+ if (!current) {
288
327
  throw new Error("[Telemetry] Not initialized. Call initNodeTelemetry() first.");
289
328
  }
290
- return instance;
329
+ return current;
291
330
  }
292
331
  /**
293
332
  * Check if telemetry is initialized.
294
333
  */
295
334
  export function isTelemetryInitialized() {
296
- return instance !== undefined;
335
+ return getInstance() !== undefined;
297
336
  }
298
337
  /**
299
338
  * Reset telemetry (for testing only).
300
339
  * @internal
301
340
  */
302
341
  export function resetTelemetry() {
303
- instance = undefined;
342
+ setInstance(undefined);
304
343
  }
305
344
  //# sourceMappingURL=init.js.map