@superblocksteam/telemetry 2.0.119-next.1 → 2.0.120-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/contracts/tier2-traces.d.ts +4 -4
- package/dist/common/contracts/tier2-traces.d.ts.map +1 -1
- package/dist/common/contracts/tier2-traces.js +34 -9
- package/dist/common/contracts/tier2-traces.js.map +1 -1
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +1 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/log-sanitizer.d.ts +13 -9
- package/dist/common/log-sanitizer.d.ts.map +1 -1
- package/dist/common/log-sanitizer.js +32 -13
- package/dist/common/log-sanitizer.js.map +1 -1
- package/dist/common/normalize-metric-path.d.ts +9 -0
- package/dist/common/normalize-metric-path.d.ts.map +1 -0
- package/dist/common/normalize-metric-path.js +29 -0
- package/dist/common/normalize-metric-path.js.map +1 -0
- package/dist/node/sanitizing-processor.d.ts +16 -5
- package/dist/node/sanitizing-processor.d.ts.map +1 -1
- package/dist/node/sanitizing-processor.js +59 -13
- package/dist/node/sanitizing-processor.js.map +1 -1
- package/dist-esm/common/contracts/tier2-traces.d.ts +4 -4
- package/dist-esm/common/contracts/tier2-traces.d.ts.map +1 -1
- package/dist-esm/common/contracts/tier2-traces.js +34 -9
- package/dist-esm/common/contracts/tier2-traces.js.map +1 -1
- package/dist-esm/common/index.d.ts +1 -0
- package/dist-esm/common/index.d.ts.map +1 -1
- package/dist-esm/common/index.js +1 -0
- package/dist-esm/common/index.js.map +1 -1
- package/dist-esm/common/log-sanitizer.d.ts +13 -9
- package/dist-esm/common/log-sanitizer.d.ts.map +1 -1
- package/dist-esm/common/log-sanitizer.js +32 -13
- package/dist-esm/common/log-sanitizer.js.map +1 -1
- package/dist-esm/common/normalize-metric-path.d.ts +9 -0
- package/dist-esm/common/normalize-metric-path.d.ts.map +1 -0
- package/dist-esm/common/normalize-metric-path.js +26 -0
- package/dist-esm/common/normalize-metric-path.js.map +1 -0
- package/dist-esm/node/sanitizing-processor.d.ts +16 -5
- package/dist-esm/node/sanitizing-processor.d.ts.map +1 -1
- package/dist-esm/node/sanitizing-processor.js +59 -13
- package/dist-esm/node/sanitizing-processor.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const BRANCH_SEGMENT_PATTERN = /\/branches\/[^/]+/g;
|
|
2
|
+
const NORMALIZED_VALUE_SEGMENT_PATTERN = "(?:#val|_val)";
|
|
3
|
+
const APPLICATION_BUILD_DIRECTORY_HASH_PATTERN = new RegExp(`(\\/applications\\/${NORMALIZED_VALUE_SEGMENT_PATTERN})\\/[A-Za-z0-9._~%+=-]{16,}(\\/builds)(?=\\/|$)`, "g");
|
|
4
|
+
const API_BRANCH_FILE_PATH_PATTERN = new RegExp(`(\\/api\\/v3\\/apis\\/applications\\/${NORMALIZED_VALUE_SEGMENT_PATTERN}\\/branches\\/[^/]+)\\/.+$`);
|
|
5
|
+
const API_COMMIT_FILE_PATH_PATTERN = new RegExp(`(\\/api\\/v3\\/apis\\/applications\\/${NORMALIZED_VALUE_SEGMENT_PATTERN}\\/commits\\/${NORMALIZED_VALUE_SEGMENT_PATTERN})\\/.+$`);
|
|
6
|
+
const UNKNOWN_WELL_KNOWN_PATH_PATTERN = /^\/\.well-known\/(?!jwks\.json\/?$).+/;
|
|
7
|
+
const SCANNER_PROBE_PATH_PATTERN = /^\/(?:[^/]+\.php|\.env(?:[./].*)?|\.git(?:\/.*)?|wp-admin(?:\/.*)?)(?=\/|$)/i;
|
|
8
|
+
/**
|
|
9
|
+
* Replaces known high-cardinality URL path segments with `#val` to prevent
|
|
10
|
+
* metric label cardinality explosion from customer-controlled identifiers.
|
|
11
|
+
*
|
|
12
|
+
* Example: `/api/v2/applications/#val/branches/feature-foo/commits`
|
|
13
|
+
* -> `/api/v2/applications/#val/branches/#val/commits`
|
|
14
|
+
*/
|
|
15
|
+
export function normalizeMetricPath(path) {
|
|
16
|
+
// API file-path patterns intentionally accept both raw and already-normalized
|
|
17
|
+
// branch segments; the final branch normalization keeps the output canonical.
|
|
18
|
+
return path
|
|
19
|
+
.replace(APPLICATION_BUILD_DIRECTORY_HASH_PATTERN, "$1/#val$2")
|
|
20
|
+
.replace(API_BRANCH_FILE_PATH_PATTERN, "$1/#val")
|
|
21
|
+
.replace(API_COMMIT_FILE_PATH_PATTERN, "$1/#val")
|
|
22
|
+
.replace(UNKNOWN_WELL_KNOWN_PATH_PATTERN, "/.well-known/#val")
|
|
23
|
+
.replace(SCANNER_PROBE_PATH_PATTERN, "/#val")
|
|
24
|
+
.replace(BRANCH_SEGMENT_PATTERN, "/branches/#val");
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=normalize-metric-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-metric-path.js","sourceRoot":"","sources":["../../src/common/normalize-metric-path.ts"],"names":[],"mappings":"AAAA,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,gCAAgC,GAAG,eAAe,CAAC;AACzD,MAAM,wCAAwC,GAAG,IAAI,MAAM,CACzD,sBAAsB,gCAAgC,iDAAiD,EACvG,GAAG,CACJ,CAAC;AACF,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAC7C,wCAAwC,gCAAgC,4BAA4B,CACrG,CAAC;AACF,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAC7C,wCAAwC,gCAAgC,gBAAgB,gCAAgC,SAAS,CAClI,CAAC;AACF,MAAM,+BAA+B,GAAG,uCAAuC,CAAC;AAChF,MAAM,0BAA0B,GAC9B,8EAA8E,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,8EAA8E;IAC9E,8EAA8E;IAC9E,OAAO,IAAI;SACR,OAAO,CAAC,wCAAwC,EAAE,WAAW,CAAC;SAC9D,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC;SAChD,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC;SAChD,OAAO,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;SAC7D,OAAO,CAAC,0BAA0B,EAAE,OAAO,CAAC;SAC5C,OAAO,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -20,6 +20,8 @@ declare class NoopSpanProcessor implements SpanProcessor {
|
|
|
20
20
|
export declare const noopSpanProcessor: NoopSpanProcessor;
|
|
21
21
|
/** Logger interface for processor messages (e.g. queue full, export failure). */
|
|
22
22
|
interface SanitizingProcessorLogger {
|
|
23
|
+
debug?(obj: object, msg?: string): void;
|
|
24
|
+
debug?(msg: string): void;
|
|
23
25
|
error?(obj: object, msg?: string): void;
|
|
24
26
|
error?(msg: string): void;
|
|
25
27
|
warn(obj: object, msg?: string): void;
|
|
@@ -31,8 +33,13 @@ interface SanitizingProcessorLogger {
|
|
|
31
33
|
* CRITICAL: This processor owns the export path. The exporter is internal.
|
|
32
34
|
* For Tier 1: All spans passed to localProcessor (e.g. no-op or local collector).
|
|
33
35
|
* For Tier 2: Only contract-compliant spans, sanitized, then batched and exported.
|
|
36
|
+
*
|
|
37
|
+
* NOTE: The wrapped tier2Exporter must tolerate concurrent export() calls.
|
|
38
|
+
* The periodic timer and the batch-size trigger can both fire flushExports()
|
|
39
|
+
* in the same tick. OTLPTraceExporter is safe; custom exporters should verify.
|
|
34
40
|
*/
|
|
35
41
|
export declare class SanitizingSpanProcessor implements SpanProcessor {
|
|
42
|
+
private readonly exportTimeoutMs;
|
|
36
43
|
private readonly sanitizer;
|
|
37
44
|
private readonly localProcessor;
|
|
38
45
|
private readonly tier2Exporter;
|
|
@@ -40,15 +47,19 @@ export declare class SanitizingSpanProcessor implements SpanProcessor {
|
|
|
40
47
|
private pendingExports;
|
|
41
48
|
private exportTimer;
|
|
42
49
|
private droppedQueueFull;
|
|
43
|
-
|
|
50
|
+
/** Tracks in-flight fire-and-forget flushes so shutdown/forceFlush can await them. */
|
|
51
|
+
private readonly inflight;
|
|
52
|
+
constructor(policyEvaluator: TelemetryPolicyEvaluator, localProcessor: SpanProcessor, tier2Exporter: SpanExporter | null, traceSanitizer: TraceSanitizer, logger: SanitizingProcessorLogger, exportTimeoutMs?: number);
|
|
44
53
|
onStart(span: Span, parentContext: Context): void;
|
|
45
54
|
onEnd(span: ReadableSpan): void;
|
|
55
|
+
/** Fire-and-forget batch flush — tracks the in-flight promise so shutdown/forceFlush can await it. */
|
|
56
|
+
private flushExports;
|
|
46
57
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
58
|
+
* Awaitable batch flush for drain paths (shutdown, forceFlush).
|
|
59
|
+
* Always resolves — times out after exportTimeoutMs if the exporter
|
|
60
|
+
* never calls its callback (e.g. broken socket, hung downstream).
|
|
50
61
|
*/
|
|
51
|
-
private
|
|
62
|
+
private flushExportsAsync;
|
|
52
63
|
shutdown(): Promise<void>;
|
|
53
64
|
forceFlush(): Promise<void>;
|
|
54
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizing-processor.d.ts","sourceRoot":"","sources":["../../src/node/sanitizing-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAO9D,iFAAiF;AACjF,cAAM,iBAAkB,YAAW,aAAa;IAC9C,OAAO,IAAI,IAAI;IACf,KAAK,IAAI,IAAI;IACP,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAGzD,iFAAiF;AACjF,UAAU,yBAAyB;IACjC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"sanitizing-processor.d.ts","sourceRoot":"","sources":["../../src/node/sanitizing-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAO9D,iFAAiF;AACjF,cAAM,iBAAkB,YAAW,aAAa;IAC9C,OAAO,IAAI,IAAI;IACf,KAAK,IAAI,IAAI;IACP,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAGzD,iFAAiF;AACjF,UAAU,yBAAyB;IACjC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAKD;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAiBzD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAhBlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,gBAAgB,CAAS;IACjC,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAGnD,eAAe,EAAE,wBAAwB,EACzC,cAAc,EAAE,aAAa,EAC7B,aAAa,EAAE,YAAY,GAAG,IAAI,EAClC,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,yBAAyB,EAChB,eAAe,SAAO;IAoBzC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAIjD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IA8B/B,sGAAsG;IACtG,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyDnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAUlC"}
|
|
@@ -26,8 +26,13 @@ const EXPORT_INTERVAL_MS = 5000;
|
|
|
26
26
|
* CRITICAL: This processor owns the export path. The exporter is internal.
|
|
27
27
|
* For Tier 1: All spans passed to localProcessor (e.g. no-op or local collector).
|
|
28
28
|
* For Tier 2: Only contract-compliant spans, sanitized, then batched and exported.
|
|
29
|
+
*
|
|
30
|
+
* NOTE: The wrapped tier2Exporter must tolerate concurrent export() calls.
|
|
31
|
+
* The periodic timer and the batch-size trigger can both fire flushExports()
|
|
32
|
+
* in the same tick. OTLPTraceExporter is safe; custom exporters should verify.
|
|
29
33
|
*/
|
|
30
34
|
export class SanitizingSpanProcessor {
|
|
35
|
+
exportTimeoutMs;
|
|
31
36
|
sanitizer;
|
|
32
37
|
localProcessor;
|
|
33
38
|
tier2Exporter;
|
|
@@ -35,7 +40,10 @@ export class SanitizingSpanProcessor {
|
|
|
35
40
|
pendingExports = [];
|
|
36
41
|
exportTimer = null;
|
|
37
42
|
droppedQueueFull = false;
|
|
38
|
-
|
|
43
|
+
/** Tracks in-flight fire-and-forget flushes so shutdown/forceFlush can await them. */
|
|
44
|
+
inflight = new Set();
|
|
45
|
+
constructor(policyEvaluator, localProcessor, tier2Exporter, traceSanitizer, logger, exportTimeoutMs = 5000) {
|
|
46
|
+
this.exportTimeoutMs = exportTimeoutMs;
|
|
39
47
|
this.sanitizer = traceSanitizer;
|
|
40
48
|
this.localProcessor = localProcessor;
|
|
41
49
|
this.logger = logger;
|
|
@@ -43,7 +51,7 @@ export class SanitizingSpanProcessor {
|
|
|
43
51
|
? tier2Exporter
|
|
44
52
|
: null;
|
|
45
53
|
if (this.tier2Exporter) {
|
|
46
|
-
this.exportTimer = setInterval(() => this.flushExports(), EXPORT_INTERVAL_MS);
|
|
54
|
+
this.exportTimer = setInterval(() => this.flushExports("periodic"), EXPORT_INTERVAL_MS);
|
|
47
55
|
this.exportTimer.unref();
|
|
48
56
|
}
|
|
49
57
|
}
|
|
@@ -69,28 +77,64 @@ export class SanitizingSpanProcessor {
|
|
|
69
77
|
else {
|
|
70
78
|
this.pendingExports.push(sanitized);
|
|
71
79
|
if (this.pendingExports.length >= BATCH_SIZE) {
|
|
72
|
-
this.flushExports();
|
|
80
|
+
this.flushExports("batch");
|
|
73
81
|
}
|
|
74
82
|
}
|
|
75
83
|
}
|
|
76
84
|
}
|
|
77
85
|
}
|
|
86
|
+
/** Fire-and-forget batch flush — tracks the in-flight promise so shutdown/forceFlush can await it. */
|
|
87
|
+
flushExports(phase) {
|
|
88
|
+
const p = this.flushExportsAsync(phase).finally(() => this.inflight.delete(p));
|
|
89
|
+
this.inflight.add(p);
|
|
90
|
+
}
|
|
78
91
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
92
|
+
* Awaitable batch flush for drain paths (shutdown, forceFlush).
|
|
93
|
+
* Always resolves — times out after exportTimeoutMs if the exporter
|
|
94
|
+
* never calls its callback (e.g. broken socket, hung downstream).
|
|
82
95
|
*/
|
|
83
|
-
|
|
96
|
+
flushExportsAsync(phase) {
|
|
84
97
|
if (!this.tier2Exporter || this.pendingExports.length === 0) {
|
|
85
|
-
return;
|
|
98
|
+
return Promise.resolve();
|
|
86
99
|
}
|
|
87
100
|
if (this.pendingExports.length < MAX_PENDING_EXPORTS) {
|
|
88
101
|
this.droppedQueueFull = false;
|
|
89
102
|
}
|
|
90
103
|
const batch = this.pendingExports.splice(0, BATCH_SIZE);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this.logger.warn({
|
|
104
|
+
return new Promise((resolve) => {
|
|
105
|
+
const timer = setTimeout(() => {
|
|
106
|
+
this.logger.warn({
|
|
107
|
+
component: "SanitizingSpanProcessor",
|
|
108
|
+
batchSize: batch.length,
|
|
109
|
+
exportTimeoutMs: this.exportTimeoutMs,
|
|
110
|
+
phase,
|
|
111
|
+
}, "Tier 2 span export timed out");
|
|
112
|
+
resolve();
|
|
113
|
+
}, this.exportTimeoutMs).unref();
|
|
114
|
+
try {
|
|
115
|
+
this.tier2Exporter.export(batch, (result) => {
|
|
116
|
+
clearTimeout(timer);
|
|
117
|
+
if (result.code !== ExportResultCode.SUCCESS) {
|
|
118
|
+
this.logger.warn({
|
|
119
|
+
component: "SanitizingSpanProcessor",
|
|
120
|
+
err: result.error,
|
|
121
|
+
batchSize: batch.length,
|
|
122
|
+
}, "Tier 2 span export failed");
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.logger.debug?.({ component: "SanitizingSpanProcessor", batchSize: batch.length }, "Tier 2 span export succeeded");
|
|
126
|
+
}
|
|
127
|
+
resolve();
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
clearTimeout(timer);
|
|
132
|
+
this.logger.warn({
|
|
133
|
+
component: "SanitizingSpanProcessor",
|
|
134
|
+
err,
|
|
135
|
+
batchSize: batch.length,
|
|
136
|
+
}, "Tier 2 span export threw synchronously");
|
|
137
|
+
resolve();
|
|
94
138
|
}
|
|
95
139
|
});
|
|
96
140
|
}
|
|
@@ -100,8 +144,9 @@ export class SanitizingSpanProcessor {
|
|
|
100
144
|
this.exportTimer = null;
|
|
101
145
|
}
|
|
102
146
|
while (this.pendingExports.length > 0) {
|
|
103
|
-
this.
|
|
147
|
+
await this.flushExportsAsync("shutdown");
|
|
104
148
|
}
|
|
149
|
+
await Promise.allSettled([...this.inflight]);
|
|
105
150
|
await this.localProcessor.shutdown();
|
|
106
151
|
if (this.tier2Exporter) {
|
|
107
152
|
await this.tier2Exporter.shutdown();
|
|
@@ -109,8 +154,9 @@ export class SanitizingSpanProcessor {
|
|
|
109
154
|
}
|
|
110
155
|
async forceFlush() {
|
|
111
156
|
while (this.pendingExports.length > 0) {
|
|
112
|
-
this.
|
|
157
|
+
await this.flushExportsAsync("forceFlush");
|
|
113
158
|
}
|
|
159
|
+
await Promise.allSettled([...this.inflight]);
|
|
114
160
|
await this.localProcessor.forceFlush();
|
|
115
161
|
if (this.tier2Exporter?.forceFlush) {
|
|
116
162
|
await this.tier2Exporter.forceFlush();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizing-processor.js","sourceRoot":"","sources":["../../src/node/sanitizing-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,2GAA2G;AAC3G,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,iFAAiF;AACjF,MAAM,iBAAiB;IACrB,OAAO,KAAU,CAAC;IAClB,KAAK,KAAU,CAAC;IAChB,KAAK,CAAC,QAAQ,KAAmB,CAAC;IAClC,KAAK,CAAC,UAAU,KAAmB,CAAC;CACrC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sanitizing-processor.js","sourceRoot":"","sources":["../../src/node/sanitizing-processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/telemetry",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.120-next.0",
|
|
4
4
|
"description": "Superblocks Telemetry - Canonical OTEL bootstrap with tier-aware policy enforcement",
|
|
5
5
|
"license": "Superblocks Community Software License",
|
|
6
6
|
"repository": {
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
"require": "./dist/lint/index.js"
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"registry": "https://registry.npmjs.org"
|
|
48
|
+
},
|
|
46
49
|
"dependencies": {
|
|
47
50
|
"@opentelemetry/api": "^1.9.1",
|
|
48
51
|
"@opentelemetry/api-logs": "^0.214.0",
|
|
@@ -73,20 +76,17 @@
|
|
|
73
76
|
"globals": "^16.5.0",
|
|
74
77
|
"pino": "^8.0.0",
|
|
75
78
|
"premove": "^4.0.0",
|
|
76
|
-
"typescript": "^
|
|
79
|
+
"typescript": "^6.0.3",
|
|
77
80
|
"typescript-eslint": "^8.47.0",
|
|
78
81
|
"vitest": "^2.0.0",
|
|
79
|
-
"@superblocksteam/shared": "0.
|
|
82
|
+
"@superblocksteam/shared": "0.9589.2"
|
|
80
83
|
},
|
|
81
84
|
"peerDependencies": {
|
|
82
|
-
"@superblocksteam/shared": "0.
|
|
85
|
+
"@superblocksteam/shared": "0.9589.2"
|
|
83
86
|
},
|
|
84
87
|
"engines": {
|
|
85
88
|
"node": ">=24"
|
|
86
89
|
},
|
|
87
|
-
"publishConfig": {
|
|
88
|
-
"registry": "https://registry.npmjs.org"
|
|
89
|
-
},
|
|
90
90
|
"scripts": {
|
|
91
91
|
"build": "tsc --build && tsc --build tsconfig.browser.json",
|
|
92
92
|
"check": "npm run typecheck && npm run lint",
|