@brizz/sdk 0.1.0 → 0.1.2-rc.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.
Files changed (88) hide show
  1. package/README.md +339 -19
  2. package/dist/index.cjs +2936 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +178 -0
  5. package/dist/index.d.ts +177 -12
  6. package/dist/index.js +2895 -9
  7. package/dist/index.js.map +1 -1
  8. package/dist/loader.mjs +72 -0
  9. package/dist/preload.cjs +2786 -0
  10. package/dist/preload.cjs.map +1 -0
  11. package/dist/preload.d.cts +2 -0
  12. package/dist/preload.d.ts +2 -0
  13. package/dist/preload.js +2777 -0
  14. package/dist/preload.js.map +1 -0
  15. package/package.json +35 -13
  16. package/dist/index.d.ts.map +0 -1
  17. package/dist/internal/config.d.ts +0 -17
  18. package/dist/internal/config.d.ts.map +0 -1
  19. package/dist/internal/config.js +0 -90
  20. package/dist/internal/config.js.map +0 -1
  21. package/dist/internal/instrumentation/auto-init.d.ts +0 -3
  22. package/dist/internal/instrumentation/auto-init.d.ts.map +0 -1
  23. package/dist/internal/instrumentation/auto-init.js +0 -82
  24. package/dist/internal/instrumentation/auto-init.js.map +0 -1
  25. package/dist/internal/instrumentation/index.d.ts +0 -2
  26. package/dist/internal/instrumentation/index.d.ts.map +0 -1
  27. package/dist/internal/instrumentation/index.js +0 -2
  28. package/dist/internal/instrumentation/index.js.map +0 -1
  29. package/dist/internal/instrumentation/registry.d.ts +0 -29
  30. package/dist/internal/instrumentation/registry.d.ts.map +0 -1
  31. package/dist/internal/instrumentation/registry.js +0 -88
  32. package/dist/internal/instrumentation/registry.js.map +0 -1
  33. package/dist/internal/log/index.d.ts +0 -2
  34. package/dist/internal/log/index.d.ts.map +0 -1
  35. package/dist/internal/log/index.js +0 -2
  36. package/dist/internal/log/index.js.map +0 -1
  37. package/dist/internal/log/logging.d.ts +0 -21
  38. package/dist/internal/log/logging.d.ts.map +0 -1
  39. package/dist/internal/log/logging.js +0 -149
  40. package/dist/internal/log/logging.js.map +0 -1
  41. package/dist/internal/logger.d.ts +0 -23
  42. package/dist/internal/logger.d.ts.map +0 -1
  43. package/dist/internal/logger.js +0 -155
  44. package/dist/internal/logger.js.map +0 -1
  45. package/dist/internal/masking/index.d.ts +0 -4
  46. package/dist/internal/masking/index.d.ts.map +0 -1
  47. package/dist/internal/masking/index.js +0 -3
  48. package/dist/internal/masking/index.js.map +0 -1
  49. package/dist/internal/masking/patterns.d.ts +0 -3
  50. package/dist/internal/masking/patterns.d.ts.map +0 -1
  51. package/dist/internal/masking/patterns.js +0 -375
  52. package/dist/internal/masking/patterns.js.map +0 -1
  53. package/dist/internal/masking/types.d.ts +0 -33
  54. package/dist/internal/masking/types.d.ts.map +0 -1
  55. package/dist/internal/masking/types.js +0 -2
  56. package/dist/internal/masking/types.js.map +0 -1
  57. package/dist/internal/masking/utils.d.ts +0 -6
  58. package/dist/internal/masking/utils.d.ts.map +0 -1
  59. package/dist/internal/masking/utils.js +0 -226
  60. package/dist/internal/masking/utils.js.map +0 -1
  61. package/dist/internal/metric/index.d.ts +0 -2
  62. package/dist/internal/metric/index.d.ts.map +0 -1
  63. package/dist/internal/metric/index.js +0 -2
  64. package/dist/internal/metric/index.js.map +0 -1
  65. package/dist/internal/metric/metrics.d.ts +0 -18
  66. package/dist/internal/metric/metrics.d.ts.map +0 -1
  67. package/dist/internal/metric/metrics.js +0 -82
  68. package/dist/internal/metric/metrics.js.map +0 -1
  69. package/dist/internal/sdk.d.ts +0 -36
  70. package/dist/internal/sdk.d.ts.map +0 -1
  71. package/dist/internal/sdk.js +0 -155
  72. package/dist/internal/sdk.js.map +0 -1
  73. package/dist/internal/trace/index.d.ts +0 -3
  74. package/dist/internal/trace/index.d.ts.map +0 -1
  75. package/dist/internal/trace/index.js +0 -3
  76. package/dist/internal/trace/index.js.map +0 -1
  77. package/dist/internal/trace/processors/log-masked.d.ts +0 -16
  78. package/dist/internal/trace/processors/log-masked.d.ts.map +0 -1
  79. package/dist/internal/trace/processors/log-masked.js +0 -75
  80. package/dist/internal/trace/processors/log-masked.js.map +0 -1
  81. package/dist/internal/trace/processors/span-masked.d.ts +0 -16
  82. package/dist/internal/trace/processors/span-masked.d.ts.map +0 -1
  83. package/dist/internal/trace/processors/span-masked.js +0 -81
  84. package/dist/internal/trace/processors/span-masked.js.map +0 -1
  85. package/dist/internal/trace/tracing.d.ts +0 -18
  86. package/dist/internal/trace/tracing.d.ts.map +0 -1
  87. package/dist/internal/trace/tracing.js +0 -97
  88. package/dist/internal/trace/tracing.js.map +0 -1
