@superblocksteam/telemetry 2.0.93 → 2.0.94-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 (159) hide show
  1. package/README.md +59 -44
  2. package/dist/browser/index.d.ts +2 -2
  3. package/dist/browser/resilient-exporter.d.ts.map +1 -1
  4. package/dist/browser/resilient-exporter.js.map +1 -1
  5. package/dist/common/contracts/tier2-traces.d.ts +62 -50
  6. package/dist/common/contracts/tier2-traces.d.ts.map +1 -1
  7. package/dist/common/contracts/tier2-traces.js +484 -138
  8. package/dist/common/contracts/tier2-traces.js.map +1 -1
  9. package/dist/common/guardrails.d.ts +2 -2
  10. package/dist/common/guardrails.d.ts.map +1 -1
  11. package/dist/common/guardrails.js +7 -7
  12. package/dist/common/guardrails.js.map +1 -1
  13. package/dist/common/log-sanitizer.d.ts +88 -0
  14. package/dist/common/log-sanitizer.d.ts.map +1 -1
  15. package/dist/common/log-sanitizer.js +304 -6
  16. package/dist/common/log-sanitizer.js.map +1 -1
  17. package/dist/common/resource.d.ts +4 -1
  18. package/dist/common/resource.d.ts.map +1 -1
  19. package/dist/common/resource.js +4 -2
  20. package/dist/common/resource.js.map +1 -1
  21. package/dist/common/trace-sanitizer.d.ts +82 -0
  22. package/dist/common/trace-sanitizer.d.ts.map +1 -0
  23. package/dist/common/trace-sanitizer.js +230 -0
  24. package/dist/common/trace-sanitizer.js.map +1 -0
  25. package/dist/index.d.ts +2 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +16 -8
  28. package/dist/index.js.map +1 -1
  29. package/dist/lint/forbidden-attributes.d.ts +2 -2
  30. package/dist/lint/forbidden-attributes.d.ts.map +1 -1
  31. package/dist/lint/forbidden-attributes.js +41 -40
  32. package/dist/lint/forbidden-attributes.js.map +1 -1
  33. package/dist/lint/index.d.ts +1 -1
  34. package/dist/llmobs/index.d.ts +2 -2
  35. package/dist/llmobs/tier1-exporter.d.ts +2 -2
  36. package/dist/llmobs/tier1-exporter.d.ts.map +1 -1
  37. package/dist/llmobs/tier1-exporter.js +17 -14
  38. package/dist/llmobs/tier1-exporter.js.map +1 -1
  39. package/dist/llmobs/tier2-summarizer.d.ts.map +1 -1
  40. package/dist/llmobs/tier2-summarizer.js +10 -4
  41. package/dist/llmobs/tier2-summarizer.js.map +1 -1
  42. package/dist/node/exporters/resilient-exporter.d.ts +14 -0
  43. package/dist/node/exporters/resilient-exporter.d.ts.map +1 -1
  44. package/dist/node/exporters/resilient-exporter.js +8 -1
  45. package/dist/node/exporters/resilient-exporter.js.map +1 -1
  46. package/dist/node/index.d.ts +2 -1
  47. package/dist/node/index.d.ts.map +1 -1
  48. package/dist/node/index.js +7 -2
  49. package/dist/node/index.js.map +1 -1
  50. package/dist/node/init.d.ts.map +1 -1
  51. package/dist/node/init.js +61 -12
  52. package/dist/node/init.js.map +1 -1
  53. package/dist/node/log-processor.d.ts +41 -6
  54. package/dist/node/log-processor.d.ts.map +1 -1
  55. package/dist/node/log-processor.js +152 -61
  56. package/dist/node/log-processor.js.map +1 -1
  57. package/dist/node/metrics-client.d.ts.map +1 -1
  58. package/dist/node/metrics-client.js.map +1 -1
  59. package/dist/node/safe-logger.d.ts +55 -0
  60. package/dist/node/safe-logger.d.ts.map +1 -0
  61. package/dist/node/safe-logger.js +158 -0
  62. package/dist/node/safe-logger.js.map +1 -0
  63. package/dist/node/sanitizing-processor.d.ts +56 -0
  64. package/dist/node/sanitizing-processor.d.ts.map +1 -0
  65. package/dist/node/sanitizing-processor.js +124 -0
  66. package/dist/node/sanitizing-processor.js.map +1 -0
  67. package/dist/node/traced-socket.d.ts +47 -3
  68. package/dist/node/traced-socket.d.ts.map +1 -1
  69. package/dist/node/traced-socket.js +96 -19
  70. package/dist/node/traced-socket.js.map +1 -1
  71. package/dist/testing/in-memory-exporter.d.ts +3 -3
  72. package/dist/testing/in-memory-exporter.d.ts.map +1 -1
  73. package/dist/testing/in-memory-exporter.js +3 -1
  74. package/dist/testing/in-memory-exporter.js.map +1 -1
  75. package/dist/testing/index.d.ts +2 -2
  76. package/dist/types/index.d.ts +28 -1
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/dist-esm/browser/index.d.ts +2 -2
  79. package/dist-esm/browser/index.js +2 -2
  80. package/dist-esm/browser/resilient-exporter.d.ts.map +1 -1
  81. package/dist-esm/browser/resilient-exporter.js.map +1 -1
  82. package/dist-esm/common/contracts/tier2-traces.d.ts +62 -50
  83. package/dist-esm/common/contracts/tier2-traces.d.ts.map +1 -1
  84. package/dist-esm/common/contracts/tier2-traces.js +480 -137
  85. package/dist-esm/common/contracts/tier2-traces.js.map +1 -1
  86. package/dist-esm/common/guardrails.d.ts +2 -2
  87. package/dist-esm/common/guardrails.d.ts.map +1 -1
  88. package/dist-esm/common/guardrails.js +9 -9
  89. package/dist-esm/common/guardrails.js.map +1 -1
  90. package/dist-esm/common/log-sanitizer.d.ts +88 -0
  91. package/dist-esm/common/log-sanitizer.d.ts.map +1 -1
  92. package/dist-esm/common/log-sanitizer.js +294 -5
  93. package/dist-esm/common/log-sanitizer.js.map +1 -1
  94. package/dist-esm/common/resource.d.ts +4 -1
  95. package/dist-esm/common/resource.d.ts.map +1 -1
  96. package/dist-esm/common/resource.js +3 -1
  97. package/dist-esm/common/resource.js.map +1 -1
  98. package/dist-esm/common/trace-sanitizer.d.ts +82 -0
  99. package/dist-esm/common/trace-sanitizer.d.ts.map +1 -0
  100. package/dist-esm/common/trace-sanitizer.js +226 -0
  101. package/dist-esm/common/trace-sanitizer.js.map +1 -0
  102. package/dist-esm/index.d.ts +2 -1
  103. package/dist-esm/index.d.ts.map +1 -1
  104. package/dist-esm/index.js +2 -1
  105. package/dist-esm/index.js.map +1 -1
  106. package/dist-esm/lint/forbidden-attributes.d.ts +2 -2
  107. package/dist-esm/lint/forbidden-attributes.d.ts.map +1 -1
  108. package/dist-esm/lint/forbidden-attributes.js +43 -42
  109. package/dist-esm/lint/forbidden-attributes.js.map +1 -1
  110. package/dist-esm/lint/index.d.ts +1 -1
  111. package/dist-esm/lint/index.js +1 -1
  112. package/dist-esm/llmobs/index.d.ts +2 -2
  113. package/dist-esm/llmobs/index.js +2 -2
  114. package/dist-esm/llmobs/tier1-exporter.d.ts +2 -2
  115. package/dist-esm/llmobs/tier1-exporter.d.ts.map +1 -1
  116. package/dist-esm/llmobs/tier1-exporter.js +18 -15
  117. package/dist-esm/llmobs/tier1-exporter.js.map +1 -1
  118. package/dist-esm/llmobs/tier2-summarizer.d.ts.map +1 -1
  119. package/dist-esm/llmobs/tier2-summarizer.js +10 -4
  120. package/dist-esm/llmobs/tier2-summarizer.js.map +1 -1
  121. package/dist-esm/node/exporters/resilient-exporter.d.ts +14 -0
  122. package/dist-esm/node/exporters/resilient-exporter.d.ts.map +1 -1
  123. package/dist-esm/node/exporters/resilient-exporter.js +8 -1
  124. package/dist-esm/node/exporters/resilient-exporter.js.map +1 -1
  125. package/dist-esm/node/index.d.ts +2 -1
  126. package/dist-esm/node/index.d.ts.map +1 -1
  127. package/dist-esm/node/index.js +2 -1
  128. package/dist-esm/node/index.js.map +1 -1
  129. package/dist-esm/node/init.d.ts.map +1 -1
  130. package/dist-esm/node/init.js +61 -12
  131. package/dist-esm/node/init.js.map +1 -1
  132. package/dist-esm/node/log-processor.d.ts +41 -6
  133. package/dist-esm/node/log-processor.d.ts.map +1 -1
  134. package/dist-esm/node/log-processor.js +151 -62
  135. package/dist-esm/node/log-processor.js.map +1 -1
  136. package/dist-esm/node/metrics-client.d.ts.map +1 -1
  137. package/dist-esm/node/metrics-client.js.map +1 -1
  138. package/dist-esm/node/safe-logger.d.ts +55 -0
  139. package/dist-esm/node/safe-logger.d.ts.map +1 -0
  140. package/dist-esm/node/safe-logger.js +154 -0
  141. package/dist-esm/node/safe-logger.js.map +1 -0
  142. package/dist-esm/node/sanitizing-processor.d.ts +56 -0
  143. package/dist-esm/node/sanitizing-processor.d.ts.map +1 -0
  144. package/dist-esm/node/sanitizing-processor.js +120 -0
  145. package/dist-esm/node/sanitizing-processor.js.map +1 -0
  146. package/dist-esm/node/traced-socket.d.ts +47 -3
  147. package/dist-esm/node/traced-socket.d.ts.map +1 -1
  148. package/dist-esm/node/traced-socket.js +96 -19
  149. package/dist-esm/node/traced-socket.js.map +1 -1
  150. package/dist-esm/testing/in-memory-exporter.d.ts +3 -3
  151. package/dist-esm/testing/in-memory-exporter.d.ts.map +1 -1
  152. package/dist-esm/testing/in-memory-exporter.js +4 -2
  153. package/dist-esm/testing/in-memory-exporter.js.map +1 -1
  154. package/dist-esm/testing/index.d.ts +2 -2
  155. package/dist-esm/testing/index.js +2 -2
  156. package/dist-esm/types/index.d.ts +28 -1
  157. package/dist-esm/types/index.d.ts.map +1 -1
  158. package/dist-esm/types/index.js +1 -1
  159. package/package.json +17 -18
