@brizz/sdk 0.1.1 → 0.1.2-rc.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.
- package/README.md +339 -19
- package/dist/index.cjs +2937 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +178 -0
- package/dist/index.d.ts +177 -12
- package/dist/index.js +2895 -26
- package/dist/index.js.map +1 -1
- package/dist/loader.mjs +72 -0
- package/dist/preload.cjs +2787 -0
- package/dist/preload.cjs.map +1 -0
- package/dist/preload.d.cts +2 -0
- package/dist/preload.d.ts +2 -0
- package/dist/preload.js +2777 -0
- package/dist/preload.js.map +1 -0
- package/package.json +48 -35
- package/dist/index.d.ts.map +0 -1
- package/dist/internal/config.d.ts +0 -17
- package/dist/internal/config.d.ts.map +0 -1
- package/dist/internal/config.js +0 -94
- package/dist/internal/config.js.map +0 -1
- package/dist/internal/instrumentation/auto-init.d.ts +0 -3
- package/dist/internal/instrumentation/auto-init.d.ts.map +0 -1
- package/dist/internal/instrumentation/auto-init.js +0 -87
- package/dist/internal/instrumentation/auto-init.js.map +0 -1
- package/dist/internal/instrumentation/index.d.ts +0 -2
- package/dist/internal/instrumentation/index.d.ts.map +0 -1
- package/dist/internal/instrumentation/index.js +0 -6
- package/dist/internal/instrumentation/index.js.map +0 -1
- package/dist/internal/instrumentation/registry.d.ts +0 -30
- package/dist/internal/instrumentation/registry.d.ts.map +0 -1
- package/dist/internal/instrumentation/registry.js +0 -94
- package/dist/internal/instrumentation/registry.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/index.d.ts +0 -4
- package/dist/internal/instrumentation/vercel-ai/index.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/index.js +0 -8
- package/dist/internal/instrumentation/vercel-ai/index.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/instrumentation.d.ts +0 -16
- package/dist/internal/instrumentation/vercel-ai/instrumentation.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/instrumentation.js +0 -119
- package/dist/internal/instrumentation/vercel-ai/instrumentation.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.d.ts +0 -24
- package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.js +0 -57
- package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.d.ts +0 -16
- package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.js +0 -58
- package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.d.ts +0 -8
- package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.js +0 -59
- package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/index.d.ts +0 -5
- package/dist/internal/instrumentation/vercel-ai/patchers/index.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/index.js +0 -12
- package/dist/internal/instrumentation/vercel-ai/patchers/index.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.d.ts +0 -12
- package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.js +0 -41
- package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/semconv.d.ts +0 -53
- package/dist/internal/instrumentation/vercel-ai/semconv.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/semconv.js +0 -57
- package/dist/internal/instrumentation/vercel-ai/semconv.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/stream-handler.d.ts +0 -13
- package/dist/internal/instrumentation/vercel-ai/stream-handler.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/stream-handler.js +0 -101
- package/dist/internal/instrumentation/vercel-ai/stream-handler.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.d.ts +0 -13
- package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.js +0 -115
- package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/types.d.ts +0 -197
- package/dist/internal/instrumentation/vercel-ai/types.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/types.js +0 -3
- package/dist/internal/instrumentation/vercel-ai/types.js.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/utils.d.ts +0 -14
- package/dist/internal/instrumentation/vercel-ai/utils.d.ts.map +0 -1
- package/dist/internal/instrumentation/vercel-ai/utils.js +0 -243
- package/dist/internal/instrumentation/vercel-ai/utils.js.map +0 -1
- package/dist/internal/log/index.d.ts +0 -2
- package/dist/internal/log/index.d.ts.map +0 -1
- package/dist/internal/log/index.js +0 -7
- package/dist/internal/log/index.js.map +0 -1
- package/dist/internal/log/logging.d.ts +0 -21
- package/dist/internal/log/logging.d.ts.map +0 -1
- package/dist/internal/log/logging.js +0 -154
- package/dist/internal/log/logging.js.map +0 -1
- package/dist/internal/logger.d.ts +0 -23
- package/dist/internal/logger.d.ts.map +0 -1
- package/dist/internal/logger.js +0 -163
- package/dist/internal/logger.js.map +0 -1
- package/dist/internal/masking/index.d.ts +0 -4
- package/dist/internal/masking/index.d.ts.map +0 -1
- package/dist/internal/masking/index.js +0 -9
- package/dist/internal/masking/index.js.map +0 -1
- package/dist/internal/masking/patterns.d.ts +0 -3
- package/dist/internal/masking/patterns.d.ts.map +0 -1
- package/dist/internal/masking/patterns.js +0 -378
- package/dist/internal/masking/patterns.js.map +0 -1
- package/dist/internal/masking/types.d.ts +0 -33
- package/dist/internal/masking/types.d.ts.map +0 -1
- package/dist/internal/masking/types.js +0 -3
- package/dist/internal/masking/types.js.map +0 -1
- package/dist/internal/masking/utils.d.ts +0 -6
- package/dist/internal/masking/utils.d.ts.map +0 -1
- package/dist/internal/masking/utils.js +0 -232
- package/dist/internal/masking/utils.js.map +0 -1
- package/dist/internal/metric/index.d.ts +0 -2
- package/dist/internal/metric/index.d.ts.map +0 -1
- package/dist/internal/metric/index.js +0 -8
- package/dist/internal/metric/index.js.map +0 -1
- package/dist/internal/metric/metrics.d.ts +0 -18
- package/dist/internal/metric/metrics.d.ts.map +0 -1
- package/dist/internal/metric/metrics.js +0 -88
- package/dist/internal/metric/metrics.js.map +0 -1
- package/dist/internal/sdk.d.ts +0 -36
- package/dist/internal/sdk.d.ts.map +0 -1
- package/dist/internal/sdk.js +0 -159
- package/dist/internal/sdk.js.map +0 -1
- package/dist/internal/trace/index.d.ts +0 -3
- package/dist/internal/trace/index.d.ts.map +0 -1
- package/dist/internal/trace/index.js +0 -11
- package/dist/internal/trace/index.js.map +0 -1
- package/dist/internal/trace/processors/log-masked.d.ts +0 -16
- package/dist/internal/trace/processors/log-masked.d.ts.map +0 -1
- package/dist/internal/trace/processors/log-masked.js +0 -81
- package/dist/internal/trace/processors/log-masked.js.map +0 -1
- package/dist/internal/trace/processors/span-masked.d.ts +0 -16
- package/dist/internal/trace/processors/span-masked.d.ts.map +0 -1
- package/dist/internal/trace/processors/span-masked.js +0 -87
- package/dist/internal/trace/processors/span-masked.js.map +0 -1
- package/dist/internal/trace/tracing.d.ts +0 -18
- package/dist/internal/trace/tracing.d.ts.map +0 -1
- package/dist/internal/trace/tracing.js +0 -103
- package/dist/internal/trace/tracing.js.map +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { SpanExporter } from '@opentelemetry/sdk-trace-base';
|
|
2
|
-
import type { SpanProcessor } from '@opentelemetry/sdk-trace-node';
|
|
3
|
-
import type { IResolvedBrizzConfig } from '../config';
|
|
4
|
-
export declare class TracingModule {
|
|
5
|
-
private static instance;
|
|
6
|
-
private spanExporter;
|
|
7
|
-
private spanProcessor;
|
|
8
|
-
static getInstance(): TracingModule;
|
|
9
|
-
setup(config: IResolvedBrizzConfig): void;
|
|
10
|
-
private initSpanExporter;
|
|
11
|
-
private initSpanProcessor;
|
|
12
|
-
getSpanExporter(): SpanExporter;
|
|
13
|
-
getSpanProcessor(): SpanProcessor;
|
|
14
|
-
shutdown(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
export declare function getSpanExporter(): SpanExporter;
|
|
17
|
-
export declare function getSpanProcessor(): SpanProcessor;
|
|
18
|
-
//# sourceMappingURL=tracing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/internal/trace/tracing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAKtD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,aAAa,CAA8B;IAEnD,MAAM,CAAC,WAAW,IAAI,aAAa;IAUnC,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAkBzC,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,iBAAiB;IAgCzB,eAAe,IAAI,YAAY;IAU/B,gBAAgB,IAAI,aAAa;IAO3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBhC;AAMD,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAMD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TracingModule = void 0;
|
|
4
|
-
exports.getSpanExporter = getSpanExporter;
|
|
5
|
-
exports.getSpanProcessor = getSpanProcessor;
|
|
6
|
-
const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
|
|
7
|
-
const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
|
|
8
|
-
const logger_1 = require("../logger");
|
|
9
|
-
const span_masked_1 = require("./processors/span-masked");
|
|
10
|
-
class TracingModule {
|
|
11
|
-
static instance = null;
|
|
12
|
-
spanExporter = null;
|
|
13
|
-
spanProcessor = null;
|
|
14
|
-
static getInstance() {
|
|
15
|
-
if (!TracingModule.instance) {
|
|
16
|
-
throw new Error('Brizz must be initialized before accessing TracingModule');
|
|
17
|
-
}
|
|
18
|
-
return TracingModule.instance;
|
|
19
|
-
}
|
|
20
|
-
setup(config) {
|
|
21
|
-
logger_1.logger.info('Setting up tracing module');
|
|
22
|
-
this.initSpanExporter(config);
|
|
23
|
-
this.initSpanProcessor(config);
|
|
24
|
-
TracingModule.instance = this;
|
|
25
|
-
logger_1.logger.info('Tracing module setup completed');
|
|
26
|
-
}
|
|
27
|
-
initSpanExporter(config) {
|
|
28
|
-
if (this.spanExporter) {
|
|
29
|
-
logger_1.logger.debug('Span exporter already initialized, skipping re-initialization');
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (config.customSpanExporter) {
|
|
33
|
-
logger_1.logger.debug('Using custom span exporter');
|
|
34
|
-
this.spanExporter = config.customSpanExporter;
|
|
35
|
-
logger_1.logger.debug('Custom span exporter initialized successfully');
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const tracesUrl = config.baseUrl.replace(/\/$/, '') + '/v1/traces';
|
|
39
|
-
logger_1.logger.debug('Initializing default OTLP span exporter', { url: tracesUrl });
|
|
40
|
-
this.spanExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
41
|
-
url: tracesUrl,
|
|
42
|
-
headers: config.headers,
|
|
43
|
-
});
|
|
44
|
-
logger_1.logger.debug('OTLP span exporter initialized successfully');
|
|
45
|
-
}
|
|
46
|
-
initSpanProcessor(config) {
|
|
47
|
-
if (this.spanProcessor) {
|
|
48
|
-
logger_1.logger.debug('Span processor already initialized, skipping re-initialization');
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (!this.spanExporter) {
|
|
52
|
-
throw new Error('Span exporter must be initialized before processor');
|
|
53
|
-
}
|
|
54
|
-
logger_1.logger.debug('Initializing span processor', {
|
|
55
|
-
disableBatch: config.disableBatch,
|
|
56
|
-
hasMasking: !!config.masking?.spanMasking,
|
|
57
|
-
});
|
|
58
|
-
if (config.masking?.spanMasking) {
|
|
59
|
-
this.spanProcessor = config.disableBatch
|
|
60
|
-
? new span_masked_1.MaskedSimpleSpanProcessor(this.spanExporter, config.masking.spanMasking)
|
|
61
|
-
: new span_masked_1.MaskedBatchSpanProcessor(this.spanExporter, config.masking.spanMasking);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.spanProcessor = config.disableBatch
|
|
65
|
-
? new sdk_trace_base_1.SimpleSpanProcessor(this.spanExporter)
|
|
66
|
-
: new sdk_trace_base_1.BatchSpanProcessor(this.spanExporter);
|
|
67
|
-
}
|
|
68
|
-
logger_1.logger.debug('Span processor initialized successfully');
|
|
69
|
-
}
|
|
70
|
-
getSpanExporter() {
|
|
71
|
-
if (!this.spanExporter) {
|
|
72
|
-
throw new Error('Tracing module not initialized');
|
|
73
|
-
}
|
|
74
|
-
return this.spanExporter;
|
|
75
|
-
}
|
|
76
|
-
getSpanProcessor() {
|
|
77
|
-
if (!this.spanProcessor) {
|
|
78
|
-
throw new Error('Tracing module not initialized');
|
|
79
|
-
}
|
|
80
|
-
return this.spanProcessor;
|
|
81
|
-
}
|
|
82
|
-
async shutdown() {
|
|
83
|
-
logger_1.logger.debug('Shutting down tracing module');
|
|
84
|
-
if (this.spanProcessor) {
|
|
85
|
-
await this.spanProcessor.shutdown();
|
|
86
|
-
this.spanProcessor = null;
|
|
87
|
-
}
|
|
88
|
-
if (this.spanExporter) {
|
|
89
|
-
await this.spanExporter.shutdown();
|
|
90
|
-
this.spanExporter = null;
|
|
91
|
-
}
|
|
92
|
-
TracingModule.instance = null;
|
|
93
|
-
logger_1.logger.debug('Tracing module shutdown completed');
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.TracingModule = TracingModule;
|
|
97
|
-
function getSpanExporter() {
|
|
98
|
-
return TracingModule.getInstance().getSpanExporter();
|
|
99
|
-
}
|
|
100
|
-
function getSpanProcessor() {
|
|
101
|
-
return TracingModule.getInstance().getSpanProcessor();
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=tracing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/internal/trace/tracing.ts"],"names":[],"mappings":"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"}
|