@@ -1,90 +0,0 @@
1
- import { logger, LogLevel, parseLogLevel, setLogLevel } from './logger';
2
- export function resolveConfig(options) {
3
- const envLogLevel = process.env['BRIZZ_LOG_LEVEL'] || options.logLevel?.toString() || 'info';
4
- let resolvedLogLevel;
5
- if (envLogLevel) {
6
- resolvedLogLevel = parseLogLevel(envLogLevel);
7
- }
8
- else if (typeof options.logLevel === 'string') {
9
- resolvedLogLevel = parseLogLevel(options.logLevel);
10
- }
11
- else {
12
- resolvedLogLevel = options.logLevel || LogLevel.NONE;
13
- }
14
- setLogLevel(resolvedLogLevel);
15
- let maskingStatus;
16
- if (options.masking === true) {
17
- maskingStatus = 'enabled';
18
- }
19
- else if (options.masking === false) {
20
- maskingStatus = 'disabled';
21
- }
22
- else if (typeof options.masking === 'object') {
23
- maskingStatus = 'custom';
24
- }
25
- else {
26
- maskingStatus = 'default-disabled';
27
- }
28
- logger.debug('Starting configuration resolution', {
29
- appName: options.appName,
30
- baseUrl: options.baseUrl,
31
- hasApiKey: !!options.apiKey,
32
- disableBatch: options.disableBatch,
33
- logLevel: resolvedLogLevel,
34
- headersCount: Object.keys(options.headers || {}).length,
35
- masking: maskingStatus,
36
- });
37
- let resolvedMasking;
38
- if (options.masking === true) {
39
- resolvedMasking = {
40
- spanMasking: {},
41
- eventMasking: {},
42
- };
43
- }
44
- else if (options.masking && typeof options.masking === 'object') {
45
- resolvedMasking = options.masking;
46
- }
47
- const resolvedConfig = {
48
- ...options,
49
- appName: process.env['BRIZZ_APP_NAME'] || options.appName || 'unknown-app',
50
- baseUrl: process.env['BRIZZ_BASE_URL'] || options.baseUrl || 'https://telemetry.brizz.dev',
51
- headers: { ...options.headers },
52
- apiKey: process.env['BRIZZ_API_KEY'] || options.apiKey,
53
- disableBatch: process.env['BRIZZ_DISABLE_BATCH'] === 'true' || !!options.disableBatch,
54
- logLevel: resolvedLogLevel,
55
- masking: resolvedMasking,
56
- };
57
- if (resolvedConfig.apiKey) {
58
- resolvedConfig.headers['Authorization'] = `Bearer ${resolvedConfig.apiKey}`;
59
- }
60
- if (process.env['BRIZZ_HEADERS']) {
61
- try {
62
- const envHeaders = JSON.parse(process.env['BRIZZ_HEADERS']);
63
- Object.assign(resolvedConfig.headers, envHeaders);
64
- logger.debug('Added headers from environment variable', {
65
- headers: Object.keys(envHeaders),
66
- });
67
- }
68
- catch (error) {
69
- logger.error('Failed to parse BRIZZ_HEADERS environment variable', { error });
70
- throw new Error('Invalid JSON in BRIZZ_HEADERS environment variable');
71
- }
72
- }
73
- logger.debug('Configuration resolved with environment variables', {
74
- appName: resolvedConfig.appName,
75
- baseUrl: resolvedConfig.baseUrl,
76
- hasApiKey: !!resolvedConfig.apiKey,
77
- disableBatch: resolvedConfig.disableBatch,
78
- envOverrides: {
79
- hasEnvApiKey: !!process.env['BRIZZ_API_KEY'],
80
- hasEnvBaseUrl: !!process.env['BRIZZ_BASE_URL'],
81
- hasEnvBatch: !!process.env['BRIZZ_DISABLE_BATCH'],
82
- hasEnvHeaders: !!process.env['BRIZZ_HEADERS'],
83
- },
84
- });
85
- return resolvedConfig;
86
- }
87
- export function processEnvironmentConfig(options) {
88
- return resolveConfig(options);
89
- }
90
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/internal/config.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare let autoInstrumentationsLoaded: boolean;
2
- export { autoInstrumentationsLoaded };
3
- //# sourceMappingURL=auto-init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-init.d.ts","sourceRoot":"","sources":["../../../src/internal/instrumentation/auto-init.ts"],"names":[],"mappings":"AAyBA,QAAA,IAAI,0BAA0B,SAAQ,CAAC;AAoGvC,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,82 +0,0 @@
1
- import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
2
- import { registerInstrumentations } from '@opentelemetry/instrumentation';
3
- import { AnthropicInstrumentation } from '@traceloop/instrumentation-anthropic';
4
- import { BedrockInstrumentation } from '@traceloop/instrumentation-bedrock';
5
- import { ChromaDBInstrumentation } from '@traceloop/instrumentation-chromadb';
6
- import { CohereInstrumentation } from '@traceloop/instrumentation-cohere';
7
- import { LangChainInstrumentation } from '@traceloop/instrumentation-langchain';
8
- import { LlamaIndexInstrumentation } from '@traceloop/instrumentation-llamaindex';
9
- import { OpenAIInstrumentation } from '@traceloop/instrumentation-openai';
10
- import { PineconeInstrumentation } from '@traceloop/instrumentation-pinecone';
11
- import { QdrantInstrumentation } from '@traceloop/instrumentation-qdrant';
12
- import { TogetherInstrumentation } from '@traceloop/instrumentation-together';
13
- import { VertexAIInstrumentation } from '@traceloop/instrumentation-vertexai';
14
- let autoInstrumentationsLoaded = false;
15
- function loadNodeAutoInstrumentations() {
16
- try {
17
- const nodeInstrumentations = getNodeAutoInstrumentations();
18
- registerInstrumentations({ instrumentations: nodeInstrumentations });
19
- return nodeInstrumentations;
20
- }
21
- catch (error) {
22
- console.error(`[Brizz] Failed to load Node.js auto-instrumentations: ${String(error)}`);
23
- return [];
24
- }
25
- }
26
- function loadGenAIInstrumentations() {
27
- const { logger } = require('../logger');
28
- const instrumentations = [];
29
- const exceptionLogger = (error) => {
30
- logger.error(`Exception in instrumentation: ${String(error)}`);
31
- };
32
- const genAIInstrumentationClasses = [
33
- { class: OpenAIInstrumentation, name: 'OpenAI' },
34
- { class: AnthropicInstrumentation, name: 'Anthropic' },
35
- { class: CohereInstrumentation, name: 'Cohere' },
36
- { class: VertexAIInstrumentation, name: 'Vertex AI' },
37
- { class: BedrockInstrumentation, name: 'Bedrock' },
38
- { class: PineconeInstrumentation, name: 'Pinecone' },
39
- { class: LangChainInstrumentation, name: 'LangChain' },
40
- { class: LlamaIndexInstrumentation, name: 'LlamaIndex' },
41
- { class: ChromaDBInstrumentation, name: 'ChromaDB' },
42
- { class: QdrantInstrumentation, name: 'Qdrant' },
43
- { class: TogetherInstrumentation, name: 'Together' },
44
- ];
45
- for (const config of genAIInstrumentationClasses) {
46
- try {
47
- const instrumentation = new config.class({ exceptionLogger });
48
- instrumentations.push(instrumentation);
49
- logger.debug(`Auto-loaded ${config.name} instrumentation`);
50
- }
51
- catch (error) {
52
- logger.error(`Failed to auto-load ${config.name} instrumentation: ${String(error)}`);
53
- }
54
- }
55
- try {
56
- registerInstrumentations({ instrumentations });
57
- logger.info(`Auto-registered ${instrumentations.length} GenAI instrumentations`);
58
- }
59
- catch (error) {
60
- logger.error(`Failed to register GenAI instrumentations: ${String(error)}`);
61
- }
62
- return instrumentations;
63
- }
64
- function autoInitializeInstrumentations() {
65
- if (autoInstrumentationsLoaded) {
66
- return;
67
- }
68
- try {
69
- const nodeInstrumentations = loadNodeAutoInstrumentations();
70
- const genAIInstrumentations = loadGenAIInstrumentations();
71
- autoInstrumentationsLoaded = true;
72
- const { logger } = require('../logger');
73
- logger.info(`Auto-initialization complete: ${nodeInstrumentations.length} node + ${genAIInstrumentations.length} GenAI instrumentations`);
74
- }
75
- catch (error) {
76
- console.error(`[Brizz] Auto-initialization failed: ${String(error)}`);
77
- autoInstrumentationsLoaded = false;
78
- }
79
- }
80
- autoInitializeInstrumentations();
81
- export { autoInstrumentationsLoaded };
82
- //# sourceMappingURL=auto-init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-init.js","sourceRoot":"","sources":["../../../src/internal/instrumentation/auto-init.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { InstrumentationRegistry, type IInstrumentModules } from './registry';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/instrumentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +0,0 @@
1
- export { InstrumentationRegistry } from './registry';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/instrumentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA2B,MAAM,YAAY,CAAC"}
@@ -1,29 +0,0 @@
1
- import type { Instrumentation } from '@opentelemetry/instrumentation';
2
- export interface IInstrumentModules {
3
- openAI?: unknown;
4
- anthropic?: unknown;
5
- cohere?: unknown;
6
- google_vertexai?: unknown;
7
- google_aiplatform?: unknown;
8
- bedrock?: unknown;
9
- pinecone?: unknown;
10
- langchain?: {
11
- chains?: unknown;
12
- agents?: unknown;
13
- tools?: unknown;
14
- };
15
- llamaindex?: unknown;
16
- chromadb?: unknown;
17
- qdrant?: unknown;
18
- together?: unknown;
19
- }
20
- export declare class InstrumentationRegistry {
21
- private static instance;
22
- private manualModules;
23
- static getInstance(): InstrumentationRegistry;
24
- setManualModules(modules: IInstrumentModules): void;
25
- private loadInstrumentation;
26
- getManualInstrumentations(): Instrumentation[];
27
- private loadManualInstrumentations;
28
- }
29
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/internal/instrumentation/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAkBtE,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAQD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,aAAa,CAAmC;WAE1C,WAAW,IAAI,uBAAuB;IAU7C,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAQ1D,OAAO,CAAC,mBAAmB;IA4BpB,yBAAyB,IAAI,eAAe,EAAE;IAqBrD,OAAO,CAAC,0BAA0B;CAyCnC"}
@@ -1,88 +0,0 @@
1
- import { AnthropicInstrumentation } from '@traceloop/instrumentation-anthropic';
2
- import { BedrockInstrumentation } from '@traceloop/instrumentation-bedrock';
3
- import { ChromaDBInstrumentation } from '@traceloop/instrumentation-chromadb';
4
- import { CohereInstrumentation } from '@traceloop/instrumentation-cohere';
5
- import { LangChainInstrumentation } from '@traceloop/instrumentation-langchain';
6
- import { LlamaIndexInstrumentation } from '@traceloop/instrumentation-llamaindex';
7
- import { OpenAIInstrumentation } from '@traceloop/instrumentation-openai';
8
- import { PineconeInstrumentation } from '@traceloop/instrumentation-pinecone';
9
- import { QdrantInstrumentation } from '@traceloop/instrumentation-qdrant';
10
- import { TogetherInstrumentation } from '@traceloop/instrumentation-together';
11
- import { VertexAIInstrumentation } from '@traceloop/instrumentation-vertexai';
12
- import { logger } from '../logger';
13
- export class InstrumentationRegistry {
14
- static instance;
15
- manualModules = null;
16
- static getInstance() {
17
- if (!InstrumentationRegistry.instance) {
18
- InstrumentationRegistry.instance = new InstrumentationRegistry();
19
- }
20
- return InstrumentationRegistry.instance;
21
- }
22
- setManualModules(modules) {
23
- this.manualModules = modules;
24
- logger.info('Manual instrumentation modules configured for Next.js/Webpack compatibility');
25
- }
26
- loadInstrumentation(InstrumentationClass, name, manualModule, exceptionLogger) {
27
- try {
28
- const inst = new InstrumentationClass({
29
- exceptionLogger: exceptionLogger ||
30
- ((error) => logger.error(`Exception in instrumentation: ${String(error)}`)),
31
- });
32
- if (manualModule) {
33
- inst.manuallyInstrument(manualModule);
34
- logger.debug(`Manual instrumentation enabled for ${name}`);
35
- }
36
- return inst;
37
- }
38
- catch (error) {
39
- logger.error(`Failed to load ${name} instrumentation: ${String(error)}`);
40
- return null;
41
- }
42
- }
43
- getManualInstrumentations() {
44
- if (!this.manualModules || Object.keys(this.manualModules).length === 0) {
45
- logger.debug('No manual instrumentation modules configured');
46
- return [];
47
- }
48
- const instrumentations = [];
49
- const exceptionLogger = (error) => {
50
- logger.error(`Exception in manual instrumentation: ${String(error)}`);
51
- };
52
- this.loadManualInstrumentations(instrumentations, exceptionLogger);
53
- logger.info(`Loaded ${instrumentations.length} manual instrumentations`);
54
- return instrumentations;
55
- }
56
- loadManualInstrumentations(instrumentations, exceptionLogger) {
57
- const instrumentationConfigs = [
58
- { class: OpenAIInstrumentation, name: 'OpenAI', module: this.manualModules?.openAI },
59
- { class: AnthropicInstrumentation, name: 'Anthropic', module: this.manualModules?.anthropic },
60
- { class: CohereInstrumentation, name: 'Cohere', module: this.manualModules?.cohere },
61
- {
62
- class: VertexAIInstrumentation,
63
- name: 'Vertex AI',
64
- module: this.manualModules?.google_vertexai,
65
- },
66
- { class: BedrockInstrumentation, name: 'Bedrock', module: this.manualModules?.bedrock },
67
- { class: PineconeInstrumentation, name: 'Pinecone', module: this.manualModules?.pinecone },
68
- { class: LangChainInstrumentation, name: 'LangChain', module: this.manualModules?.langchain },
69
- {
70
- class: LlamaIndexInstrumentation,
71
- name: 'LlamaIndex',
72
- module: this.manualModules?.llamaindex,
73
- },
74
- { class: ChromaDBInstrumentation, name: 'ChromaDB', module: this.manualModules?.chromadb },
75
- { class: QdrantInstrumentation, name: 'Qdrant', module: this.manualModules?.qdrant },
76
- { class: TogetherInstrumentation, name: 'Together', module: this.manualModules?.together },
77
- ];
78
- for (const config of instrumentationConfigs) {
79
- if (config.module) {
80
- const instrumentation = this.loadInstrumentation(config.class, config.name, config.module, exceptionLogger);
81
- if (instrumentation) {
82
- instrumentations.push(instrumentation);
83
- }
84
- }
85
- }
86
- }
87
- }
88
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/internal/instrumentation/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AA8BnC,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAC,QAAQ,CAA0B;IACzC,aAAa,GAA8B,IAAI,CAAC;IAEjD,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;YACtC,uBAAuB,CAAC,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,uBAAuB,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAKM,gBAAgB,CAAC,OAA2B;QACjD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC7F,CAAC;IAKO,mBAAmB,CACzB,oBAAoF,EACpF,IAAY,EACZ,YAAsB,EACtB,eAAwC;QAExC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,oBAAoB,CAAC;gBACpC,eAAe,EACb,eAAe;oBACf,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9E,CAAC,CAAC;YACH,IAAI,YAAY,EAAE,CAAC;gBAEhB,IAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,qBAAqB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAMM,yBAAyB;QAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC;QAEF,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAEnE,MAAM,CAAC,IAAI,CAAC,UAAU,gBAAgB,CAAC,MAAM,0BAA0B,CAAC,CAAC;QACzE,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAMO,0BAA0B,CAChC,gBAAmC,EACnC,eAAuC;QAEvC,MAAM,sBAAsB,GAA6B;YACvD,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YACpF,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE;YAC7F,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YACpF;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe;aAC5C;YACD,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE;YACvF,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE;YAC1F,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE;YAC7F;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU;aACvC;YACD,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE;YAC1F,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YACpF,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE;SAC3F,CAAC;QAGF,KAAK,MAAM,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAC9C,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,eAAe,CAChB,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export { LoggingModule, emitEvent } from './logging';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -1,2 +0,0 @@
1
- export { LoggingModule, emitEvent } from './logging';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -1,21 +0,0 @@
1
- import type { LogBody } from '@opentelemetry/api-logs';
2
- import { SeverityNumber } from '@opentelemetry/api-logs';
3
- import { LoggerProvider } from '@opentelemetry/sdk-logs';
4
- import type { IResolvedBrizzConfig } from '../config';
5
- export declare class LoggingModule {
6
- private static instance;
7
- private logExporter;
8
- private logProcessor;
9
- private loggerProvider;
10
- static getInstance(): LoggingModule;
11
- setup(config: IResolvedBrizzConfig): void;
12
- private initLogExporter;
13
- private initLogProcessor;
14
- private initLoggerProvider;
15
- emitEvent(name: string, attributes?: Record<string, string | number | boolean>, body?: LogBody, severityNumber?: SeverityNumber): void;
16
- isInitialized(): boolean;
17
- getLoggerProvider(): LoggerProvider | null;
18
- shutdown(): Promise<void>;
19
- }
20
- export declare function emitEvent(name: string, attributes?: Record<string, string | number | boolean>, body?: LogBody, severityNumber?: SeverityNumber): void;
21
- //# sourceMappingURL=logging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/internal/log/logging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EACL,cAAc,EAGf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAOtD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,cAAc,CAA+B;IAErD,MAAM,CAAC,WAAW,IAAI,aAAa;IAUnC,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAqBzC,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;IA8B1B,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EACtD,IAAI,CAAC,EAAE,OAAO,EACd,cAAc,GAAE,cAAoC,GACnD,IAAI;IAoDP,aAAa,IAAI,OAAO;IAOxB,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAOpC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBhC;AAMD,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EACtD,IAAI,CAAC,EAAE,OAAO,EACd,cAAc,GAAE,cAAoC,GACnD,IAAI,CAEN"}
@@ -1,149 +0,0 @@
1
- import { context } from '@opentelemetry/api';
2
- import { SeverityNumber } from '@opentelemetry/api-logs';
3
- import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
4
- import { resourceFromAttributes } from '@opentelemetry/resources';
5
- import { LoggerProvider, } from '@opentelemetry/sdk-logs';
6
- import { logger } from '../logger';
7
- import { MaskedBatchLogRecordProcessor, MaskedSimpleLogRecordProcessor, } from '../trace/processors/log-masked';
8
- export class LoggingModule {
9
- static instance = null;
10
- logExporter = null;
11
- logProcessor = null;
12
- loggerProvider = null;
13
- static getInstance() {
14
- if (!LoggingModule.instance) {
15
- throw new Error('Brizz must be initialized before accessing LoggingModule');
16
- }
17
- return LoggingModule.instance;
18
- }
19
- setup(config) {
20
- logger.info('Setting up logging module');
21
- this.initLogExporter(config);
22
- this.initLogProcessor(config);
23
- this.initLoggerProvider(config);
24
- LoggingModule.instance = this;
25
- logger.info('Logging module setup completed');
26
- }
27
- initLogExporter(config) {
28
- if (this.logExporter) {
29
- logger.debug('Log exporter already initialized, skipping re-initialization');
30
- return;
31
- }
32
- if (config.customLogExporter) {
33
- logger.debug('Using custom log exporter');
34
- this.logExporter = config.customLogExporter;
35
- logger.debug('Custom log exporter initialized successfully');
36
- return;
37
- }
38
- const logsUrl = config.baseUrl.replace(/\/$/, '') + '/v1/logs';
39
- logger.debug('Initializing default OTLP log exporter', { url: logsUrl });
40
- const headers = { ...config.headers };
41
- this.logExporter = new OTLPLogExporter({
42
- url: logsUrl,
43
- headers,
44
- });
45
- logger.debug('OTLP log exporter initialized successfully');
46
- }
47
- initLogProcessor(config) {
48
- if (this.logProcessor) {
49
- logger.debug('Log processor already initialized, skipping re-initialization');
50
- return;
51
- }
52
- if (!this.logExporter) {
53
- throw new Error('Log exporter must be initialized before processor');
54
- }
55
- logger.debug('Initializing log processor', {
56
- disableBatch: config.disableBatch,
57
- hasMasking: !!config.masking?.eventMasking,
58
- });
59
- this.logProcessor = config.disableBatch
60
- ? new MaskedSimpleLogRecordProcessor(this.logExporter, config.masking?.eventMasking)
61
- : new MaskedBatchLogRecordProcessor(this.logExporter, config.masking?.eventMasking);
62
- logger.debug('Log processor initialized successfully');
63
- }
64
- initLoggerProvider(config) {
65
- if (this.loggerProvider) {
66
- logger.debug('Logger provider already initialized, skipping re-initialization');
67
- return;
68
- }
69
- if (!this.logProcessor) {
70
- throw new Error('Log processor must be initialized before logger provider');
71
- }
72
- logger.debug('Creating resource with service name', {
73
- serviceName: config.appName,
74
- });
75
- const resource = resourceFromAttributes({
76
- 'service.name': config.appName,
77
- });
78
- logger.debug('Creating logger provider with resource');
79
- this.loggerProvider = new LoggerProvider({
80
- resource,
81
- processors: [this.logProcessor],
82
- });
83
- logger.debug('Logger provider initialization completed');
84
- }
85
- emitEvent(name, attributes, body, severityNumber = SeverityNumber.INFO) {
86
- logger.debug('Attempting to emit event', {
87
- name,
88
- hasAttributes: !!attributes,
89
- attributesCount: attributes ? Object.keys(attributes).length : 0,
90
- hasBody: !!body,
91
- severityNumber,
92
- });
93
- if (!this.loggerProvider) {
94
- logger.error('Cannot emit event: Logger provider not initialized');
95
- throw new Error('Logging module not initialized');
96
- }
97
- const logAttributes = { 'event.name': name };
98
- if (attributes) {
99
- Object.assign(logAttributes, attributes);
100
- logger.debug('Combined log attributes', { attributes: Object.keys(logAttributes) });
101
- }
102
- logger.debug('Getting logger instance for brizz_events');
103
- const eventLogger = this.loggerProvider.getLogger('brizz.events');
104
- logger.debug('Emitting log record with eventName', { eventName: name });
105
- try {
106
- eventLogger.emit({
107
- eventName: name,
108
- attributes: logAttributes,
109
- severityNumber: severityNumber,
110
- body: body,
111
- context: context.active(),
112
- });
113
- logger.debug('Event successfully emitted', { eventName: name });
114
- }
115
- catch (error) {
116
- logger.error(`Failed to emit event '${name}'`, { error, eventName: name });
117
- logger.error('Log record that failed', {
118
- eventName: name,
119
- hasAttributes: logAttributes,
120
- severityNumber: severityNumber,
121
- hasBody: body,
122
- });
123
- throw error instanceof Error ? error : new Error(String(error));
124
- }
125
- }
126
- isInitialized() {
127
- return this.loggerProvider !== null;
128
- }
129
- getLoggerProvider() {
130
- return this.loggerProvider;
131
- }
132
- async shutdown() {
133
- logger.debug('Shutting down logging module');
134
- if (this.loggerProvider) {
135
- await this.loggerProvider.shutdown();
136
- this.loggerProvider = null;
137
- }
138
- this.logProcessor = null;
139
- this.logExporter = null;
140
- if (LoggingModule.instance === this) {
141
- LoggingModule.instance = null;
142
- }
143
- logger.debug('Logging module shutdown completed');
144
- }
145
- }
146
- export function emitEvent(name, attributes, body, severityNumber = SeverityNumber.INFO) {
147
- return LoggingModule.getInstance().emitEvent(name, attributes, body, severityNumber);
148
- }
149
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/internal/log/logging.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { DiagLogLevel } from '@opentelemetry/api';
2
- export declare enum LogLevel {
3
- NONE = 0,
4
- ERROR = 1,
5
- WARN = 2,
6
- INFO = 3,
7
- DEBUG = 4
8
- }
9
- export interface ILogger {
10
- debug: (msg: string, ...meta: unknown[]) => void;
11
- info: (msg: string, ...meta: unknown[]) => void;
12
- warn: (msg: string, ...meta: unknown[]) => void;
13
- error: (msg: string, ...meta: unknown[]) => void;
14
- setLevel: (level: LogLevel) => void;
15
- getLevel: () => LogLevel;
16
- }
17
- export declare const noopLogger: ILogger;
18
- export declare function parseLogLevel(level?: string): LogLevel;
19
- export declare const logger: ILogger;
20
- export declare function setLogLevel(level: LogLevel | string): void;
21
- export declare function getLogLevel(): LogLevel;
22
- export declare function mapLogLevelToDiagLevel(logLevel: LogLevel): DiagLogLevel;
23
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/internal/logger.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAKD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,QAAQ,CAAC;CAC1B;AAqGD,eAAO,MAAM,UAAU,EAAE,OAOxB,CAAC;AAMF,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkCtD;AAMD,eAAO,MAAM,MAAM,EAAE,OAA6B,CAAC;AAMnD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAG1D;AAKD,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAKD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAkBvE"}