@@ -10,6 +10,13 @@ exports.TracedSocket = void 0;
10
10
  const api_1 = require("@opentelemetry/api");
11
11
  const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
12
12
  const shared_1 = require("@superblocksteam/shared");
13
+ const policy_js_1 = require("../types/policy.js");
14
+ /**
15
+ * Placeholder values for Tier 1 attributes (user email, user type) when omitted.
16
+ * The value indicates why they were redacted (policy said no vs no policy evaluator provided).
17
+ */
18
+ const TIER1_OMITTED_BY_POLICY = "[redacted_by_policy]"; // Policy said no
19
+ const TIER1_OMITTED_NO_POLICY = "[redacted_no_policy]"; // No policy evaluator provided, safe default for PII
13
20
  // Helper to cast ISocket's logger to pino-compatible logger
14
21
  const asPinoLogger = (logger) => logger;
15
22
  // Helper to check if a value is a Promise
@@ -45,7 +52,9 @@ const endSpan = (traced, span, logger, setHttpStatusFromError) => {
45
52
  /**
46
53
  * TracedSocket extends ISocket to add OpenTelemetry tracing capabilities.
47
54
  *
48
- * It manages spans for WebSocket handler calls to provide detailed tracing information.
55
+ * We override decorateToSend so that outbound request messages carry W3C
56
+ * traceparent/tracestate, enabling trace continuity for both inbound and
57
+ * outbound use (server and vite-plugin-file-sync).
49
58
  */
50
59
  class TracedSocket extends shared_1.ISocket {
51
60
  activeSpanByRequestId = new Map();
@@ -53,12 +62,14 @@ class TracedSocket extends shared_1.ISocket {
53
62
  lastActiveSpan;
54
63
  requestHeaders;
55
64
  tracer;
65
+ policyEvaluator;
56
66
  setHttpStatusFromError;
57
67
  constructor(ws, requestHandlers, globalMiddlewares, config, options) {
58
68
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
69
  super(ws, requestHandlers, globalMiddlewares, options);
60
- this.requestHeaders = config.requestHeaders;
61
- this.tracer = api_1.trace.getTracer("superblocks-server");
70
+ this.requestHeaders = config.requestHeaders ?? {};
71
+ this.tracer = config.tracer ?? api_1.trace.getTracer("superblocks-ws", "0.0.0");
72
+ this.policyEvaluator = config.policyEvaluator;
62
73
  // Create error handler function
63
74
  this.setHttpStatusFromError = (span, error, logger) => {
64
75
  let status = 500;
@@ -70,12 +81,27 @@ class TracedSocket extends shared_1.ISocket {
70
81
  span.recordException((0, shared_1.sanitizeError)(error));
71
82
  span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: error.message });
72
83
  };
73
- // Log WebSocket connection establishment
84
+ // Log WebSocket connection establishment (ws.host is "unknown" when no upgrade headers, e.g. vite-plugin-file-sync)
74
85
  asPinoLogger(this.logger).info({
75
86
  "ws.event": "connection_established",
76
- "ws.host": config.requestHeaders["host"] || "unknown",
87
+ "ws.host": this.requestHeaders["host"] ?? "unknown",
77
88
  }, "WebSocket connection established");
78
89
  }
90
+ /**
91
+ * Injects W3C trace context (traceparent/tracestate) into outbound request messages
92
+ * so that receiver-side spans can be linked. Used for both response paths and
93
+ * outbound calls (e.g. vite-plugin callEditorClients/callLibraryClients, server-initiated socket.call.*).
94
+ */
95
+ decorateToSend(message) {
96
+ if (!message.request) {
97
+ return message;
98
+ }
99
+ if (message.request.traceparent || message.request.tracestate) {
100
+ return message;
101
+ }
102
+ api_1.propagation.inject(api_1.context.active(), message.request);
103
+ return message;
104
+ }
79
105
  async callHandler(handler, params, ctx, client, next) {
80
106
  let currentContext = api_1.context.active();
81
107
  const middleWareSpan = this.middlewareSpanByReqId.get(ctx.requestId);
@@ -92,24 +118,42 @@ class TracedSocket extends shared_1.ISocket {
92
118
  const user = src.user;
93
119
  const organization = src.organization;
94
120
  if (this.lastActiveSpan && (user || organization)) {
95
- this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_USER_EMAIL, user?.email ?? "");
96
- this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_USER_TYPE, user?.getUserType?.() ?? "");
121
+ if (this.shouldAttachTier1Attributes()) {
122
+ this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_USER_EMAIL, user?.email ?? "");
123
+ this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_USER_TYPE, user?.getUserType?.() ?? "");
124
+ }
125
+ else {
126
+ const placeholder = this.getTier1OmittedPlaceholder();
127
+ this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_USER_EMAIL, placeholder);
128
+ this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_USER_TYPE, placeholder);
129
+ }
97
130
  this.lastActiveSpan.setAttribute(shared_1.OBS_TAG_ORG_ID, organization?.id ?? "");
