@od-oneapp/observability 2026.1.1301

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 (107) hide show
  1. package/README.md +523 -0
  2. package/dist/client-next.d.mts +20 -0
  3. package/dist/client-next.d.mts.map +1 -0
  4. package/dist/client-next.mjs +64 -0
  5. package/dist/client-next.mjs.map +1 -0
  6. package/dist/client.d.mts +11 -0
  7. package/dist/client.d.mts.map +1 -0
  8. package/dist/client.mjs +47 -0
  9. package/dist/client.mjs.map +1 -0
  10. package/dist/env.d.mts +15 -0
  11. package/dist/env.d.mts.map +1 -0
  12. package/dist/env.mjs +45 -0
  13. package/dist/env.mjs.map +1 -0
  14. package/dist/factory-DkY353r8.mjs +380 -0
  15. package/dist/factory-DkY353r8.mjs.map +1 -0
  16. package/dist/hooks-useObservability.d.mts +11 -0
  17. package/dist/hooks-useObservability.d.mts.map +1 -0
  18. package/dist/hooks-useObservability.mjs +174 -0
  19. package/dist/hooks-useObservability.mjs.map +1 -0
  20. package/dist/index-CpcdzWrF.d.mts +24 -0
  21. package/dist/index-CpcdzWrF.d.mts.map +1 -0
  22. package/dist/index.d.mts +88 -0
  23. package/dist/index.d.mts.map +1 -0
  24. package/dist/index.mjs +97 -0
  25. package/dist/index.mjs.map +1 -0
  26. package/dist/manager-BxQqOPEg.d.mts +33 -0
  27. package/dist/manager-BxQqOPEg.d.mts.map +1 -0
  28. package/dist/plugin-Bfq-o3nr.d.mts +60 -0
  29. package/dist/plugin-Bfq-o3nr.d.mts.map +1 -0
  30. package/dist/plugin-Bt-ygG1m.d.mts +254 -0
  31. package/dist/plugin-Bt-ygG1m.d.mts.map +1 -0
  32. package/dist/plugin-CLFwRERa.mjs +593 -0
  33. package/dist/plugin-CLFwRERa.mjs.map +1 -0
  34. package/dist/plugin-CP895lBx.mjs +534 -0
  35. package/dist/plugin-CP895lBx.mjs.map +1 -0
  36. package/dist/plugin-CaQxviDs.d.mts +61 -0
  37. package/dist/plugin-CaQxviDs.d.mts.map +1 -0
  38. package/dist/plugin-lPdJirTY.mjs +234 -0
  39. package/dist/plugin-lPdJirTY.mjs.map +1 -0
  40. package/dist/plugins-betterstack-env.d.mts +29 -0
  41. package/dist/plugins-betterstack-env.d.mts.map +1 -0
  42. package/dist/plugins-betterstack-env.mjs +75 -0
  43. package/dist/plugins-betterstack-env.mjs.map +1 -0
  44. package/dist/plugins-betterstack.d.mts +4 -0
  45. package/dist/plugins-betterstack.mjs +4 -0
  46. package/dist/plugins-console.d.mts +37 -0
  47. package/dist/plugins-console.d.mts.map +1 -0
  48. package/dist/plugins-console.mjs +196 -0
  49. package/dist/plugins-console.mjs.map +1 -0
  50. package/dist/plugins-sentry-env.d.mts +37 -0
  51. package/dist/plugins-sentry-env.d.mts.map +1 -0
  52. package/dist/plugins-sentry-env.mjs +79 -0
  53. package/dist/plugins-sentry-env.mjs.map +1 -0
  54. package/dist/plugins-sentry-microfrontend-env.d.mts +49 -0
  55. package/dist/plugins-sentry-microfrontend-env.d.mts.map +1 -0
  56. package/dist/plugins-sentry-microfrontend-env.mjs +80 -0
  57. package/dist/plugins-sentry-microfrontend-env.mjs.map +1 -0
  58. package/dist/plugins-sentry-microfrontend.d.mts +2 -0
  59. package/dist/plugins-sentry-microfrontend.mjs +3 -0
  60. package/dist/plugins-sentry.d.mts +5 -0
  61. package/dist/plugins-sentry.mjs +6 -0
  62. package/dist/server-edge.d.mts +15 -0
  63. package/dist/server-edge.d.mts.map +1 -0
  64. package/dist/server-edge.mjs +53 -0
  65. package/dist/server-edge.mjs.map +1 -0
  66. package/dist/server-next.d.mts +17 -0
  67. package/dist/server-next.d.mts.map +1 -0
  68. package/dist/server-next.mjs +64 -0
  69. package/dist/server-next.mjs.map +1 -0
  70. package/dist/server.d.mts +11 -0
  71. package/dist/server.d.mts.map +1 -0
  72. package/dist/server.mjs +48 -0
  73. package/dist/server.mjs.map +1 -0
  74. package/dist/utils-CuGrTcD6.d.mts +77 -0
  75. package/dist/utils-CuGrTcD6.d.mts.map +1 -0
  76. package/env.ts +67 -0
  77. package/package.json +147 -0
  78. package/src/client-next.ts +131 -0
  79. package/src/client.ts +70 -0
  80. package/src/core/index.ts +15 -0
  81. package/src/core/manager.ts +361 -0
  82. package/src/core/plugin.ts +61 -0
  83. package/src/core/types.ts +151 -0
  84. package/src/factory/builder.ts +132 -0
  85. package/src/factory/index.ts +67 -0
  86. package/src/factory/presets.ts +78 -0
  87. package/src/hooks/useObservability.ts +206 -0
  88. package/src/plugins/betterstack/env.ts +101 -0
  89. package/src/plugins/betterstack/index.ts +15 -0
  90. package/src/plugins/betterstack/plugin.ts +373 -0
  91. package/src/plugins/console/index.ts +323 -0
  92. package/src/plugins/sentry/__tests__/plugin-tracing.test.ts +511 -0
  93. package/src/plugins/sentry/env.ts +93 -0
  94. package/src/plugins/sentry/index.ts +28 -0
  95. package/src/plugins/sentry/plugin.ts +953 -0
  96. package/src/plugins/sentry/types.ts +252 -0
  97. package/src/plugins/sentry-microfrontend/env.ts +105 -0
  98. package/src/plugins/sentry-microfrontend/index.ts +12 -0
  99. package/src/plugins/sentry-microfrontend/multiplexed-transport.ts +221 -0
  100. package/src/plugins/sentry-microfrontend/plugin.ts +500 -0
  101. package/src/plugins/sentry-microfrontend/sentry-types.ts +140 -0
  102. package/src/plugins/sentry-microfrontend/types.ts +130 -0
  103. package/src/plugins/sentry-microfrontend/utils.ts +326 -0
  104. package/src/server-edge.ts +113 -0
  105. package/src/server-next.ts +114 -0
  106. package/src/server.ts +71 -0
  107. package/src/shared.ts +148 -0
