@superblocksteam/telemetry 2.0.173-next.4 → 2.0.174
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/browser/console-logging.js +7 -2
- package/dist/browser/console-logging.js.map +1 -1
- package/dist/browser/early-console-buffer.js +14 -12
- package/dist/browser/early-console-buffer.js.map +1 -1
- package/dist/browser/index.js +41 -12
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/init.d.ts +1 -1
- package/dist/browser/init.d.ts.map +1 -1
- package/dist/browser/init.js +52 -42
- package/dist/browser/init.js.map +1 -1
- package/dist/browser/instrumentations.js +15 -11
- package/dist/browser/instrumentations.js.map +1 -1
- package/dist/browser/logs.d.ts +1 -1
- package/dist/browser/logs.d.ts.map +1 -1
- package/dist/browser/logs.js +18 -11
- package/dist/browser/logs.js.map +1 -1
- package/dist/browser/metrics.js +12 -9
- package/dist/browser/metrics.js.map +1 -1
- package/dist/browser/resilient-exporter.d.ts +1 -1
- package/dist/browser/resilient-exporter.d.ts.map +1 -1
- package/dist/browser/resilient-exporter.js +12 -8
- package/dist/browser/resilient-exporter.js.map +1 -1
- package/dist/browser/sanitizer.js +6 -2
- package/dist/browser/sanitizer.js.map +1 -1
- package/dist/browser/traced-socket.js +18 -14
- package/dist/browser/traced-socket.js.map +1 -1
- package/dist/common/contracts/tier2-traces.js +44 -33
- package/dist/common/contracts/tier2-traces.js.map +1 -1
- package/dist/common/deployment-type.js +8 -5
- package/dist/common/deployment-type.js.map +1 -1
- package/dist/common/guardrails.js +38 -26
- package/dist/common/guardrails.js.map +1 -1
- package/dist/common/index.js +24 -8
- package/dist/common/index.js.map +1 -1
- package/dist/common/log-sanitizer.js +55 -37
- package/dist/common/log-sanitizer.js.map +1 -1
- package/dist/common/policy-evaluator.d.ts +1 -1
- package/dist/common/policy-evaluator.d.ts.map +1 -1
- package/dist/common/policy-evaluator.js +9 -5
- package/dist/common/policy-evaluator.js.map +1 -1
- package/dist/common/resource.js +25 -18
- package/dist/common/resource.js.map +1 -1
- package/dist/common/tier-hints.js +22 -12
- package/dist/common/tier-hints.js.map +1 -1
- package/dist/common/trace-sanitizer.js +10 -6
- package/dist/common/trace-sanitizer.js.map +1 -1
- package/dist/common/traced-socket-types.js +2 -1
- package/dist/common/traced-socket-types.js.map +1 -1
- package/dist/index.js +38 -6
- package/dist/index.js.map +1 -1
- package/dist/lint/forbidden-attributes.js +24 -19
- package/dist/lint/forbidden-attributes.js.map +1 -1
- package/dist/lint/index.js +8 -1
- package/dist/lint/index.js.map +1 -1
- package/dist/llmobs/index.js +9 -2
- package/dist/llmobs/index.js.map +1 -1
- package/dist/llmobs/tier1-exporter.js +12 -6
- package/dist/llmobs/tier1-exporter.js.map +1 -1
- package/dist/llmobs/tier2-summarizer.js +5 -1
- package/dist/llmobs/tier2-summarizer.js.map +1 -1
- package/dist/node/dynamic-attribute-processor.js +7 -2
- package/dist/node/dynamic-attribute-processor.js.map +1 -1
- package/dist/node/exporters/resilient-exporter.d.ts +1 -1
- package/dist/node/exporters/resilient-exporter.d.ts.map +1 -1
- package/dist/node/exporters/resilient-exporter.js +12 -8
- package/dist/node/exporters/resilient-exporter.js.map +1 -1
- package/dist/node/index.js +26 -7
- package/dist/node/index.js.map +1 -1
- package/dist/node/init.d.ts +3 -3
- package/dist/node/init.d.ts.map +1 -1
- package/dist/node/init.js +72 -66
- package/dist/node/init.js.map +1 -1
- package/dist/node/local-obs-mode.js +4 -1
- package/dist/node/local-obs-mode.js.map +1 -1
- package/dist/node/log-processor.d.ts +1 -1
- package/dist/node/log-processor.d.ts.map +1 -1
- package/dist/node/log-processor.js +55 -47
- package/dist/node/log-processor.js.map +1 -1
- package/dist/node/metrics-client.js +5 -1
- package/dist/node/metrics-client.js.map +1 -1
- package/dist/node/safe-logger.js +12 -8
- package/dist/node/safe-logger.js.map +1 -1
- package/dist/node/sanitizing-processor.d.ts +2 -2
- package/dist/node/sanitizing-processor.d.ts.map +1 -1
- package/dist/node/sanitizing-processor.js +10 -6
- package/dist/node/sanitizing-processor.js.map +1 -1
- package/dist/node/service-tracers.js +10 -7
- package/dist/node/service-tracers.js.map +1 -1
- package/dist/node/traced-socket.d.ts +3 -3
- package/dist/node/traced-socket.d.ts.map +1 -1
- package/dist/node/traced-socket.js +52 -48
- package/dist/node/traced-socket.js.map +1 -1
- package/dist/npm-registry/emitter.js +47 -34
- package/dist/npm-registry/emitter.js.map +1 -1
- package/dist/npm-registry/index.js +19 -3
- package/dist/npm-registry/index.js.map +1 -1
- package/dist/npm-registry/sanitize.js +27 -16
- package/dist/npm-registry/sanitize.js.map +1 -1
- package/dist/npm-registry/spans.js +12 -7
- package/dist/npm-registry/spans.js.map +1 -1
- package/dist/testing/in-memory-exporter.d.ts +1 -1
- package/dist/testing/in-memory-exporter.d.ts.map +1 -1
- package/dist/testing/in-memory-exporter.js +12 -6
- package/dist/testing/in-memory-exporter.js.map +1 -1
- package/dist/testing/index.js +15 -3
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/metrics-capture.js +15 -12
- package/dist/testing/metrics-capture.js.map +1 -1
- package/dist/testing/test-init.js +31 -24
- package/dist/testing/test-init.js.map +1 -1
- package/dist/types/index.js +17 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/policy.js +24 -21
- package/dist/types/policy.js.map +1 -1
- package/dist-esm/browser/console-logging.d.ts +18 -0
- package/dist-esm/browser/console-logging.d.ts.map +1 -0
- package/dist-esm/browser/console-logging.js +27 -0
- package/dist-esm/browser/console-logging.js.map +1 -0
- package/dist-esm/browser/early-console-buffer.d.ts +49 -0
- package/dist-esm/browser/early-console-buffer.d.ts.map +1 -0
- package/dist-esm/browser/early-console-buffer.js +181 -0
- package/dist-esm/browser/early-console-buffer.js.map +1 -0
- package/dist-esm/browser/index.d.ts +18 -0
- package/dist-esm/browser/index.d.ts.map +1 -0
- package/dist-esm/browser/index.js +23 -0
- package/dist-esm/browser/index.js.map +1 -0
- package/dist-esm/browser/init.d.ts +100 -0
- package/dist-esm/browser/init.d.ts.map +1 -0
- package/dist-esm/browser/init.js +317 -0
- package/dist-esm/browser/init.js.map +1 -0
- package/dist-esm/browser/instrumentations.d.ts +67 -0
- package/dist-esm/browser/instrumentations.d.ts.map +1 -0
- package/dist-esm/browser/instrumentations.js +79 -0
- package/dist-esm/browser/instrumentations.js.map +1 -0
- package/dist-esm/browser/logs.d.ts +57 -0
- package/dist-esm/browser/logs.d.ts.map +1 -0
- package/dist-esm/browser/logs.js +80 -0
- package/dist-esm/browser/logs.js.map +1 -0
- package/dist-esm/browser/metrics.d.ts +29 -0
- package/dist-esm/browser/metrics.d.ts.map +1 -0
- package/dist-esm/browser/metrics.js +46 -0
- package/dist-esm/browser/metrics.js.map +1 -0
- package/dist-esm/browser/resilient-exporter.d.ts +43 -0
- package/dist-esm/browser/resilient-exporter.d.ts.map +1 -0
- package/dist-esm/browser/resilient-exporter.js +84 -0
- package/dist-esm/browser/resilient-exporter.js.map +1 -0
- package/dist-esm/browser/sanitizer.d.ts +35 -0
- package/dist-esm/browser/sanitizer.d.ts.map +1 -0
- package/dist-esm/browser/sanitizer.js +207 -0
- package/dist-esm/browser/sanitizer.js.map +1 -0
- package/dist-esm/browser/traced-socket.d.ts +102 -0
- package/dist-esm/browser/traced-socket.d.ts.map +1 -0
- package/dist-esm/browser/traced-socket.js +199 -0
- package/dist-esm/browser/traced-socket.js.map +1 -0
- package/dist-esm/common/contracts/tier2-traces.d.ts +116 -0
- package/dist-esm/common/contracts/tier2-traces.d.ts.map +1 -0
- package/dist-esm/common/contracts/tier2-traces.js +725 -0
- package/dist-esm/common/contracts/tier2-traces.js.map +1 -0
- package/dist-esm/common/deployment-type.d.ts +18 -0
- package/dist-esm/common/deployment-type.d.ts.map +1 -0
- package/dist-esm/common/deployment-type.js +27 -0
- package/dist-esm/common/deployment-type.js.map +1 -0
- package/dist-esm/common/guardrails.d.ts +132 -0
- package/dist-esm/common/guardrails.d.ts.map +1 -0
- package/dist-esm/common/guardrails.js +230 -0
- package/dist-esm/common/guardrails.js.map +1 -0
- package/dist-esm/common/index.d.ts +17 -0
- package/dist-esm/common/index.d.ts.map +1 -0
- package/dist-esm/common/index.js +17 -0
- package/dist-esm/common/index.js.map +1 -0
- package/dist-esm/common/log-sanitizer.d.ts +163 -0
- package/dist-esm/common/log-sanitizer.d.ts.map +1 -0
- package/dist-esm/common/log-sanitizer.js +745 -0
- package/dist-esm/common/log-sanitizer.js.map +1 -0
- package/dist-esm/common/policy-evaluator.d.ts +103 -0
- package/dist-esm/common/policy-evaluator.d.ts.map +1 -0
- package/dist-esm/common/policy-evaluator.js +196 -0
- package/dist-esm/common/policy-evaluator.js.map +1 -0
- package/dist-esm/common/resource.d.ts +79 -0
- package/dist-esm/common/resource.d.ts.map +1 -0
- package/dist-esm/common/resource.js +121 -0
- package/dist-esm/common/resource.js.map +1 -0
- package/dist-esm/common/tier-hints.d.ts +182 -0
- package/dist-esm/common/tier-hints.d.ts.map +1 -0
- package/dist-esm/common/tier-hints.js +199 -0
- package/dist-esm/common/tier-hints.js.map +1 -0
- package/dist-esm/common/trace-sanitizer.d.ts +82 -0
- package/dist-esm/common/trace-sanitizer.d.ts.map +1 -0
- package/dist-esm/common/trace-sanitizer.js +230 -0
- package/dist-esm/common/trace-sanitizer.js.map +1 -0
- package/dist-esm/common/traced-socket-types.d.ts +43 -0
- package/dist-esm/common/traced-socket-types.d.ts.map +1 -0
- package/dist-esm/common/traced-socket-types.js +16 -0
- package/dist-esm/common/traced-socket-types.js.map +1 -0
- package/dist-esm/index.d.ts +45 -0
- package/dist-esm/index.d.ts.map +1 -0
- package/dist-esm/index.js +56 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/lint/forbidden-attributes.d.ts +149 -0
- package/dist-esm/lint/forbidden-attributes.d.ts.map +1 -0
- package/dist-esm/lint/forbidden-attributes.js +210 -0
- package/dist-esm/lint/forbidden-attributes.js.map +1 -0
- package/dist-esm/lint/index.d.ts +9 -0
- package/dist-esm/lint/index.d.ts.map +1 -0
- package/dist-esm/lint/index.js +9 -0
- package/dist-esm/lint/index.js.map +1 -0
- package/dist-esm/llmobs/index.d.ts +22 -0
- package/dist-esm/llmobs/index.d.ts.map +1 -0
- package/dist-esm/llmobs/index.js +22 -0
- package/dist-esm/llmobs/index.js.map +1 -0
- package/dist-esm/llmobs/tier1-exporter.d.ts +146 -0
- package/dist-esm/llmobs/tier1-exporter.d.ts.map +1 -0
- package/dist-esm/llmobs/tier1-exporter.js +193 -0
- package/dist-esm/llmobs/tier1-exporter.js.map +1 -0
- package/dist-esm/llmobs/tier2-summarizer.d.ts +268 -0
- package/dist-esm/llmobs/tier2-summarizer.d.ts.map +1 -0
- package/dist-esm/llmobs/tier2-summarizer.js +652 -0
- package/dist-esm/llmobs/tier2-summarizer.js.map +1 -0
- package/dist-esm/node/dynamic-attribute-processor.d.ts +43 -0
- package/dist-esm/node/dynamic-attribute-processor.d.ts.map +1 -0
- package/dist-esm/node/dynamic-attribute-processor.js +74 -0
- package/dist-esm/node/dynamic-attribute-processor.js.map +1 -0
- package/dist-esm/node/exporters/resilient-exporter.d.ts +91 -0
- package/dist-esm/node/exporters/resilient-exporter.d.ts.map +1 -0
- package/dist-esm/node/exporters/resilient-exporter.js +132 -0
- package/dist-esm/node/exporters/resilient-exporter.js.map +1 -0
- package/dist-esm/node/index.d.ts +13 -0
- package/dist-esm/node/index.d.ts.map +1 -0
- package/dist-esm/node/index.js +13 -0
- package/dist-esm/node/index.js.map +1 -0
- package/dist-esm/node/init.d.ts +97 -0
- package/dist-esm/node/init.d.ts.map +1 -0
- package/dist-esm/node/init.js +359 -0
- package/dist-esm/node/init.js.map +1 -0
- package/dist-esm/node/local-obs-mode.d.ts +17 -0
- package/dist-esm/node/local-obs-mode.d.ts.map +1 -0
- package/dist-esm/node/local-obs-mode.js +19 -0
- package/dist-esm/node/local-obs-mode.js.map +1 -0
- package/dist-esm/node/log-processor.d.ts +132 -0
- package/dist-esm/node/log-processor.d.ts.map +1 -0
- package/dist-esm/node/log-processor.js +389 -0
- package/dist-esm/node/log-processor.js.map +1 -0
- package/dist-esm/node/metrics-client.d.ts +88 -0
- package/dist-esm/node/metrics-client.d.ts.map +1 -0
- package/dist-esm/node/metrics-client.js +205 -0
- package/dist-esm/node/metrics-client.js.map +1 -0
- package/dist-esm/node/safe-logger.d.ts +55 -0
- package/dist-esm/node/safe-logger.d.ts.map +1 -0
- package/dist-esm/node/safe-logger.js +154 -0
- package/dist-esm/node/safe-logger.js.map +1 -0
- package/dist-esm/node/sanitizing-processor.d.ts +67 -0
- package/dist-esm/node/sanitizing-processor.d.ts.map +1 -0
- package/dist-esm/node/sanitizing-processor.js +163 -0
- package/dist-esm/node/sanitizing-processor.js.map +1 -0
- package/dist-esm/node/service-tracers.d.ts +52 -0
- package/dist-esm/node/service-tracers.d.ts.map +1 -0
- package/dist-esm/node/service-tracers.js +78 -0
- package/dist-esm/node/service-tracers.js.map +1 -0
- package/dist-esm/node/traced-socket.d.ts +120 -0
- package/dist-esm/node/traced-socket.d.ts.map +1 -0
- package/dist-esm/node/traced-socket.js +334 -0
- package/dist-esm/node/traced-socket.js.map +1 -0
- package/dist-esm/npm-registry/emitter.d.ts +330 -0
- package/dist-esm/npm-registry/emitter.d.ts.map +1 -0
- package/dist-esm/npm-registry/emitter.js +546 -0
- package/dist-esm/npm-registry/emitter.js.map +1 -0
- package/dist-esm/npm-registry/index.d.ts +12 -0
- package/dist-esm/npm-registry/index.d.ts.map +1 -0
- package/dist-esm/npm-registry/index.js +12 -0
- package/dist-esm/npm-registry/index.js.map +1 -0
- package/dist-esm/npm-registry/sanitize.d.ts +174 -0
- package/dist-esm/npm-registry/sanitize.d.ts.map +1 -0
- package/dist-esm/npm-registry/sanitize.js +331 -0
- package/dist-esm/npm-registry/sanitize.js.map +1 -0
- package/dist-esm/npm-registry/spans.d.ts +61 -0
- package/dist-esm/npm-registry/spans.d.ts.map +1 -0
- package/dist-esm/npm-registry/spans.js +86 -0
- package/dist-esm/npm-registry/spans.js.map +1 -0
- package/dist-esm/package.json +1 -0
- package/dist-esm/testing/in-memory-exporter.d.ts +179 -0
- package/dist-esm/testing/in-memory-exporter.d.ts.map +1 -0
- package/dist-esm/testing/in-memory-exporter.js +250 -0
- package/dist-esm/testing/in-memory-exporter.js.map +1 -0
- package/dist-esm/testing/index.d.ts +9 -0
- package/dist-esm/testing/index.d.ts.map +1 -0
- package/dist-esm/testing/index.js +9 -0
- package/dist-esm/testing/index.js.map +1 -0
- package/dist-esm/testing/metrics-capture.d.ts +29 -0
- package/dist-esm/testing/metrics-capture.d.ts.map +1 -0
- package/dist-esm/testing/metrics-capture.js +71 -0
- package/dist-esm/testing/metrics-capture.js.map +1 -0
- package/dist-esm/testing/test-init.d.ts +80 -0
- package/dist-esm/testing/test-init.d.ts.map +1 -0
- package/dist-esm/testing/test-init.js +137 -0
- package/dist-esm/testing/test-init.js.map +1 -0
- package/dist-esm/types/index.d.ts +84 -0
- package/dist-esm/types/index.d.ts.map +1 -0
- package/dist-esm/types/index.js +7 -0
- package/dist-esm/types/index.js.map +1 -0
- package/dist-esm/types/policy.d.ts +92 -0
- package/dist-esm/types/policy.d.ts.map +1 -0
- package/dist-esm/types/policy.js +122 -0
- package/dist-esm/types/policy.js.map +1 -0
- package/package.json +17 -11
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* In-Memory Exporters for Testing
|
|
3
4
|
*
|
|
4
5
|
* These exporters capture telemetry data in memory for assertion in tests.
|
|
5
6
|
* No external connections are made.
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.InMemoryLogExporter = exports.InMemoryMetricExporter = exports.InMemorySpanExporter = void 0;
|
|
10
|
+
const core_1 = require("@opentelemetry/core");
|
|
8
11
|
/**
|
|
9
12
|
* In-memory span exporter for testing.
|
|
10
13
|
* Captures all exported spans for assertion.
|
|
11
14
|
*/
|
|
12
|
-
|
|
15
|
+
class InMemorySpanExporter {
|
|
13
16
|
spans = [];
|
|
14
17
|
stopped = false;
|
|
15
18
|
/**
|
|
@@ -17,11 +20,11 @@ export class InMemorySpanExporter {
|
|
|
17
20
|
*/
|
|
18
21
|
export(spans, resultCallback) {
|
|
19
22
|
if (this.stopped) {
|
|
20
|
-
resultCallback({ code: ExportResultCode.FAILED });
|
|
23
|
+
resultCallback({ code: core_1.ExportResultCode.FAILED });
|
|
21
24
|
return;
|
|
22
25
|
}
|
|
23
26
|
this.spans.push(...spans);
|
|
24
|
-
resultCallback({ code: ExportResultCode.SUCCESS });
|
|
27
|
+
resultCallback({ code: core_1.ExportResultCode.SUCCESS });
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
30
|
* Shutdown the exporter.
|
|
@@ -129,10 +132,11 @@ export class InMemorySpanExporter {
|
|
|
129
132
|
return this.spans.map((s) => s.name);
|
|
130
133
|
}
|
|
131
134
|
}
|
|
135
|
+
exports.InMemorySpanExporter = InMemorySpanExporter;
|
|
132
136
|
/**
|
|
133
137
|
* In-memory metric exporter for testing.
|
|
134
138
|
*/
|
|
135
|
-
|
|
139
|
+
class InMemoryMetricExporter {
|
|
136
140
|
metrics = [];
|
|
137
141
|
/**
|
|
138
142
|
* Export metrics to in-memory storage.
|
|
@@ -182,10 +186,11 @@ export class InMemoryMetricExporter {
|
|
|
182
186
|
}
|
|
183
187
|
}
|
|
184
188
|
}
|
|
189
|
+
exports.InMemoryMetricExporter = InMemoryMetricExporter;
|
|
185
190
|
/**
|
|
186
191
|
* In-memory log exporter for testing.
|
|
187
192
|
*/
|
|
188
|
-
|
|
193
|
+
class InMemoryLogExporter {
|
|
189
194
|
logs = [];
|
|
190
195
|
/**
|
|
191
196
|
* Export logs to in-memory storage.
|
|
@@ -247,4 +252,5 @@ export class InMemoryLogExporter {
|
|
|
247
252
|
}
|
|
248
253
|
}
|
|
249
254
|
}
|
|
255
|
+
exports.InMemoryLogExporter = InMemoryLogExporter;
|
|
250
256
|
//# sourceMappingURL=in-memory-exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-exporter.js","sourceRoot":"","sources":["../../src/testing/in-memory-exporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"in-memory-exporter.js","sourceRoot":"","sources":["../../src/testing/in-memory-exporter.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.js
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Testing Utilities
|
|
3
4
|
*
|
|
4
5
|
* In-memory exporters and test helpers for telemetry assertions.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.captureMetrics = exports.withTestSpan = exports.getTestTracer = exports.resetTestTelemetry = exports.getTestTelemetryInstance = exports.initTestTelemetry = exports.InMemoryLogExporter = exports.InMemoryMetricExporter = exports.InMemorySpanExporter = void 0;
|
|
9
|
+
var in_memory_exporter_js_1 = require("./in-memory-exporter.js");
|
|
10
|
+
Object.defineProperty(exports, "InMemorySpanExporter", { enumerable: true, get: function () { return in_memory_exporter_js_1.InMemorySpanExporter; } });
|
|
11
|
+
Object.defineProperty(exports, "InMemoryMetricExporter", { enumerable: true, get: function () { return in_memory_exporter_js_1.InMemoryMetricExporter; } });
|
|
12
|
+
Object.defineProperty(exports, "InMemoryLogExporter", { enumerable: true, get: function () { return in_memory_exporter_js_1.InMemoryLogExporter; } });
|
|
13
|
+
var test_init_js_1 = require("./test-init.js");
|
|
14
|
+
Object.defineProperty(exports, "initTestTelemetry", { enumerable: true, get: function () { return test_init_js_1.initTestTelemetry; } });
|
|
15
|
+
Object.defineProperty(exports, "getTestTelemetryInstance", { enumerable: true, get: function () { return test_init_js_1.getTestTelemetryInstance; } });
|
|
16
|
+
Object.defineProperty(exports, "resetTestTelemetry", { enumerable: true, get: function () { return test_init_js_1.resetTestTelemetry; } });
|
|
17
|
+
Object.defineProperty(exports, "getTestTracer", { enumerable: true, get: function () { return test_init_js_1.getTestTracer; } });
|
|
18
|
+
Object.defineProperty(exports, "withTestSpan", { enumerable: true, get: function () { return test_init_js_1.withTestSpan; } });
|
|
19
|
+
var metrics_capture_js_1 = require("./metrics-capture.js");
|
|
20
|
+
Object.defineProperty(exports, "captureMetrics", { enumerable: true, get: function () { return metrics_capture_js_1.captureMetrics; } });
|
|
9
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iEAMiC;AAL/B,6HAAA,oBAAoB,OAAA;AACpB,+HAAA,sBAAsB,OAAA;AACtB,4HAAA,mBAAmB,OAAA;AAKrB,+CAOwB;AANtB,iHAAA,iBAAiB,OAAA;AACjB,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAClB,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA;AAId,2DAI8B;AAH5B,oHAAA,cAAc,OAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* In-memory metric capture for tests.
|
|
3
4
|
*
|
|
@@ -9,17 +10,19 @@
|
|
|
9
10
|
* Installing a provider also re-binds instruments written against the lazy
|
|
10
11
|
* pattern, so a module imported before the harness ran still records.
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.captureMetrics = captureMetrics;
|
|
15
|
+
const api_1 = require("@opentelemetry/api");
|
|
16
|
+
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
17
|
+
function captureMetrics() {
|
|
18
|
+
const exporter = new sdk_metrics_1.InMemoryMetricExporter(sdk_metrics_1.AggregationTemporality.DELTA);
|
|
19
|
+
const reader = new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
17
20
|
exporter,
|
|
18
21
|
exportIntervalMillis: 60_000,
|
|
19
22
|
});
|
|
20
|
-
const provider = new MeterProvider({ readers: [reader] });
|
|
21
|
-
metrics.disable();
|
|
22
|
-
metrics.setGlobalMeterProvider(provider);
|
|
23
|
+
const provider = new sdk_metrics_1.MeterProvider({ readers: [reader] });
|
|
24
|
+
api_1.metrics.disable();
|
|
25
|
+
api_1.metrics.setGlobalMeterProvider(provider);
|
|
23
26
|
const collectNamed = async () => {
|
|
24
27
|
await provider.forceFlush();
|
|
25
28
|
const collected = [];
|
|
@@ -29,7 +32,7 @@ export function captureMetrics() {
|
|
|
29
32
|
const name = metric.descriptor.name;
|
|
30
33
|
// Narrow on the metric, not the point: `dataPoints` is only typed
|
|
31
34
|
// once `dataPointType` has been checked.
|
|
32
|
-
if (metric.dataPointType === DataPointType.HISTOGRAM) {
|
|
35
|
+
if (metric.dataPointType === sdk_metrics_1.DataPointType.HISTOGRAM) {
|
|
33
36
|
for (const point of metric.dataPoints) {
|
|
34
37
|
collected.push({
|
|
35
38
|
attributes: point.attributes,
|
|
@@ -41,8 +44,8 @@ export function captureMetrics() {
|
|
|
41
44
|
});
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
|
-
else if (metric.dataPointType === DataPointType.SUM ||
|
|
45
|
-
metric.dataPointType === DataPointType.GAUGE) {
|
|
47
|
+
else if (metric.dataPointType === sdk_metrics_1.DataPointType.SUM ||
|
|
48
|
+
metric.dataPointType === sdk_metrics_1.DataPointType.GAUGE) {
|
|
46
49
|
for (const point of metric.dataPoints) {
|
|
47
50
|
collected.push({
|
|
48
51
|
attributes: point.attributes,
|
|
@@ -64,7 +67,7 @@ export function captureMetrics() {
|
|
|
64
67
|
.map(({ name: _name, ...point }) => point),
|
|
65
68
|
shutdown: async () => {
|
|
66
69
|
await provider.shutdown();
|
|
67
|
-
metrics.disable();
|
|
70
|
+
api_1.metrics.disable();
|
|
68
71
|
},
|
|
69
72
|
};
|
|
70
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-capture.js","sourceRoot":"","sources":["../../src/testing/metrics-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"metrics-capture.js","sourceRoot":"","sources":["../../src/testing/metrics-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Test Telemetry Initialization
|
|
3
4
|
*
|
|
4
5
|
* Initialize telemetry for testing with in-memory exporters.
|
|
5
6
|
* No external connections are made.
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.initTestTelemetry = initTestTelemetry;
|
|
10
|
+
exports.getTestTelemetryInstance = getTestTelemetryInstance;
|
|
11
|
+
exports.resetTestTelemetry = resetTestTelemetry;
|
|
12
|
+
exports.getTestTracer = getTestTracer;
|
|
13
|
+
exports.withTestSpan = withTestSpan;
|
|
14
|
+
const api_1 = require("@opentelemetry/api");
|
|
15
|
+
const context_async_hooks_1 = require("@opentelemetry/context-async-hooks");
|
|
16
|
+
const core_1 = require("@opentelemetry/core");
|
|
17
|
+
const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
|
|
18
|
+
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
19
|
+
const policy_evaluator_js_1 = require("../common/policy-evaluator.js");
|
|
20
|
+
const resource_js_1 = require("../common/resource.js");
|
|
21
|
+
const policy_js_1 = require("../types/policy.js");
|
|
22
|
+
const in_memory_exporter_js_1 = require("./in-memory-exporter.js");
|
|
16
23
|
// Singleton for tests
|
|
17
24
|
let testInstance;
|
|
18
25
|
let tracerProvider;
|
|
@@ -49,25 +56,25 @@ const DEFAULT_TEST_CONFIG = {
|
|
|
49
56
|
* });
|
|
50
57
|
* ```
|
|
51
58
|
*/
|
|
52
|
-
|
|
59
|
+
function initTestTelemetry(config) {
|
|
53
60
|
if (testInstance) {
|
|
54
61
|
return testInstance;
|
|
55
62
|
}
|
|
56
63
|
const mergedConfig = { ...DEFAULT_TEST_CONFIG, ...config };
|
|
57
|
-
const resource = buildResource(mergedConfig);
|
|
58
|
-
const spanExporter = new InMemorySpanExporter();
|
|
59
|
-
const metricExporter = new InMemoryMetricExporter();
|
|
60
|
-
const logExporter = new InMemoryLogExporter();
|
|
61
|
-
const policyEvaluator = new TelemetryPolicyEvaluator(CLOUD_DEFAULT_POLICY);
|
|
64
|
+
const resource = (0, resource_js_1.buildResource)(mergedConfig);
|
|
65
|
+
const spanExporter = new in_memory_exporter_js_1.InMemorySpanExporter();
|
|
66
|
+
const metricExporter = new in_memory_exporter_js_1.InMemoryMetricExporter();
|
|
67
|
+
const logExporter = new in_memory_exporter_js_1.InMemoryLogExporter();
|
|
68
|
+
const policyEvaluator = new policy_evaluator_js_1.TelemetryPolicyEvaluator(policy_js_1.CLOUD_DEFAULT_POLICY);
|
|
62
69
|
// Create provider with span processors in constructor (OTEL v2.x API)
|
|
63
|
-
tracerProvider = new NodeTracerProvider({
|
|
70
|
+
tracerProvider = new sdk_trace_node_1.NodeTracerProvider({
|
|
64
71
|
resource,
|
|
65
|
-
spanProcessors: [new SimpleSpanProcessor(spanExporter)],
|
|
72
|
+
spanProcessors: [new sdk_trace_base_1.SimpleSpanProcessor(spanExporter)],
|
|
66
73
|
});
|
|
67
74
|
// Register the provider
|
|
68
75
|
tracerProvider.register({
|
|
69
|
-
propagator: new W3CTraceContextPropagator(),
|
|
70
|
-
contextManager: new AsyncLocalStorageContextManager(),
|
|
76
|
+
propagator: new core_1.W3CTraceContextPropagator(),
|
|
77
|
+
contextManager: new context_async_hooks_1.AsyncLocalStorageContextManager(),
|
|
71
78
|
});
|
|
72
79
|
testInstance = {
|
|
73
80
|
spanExporter,
|
|
@@ -92,7 +99,7 @@ export function initTestTelemetry(config) {
|
|
|
92
99
|
*
|
|
93
100
|
* @throws Error if not initialized
|
|
94
101
|
*/
|
|
95
|
-
|
|
102
|
+
function getTestTelemetryInstance() {
|
|
96
103
|
if (!testInstance) {
|
|
97
104
|
throw new Error("[TestTelemetry] Not initialized. Call initTestTelemetry() first.");
|
|
98
105
|
}
|
|
@@ -101,7 +108,7 @@ export function getTestTelemetryInstance() {
|
|
|
101
108
|
/**
|
|
102
109
|
* Reset the test telemetry (for cleanup between test files).
|
|
103
110
|
*/
|
|
104
|
-
|
|
111
|
+
async function resetTestTelemetry() {
|
|
105
112
|
if (testInstance) {
|
|
106
113
|
await testInstance.shutdown();
|
|
107
114
|
}
|
|
@@ -112,8 +119,8 @@ export async function resetTestTelemetry() {
|
|
|
112
119
|
* @param name - Tracer name
|
|
113
120
|
* @returns Tracer instance
|
|
114
121
|
*/
|
|
115
|
-
|
|
116
|
-
return trace.getTracer(name);
|
|
122
|
+
function getTestTracer(name = "test") {
|
|
123
|
+
return api_1.trace.getTracer(name);
|
|
117
124
|
}
|
|
118
125
|
/**
|
|
119
126
|
* Run a function within a test span.
|
|
@@ -123,7 +130,7 @@ export function getTestTracer(name = "test") {
|
|
|
123
130
|
* @param fn - Function to run
|
|
124
131
|
* @returns Function result
|
|
125
132
|
*/
|
|
126
|
-
|
|
133
|
+
async function withTestSpan(name, fn) {
|
|
127
134
|
const tracer = getTestTracer();
|
|
128
135
|
return tracer.startActiveSpan(name, async (span) => {
|
|
129
136
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-init.js","sourceRoot":"","sources":["../../src/testing/test-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"test-init.js","sourceRoot":"","sources":["../../src/testing/test-init.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA0EH,8CA6CC;AAOD,4DAOC;AAKD,gDAIC;AAQD,sCAIC;AAUD,oCAYC;AA9KD,4CAA2C;AAC3C,4EAAqF;AACrF,8CAAgE;AAChE,kEAAoE;AACpE,kEAAmE;AAEnE,uEAAyE;AACzE,uDAAsD;AAEtD,kDAA0D;AAC1D,mEAIiC;AAoBjC,sBAAsB;AACtB,IAAI,YAA+C,CAAC;AACpD,IAAI,cAA8C,CAAC;AAEnD;;GAEG;AACH,MAAM,mBAAmB,GAAwB;IAC/C,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,YAAY;IAC5B,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,iBAAiB,CAC/B,MAAqC;IAErC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,YAAY,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,IAAI,4CAAoB,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,8CAAsB,EAAE,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,2CAAmB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,8CAAwB,CAAC,gCAAoB,CAAC,CAAC;IAE3E,sEAAsE;IACtE,cAAc,GAAG,IAAI,mCAAkB,CAAC;QACtC,QAAQ;QACR,cAAc,EAAE,CAAC,IAAI,oCAAmB,CAAC,YAAY,CAAC,CAAC;KACxD,CAAC,CAAC;IAEH,wBAAwB;IACxB,cAAc,CAAC,QAAQ,CAAC;QACtB,UAAU,EAAE,IAAI,gCAAyB,EAAE;QAC3C,cAAc,EAAE,IAAI,qDAA+B,EAAE;KACtD,CAAC,CAAC;IAEH,YAAY,GAAG;QACb,YAAY;QACZ,cAAc;QACd,WAAW;QACX,eAAe;QACf,KAAK,EAAE,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,QAAQ,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,cAAc,EAAE,QAAQ,EAAE,CAAC;YACjC,YAAY,GAAG,SAAS,CAAC;YACzB,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC;KACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB;IACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,IAAI,GAAG,MAAM;IAEb,OAAO,WAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,EAAwB;IAExB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Telemetry Types
|
|
3
4
|
*
|
|
4
5
|
* Re-exports policy types and config interfaces.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
__exportStar(require("./policy.js"), exports);
|
|
7
23
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,8CAA4B"}
|
package/dist/types/policy.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CLOUD_PREM_DEFAULT_POLICY = exports.CLOUD_DEFAULT_POLICY = exports.TIER3_CONTENT_POLICY_DISABLED = exports.TIER3_CONTENT_POLICY_DEFAULT = exports.EnforcementMode = exports.TelemetryTier = exports.DeploymentType = void 0;
|
|
4
|
+
exports.getDefaultPolicy = getDefaultPolicy;
|
|
1
5
|
/**
|
|
2
6
|
* Telemetry Policy Types
|
|
3
7
|
*
|
|
@@ -5,9 +9,8 @@
|
|
|
5
9
|
* sanitization, hashing, and routing. The SDK just emits full-fidelity data.
|
|
6
10
|
* See obs/otel-collector/config-tiered.yaml for Collector configuration.
|
|
7
11
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export { DeploymentTypeEnum as DeploymentType };
|
|
12
|
+
const shared_1 = require("@superblocksteam/shared");
|
|
13
|
+
Object.defineProperty(exports, "DeploymentType", { enumerable: true, get: function () { return shared_1.DeploymentTypeEnum; } });
|
|
11
14
|
/**
|
|
12
15
|
* Telemetry tier definitions.
|
|
13
16
|
*
|
|
@@ -20,7 +23,7 @@ export { DeploymentTypeEnum as DeploymentType };
|
|
|
20
23
|
* - Collector transforms and routes to appropriate tier pipelines
|
|
21
24
|
* - Tier tagging, hashing, and filtering happen at Collector level
|
|
22
25
|
*/
|
|
23
|
-
|
|
26
|
+
var TelemetryTier;
|
|
24
27
|
(function (TelemetryTier) {
|
|
25
28
|
/** Full fidelity debugging data - prompts, code, tool IO, stack traces */
|
|
26
29
|
TelemetryTier["TIER_1_LOCAL"] = "tier_1_local";
|
|
@@ -28,19 +31,19 @@ export var TelemetryTier;
|
|
|
28
31
|
TelemetryTier["TIER_2_OPERATIONAL"] = "tier_2_operational";
|
|
29
32
|
/** AI experience telemetry - prompts, responses, quality signals (no tool outputs) */
|
|
30
33
|
TelemetryTier["TIER_3_AI_EXPERIENCE"] = "tier_3_ai_experience";
|
|
31
|
-
})(TelemetryTier || (TelemetryTier = {}));
|
|
32
|
-
|
|
34
|
+
})(TelemetryTier || (exports.TelemetryTier = TelemetryTier = {}));
|
|
35
|
+
var EnforcementMode;
|
|
33
36
|
(function (EnforcementMode) {
|
|
34
37
|
/** Log violations but allow */
|
|
35
38
|
EnforcementMode["AUDIT"] = "audit";
|
|
36
39
|
/** Block violations */
|
|
37
40
|
EnforcementMode["ENFORCE"] = "enforce";
|
|
38
|
-
})(EnforcementMode || (EnforcementMode = {}));
|
|
41
|
+
})(EnforcementMode || (exports.EnforcementMode = EnforcementMode = {}));
|
|
39
42
|
// ============================================================================
|
|
40
43
|
// Default Policies
|
|
41
44
|
// ============================================================================
|
|
42
45
|
/** Default Tier 3 content policy (enabled with all guardrails) */
|
|
43
|
-
|
|
46
|
+
exports.TIER3_CONTENT_POLICY_DEFAULT = {
|
|
44
47
|
contentExportEnabled: true,
|
|
45
48
|
secretRedactionEnabled: true,
|
|
46
49
|
toolOutputFilteringEnabled: true,
|
|
@@ -48,7 +51,7 @@ export const TIER3_CONTENT_POLICY_DEFAULT = {
|
|
|
48
51
|
maxResponseBytes: 65536,
|
|
49
52
|
};
|
|
50
53
|
/** Tier 3 content policy: disabled (kill switch) */
|
|
51
|
-
|
|
54
|
+
exports.TIER3_CONTENT_POLICY_DISABLED = {
|
|
52
55
|
contentExportEnabled: false,
|
|
53
56
|
secretRedactionEnabled: true,
|
|
54
57
|
toolOutputFilteringEnabled: true,
|
|
@@ -58,8 +61,8 @@ export const TIER3_CONTENT_POLICY_DISABLED = {
|
|
|
58
61
|
/**
|
|
59
62
|
* Cloud deployment: all tiers enabled and exported.
|
|
60
63
|
*/
|
|
61
|
-
|
|
62
|
-
deploymentType: DeploymentTypeEnum.CLOUD,
|
|
64
|
+
exports.CLOUD_DEFAULT_POLICY = {
|
|
65
|
+
deploymentType: shared_1.DeploymentTypeEnum.CLOUD,
|
|
63
66
|
tiers: {
|
|
64
67
|
[TelemetryTier.TIER_1_LOCAL]: {
|
|
65
68
|
enabled: true,
|
|
@@ -77,15 +80,15 @@ export const CLOUD_DEFAULT_POLICY = {
|
|
|
77
80
|
sampleRate: 1.0,
|
|
78
81
|
},
|
|
79
82
|
},
|
|
80
|
-
tier3Content: TIER3_CONTENT_POLICY_DEFAULT,
|
|
83
|
+
tier3Content: exports.TIER3_CONTENT_POLICY_DEFAULT,
|
|
81
84
|
enforcementMode: EnforcementMode.ENFORCE,
|
|
82
85
|
};
|
|
83
86
|
/**
|
|
84
87
|
* Cloud-Prem deployment: Tier 1 local only, Tier 2/3 exported.
|
|
85
88
|
* Hashing/sanitization handled by OTEL Collector.
|
|
86
89
|
*/
|
|
87
|
-
|
|
88
|
-
deploymentType: DeploymentTypeEnum.CLOUD_PREM,
|
|
90
|
+
exports.CLOUD_PREM_DEFAULT_POLICY = {
|
|
91
|
+
deploymentType: shared_1.DeploymentTypeEnum.CLOUD_PREM,
|
|
89
92
|
tiers: {
|
|
90
93
|
[TelemetryTier.TIER_1_LOCAL]: {
|
|
91
94
|
enabled: true,
|
|
@@ -103,20 +106,20 @@ export const CLOUD_PREM_DEFAULT_POLICY = {
|
|
|
103
106
|
sampleRate: 1.0,
|
|
104
107
|
},
|
|
105
108
|
},
|
|
106
|
-
tier3Content: TIER3_CONTENT_POLICY_DEFAULT,
|
|
109
|
+
tier3Content: exports.TIER3_CONTENT_POLICY_DEFAULT,
|
|
107
110
|
enforcementMode: EnforcementMode.ENFORCE,
|
|
108
111
|
};
|
|
109
112
|
/**
|
|
110
113
|
* Get the default policy for a deployment type.
|
|
111
114
|
*/
|
|
112
|
-
|
|
115
|
+
function getDefaultPolicy(deploymentType) {
|
|
113
116
|
switch (deploymentType) {
|
|
114
|
-
case DeploymentTypeEnum.CLOUD:
|
|
115
|
-
return CLOUD_DEFAULT_POLICY;
|
|
116
|
-
case DeploymentTypeEnum.CLOUD_PREM:
|
|
117
|
-
return CLOUD_PREM_DEFAULT_POLICY;
|
|
117
|
+
case shared_1.DeploymentTypeEnum.CLOUD:
|
|
118
|
+
return exports.CLOUD_DEFAULT_POLICY;
|
|
119
|
+
case shared_1.DeploymentTypeEnum.CLOUD_PREM:
|
|
120
|
+
return exports.CLOUD_PREM_DEFAULT_POLICY;
|
|
118
121
|
default:
|
|
119
|
-
return CLOUD_DEFAULT_POLICY;
|
|
122
|
+
return exports.CLOUD_DEFAULT_POLICY;
|
|
120
123
|
}
|
|
121
124
|
}
|
|
122
125
|
//# sourceMappingURL=policy.js.map
|
package/dist/types/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/types/policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/types/policy.ts"],"names":[],"mappings":";;;AAsKA,4CAWC;AAjLD;;;;;;GAMG;AACH,oDAA6D;AAG9B,+FAHtB,2BAAkB,OAGkB;AAE7C;;;;;;;;;;;GAWG;AACH,IAAY,aASX;AATD,WAAY,aAAa;IACvB,0EAA0E;IAC1E,8CAA6B,CAAA;IAE7B,sEAAsE;IACtE,0DAAyC,CAAA;IAEzC,sFAAsF;IACtF,8DAA6C,CAAA;AAC/C,CAAC,EATW,aAAa,6BAAb,aAAa,QASxB;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,+BAA+B;IAC/B,kCAAe,CAAA;IACf,uBAAuB;IACvB,sCAAmB,CAAA;AACrB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAgDD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,kEAAkE;AACrD,QAAA,4BAA4B,GAAuB;IAC9D,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;IAChC,cAAc,EAAE,KAAK;IACrB,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF,oDAAoD;AACvC,QAAA,6BAA6B,GAAuB;IAC/D,oBAAoB,EAAE,KAAK;IAC3B,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;IAChC,cAAc,EAAE,KAAK;IACrB,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF;;GAEG;AACU,QAAA,oBAAoB,GAAoB;IACnD,cAAc,EAAE,2BAAkB,CAAC,KAAK;IACxC,KAAK,EAAE;QACL,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,GAAG;SAChB;QACD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,GAAG;SAChB;QACD,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;YACpC,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,GAAG;SAChB;KACF;IACD,YAAY,EAAE,oCAA4B;IAC1C,eAAe,EAAE,eAAe,CAAC,OAAO;CACzC,CAAC;AAEF;;;GAGG;AACU,QAAA,yBAAyB,GAAoB;IACxD,cAAc,EAAE,2BAAkB,CAAC,UAAU;IAC7C,KAAK,EAAE;QACL,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,GAAG;SAChB;QACD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,GAAG;SAChB;QACD,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;YACpC,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,GAAG;SAChB;KACF;IACD,YAAY,EAAE,oCAA4B;IAC1C,eAAe,EAAE,eAAe,CAAC,OAAO;CACzC,CAAC;AAEF;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,cAAkC;IAElC,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,2BAAkB,CAAC,KAAK;YAC3B,OAAO,4BAAoB,CAAC;QAC9B,KAAK,2BAAkB,CAAC,UAAU;YAChC,OAAO,iCAAyB,CAAC;QACnC;YACE,OAAO,4BAAoB,CAAC;IAChC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console Log Attributes
|
|
3
|
+
*
|
|
4
|
+
* Used to attach structured key-value metadata to console.* calls so the
|
|
5
|
+
* EarlyConsoleBuffer (and the live OTel patch) can forward them as OTEL log
|
|
6
|
+
* record attributes.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { consoleLogAttributes } from '@superblocksteam/telemetry/browser';
|
|
10
|
+
* console.info("user loaded", consoleLogAttributes({ userId: "abc123" }));
|
|
11
|
+
*/
|
|
12
|
+
export declare class ConsoleLogAttributes {
|
|
13
|
+
readonly attributes: Record<string, unknown>;
|
|
14
|
+
constructor(attributes: Record<string, unknown>);
|
|
15
|
+
static create(attrs: Record<string, unknown>): ConsoleLogAttributes;
|
|
16
|
+
}
|
|
17
|
+
export declare const consoleLogAttributes: (attrs: Record<string, unknown>) => ConsoleLogAttributes;
|
|
18
|
+
//# sourceMappingURL=console-logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logging.d.ts","sourceRoot":"","sources":["../../src/browser/console-logging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,qBAAa,oBAAoB;aACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE/D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB;CAGpE;AAGD,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,oBAEF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console Log Attributes
|
|
3
|
+
*
|
|
4
|
+
* Used to attach structured key-value metadata to console.* calls so the
|
|
5
|
+
* EarlyConsoleBuffer (and the live OTel patch) can forward them as OTEL log
|
|
6
|
+
* record attributes.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { consoleLogAttributes } from '@superblocksteam/telemetry/browser';
|
|
10
|
+
* console.info("user loaded", consoleLogAttributes({ userId: "abc123" }));
|
|
11
|
+
*/
|
|
12
|
+
// The attributes that should be passed to OTEL logs as part of the message context.
|
|
13
|
+
// To use, create an instance of this class and pass it as an argument to console.* methods.
|
|
14
|
+
export class ConsoleLogAttributes {
|
|
15
|
+
attributes;
|
|
16
|
+
constructor(attributes) {
|
|
17
|
+
this.attributes = attributes;
|
|
18
|
+
}
|
|
19
|
+
static create(attrs) {
|
|
20
|
+
return new ConsoleLogAttributes(attrs);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// Convenience factory
|
|
24
|
+
export const consoleLogAttributes = (attrs) => {
|
|
25
|
+
return new ConsoleLogAttributes(attrs);
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=console-logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logging.js","sourceRoot":"","sources":["../../src/browser/console-logging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oFAAoF;AACpF,4FAA4F;AAC5F,MAAM,OAAO,oBAAoB;IACH;IAA5B,YAA4B,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;IAAG,CAAC;IAEnE,MAAM,CAAC,MAAM,CAAC,KAA8B;QAC1C,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF;AAED,sBAAsB;AACtB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAA8B,EACR,EAAE;IACxB,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Early Console Buffer
|
|
3
|
+
*
|
|
4
|
+
* Patches console.log/info/debug/warn/error as early as possible (before OTel
|
|
5
|
+
* initialises) to capture logs in a ring buffer. On OTel init, the buffer is
|
|
6
|
+
* flushed to the OTel Logger and all subsequent console calls are forwarded
|
|
7
|
+
* directly.
|
|
8
|
+
*
|
|
9
|
+
* IMPORTANT: Each patched method ALWAYS calls through to the original console
|
|
10
|
+
* method first, so downstream patchers (Datadog RUM, PostHog, etc.) that wrap
|
|
11
|
+
* console after us continue to receive every call.
|
|
12
|
+
*/
|
|
13
|
+
import { type Logger } from "@opentelemetry/api-logs";
|
|
14
|
+
declare class EarlyConsoleBuffer {
|
|
15
|
+
private static instance;
|
|
16
|
+
private buffer;
|
|
17
|
+
private maxBufferSize;
|
|
18
|
+
private originalMethods;
|
|
19
|
+
private otelLogger;
|
|
20
|
+
private isPatched;
|
|
21
|
+
private disabled;
|
|
22
|
+
static getInstance(): EarlyConsoleBuffer;
|
|
23
|
+
/**
|
|
24
|
+
* Patch console methods immediately with buffering.
|
|
25
|
+
* Safe to call multiple times — subsequent calls are no-ops.
|
|
26
|
+
*/
|
|
27
|
+
patchEarly(): void;
|
|
28
|
+
private patchMethod;
|
|
29
|
+
private bufferLog;
|
|
30
|
+
/**
|
|
31
|
+
* Disable the buffer without forwarding to OTel. Discards buffered entries
|
|
32
|
+
* and removes the buffering wrapper so subsequent console calls go straight
|
|
33
|
+
* to the original methods (no memory leak from the ever-growing ring buffer).
|
|
34
|
+
*
|
|
35
|
+
* Use this when log export is disabled (e.g. on-premise deployments) so the
|
|
36
|
+
* buffer-and-evict path doesn't run indefinitely.
|
|
37
|
+
*/
|
|
38
|
+
disable(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Called once OTel is ready. Flushes buffered entries then routes all future
|
|
41
|
+
* console calls directly to the OTel logger.
|
|
42
|
+
*/
|
|
43
|
+
enableOpenTelemetry(otelLogger: Logger): void;
|
|
44
|
+
private flushBuffer;
|
|
45
|
+
private sendToOpenTelemetry;
|
|
46
|
+
private formatConsoleArgs;
|
|
47
|
+
}
|
|
48
|
+
export default EarlyConsoleBuffer;
|
|
49
|
+
//# sourceMappingURL=early-console-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"early-console-buffer.d.ts","sourceRoot":"","sources":["../../src/browser/early-console-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,yBAAyB,CAAC;AAwBtE,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAE5C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;;OAGG;IACH,UAAU,IAAI,IAAI;IA4BlB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,SAAS;IAOjB;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;IAqBf;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAM7C,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,iBAAiB;CAkB1B;AAED,eAAe,kBAAkB,CAAC"}
|