98
131
  }
99
132
  let result;
100
133
  const paramsObj = params;
101
134
  await api_1.context.with(currentContext, async () => {
102
135
  await this.tracer.startActiveSpan(`WS HANDLER ${handler.name === "" ? ctx.method : handler.name}`, {
103
- attributes: {
104
- [semantic_conventions_1.SEMATTRS_MESSAGING_SYSTEM]: "ws",
105
- [semantic_conventions_1.SEMATTRS_MESSAGING_DESTINATION_KIND]: "websocket",
106
- [shared_1.OBS_TAG_USER_EMAIL]: src.user?.email ?? "",
107
- [shared_1.OBS_TAG_ORG_ID]: src.organization?.id ?? "",
108
- [shared_1.OBS_TAG_APPLICATION_ID]: String(paramsObj?.["applicationId"] ?? src.jwtClaims?.app_id ?? ""),
109
- [shared_1.OBS_TAG_API_ID]: String(paramsObj?.["apiId"] ?? ""),
110
- [shared_1.OBS_TAG_BRANCH]: String(paramsObj?.["branch"] ?? paramsObj?.["branchName"] ?? ""),
111
- [shared_1.OBS_TAG_COMMIT_ID]: String(paramsObj?.["commitId"] ?? ""),
112
- },
136
+ attributes: (() => {
137
+ const attrs = {
138
+ [semantic_conventions_1.SEMATTRS_MESSAGING_SYSTEM]: "ws",
139
+ [semantic_conventions_1.SEMATTRS_MESSAGING_DESTINATION_KIND]: "websocket",
140
+ [shared_1.OBS_TAG_ORG_ID]: src.organization?.id ?? "",
141
+ [shared_1.OBS_TAG_APPLICATION_ID]: String(paramsObj?.["applicationId"] ?? src.jwtClaims?.app_id ?? ""),
142
+ [shared_1.OBS_TAG_API_ID]: String(paramsObj?.["apiId"] ?? ""),
143
+ [shared_1.OBS_TAG_BRANCH]: String(paramsObj?.["branch"] ?? paramsObj?.["branchName"] ?? ""),
144
+ [shared_1.OBS_TAG_COMMIT_ID]: String(paramsObj?.["commitId"] ?? ""),
145
+ };
146
+ if (this.shouldAttachTier1Attributes()) {
147
+ attrs[shared_1.OBS_TAG_USER_EMAIL] = user?.email ?? "";
148
+ attrs[shared_1.OBS_TAG_USER_TYPE] = user?.getUserType?.() ?? "";
149
+ }
150
+ else {
151
+ const placeholder = this.getTier1OmittedPlaceholder();
152
+ attrs[shared_1.OBS_TAG_USER_EMAIL] = placeholder;
153
+ attrs[shared_1.OBS_TAG_USER_TYPE] = placeholder;
154
+ }
155
+ return attrs;
156
+ })(),
113
157
  kind: api_1.SpanKind.SERVER,
114
158
  }, async (span) => {
115
159
  this.middlewareSpanByReqId.set(ctx.requestId, span);
@@ -119,6 +163,36 @@ class TracedSocket extends shared_1.ISocket {
119
163
  });
120
164
  return result;
121
165
  }
166
+ /**
167
+ * Extract parent trace context from HTTP upgrade request headers (W3C Trace Context).
168
+ * Enables trace continuity from HTTP → WebSocket per epic-c2-context-propagation.
169
+ */
170
+ extractParentContext() {
171
+ return api_1.propagation.extract(api_1.ROOT_CONTEXT, this.requestHeaders);
172
+ }
173
+ /**
174
+ * Whether to attach Tier 1 attributes (e.g. user email) to spans.
175
+ * Attach PII when Tier 1 is exported (e.g. CLOUD: all tiers go to Superblocks-owned infra).
176
+ * Omit PII when Tier 1 is local-only (e.g. CLOUD_PREM: Tier 2 export must not contain PII).
177
+ * When there is no policy evaluator, do not attach Tier 1 (safe default for PII).
178
+ */
179
+ shouldAttachTier1Attributes() {
180
+ if (!this.policyEvaluator) {
181
+ // It's opt-in to attach Tier 1 attributes, so default to false when no policy evaluator is provided.
182
+ return false;
183
+ }
184
+ const decision = this.policyEvaluator.evaluate(policy_js_1.TelemetryTier.TIER_1_LOCAL);
185
+ return decision.export;
186
+ }
187
+ /**
188
+ * Placeholder for Tier 1 attributes when omitted. Call only when shouldAttachTier1Attributes() is false.
189
+ * Distinguishes: policy evaluator present but Tier 1 not allowed vs no policy evaluator provided.
190
+ */
191
+ getTier1OmittedPlaceholder() {
192
+ return this.policyEvaluator
193
+ ? TIER1_OMITTED_BY_POLICY
194
+ : TIER1_OMITTED_NO_POLICY;
195
+ }
122
196
  async handleMessage(message) {
123
197
  if (message.request) {
124
198
  const spanName = message.request.method;
@@ -128,7 +202,7 @@ class TracedSocket extends shared_1.ISocket {
128
202
  "ws.event": "request_received",
129
203
  "ws.method": spanName,
130
204
  "ws.request_id": requestId,
131
- "ws.host": this.requestHeaders["host"] || "unknown",
205
+ "ws.host": this.requestHeaders["host"] ?? "unknown",
132
206
  };
133
207
  if (payload?.["applicationId"]) {
134
208
  logData[shared_1.OBS_TAG_APPLICATION_ID] = String(payload["applicationId"]);
@@ -143,7 +217,10 @@ class TracedSocket extends shared_1.ISocket {
143
217
  logData[shared_1.OBS_TAG_COMMIT_ID] = String(payload["commitId"]);
144
218
  }
145
219
  asPinoLogger(this.logger).info(logData, `WebSocket request: ${spanName}`);
146
- await api_1.context.with(api_1.propagation.extract(api_1.ROOT_CONTEXT, message.request), async () => await this.tracer.startActiveSpan(`WS SERVER ${spanName}`, {
220
+ // W3C context: first from HTTP upgrade, then from message (so message traceparent can link)
221
+ const upgradeContext = this.extractParentContext();
222
+ const messageContext = api_1.propagation.extract(upgradeContext, message.request);
223
+ await api_1.context.with(messageContext, async () => await this.tracer.startActiveSpan(`WS SERVER ${spanName}`, {
147
224
  attributes: (() => {
148
225
  const attrs = {
149
226
  [semantic_conventions_1.SEMATTRS_MESSAGING_SYSTEM]: "ws",
@@ -1 +1 @@
1
- {"version":3,"file":"traced-socket.js","sourceRoot":"","sources":["../../src/node/traced-socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traced-socket.js","sourceRoot":"","sources":["../../src/node/traced-socket.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  * These exporters capture telemetry data in memory for assertion in tests.
5
5
  * No external connections are made.
6
6
  */
7
- import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
8
- import { ExportResult } from '@opentelemetry/core';
7
+ import type { SpanExporter, ReadableSpan } from "@opentelemetry/sdk-trace-base";
8
+ import { ExportResult } from "@opentelemetry/core";
9
9
  /**
10
10
  * In-memory span exporter for testing.
11
11
  * Captures all exported spans for assertion.
@@ -87,7 +87,7 @@ export interface CapturedMetric {
87
87
  name: string;
88
88
  description?: string;
89
89
  unit?: string;
90
- type: 'counter' | 'gauge' | 'histogram' | 'observable';
90
+ type: "counter" | "gauge" | "histogram" | "observable";
91
91
  dataPoints: Array<{
92
92
  value: number;
93
93
  attributes: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-exporter.d.ts","sourceRoot":"","sources":["../../src/testing/in-memory-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-exporter.d.ts","sourceRoot":"","sources":["../../src/testing/in-memory-exporter.ts"],"names":[],"mappings":"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"}
@@ -224,7 +224,9 @@ class InMemoryLogExporter {
224
224
  if (l.body === undefined)
225
225
  return false;
226
226
  const bodyStr = String(l.body);
227
- return text instanceof RegExp ? text.test(bodyStr) : bodyStr.includes(text);
227
+ return text instanceof RegExp
228
+ ? text.test(bodyStr)
229
+ : bodyStr.includes(text);
228
230
  });
229
231
  }
230
232
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-exporter.js","sourceRoot":"","sources":["../../src/testing/in-memory-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-exporter.js","sourceRoot":"","sources":["../../src/testing/in-memory-exporter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * In-memory exporters and test helpers for telemetry assertions.
5
5
  */
6
- export { InMemorySpanExporter, InMemoryMetricExporter, InMemoryLogExporter, type CapturedMetric, type CapturedLogRecord, } from './in-memory-exporter.js';
7
- export { initTestTelemetry, getTestTelemetryInstance, resetTestTelemetry, getTestTracer, withTestSpan, type TestTelemetryInstance, } from './test-init.js';
6
+ export { InMemorySpanExporter, InMemoryMetricExporter, InMemoryLogExporter, type CapturedMetric, type CapturedLogRecord, } from "./in-memory-exporter.js";
7
+ export { initTestTelemetry, getTestTelemetryInstance, resetTestTelemetry, getTestTracer, withTestSpan, type TestTelemetryInstance, } from "./test-init.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Re-exports policy types and config interfaces.
5
5
  */
6
- export * from './policy.js';
6
+ export * from "./policy.js";
7
7
  /**
8
8
  * Base configuration for telemetry initialization.
9
9
  */
@@ -17,6 +17,16 @@ export interface BaseTelemetryConfig {
17
17
  /** Additional resource attributes */
18
18
  resourceAttributes?: Record<string, string>;
19
19
  }
20
+ /**
21
+ * Configuration for keyed HMAC hashing of Tier 2 span attributes (e.g. organization-id).
22
+ * When not provided, hashed attributes are redacted instead of hashed.
23
+ */
24
+ export interface TraceSanitizerHashConfig {
25
+ secretKey: Buffer;
26
+ salt: string;
27
+ algorithm: "sha256" | "sha384" | "sha512";
28
+ outputLengthBytes: number;
29
+ }
20
30
  /**
21
31
  * Node.js specific telemetry configuration.
22
32
  */
@@ -29,6 +39,23 @@ export interface NodeTelemetryConfig extends BaseTelemetryConfig {
29
39
  metricsEnabled?: boolean;
30
40
  /** Whether to enable log collection */
31
41
  logsEnabled?: boolean;
42
+ /**
43
+ * Optional hash config for Tier 2 trace sanitization (organization-id, session.id, etc.).
44
+ * When omitted, hashed attributes are redacted. For cloud-prem, supply from secrets.
45
+ */
46
+ traceSanitizerHashConfig?: TraceSanitizerHashConfig | null;
47
+ /**
48
+ * Optional structured logger (e.g. safe logger) for telemetry internal messages
49
+ * (e.g. init, span export failures). When set, logs are structured and ingested into Datadog.
50
+ */
51
+ logger?: {
52
+ error?(obj: object, msg?: string): void;
53
+ error?(msg: string): void;
54
+ info?(obj: object, msg?: string): void;
55
+ info?(msg: string): void;
56
+ warn(obj: object, msg?: string): void;
57
+ warn(msg: string): void;
58
+ };
32
59
  }
33
60
  /**
34
61
  * Browser specific telemetry configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IAEvB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAE7B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IAEvB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAE7B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE3D;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * This is the ONLY approved way to initialize telemetry in browser contexts.
5
5
  */
6
- export { initBrowserTelemetry, getBrowserTelemetryInstance, isBrowserTelemetryInitialized, resetBrowserTelemetry, getEnvironmentFromHostname, type BrowserTelemetryInstance, } from './init.js';
7
- export { getDefaultPolicy, DeploymentType } from '../types/policy.js';
6
+ export { initBrowserTelemetry, getBrowserTelemetryInstance, isBrowserTelemetryInitialized, resetBrowserTelemetry, getEnvironmentFromHostname, type BrowserTelemetryInstance, } from "./init.js";
7
+ export { getDefaultPolicy, DeploymentType } from "../types/policy.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * This is the ONLY approved way to initialize telemetry in browser contexts.
5
5
  */
6
- export { initBrowserTelemetry, getBrowserTelemetryInstance, isBrowserTelemetryInitialized, resetBrowserTelemetry, getEnvironmentFromHostname, } from './init.js';
6
+ export { initBrowserTelemetry, getBrowserTelemetryInstance, isBrowserTelemetryInitialized, resetBrowserTelemetry, getEnvironmentFromHostname, } from "./init.js";
7
7
  // Re-export policy utilities for convenience
8
- export { getDefaultPolicy, DeploymentType } from '../types/policy.js';
8
+ export { getDefaultPolicy, DeploymentType } from "../types/policy.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resilient-exporter.d.ts","sourceRoot":"","sources":["../../src/browser/resilient-exporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC;CACtF;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGb;IAEV,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,8BAA8B;IAOlD;;OAEG;IACH,MAAM,CACJ,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,IAAI;IAiDD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
1
+ {"version":3,"file":"resilient-exporter.d.ts","sourceRoot":"","sources":["../../src/browser/resilient-exporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,SAAS,KAC/C,IAAI,CAAC;CACX;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGb;IAEV,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,8BAA8B;IAOlD;;OAEG;IACH,MAAM,CACJ,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,IAAI;IAiDD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resilient-exporter.js","sourceRoot":"","sources":["../../src/browser/resilient-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resilient-exporter.js","sourceRoot":"","sources":["../../src/browser/resilient-exporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAgB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAmBrE;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAAe;IACvB,YAAY,CAAS;IACrB,eAAe,CAAS;IACxB,MAAM,CAGb;IAEF,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IAE7B,YAAY,MAAsC;QAChD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,yBAAyB;QACzB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACxC,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;QACjC,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,kBAAkB;QAClB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACrC,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzB,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrC,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,GAAG,IAAI,CAAC;gBACjB,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAEjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;gBAC7C,CAAC;gBAED,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC3C,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3D,CAAC;CACF"}
@@ -1,75 +1,87 @@
1
1
  /**
2
- * Tier 2 Traces Contract
2
+ * Tier 2 Traces Contract (v0.2.0)
3
3
  *
4
- * This file defines the Tier 2 telemetry contract:
5
- * - Forbidden attributes (removed by Collector)
6
- * - Hashed attributes (pseudonymized by Collector)
7
- * - Dropped attributes (removed by Collector)
8
- * - Forbidden value patterns (for lint-time detection)
4
+ * Single source of truth for Tier 2 sanitized trace telemetry.
5
+ * Mirrors: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.2.0.json
9
6
  *
10
- * ENFORCEMENT: The OTEL Collector handles runtime enforcement.
11
- * These definitions are used for:
12
- * - ESLint rules (static analysis at CI time)
13
- * - Development warnings (guardrails.ts)
7
+ * Used by:
8
+ * - trace-sanitizer (SDK: which spans/attributes to export)
9
+ * - lint/forbidden-attributes (ESLint)
10
+ * - guardrails (dev-time warnings)
14
11
  * - Collector config generation
15
12
  *
16
- * See: obs/otel-collector/config-tiered.yaml
17
- * Source of truth: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.3.0.json
13
+ * "request handler *" is a local extension for Express instrumentation (not in JSON).
18
14
  */
15
+ import { DeploymentTypeEnum } from "@superblocksteam/shared";
16
+ export interface AttributeDefinition {
17
+ name: string;
18
+ allowedValues?: string[];
19
+ maxCardinality?: number;
20
+ type?: "string" | "number" | "boolean";
21
+ }
22
+ export type AllowedAttribute = string | AttributeDefinition;
23
+ export interface SpanDefinition {
24
+ name: string;
25
+ description?: string;
26
+ allowedAttributes: AllowedAttribute[];
27
+ alwaysSample?: boolean;
28
+ }
29
+ export declare function getAttributeName(attr: AllowedAttribute): string;
19
30
  /**
20
- * Attributes that are FORBIDDEN in Tier 2 telemetry.
21
- * These contain sensitive data that should never leave the customer's environment.
22
- * The Collector strips these entirely (not hashed, not present in Tier 2).
31
+ * Span patterns from tier2-traces.v0.2.0.json.
32
+ * Suffix wildcard only: "HTTP POST *" matches "HTTP POST /api/..." or "POST /api/...".
23
33
  */
24
- export declare const TIER2_FORBIDDEN_ATTRIBUTES: Set<string>;
34
+ export declare const TIER_2_TRACE_CONTRACT: SpanDefinition[];
25
35
  /**
26
- * Attributes that should be HASHED (pseudonymized) in Tier 2 telemetry.
27
- * The Collector replaces these with SHA256 hashes for privacy.
28
- * Hashes enable aggregate analysis without exposing plaintext identifiers.
29
- *
30
- * Mapping:
31
- * user-email, user.email, etc. → user.hash
32
- * organization-id, organization_id → organization.hash
33
- * application-id, application_id → application.hash
34
- * session.id → session.hash
35
- * enduser.id → enduser.pseudo.id
36
+ * Cloud trace contract: match-all span name ("*") so no spans are dropped by name.
37
+ * Attribute allowlist is not used when attributeAllowlistPassthrough is true.
36
38
  */
37
- export declare const TIER2_HASHED_ATTRIBUTES: Set<string>;
39
+ export declare const CLOUD_TRACE_CONTRACT: SpanDefinition[];
38
40
  /**
39
- * Attributes that should be DROPPED entirely in Tier 2.
40
- * These are correlation IDs that don't provide operational value.
41
+ * Returns the trace contract (span definitions) for the given deployment type.
42
+ * Cloud: match-all so no traces are dropped by span name.
43
+ * Cloud-prem: Tier 2 contract (named spans only).
41
44
  */
45
+ export declare function getTraceContract(deploymentType: DeploymentTypeEnum): SpanDefinition[];
46
+ /** Forbidden in Tier 2 (forbiddenAttributes in contract). Collector strips these entirely. */
47
+ export declare const FORBIDDEN_TIER_2_SPAN_ATTRIBUTES: string[];
48
+ /** Hashed (keyed HMAC) for Tier 2 (hashedAttributes in contract). */
49
+ export declare const HASHED_TIER_2_SPAN_ATTRIBUTES: string[];
50
+ /** Dropped — high cardinality, no hash value (droppedAttributes in contract). */
51
+ export declare const DROPPED_HIGH_CARDINALITY_ATTRIBUTES: string[];
52
+ export declare const TIER2_FORBIDDEN_ATTRIBUTES: Set<string>;
53
+ export declare const TIER2_HASHED_ATTRIBUTES: Set<string>;
42
54
  export declare const TIER2_DROPPED_ATTRIBUTES: Set<string>;
43
55
  /**
44
- * Spans that should ALWAYS be sampled (never dropped by rate limiting).
56
+ * Attribute sets and contract options used by TraceSanitizer.
57
+ * Allows different rules per deployment type (e.g. cloud vs cloud-prem).
45
58
  */
46
- export declare const ALWAYS_SAMPLE_SPANS: Set<string>;
59
+ export interface TraceSanitizerAttributeSets {
60
+ forbiddenAttributes: Set<string>;
61
+ droppedAttributes: Set<string>;
62
+ hashedAttributes: Set<string>;
63
+ /** Span definitions for name matching; cloud uses match-all ("*"). */
64
+ spanDefinitions: SpanDefinition[];
65
+ /** When true, span attributes are not filtered by allowedAttributes (pass-through). */
66
+ attributeAllowlistPassthrough: boolean;
67
+ }
47
68
  /**
48
- * Patterns that indicate forbidden content in attribute values.
49
- * Used for secondary filtering when attribute names aren't explicit.
50
- *
51
- * IMPORTANT: Patterns should NOT use ^ and $ anchors so they match
52
- * secrets embedded anywhere in a string (e.g., in query params, headers).
69
+ * Returns the Tier 2 trace attribute sets and contract options for the given deployment type.
70
+ * Cloud: relaxed policy (no attributes dropped/hashed), match-all span names, pass-through attributes.
71
+ * Cloud-prem: full Tier 2 contract (forbidden/dropped/hashed), named spans only, pass-through attributes.
53
72
  */
54
- export declare const FORBIDDEN_VALUE_PATTERNS: RegExp[];
73
+ export declare function getTraceSanitizerAttributeSets(deploymentType: DeploymentTypeEnum): TraceSanitizerAttributeSets;
74
+ /** Spans that should ALWAYS be sampled (samplingPolicy.alwaysSampleSpans in contract). */
75
+ export declare const ALWAYS_SAMPLE_SPANS: Set<string>;
55
76
  /**
56
- * Check if an attribute name is forbidden in Tier 2.
77
+ * Patterns that indicate forbidden content in attribute values (e.g. secrets in strings).
78
+ * No ^/$ anchors so they match secrets embedded anywhere.
79
+ * It's not used by TraceSanitizer, only in guardrails.
57
80
  */
81
+ export declare const FORBIDDEN_VALUE_PATTERNS: RegExp[];
58
82
  export declare function isForbiddenAttribute(name: string): boolean;
59
- /**
60
- * Check if an attribute should be hashed in Tier 2.
61
- */
62
83
  export declare function isHashedAttribute(name: string): boolean;
63
- /**
64
- * Check if an attribute should be dropped in Tier 2.
65
- */
66
84
  export declare function isDroppedAttribute(name: string): boolean;
67
- /**
68
- * Check if a value contains forbidden patterns (like tokens, keys).
69
- */
70
85
  export declare function containsForbiddenPattern(value: unknown): boolean;
71
- /**
72
- * Check if a span should always be sampled.
73
- */
74
86
  export declare function shouldAlwaysSample(spanName: string): boolean;
75
87
  //# sourceMappingURL=tier2-traces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tier2-traces.d.ts","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,aAsDrC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,aAmBlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,aAE9B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,UAuBpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D"}
1
+ {"version":3,"file":"tier2-traces.d.ts","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAkWjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAEhD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,kBAAkB,GACjC,cAAc,EAAE,CAQlB;AAMD,8FAA8F;AAC9F,eAAO,MAAM,gCAAgC,EAAE,MAAM,EAmCpD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,EAAE,MAAM,EAAO,CAAC;AAE1D,iFAAiF;AACjF,eAAO,MAAM,mCAAmC,EAAE,MAAM,EAAqB,CAAC;AAM9E,eAAO,MAAM,0BAA0B,aAEtC,CAAC;AACF,eAAO,MAAM,uBAAuB,aAAyC,CAAC;AAC9E,eAAO,MAAM,wBAAwB,aAEpC,CAAC;AASF;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,sEAAsE;IACtE,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,uFAAuF;IACvF,6BAA6B,EAAE,OAAO,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,kBAAkB,GACjC,2BAA2B,CAsB7B;AAMD,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,aAA2B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAQpC,CAAC;AAMF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D"}