@@ -0,0 +1,254 @@
1
+ import { a as Breadcrumb, f as ObservabilityUser, l as ObservabilityContext, n as ObservabilityServerPlugin, o as LogLevel } from "./plugin-Bfq-o3nr.mjs";
2
+
3
+ //#region src/plugins/sentry/types.d.ts
4
+ interface TransactionContext {
5
+ name: string;
6
+ op?: string;
7
+ tags?: Record<string, string>;
8
+ data?: Record<string, any>;
9
+ startTimestamp?: number;
10
+ parentSpanId?: string;
11
+ parentSampled?: boolean;
12
+ trimEnd?: boolean;
13
+ metadata?: {
14
+ source?: 'custom' | 'route' | 'url';
15
+ [key: string]: any;
16
+ };
17
+ }
18
+ interface SpanContext {
19
+ name: string;
20
+ op?: string;
21
+ description?: string;
22
+ tags?: Record<string, string>;
23
+ data?: Record<string, any>;
24
+ startTimestamp?: number;
25
+ status?: SpanStatus;
26
+ origin?: string;
27
+ attributes?: Record<string, any>;
28
+ }
29
+ type SpanStatus = 'ok' | 'cancelled' | 'internal_error' | 'invalid_argument' | 'deadline_exceeded' | 'not_found' | 'already_exists' | 'permission_denied' | 'resource_exhausted' | 'failed_precondition' | 'aborted' | 'out_of_range' | 'unimplemented' | 'unavailable' | 'data_loss' | 'unauthenticated';
30
+ interface Transaction {
31
+ name: string;
32
+ spanId: string;
33
+ traceId: string;
34
+ startTimestamp: number;
35
+ tags: Record<string, string>;
36
+ data: Record<string, any>;
37
+ setName(name: string): void;
38
+ setTag(key: string, value: string | number | boolean | null): void;
39
+ setData(key: string, value: any): void;
40
+ setStatus(status: SpanStatus): void;
41
+ setHttpStatus(httpStatus: number): void;
42
+ setMeasurement(name: string, value: number, unit?: string): void;
43
+ finish(endTimestamp?: number): void;
44
+ startChild(spanContext?: SpanContext): Span;
45
+ toTraceparent(): string;
46
+ toContext(): TransactionContext;
47
+ }
48
+ interface Span {
49
+ spanId: string;
50
+ traceId: string;
51
+ parentSpanId?: string;
52
+ op?: string;
53
+ description?: string;
54
+ startTimestamp: number;
55
+ tags: Record<string, string>;
56
+ data: Record<string, any>;
57
+ setTag(key: string, value: string | number | boolean | null): void;
58
+ setData(key: string, value: any): void;
59
+ setStatus(status: SpanStatus): void;
60
+ setHttpStatus(httpStatus: number): void;
61
+ finish(endTimestamp?: number): void;
62
+ startChild(spanContext?: SpanContext): Span;
63
+ isRecording(): boolean;
64
+ }
65
+ interface Scope {
66
+ setTag(key: string, value: string | number | boolean | null): void;
67
+ setTags(tags: Record<string, string | number | boolean | null>): void;
68
+ setContext(key: string, context: Record<string, any> | null): void;
69
+ setUser(user: Record<string, any> | null): void;
70
+ setLevel(level: SeverityLevel): void;
71
+ setFingerprint(fingerprint: string[]): void;
72
+ setRequestSession(requestSession?: RequestSession): void;
73
+ setPropagationContext(context: PropagationContext): void;
74
+ clear(): void;
75
+ addBreadcrumb(breadcrumb: SentryBreadcrumb, maxBreadcrumbs?: number): void;
76
+ clearBreadcrumbs(): void;
77
+ setSpan(span: Span | undefined): void;
78
+ getSpan(): Span | undefined;
79
+ setTransaction(transaction: Transaction | undefined): void;
80
+ getTransaction(): Transaction | undefined;
81
+ }
82
+ interface Hub {
83
+ getClient(): any;
84
+ getScope(): Scope;
85
+ configureScope(callback: (scope: Scope) => void): void;
86
+ pushScope(): Scope;
87
+ popScope(): boolean;
88
+ withScope(callback: (scope: Scope) => void): void;
89
+ startTransaction(context: TransactionContext, customSamplingContext?: any): Transaction;
90
+ startSpan(context: SpanContext): Span;
91
+ }
92
+ interface PropagationContext {
93
+ traceId: string;
94
+ spanId: string;
95
+ parentSpanId?: string;
96
+ sampled?: boolean;
97
+ dsc?: DynamicSamplingContext;
98
+ }
99
+ interface DynamicSamplingContext {
100
+ trace_id: string;
101
+ public_key: string;
102
+ sample_rate?: string;
103
+ release?: string;
104
+ environment?: string;
105
+ transaction?: string;
106
+ user_segment?: string;
107
+ [key: string]: string | undefined;
108
+ }
109
+ interface SentryBreadcrumb {
110
+ type?: string;
111
+ level?: SeverityLevel;
112
+ category?: string;
113
+ message?: string;
114
+ data?: Record<string, any>;
115
+ timestamp?: number;
116
+ }
117
+ type SeverityLevel = 'fatal' | 'error' | 'warning' | 'log' | 'info' | 'debug';
118
+ interface RequestSession {
119
+ status?: 'ok' | 'errored' | 'crashed';
120
+ }
121
+ //#endregion
122
+ //#region src/plugins/sentry/plugin.d.ts
123
+ declare function defaultBeforeSendLog(log: any, isServer?: boolean): any | null;
124
+ interface SentryClient {
125
+ init(options: any): void;
126
+ captureException(error: any, captureContext?: any): string;
127
+ captureMessage(message: string, captureContext?: any): string;
128
+ setUser(user: any): void;
129
+ addBreadcrumb(breadcrumb: any): void;
130
+ withScope(callback: (scope: any) => void): void;
131
+ getCurrentScope?(): any;
132
+ getActiveTransaction?(): any;
133
+ startTransaction?(context: TransactionContext, customSamplingContext?: any): any;
134
+ startSpan?(context: SpanContext): any;
135
+ configureScope?(callback: (scope: any) => void): void;
136
+ getCurrentHub?(): any;
137
+ flush?(timeout?: number): Promise<boolean>;
138
+ close?(timeout?: number): Promise<boolean>;
139
+ browserTracingIntegration?(): any;
140
+ replayIntegration?(): any;
141
+ profilesIntegration?(): any;
142
+ consoleLoggingIntegration?(options?: {
143
+ levels?: string[];
144
+ }): any;
145
+ logger?: {
146
+ trace(message: string, attributes?: Record<string, unknown>): void;
147
+ debug(message: string, attributes?: Record<string, unknown>): void;
148
+ info(message: string, attributes?: Record<string, unknown>): void;
149
+ warn(message: string, attributes?: Record<string, unknown>): void;
150
+ error(message: string, attributes?: Record<string, unknown>): void;
151
+ fatal(message: string, attributes?: Record<string, unknown>): void;
152
+ fmt(strings: TemplateStringsArray, ...values: unknown[]): string;
153
+ };
154
+ }
155
+ interface SentryPluginConfig {
156
+ sentryPackage?: string;
157
+ dsn?: string;
158
+ environment?: string;
159
+ release?: string;
160
+ enabled?: boolean;
161
+ debug?: boolean;
162
+ tracesSampleRate?: number;
163
+ profilesSampleRate?: number;
164
+ replaysSessionSampleRate?: number;
165
+ replaysOnErrorSampleRate?: number;
166
+ integrations?: any[];
167
+ beforeSend?: (event: any, hint: any) => any;
168
+ beforeSendTransaction?: (event: any, hint: any) => any;
169
+ beforeBreadcrumb?: (breadcrumb: any, hint?: any) => any;
170
+ beforeSendLog?: (log: any) => any;
171
+ enableLogs?: boolean;
172
+ consoleLoggingIntegration?: {
173
+ levels?: ('log' | 'warn' | 'error' | 'debug' | 'info' | 'assert' | 'trace')[];
174
+ };
175
+ tracePropagationTargets?: (string | RegExp)[];
176
+ initialScope?: any;
177
+ maxBreadcrumbs?: number;
178
+ attachStacktrace?: boolean;
179
+ autoSessionTracking?: boolean;
180
+ sendDefaultPii?: boolean;
181
+ }
182
+ declare class SentryPlugin<T extends SentryClient = SentryClient> implements ObservabilityServerPlugin<T> {
183
+ name: string;
184
+ enabled: boolean;
185
+ protected client: T | undefined;
186
+ protected initialized: boolean;
187
+ protected sentryPackage: string;
188
+ protected config: SentryPluginConfig;
189
+ constructor(config?: SentryPluginConfig);
190
+ private detectSentryPackage;
191
+ getClient(): T | undefined;
192
+ protected getSafeEnv(): Readonly<{
193
+ SENTRY_DSN?: string | undefined;
194
+ SENTRY_AUTH_TOKEN?: string | undefined;
195
+ SENTRY_ORG?: string | undefined;
196
+ SENTRY_PROJECT?: string | undefined;
197
+ SENTRY_ENVIRONMENT?: "development" | "preview" | "production" | undefined;
198
+ SENTRY_RELEASE?: string | undefined;
199
+ SENTRY_TRACES_SAMPLE_RATE?: number | undefined;
200
+ SENTRY_PROFILES_SAMPLE_RATE?: number | undefined;
201
+ SENTRY_REPLAYS_SESSION_SAMPLE_RATE?: number | undefined;
202
+ SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE?: number | undefined;
203
+ NEXT_PUBLIC_SENTRY_DSN?: string | undefined;
204
+ NEXT_PUBLIC_SENTRY_ENVIRONMENT?: "development" | "preview" | "production" | undefined;
205
+ NEXT_PUBLIC_SENTRY_RELEASE?: string | undefined;
206
+ SENTRY_DEBUG: boolean;
207
+ }>;
208
+ initialize(config?: SentryPluginConfig): Promise<void>;
209
+ shutdown(): Promise<void>;
210
+ cleanup(): Promise<void>;
211
+ captureException(error: Error | unknown, context?: ObservabilityContext): void;
212
+ captureMessage(message: string, level?: LogLevel, context?: ObservabilityContext): void;
213
+ setUser(user: ObservabilityUser | null): void;
214
+ addBreadcrumb(breadcrumb: Breadcrumb): void;
215
+ withScope(callback: (scope: any) => void): void;
216
+ startTransaction(context: TransactionContext, customSamplingContext?: any): Transaction | undefined;
217
+ startSpan(context: SpanContext): Span | undefined;
218
+ getActiveTransaction(): Transaction | undefined;
219
+ configureScope(callback: (scope: Scope) => void): void;
220
+ getCurrentHub(): Hub | undefined;
221
+ setMeasurement(name: string, value: number, unit?: string): void;
222
+ addPerformanceEntries(entries: Array<{
223
+ entryType: string;
224
+ name: string;
225
+ startTime: number;
226
+ duration: number;
227
+ [key: string]: unknown;
228
+ }>): void;
229
+ recordWebVital(name: 'FCP' | 'LCP' | 'FID' | 'CLS' | 'TTFB' | 'INP' | string, value: number, options?: {
230
+ unit?: string;
231
+ rating?: 'good' | 'needs-improvement' | 'poor';
232
+ }): void;
233
+ mark(name: string, options?: {
234
+ detail?: any;
235
+ }): void;
236
+ measure(name: string, startMarkOrOptions?: string | {
237
+ start?: string;
238
+ end?: string;
239
+ duration?: number;
240
+ detail?: unknown;
241
+ }, endMark?: string): void;
242
+ logTrace(message: string, attributes?: Record<string, unknown>): void;
243
+ logDebug(message: string, attributes?: Record<string, unknown>): void;
244
+ logInfo(message: string, attributes?: Record<string, unknown>): void;
245
+ logWarn(message: string, attributes?: Record<string, unknown>): void;
246
+ logError(message: string, attributes?: Record<string, unknown>): void;
247
+ logFatal(message: string, attributes?: Record<string, unknown>): void;
248
+ getLogger(): SentryClient['logger'] | undefined;
249
+ flush(timeout?: number): Promise<boolean>;
250
+ }
251
+ declare const createSentryPlugin: <T extends SentryClient = SentryClient>(config?: SentryPluginConfig) => SentryPlugin<T>;
252
+ //#endregion
253
+ export { Hub as a, SpanContext as c, TransactionContext as d, defaultBeforeSendLog as i, SpanStatus as l, SentryPluginConfig as n, Scope as o, createSentryPlugin as r, Span as s, SentryPlugin as t, Transaction as u };
254
+ //# sourceMappingURL=plugin-Bt-ygG1m.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-Bt-ygG1m.d.mts","names":[],"sources":["../src/plugins/sentry/types.ts","../src/plugins/sentry/plugin.ts"],"mappings":"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"}