@blyp/core 0.1.2 → 0.1.22
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 +273 -14
- package/STABILITY.md +56 -0
- package/dist/ai/anthropic/index.d.ts +3 -0
- package/dist/ai/anthropic/normalize.d.ts +9 -0
- package/dist/ai/anthropic/stream.d.ts +3 -0
- package/dist/ai/anthropic/wrap.d.ts +13 -0
- package/dist/ai/anthropic.js +701 -0
- package/dist/ai/anthropic.mjs +701 -0
- package/dist/ai/fetch.js +701 -0
- package/dist/ai/fetch.mjs +701 -0
- package/dist/ai/openai/index.d.ts +3 -0
- package/dist/ai/openai/normalize.d.ts +10 -0
- package/dist/ai/openai/stream.d.ts +3 -0
- package/dist/ai/openai/wrap.d.ts +24 -0
- package/dist/ai/openai.js +701 -0
- package/dist/ai/openai.mjs +701 -0
- package/dist/ai/shared/fetch.d.ts +5 -0
- package/dist/ai/shared/index.d.ts +2 -0
- package/dist/ai/shared/normalize.d.ts +17 -0
- package/dist/ai/shared/redaction.d.ts +6 -0
- package/dist/ai/shared/stream.d.ts +7 -0
- package/dist/ai/shared/trace.d.ts +116 -0
- package/dist/ai/shared/types.d.ts +161 -0
- package/dist/ai/shared.js +701 -0
- package/dist/ai/shared.mjs +701 -0
- package/dist/ai/vercel/index.d.ts +3 -0
- package/dist/ai/vercel/middleware.d.ts +3 -0
- package/dist/ai/vercel/model.d.ts +3 -0
- package/dist/ai/vercel.js +701 -0
- package/dist/ai/vercel.mjs +701 -0
- package/dist/astro.js +701 -0
- package/dist/astro.mjs +701 -0
- package/dist/client.js +1 -1132
- package/dist/client.mjs +1 -1125
- package/dist/connectors/betterstack.js +9 -1508
- package/dist/connectors/betterstack.mjs +9 -1483
- package/dist/connectors/databuddy/index.d.ts +7 -0
- package/dist/connectors/databuddy/sender.d.ts +5 -0
- package/dist/connectors/databuddy.js +9 -0
- package/dist/connectors/databuddy.mjs +9 -0
- package/dist/connectors/delivery/backoff.d.ts +2 -0
- package/dist/connectors/delivery/manager.d.ts +44 -0
- package/dist/connectors/delivery/queue-path.d.ts +1 -0
- package/dist/connectors/delivery/sqlite-adapter-bun.d.ts +1 -0
- package/dist/connectors/delivery/sqlite-adapter-node.d.ts +1 -0
- package/dist/connectors/delivery/sqlite-client.d.ts +37 -0
- package/dist/connectors/delivery/sqlite-worker.d.ts +1 -0
- package/dist/connectors/delivery/studio-queue.d.ts +12 -0
- package/dist/connectors/delivery/types.d.ts +98 -0
- package/dist/connectors/otlp/index.d.ts +1 -0
- package/dist/connectors/otlp.js +9 -1347
- package/dist/connectors/otlp.mjs +9 -1344
- package/dist/connectors/posthog/properties.d.ts +4 -0
- package/dist/connectors/posthog/sender.d.ts +0 -1
- package/dist/connectors/posthog.js +10 -1503
- package/dist/connectors/posthog.mjs +10 -1498
- package/dist/connectors/sentry.js +9 -1356
- package/dist/connectors/sentry.mjs +9 -1333
- package/dist/core/config.d.ts +7 -2
- package/dist/core/log-record.d.ts +5 -4
- package/dist/core/logger.d.ts +5 -0
- package/dist/core/optional-module.d.ts +1 -0
- package/dist/core/pino-pretty-loader.d.ts +4 -0
- package/dist/database.js +1 -24
- package/dist/database.mjs +1 -21
- package/dist/elysia.js +621 -4100
- package/dist/elysia.mjs +622 -4073
- package/dist/expo.js +1 -719
- package/dist/expo.mjs +1 -717
- package/dist/express.js +616 -4085
- package/dist/express.mjs +616 -4056
- package/dist/fastify.js +618 -4104
- package/dist/fastify.mjs +618 -4075
- package/dist/frameworks/astro/index.d.ts +2 -0
- package/dist/frameworks/astro/logger.d.ts +3 -0
- package/dist/frameworks/elysia/index.d.ts +1 -1
- package/dist/frameworks/elysia/logger.d.ts +2 -35
- package/dist/frameworks/nestjs/helpers.d.ts +2 -0
- package/dist/frameworks/nitro/index.d.ts +2 -0
- package/dist/frameworks/nitro/logger.d.ts +6 -0
- package/dist/frameworks/nuxt/index.d.ts +2 -0
- package/dist/frameworks/nuxt/logger.d.ts +3 -0
- package/dist/frameworks/react-router/index.d.ts +2 -0
- package/dist/frameworks/react-router/logger.d.ts +3 -0
- package/dist/frameworks/shared/h3.d.ts +19 -0
- package/dist/frameworks/shared/http.d.ts +3 -2
- package/dist/frameworks/shared/index.d.ts +2 -1
- package/dist/frameworks/shared/logger.d.ts +2 -0
- package/dist/frameworks/shared/request-context.d.ts +2 -0
- package/dist/frameworks/shared/trace.d.ts +6 -0
- package/dist/hono.js +624 -4079
- package/dist/hono.mjs +626 -4053
- package/dist/index.d.ts +57 -17
- package/dist/index.js +616 -6494
- package/dist/index.mjs +619 -6410
- package/dist/nestjs.js +626 -4574
- package/dist/nestjs.mjs +622 -4542
- package/dist/nextjs.js +625 -4107
- package/dist/nextjs.mjs +627 -4081
- package/dist/nitro.js +701 -0
- package/dist/nitro.mjs +701 -0
- package/dist/nuxt.js +701 -0
- package/dist/nuxt.mjs +701 -0
- package/dist/react-router.js +701 -0
- package/dist/react-router.mjs +701 -0
- package/dist/shared/redaction.d.ts +17 -0
- package/dist/standalone.js +606 -3258
- package/dist/standalone.mjs +611 -3234
- package/dist/sveltekit.js +625 -4106
- package/dist/sveltekit.mjs +626 -4079
- package/dist/tanstack-start.js +624 -4105
- package/dist/tanstack-start.mjs +626 -4079
- package/dist/types/connectors/databuddy.d.ts +52 -0
- package/dist/types/core/config.d.ts +89 -0
- package/dist/types/core/logger.d.ts +5 -0
- package/dist/types/core/structured-log.d.ts +2 -0
- package/dist/types/database.d.ts +1 -0
- package/dist/types/frameworks/astro.d.ts +33 -0
- package/dist/types/frameworks/client.d.ts +2 -0
- package/dist/types/frameworks/elysia.d.ts +2 -0
- package/dist/types/frameworks/express.d.ts +1 -0
- package/dist/types/frameworks/fastify.d.ts +1 -0
- package/dist/types/frameworks/hono.d.ts +1 -0
- package/dist/types/frameworks/http.d.ts +1 -0
- package/dist/types/frameworks/nestjs.d.ts +2 -0
- package/dist/types/frameworks/nextjs.d.ts +1 -0
- package/dist/types/frameworks/nitro.d.ts +63 -0
- package/dist/types/frameworks/nuxt.d.ts +12 -0
- package/dist/types/frameworks/react-router.d.ts +35 -0
- package/dist/types/frameworks/request-context.d.ts +1 -0
- package/dist/types/frameworks/shared.d.ts +28 -1
- package/dist/types/frameworks/standalone.d.ts +3 -2
- package/dist/types/frameworks/sveltekit.d.ts +1 -0
- package/dist/types/frameworks/tanstack-start.d.ts +9 -3
- package/dist/types/frameworks/workers.d.ts +3 -0
- package/dist/types/shared/client-log.d.ts +2 -1
- package/dist/workers.js +2 -626
- package/dist/workers.mjs +2 -623
- package/package.json +273 -143
- package/dist/client.js.map +0 -1
- package/dist/client.mjs.map +0 -1
- package/dist/connectors/betterstack.js.map +0 -1
- package/dist/connectors/betterstack.mjs.map +0 -1
- package/dist/connectors/otlp.js.map +0 -1
- package/dist/connectors/otlp.mjs.map +0 -1
- package/dist/connectors/posthog.js.map +0 -1
- package/dist/connectors/posthog.mjs.map +0 -1
- package/dist/connectors/sentry.js.map +0 -1
- package/dist/connectors/sentry.mjs.map +0 -1
- package/dist/database.js.map +0 -1
- package/dist/database.mjs.map +0 -1
- package/dist/elysia.js.map +0 -1
- package/dist/elysia.mjs.map +0 -1
- package/dist/expo.js.map +0 -1
- package/dist/expo.mjs.map +0 -1
- package/dist/express.js.map +0 -1
- package/dist/express.mjs.map +0 -1
- package/dist/fastify.js.map +0 -1
- package/dist/fastify.mjs.map +0 -1
- package/dist/hono.js.map +0 -1
- package/dist/hono.mjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/nestjs.js.map +0 -1
- package/dist/nestjs.mjs.map +0 -1
- package/dist/nextjs.js.map +0 -1
- package/dist/nextjs.mjs.map +0 -1
- package/dist/standalone.js.map +0 -1
- package/dist/standalone.mjs.map +0 -1
- package/dist/sveltekit.js.map +0 -1
- package/dist/sveltekit.mjs.map +0 -1
- package/dist/tanstack-start.js.map +0 -1
- package/dist/tanstack-start.mjs.map +0 -1
- package/dist/workers.js.map +0 -1
- package/dist/workers.mjs.map +0 -1
- package/exports/client.js +0 -3
- package/exports/client.mjs +0 -3
- package/exports/connectors/betterstack.js +0 -1
- package/exports/connectors/betterstack.mjs +0 -1
- package/exports/connectors/otlp.js +0 -1
- package/exports/connectors/otlp.mjs +0 -1
- package/exports/connectors/posthog.js +0 -1
- package/exports/connectors/posthog.mjs +0 -1
- package/exports/connectors/sentry.js +0 -1
- package/exports/connectors/sentry.mjs +0 -1
- package/exports/database.js +0 -1
- package/exports/database.mjs +0 -1
- package/exports/expo.js +0 -1
- package/exports/expo.mjs +0 -1
- package/exports/frameworks/elysia.js +0 -1
- package/exports/frameworks/elysia.mjs +0 -1
- package/exports/frameworks/express.js +0 -1
- package/exports/frameworks/express.mjs +0 -1
- package/exports/frameworks/fastify.js +0 -1
- package/exports/frameworks/fastify.mjs +0 -1
- package/exports/frameworks/hono.js +0 -1
- package/exports/frameworks/hono.mjs +0 -1
- package/exports/frameworks/nestjs.js +0 -1
- package/exports/frameworks/nestjs.mjs +0 -1
- package/exports/frameworks/nextjs.js +0 -1
- package/exports/frameworks/nextjs.mjs +0 -1
- package/exports/frameworks/standalone.js +0 -1
- package/exports/frameworks/standalone.mjs +0 -1
- package/exports/frameworks/sveltekit.js +0 -1
- package/exports/frameworks/sveltekit.mjs +0 -1
- package/exports/frameworks/tanstack-start.js +0 -1
- package/exports/frameworks/tanstack-start.mjs +0 -1
- package/exports/workers.js +0 -1
- package/exports/workers.mjs +0 -1
- package/types/client.d.ts +0 -34
- package/types/connectors/betterstack.d.ts +0 -1
- package/types/connectors/otlp.d.ts +0 -1
- package/types/connectors/posthog.d.ts +0 -1
- package/types/connectors/sentry.d.ts +0 -1
- package/types/database.d.ts +0 -1
- package/types/expo.d.ts +0 -17
- package/types/frameworks/client.d.ts +0 -160
- package/types/frameworks/elysia.d.ts +0 -1
- package/types/frameworks/expo.d.ts +0 -50
- package/types/frameworks/express.d.ts +0 -1
- package/types/frameworks/fastify.d.ts +0 -1
- package/types/frameworks/hono.d.ts +0 -1
- package/types/frameworks/nestjs.d.ts +0 -1
- package/types/frameworks/nextjs.d.ts +0 -1
- package/types/frameworks/standalone.d.ts +0 -1
- package/types/frameworks/sveltekit.d.ts +0 -1
- package/types/frameworks/tanstack-start.d.ts +0 -1
- package/types/frameworks/workers.d.ts +0 -115
- package/types/index.d.ts +0 -1
- package/types/workers.d.ts +0 -13
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { BlypConnectorsConfig, ResolvedDatabuddyConnectorConfig } from '../core/config';
|
|
2
|
+
import type { LogRecord } from '../core/file-logger';
|
|
3
|
+
import type { BlypLogger } from '../core/logger';
|
|
4
|
+
import type { ConnectorMode } from './mode';
|
|
5
|
+
export interface DatabuddyLoggerConfig {
|
|
6
|
+
connectors?: BlypConnectorsConfig;
|
|
7
|
+
}
|
|
8
|
+
export interface DatabuddyLogger extends BlypLogger {
|
|
9
|
+
}
|
|
10
|
+
export interface DatabuddyExceptionCaptureOptions {
|
|
11
|
+
properties?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface DatabuddyErrorTracker {
|
|
14
|
+
capture: (error: unknown, options?: DatabuddyExceptionCaptureOptions) => void;
|
|
15
|
+
child: (bindings: Record<string, unknown>) => DatabuddyErrorTracker;
|
|
16
|
+
}
|
|
17
|
+
export type DatabuddySource = 'server' | 'client';
|
|
18
|
+
export interface DatabuddyTrackEvent {
|
|
19
|
+
name: string;
|
|
20
|
+
properties?: Record<string, unknown>;
|
|
21
|
+
anonymousId?: string;
|
|
22
|
+
sessionId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface DatabuddyClientLike {
|
|
25
|
+
track: (event: DatabuddyTrackEvent) => unknown | Promise<unknown>;
|
|
26
|
+
flush: () => Promise<unknown>;
|
|
27
|
+
}
|
|
28
|
+
export interface DatabuddySendOptions {
|
|
29
|
+
source?: DatabuddySource;
|
|
30
|
+
warnIfUnavailable?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface DatabuddyCaptureExceptionOptions {
|
|
33
|
+
source?: DatabuddySource;
|
|
34
|
+
warnIfUnavailable?: boolean;
|
|
35
|
+
properties?: Record<string, unknown>;
|
|
36
|
+
anonymousId?: string;
|
|
37
|
+
sessionId?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface DatabuddySender {
|
|
40
|
+
readonly enabled: boolean;
|
|
41
|
+
readonly ready: boolean;
|
|
42
|
+
readonly mode: ConnectorMode;
|
|
43
|
+
readonly status: 'enabled' | 'missing';
|
|
44
|
+
shouldAutoForwardServerLogs: () => boolean;
|
|
45
|
+
shouldAutoCaptureExceptions: () => boolean;
|
|
46
|
+
send: (record: LogRecord, options?: DatabuddySendOptions) => void;
|
|
47
|
+
captureException: (error: unknown, options?: DatabuddyCaptureExceptionOptions) => void;
|
|
48
|
+
flush: () => Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
export interface DatabuddyTestHooks {
|
|
51
|
+
createClient?: (config: ResolvedDatabuddyConnectorConfig) => DatabuddyClientLike;
|
|
52
|
+
}
|
|
@@ -19,6 +19,59 @@ export interface ClientLoggingConfig {
|
|
|
19
19
|
enabled?: boolean;
|
|
20
20
|
path?: string;
|
|
21
21
|
}
|
|
22
|
+
export interface RedactionConfig {
|
|
23
|
+
keys?: string[];
|
|
24
|
+
paths?: string[];
|
|
25
|
+
patterns?: RegExp[];
|
|
26
|
+
disablePatternScanning?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface ResolvedRedactionConfig {
|
|
29
|
+
keys: string[];
|
|
30
|
+
paths: string[];
|
|
31
|
+
patterns: RegExp[];
|
|
32
|
+
disablePatternScanning: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface ConnectorRetryConfig {
|
|
35
|
+
maxAttempts?: number;
|
|
36
|
+
initialBackoffMs?: number;
|
|
37
|
+
maxBackoffMs?: number;
|
|
38
|
+
multiplier?: number;
|
|
39
|
+
jitter?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface ResolvedConnectorRetryConfig {
|
|
42
|
+
maxAttempts: number;
|
|
43
|
+
initialBackoffMs: number;
|
|
44
|
+
maxBackoffMs: number;
|
|
45
|
+
multiplier: number;
|
|
46
|
+
jitter: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface ConnectorDeliveryConfig {
|
|
49
|
+
enabled?: boolean;
|
|
50
|
+
memoryBufferSize?: number;
|
|
51
|
+
durableQueuePath?: string;
|
|
52
|
+
durableSpillStrategy?: 'after-first-failure';
|
|
53
|
+
memoryBatchSize?: number;
|
|
54
|
+
sqliteWriteBatchSize?: number;
|
|
55
|
+
sqliteReadBatchSize?: number;
|
|
56
|
+
dispatchConcurrency?: number;
|
|
57
|
+
pollIntervalMs?: number;
|
|
58
|
+
overflowStrategy?: 'drop-oldest' | 'drop-new';
|
|
59
|
+
retry?: ConnectorRetryConfig;
|
|
60
|
+
}
|
|
61
|
+
export interface ResolvedConnectorDeliveryConfig {
|
|
62
|
+
enabled: boolean;
|
|
63
|
+
memoryBufferSize: number;
|
|
64
|
+
durableQueuePath: string;
|
|
65
|
+
durableSpillStrategy: 'after-first-failure';
|
|
66
|
+
memoryBatchSize: number;
|
|
67
|
+
sqliteWriteBatchSize: number;
|
|
68
|
+
sqliteReadBatchSize: number;
|
|
69
|
+
dispatchConcurrency: number;
|
|
70
|
+
pollIntervalMs: number;
|
|
71
|
+
overflowStrategy: 'drop-oldest' | 'drop-new';
|
|
72
|
+
retry: ResolvedConnectorRetryConfig;
|
|
73
|
+
durableReady: boolean;
|
|
74
|
+
}
|
|
22
75
|
export interface PostHogConnectorConfig {
|
|
23
76
|
enabled?: boolean;
|
|
24
77
|
mode?: ConnectorMode;
|
|
@@ -27,6 +80,20 @@ export interface PostHogConnectorConfig {
|
|
|
27
80
|
serviceName?: string;
|
|
28
81
|
errorTracking?: PostHogErrorTrackingConfig;
|
|
29
82
|
}
|
|
83
|
+
export interface DatabuddyConnectorConfig {
|
|
84
|
+
enabled?: boolean;
|
|
85
|
+
mode?: ConnectorMode;
|
|
86
|
+
apiKey?: string;
|
|
87
|
+
websiteId?: string;
|
|
88
|
+
namespace?: string;
|
|
89
|
+
source?: string;
|
|
90
|
+
apiUrl?: string;
|
|
91
|
+
debug?: boolean;
|
|
92
|
+
enableBatching?: boolean;
|
|
93
|
+
batchSize?: number;
|
|
94
|
+
batchTimeout?: number;
|
|
95
|
+
maxQueueSize?: number;
|
|
96
|
+
}
|
|
30
97
|
export interface BetterStackConnectorConfig {
|
|
31
98
|
enabled?: boolean;
|
|
32
99
|
mode?: ConnectorMode;
|
|
@@ -62,6 +129,22 @@ export interface ResolvedPostHogConnectorConfig {
|
|
|
62
129
|
serviceName: string;
|
|
63
130
|
errorTracking: ResolvedPostHogErrorTrackingConfig;
|
|
64
131
|
}
|
|
132
|
+
export interface ResolvedDatabuddyConnectorConfig {
|
|
133
|
+
enabled: boolean;
|
|
134
|
+
mode: ConnectorMode;
|
|
135
|
+
apiKey?: string;
|
|
136
|
+
websiteId?: string;
|
|
137
|
+
namespace?: string;
|
|
138
|
+
source?: string;
|
|
139
|
+
apiUrl?: string;
|
|
140
|
+
debug: boolean;
|
|
141
|
+
enableBatching: boolean;
|
|
142
|
+
batchSize?: number;
|
|
143
|
+
batchTimeout?: number;
|
|
144
|
+
maxQueueSize?: number;
|
|
145
|
+
ready: boolean;
|
|
146
|
+
status: 'enabled' | 'missing';
|
|
147
|
+
}
|
|
65
148
|
export interface ResolvedBetterStackConnectorConfig {
|
|
66
149
|
enabled: boolean;
|
|
67
150
|
mode: ConnectorMode;
|
|
@@ -119,9 +202,11 @@ export interface ResolvedOTLPConnectorConfig {
|
|
|
119
202
|
}
|
|
120
203
|
export interface BlypConnectorsConfig {
|
|
121
204
|
betterstack?: BetterStackConnectorConfig;
|
|
205
|
+
databuddy?: DatabuddyConnectorConfig;
|
|
122
206
|
posthog?: PostHogConnectorConfig;
|
|
123
207
|
sentry?: SentryConnectorConfig;
|
|
124
208
|
otlp?: OTLPConnectorConfig[];
|
|
209
|
+
delivery?: ConnectorDeliveryConfig;
|
|
125
210
|
}
|
|
126
211
|
export interface BlypConfig {
|
|
127
212
|
pretty: boolean;
|
|
@@ -131,19 +216,23 @@ export interface BlypConfig {
|
|
|
131
216
|
file?: LogFileConfig;
|
|
132
217
|
database?: DatabaseLoggerConfig;
|
|
133
218
|
clientLogging?: ClientLoggingConfig;
|
|
219
|
+
redact?: RedactionConfig;
|
|
134
220
|
connectors?: BlypConnectorsConfig;
|
|
135
221
|
}
|
|
136
222
|
export interface ResolvedBlypConnectorsConfig {
|
|
137
223
|
betterstack: ResolvedBetterStackConnectorConfig;
|
|
224
|
+
databuddy: ResolvedDatabuddyConnectorConfig;
|
|
138
225
|
posthog: ResolvedPostHogConnectorConfig;
|
|
139
226
|
sentry: ResolvedSentryConnectorConfig;
|
|
140
227
|
otlp: ResolvedOTLPConnectorConfig[];
|
|
228
|
+
delivery: ResolvedConnectorDeliveryConfig;
|
|
141
229
|
}
|
|
142
230
|
export interface ResolvedBlypConfig extends BlypConfig {
|
|
143
231
|
destination: BlypDestination;
|
|
144
232
|
file: Required<LogFileConfig>;
|
|
145
233
|
database?: ResolvedDatabaseLoggerConfig;
|
|
146
234
|
clientLogging: Required<ClientLoggingConfig>;
|
|
235
|
+
redact: ResolvedRedactionConfig;
|
|
147
236
|
connectors: ResolvedBlypConnectorsConfig;
|
|
148
237
|
}
|
|
149
238
|
export interface ConfigFileMatch {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { BetterStackSender } from '../connectors/betterstack';
|
|
2
|
+
import type { DatabuddySender } from '../connectors/databuddy';
|
|
2
3
|
import type { PostHogSender } from '../connectors/posthog';
|
|
3
4
|
import type { SentrySender } from '../connectors/sentry';
|
|
4
5
|
import type { OTLPRegistry } from '../connectors/otlp';
|
|
5
6
|
import type { BlypPrimarySink } from '../../core/primary-sink';
|
|
6
7
|
import type { StructuredLog, StructuredLogPayload } from './structured-log';
|
|
8
|
+
import type { ResolvedRedactionConfig } from './config';
|
|
7
9
|
export interface BlypLogger {
|
|
8
10
|
success: (message: unknown, ...args: unknown[]) => void;
|
|
9
11
|
critical: (message: unknown, ...args: unknown[]) => void;
|
|
@@ -24,13 +26,16 @@ export interface StructuredLogFactoryOptions {
|
|
|
24
26
|
resolveDefaultFields?: () => Record<string, unknown>;
|
|
25
27
|
onCreate?: () => void;
|
|
26
28
|
onEmit?: (payload: StructuredLogPayload) => void;
|
|
29
|
+
redact?: ResolvedRedactionConfig;
|
|
27
30
|
}
|
|
28
31
|
export interface LoggerFactoryHandle {
|
|
29
32
|
bindings: Record<string, unknown>;
|
|
30
33
|
betterstack: BetterStackSender;
|
|
34
|
+
databuddy: DatabuddySender;
|
|
31
35
|
posthog: PostHogSender;
|
|
32
36
|
sentry: SentrySender;
|
|
33
37
|
otlp: OTLPRegistry;
|
|
38
|
+
redact: ResolvedRedactionConfig;
|
|
34
39
|
sink: BlypPrimarySink;
|
|
35
40
|
create: (source: InternalLoggerSource, bindings?: Record<string, unknown>) => BlypLogger;
|
|
36
41
|
writeStructured: (payload: StructuredLogPayload, message: string, source?: InternalLoggerSource) => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ResolvedRedactionConfig } from './config';
|
|
1
2
|
export type StructuredLogLevel = 'debug' | 'info' | 'warn' | 'warning' | 'error' | 'success' | 'critical' | 'table';
|
|
2
3
|
export interface StructuredLogError {
|
|
3
4
|
message: string;
|
|
@@ -54,4 +55,5 @@ export interface CreateStructuredLogOptions {
|
|
|
54
55
|
write(payload: StructuredLogPayload<Record<string, unknown>>, message: string): void;
|
|
55
56
|
onCreate?: () => void;
|
|
56
57
|
onEmit?: (payload: StructuredLogPayload<Record<string, unknown>>) => void;
|
|
58
|
+
redact?: ResolvedRedactionConfig;
|
|
57
59
|
}
|
package/dist/types/database.d.ts
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { BlypLogger } from '../../core/logger';
|
|
2
|
+
import type { ClientLogIngestionConfig as SharedClientLogIngestionConfig, HttpRequestLog, ServerLoggerConfig } from './shared';
|
|
3
|
+
export interface AstroLocals {
|
|
4
|
+
blypLog?: BlypLogger;
|
|
5
|
+
blypTraceId?: string;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface AstroEndpointContext {
|
|
9
|
+
request: Request;
|
|
10
|
+
url: URL;
|
|
11
|
+
params?: Record<string, string>;
|
|
12
|
+
locals: AstroLocals;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
export type AstroMiddlewareContext = AstroEndpointContext;
|
|
16
|
+
export type AstroMiddlewareNext = () => Response | Promise<Response>;
|
|
17
|
+
export type AstroMiddlewareHandler = (context: AstroMiddlewareContext, next: AstroMiddlewareNext) => Response | Promise<Response>;
|
|
18
|
+
export type AstroEndpointHandler = (context: AstroEndpointContext) => Response | Promise<Response>;
|
|
19
|
+
export interface AstroLoggerContext {
|
|
20
|
+
context: AstroEndpointContext;
|
|
21
|
+
response?: Response;
|
|
22
|
+
error?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface AstroLoggerConfig extends ServerLoggerConfig<AstroLoggerContext> {
|
|
25
|
+
}
|
|
26
|
+
export interface AstroClientLogIngestionConfig extends SharedClientLogIngestionConfig<AstroLoggerContext> {
|
|
27
|
+
}
|
|
28
|
+
export interface AstroLoggerFactory {
|
|
29
|
+
logger: BlypLogger;
|
|
30
|
+
onRequest: AstroMiddlewareHandler;
|
|
31
|
+
clientLogHandler: AstroEndpointHandler;
|
|
32
|
+
}
|
|
33
|
+
export type { HttpRequestLog };
|
|
@@ -4,6 +4,7 @@ export interface ClientLoggerState {
|
|
|
4
4
|
readonly pageId: string;
|
|
5
5
|
readonly sessionId: string;
|
|
6
6
|
readonly bindings: Record<string, unknown>;
|
|
7
|
+
readonly traceId?: string;
|
|
7
8
|
readonly delivery?: {
|
|
8
9
|
enqueue: (event: ClientLogEvent) => void;
|
|
9
10
|
};
|
|
@@ -17,6 +18,7 @@ export interface ClientLoggerConfig {
|
|
|
17
18
|
connector?: ClientConnectorRequest;
|
|
18
19
|
metadata?: Record<string, unknown> | (() => Record<string, unknown>);
|
|
19
20
|
delivery?: RemoteDeliveryConfig;
|
|
21
|
+
traceId?: string;
|
|
20
22
|
}
|
|
21
23
|
export interface ClientLogger {
|
|
22
24
|
success: (message: unknown, ...args: unknown[]) => void;
|
|
@@ -5,6 +5,7 @@ export interface ElysiaContext {
|
|
|
5
5
|
startTime?: number;
|
|
6
6
|
request: Request;
|
|
7
7
|
path: string;
|
|
8
|
+
blypTraceId?: string;
|
|
8
9
|
params?: Record<string, string>;
|
|
9
10
|
query?: Record<string, string>;
|
|
10
11
|
headers: Record<string, string | undefined>;
|
|
@@ -29,5 +30,6 @@ export interface ElysiaLoggerConfig extends ServerLoggerConfig<ElysiaContext> {
|
|
|
29
30
|
}
|
|
30
31
|
export interface ElysiaClientLogIngestionConfig extends SharedClientLogIngestionConfig<ElysiaContext> {
|
|
31
32
|
}
|
|
33
|
+
export type ElysiaLoggerPlugin = any;
|
|
32
34
|
export type LoggerConfig = ElysiaLoggerConfig;
|
|
33
35
|
export type ClientLogIngestionConfig = ElysiaClientLogIngestionConfig;
|
|
@@ -3,6 +3,7 @@ import type { BlypLogger } from '../../core/logger';
|
|
|
3
3
|
import type { ClientLogIngestionConfig as SharedClientLogIngestionConfig, HttpRequestLog, ServerLoggerConfig } from './shared';
|
|
4
4
|
export interface HonoLoggerVariables {
|
|
5
5
|
blypLog: BlypLogger;
|
|
6
|
+
blypTraceId?: string;
|
|
6
7
|
blypStartTime?: number;
|
|
7
8
|
}
|
|
8
9
|
export interface HonoLoggerConfig extends ServerLoggerConfig<Context> {
|
|
@@ -24,6 +24,7 @@ export type { HttpRequestLog };
|
|
|
24
24
|
declare module 'express-serve-static-core' {
|
|
25
25
|
interface Request {
|
|
26
26
|
blypLog: BlypLogger;
|
|
27
|
+
blypTraceId?: string;
|
|
27
28
|
blypStartTime?: number;
|
|
28
29
|
blypStructuredLogEmitted?: boolean;
|
|
29
30
|
}
|
|
@@ -31,6 +32,7 @@ declare module 'express-serve-static-core' {
|
|
|
31
32
|
declare module 'fastify' {
|
|
32
33
|
interface FastifyRequest {
|
|
33
34
|
blypLog: BlypLogger;
|
|
35
|
+
blypTraceId?: string;
|
|
34
36
|
blypStartTime?: number;
|
|
35
37
|
blypStructuredLogEmitted?: boolean;
|
|
36
38
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { BlypLogger } from '../../core/logger';
|
|
2
|
+
import type { ClientLogIngestionConfig as SharedClientLogIngestionConfig, HttpRequestLog, ServerLoggerConfig } from './shared';
|
|
3
|
+
import type { HeaderRecord } from './http';
|
|
4
|
+
export interface NitroNodeRequestLike extends AsyncIterable<Uint8Array | string> {
|
|
5
|
+
method?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
headers?: HeaderRecord;
|
|
8
|
+
}
|
|
9
|
+
export interface NitroNodeResponseLike {
|
|
10
|
+
statusCode?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface NitroNodeLike {
|
|
13
|
+
req?: NitroNodeRequestLike;
|
|
14
|
+
res?: NitroNodeResponseLike;
|
|
15
|
+
}
|
|
16
|
+
export interface NitroEventContext {
|
|
17
|
+
blypLog?: BlypLogger;
|
|
18
|
+
blypTraceId?: string;
|
|
19
|
+
[key: string | symbol]: unknown;
|
|
20
|
+
}
|
|
21
|
+
export interface NitroEventLike {
|
|
22
|
+
path?: string;
|
|
23
|
+
method?: string;
|
|
24
|
+
headers?: Headers | HeaderRecord | {
|
|
25
|
+
get(name: string): string | null;
|
|
26
|
+
};
|
|
27
|
+
url?: string;
|
|
28
|
+
node?: NitroNodeLike;
|
|
29
|
+
context: NitroEventContext;
|
|
30
|
+
request?: Request;
|
|
31
|
+
body?: unknown;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
export interface NitroResponseLike {
|
|
35
|
+
status?: number;
|
|
36
|
+
statusCode?: number;
|
|
37
|
+
body?: unknown;
|
|
38
|
+
headers?: HeadersInit;
|
|
39
|
+
}
|
|
40
|
+
export interface NitroHooksLike {
|
|
41
|
+
hook: (name: string, callback: (...args: unknown[]) => unknown) => void | Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export interface NitroAppLike {
|
|
44
|
+
hooks: NitroHooksLike;
|
|
45
|
+
}
|
|
46
|
+
export type NitroLoggerPlugin = (nitroApp: NitroAppLike) => void | Promise<void>;
|
|
47
|
+
export type NitroEventHandler = (event: NitroEventLike) => Response | Promise<Response>;
|
|
48
|
+
export interface NitroLoggerContext {
|
|
49
|
+
event: NitroEventLike;
|
|
50
|
+
response?: NitroResponseLike | Response;
|
|
51
|
+
error?: unknown;
|
|
52
|
+
}
|
|
53
|
+
export interface NitroLoggerConfig extends ServerLoggerConfig<NitroLoggerContext> {
|
|
54
|
+
}
|
|
55
|
+
export interface NitroClientLogIngestionConfig extends SharedClientLogIngestionConfig<NitroLoggerContext> {
|
|
56
|
+
}
|
|
57
|
+
export interface NitroLoggerFactory {
|
|
58
|
+
logger: BlypLogger;
|
|
59
|
+
plugin: NitroLoggerPlugin;
|
|
60
|
+
clientLogHandler: NitroEventHandler;
|
|
61
|
+
getLogger: (event: NitroEventLike) => BlypLogger;
|
|
62
|
+
}
|
|
63
|
+
export type { HttpRequestLog };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BlypLogger } from '../../core/logger';
|
|
2
|
+
import type { HttpRequestLog } from './shared';
|
|
3
|
+
import type { NitroClientLogIngestionConfig as NuxtClientLogIngestionConfig, NitroEventHandler as NuxtEventHandler, NitroEventLike as NuxtEventLike, NitroLoggerConfig as BaseNuxtLoggerConfig, NitroLoggerPlugin as NuxtLoggerPlugin, NitroLoggerContext } from './nitro';
|
|
4
|
+
export interface NuxtLoggerConfig extends BaseNuxtLoggerConfig {
|
|
5
|
+
}
|
|
6
|
+
export interface NuxtLoggerFactory {
|
|
7
|
+
logger: BlypLogger;
|
|
8
|
+
serverPlugin: NuxtLoggerPlugin;
|
|
9
|
+
clientLogHandler: NuxtEventHandler;
|
|
10
|
+
getLogger: (event: NuxtEventLike) => BlypLogger;
|
|
11
|
+
}
|
|
12
|
+
export type { HttpRequestLog, NitroLoggerContext as NuxtLoggerContext, NuxtClientLogIngestionConfig, NuxtEventHandler, NuxtEventLike, NuxtLoggerPlugin, };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { BlypLogger } from '../../core/logger';
|
|
2
|
+
import type { ClientLogIngestionConfig as SharedClientLogIngestionConfig, HttpRequestLog, ServerLoggerConfig } from './shared';
|
|
3
|
+
export interface ReactRouterContextStore {
|
|
4
|
+
get?: (key: unknown) => unknown;
|
|
5
|
+
set?: (key: unknown, value: unknown) => void;
|
|
6
|
+
[key: string | symbol]: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface ReactRouterMiddlewareArgs {
|
|
9
|
+
request: Request;
|
|
10
|
+
params?: Record<string, string | undefined>;
|
|
11
|
+
context: ReactRouterContextStore;
|
|
12
|
+
}
|
|
13
|
+
export type ReactRouterMiddlewareNext = () => Response | Promise<Response>;
|
|
14
|
+
export type ReactRouterLoggerMiddleware = (args: ReactRouterMiddlewareArgs, next: ReactRouterMiddlewareNext) => Response | Promise<Response>;
|
|
15
|
+
export interface ReactRouterLoggerContext {
|
|
16
|
+
request: Request;
|
|
17
|
+
params?: Record<string, string | undefined>;
|
|
18
|
+
context: ReactRouterContextStore;
|
|
19
|
+
response?: Response;
|
|
20
|
+
error?: unknown;
|
|
21
|
+
}
|
|
22
|
+
export interface ReactRouterLoggerConfig extends ServerLoggerConfig<ReactRouterLoggerContext> {
|
|
23
|
+
}
|
|
24
|
+
export interface ReactRouterClientLogIngestionConfig extends SharedClientLogIngestionConfig<ReactRouterLoggerContext> {
|
|
25
|
+
}
|
|
26
|
+
export interface ReactRouterLoggerFactory {
|
|
27
|
+
logger: BlypLogger;
|
|
28
|
+
middleware: ReactRouterLoggerMiddleware;
|
|
29
|
+
clientLogHandler: (request: Request) => Promise<Response>;
|
|
30
|
+
getLogger: (context: ReactRouterContextStore) => BlypLogger;
|
|
31
|
+
setLogger: (context: ReactRouterContextStore, logger: BlypLogger) => void;
|
|
32
|
+
getTraceId: (context: ReactRouterContextStore) => string | undefined;
|
|
33
|
+
setTraceId: (context: ReactRouterContextStore, traceId: string) => void;
|
|
34
|
+
}
|
|
35
|
+
export type { HttpRequestLog };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BlypConfig, BlypConnectorsConfig, BlypDestination, DatabaseLoggerConfig, LogFileConfig } from '../core/config';
|
|
1
|
+
import type { BlypConfig, BlypConnectorsConfig, BlypDestination, DatabaseLoggerConfig, LogFileConfig, RedactionConfig } from '../core/config';
|
|
2
2
|
import type { BlypLogger } from '../core/logger';
|
|
3
3
|
import type { ClientLogEvent } from '../shared/client-log';
|
|
4
4
|
import type { ConnectorMode } from '../connectors/mode';
|
|
@@ -19,8 +19,10 @@ export interface ServerLoggerConfig<Ctx> {
|
|
|
19
19
|
};
|
|
20
20
|
customProps?: (ctx: Ctx) => Record<string, unknown>;
|
|
21
21
|
logErrors?: boolean;
|
|
22
|
+
includePaths?: string[];
|
|
22
23
|
ignorePaths?: string[];
|
|
23
24
|
clientLogging?: boolean | ClientLogIngestionConfig<Ctx>;
|
|
25
|
+
redact?: RedactionConfig;
|
|
24
26
|
connectors?: BlypConnectorsConfig;
|
|
25
27
|
}
|
|
26
28
|
export interface ResolvedPostHogConnector {
|
|
@@ -86,6 +88,29 @@ export interface ResolvedBetterStackConnector {
|
|
|
86
88
|
context?: Record<string, unknown>;
|
|
87
89
|
}) => void;
|
|
88
90
|
}
|
|
91
|
+
export interface ResolvedDatabuddyConnector {
|
|
92
|
+
enabled: boolean;
|
|
93
|
+
ready: boolean;
|
|
94
|
+
mode: ConnectorMode;
|
|
95
|
+
status: 'enabled' | 'missing';
|
|
96
|
+
shouldAutoCaptureExceptions: () => boolean;
|
|
97
|
+
send: (record: {
|
|
98
|
+
timestamp: string;
|
|
99
|
+
level: string;
|
|
100
|
+
message: string;
|
|
101
|
+
[key: string]: unknown;
|
|
102
|
+
}, options?: {
|
|
103
|
+
source?: 'server' | 'client';
|
|
104
|
+
warnIfUnavailable?: boolean;
|
|
105
|
+
}) => void;
|
|
106
|
+
captureException: (error: unknown, options?: {
|
|
107
|
+
source?: 'server' | 'client';
|
|
108
|
+
warnIfUnavailable?: boolean;
|
|
109
|
+
properties?: Record<string, unknown>;
|
|
110
|
+
anonymousId?: string;
|
|
111
|
+
sessionId?: string;
|
|
112
|
+
}) => void;
|
|
113
|
+
}
|
|
89
114
|
export interface ResolvedSentryConnector {
|
|
90
115
|
enabled: boolean;
|
|
91
116
|
ready: boolean;
|
|
@@ -136,6 +161,7 @@ export interface ResolvedOTLPRegistry {
|
|
|
136
161
|
export interface ResolvedServerLogger<Ctx> {
|
|
137
162
|
logger: BlypLogger;
|
|
138
163
|
betterstack: ResolvedBetterStackConnector;
|
|
164
|
+
databuddy: ResolvedDatabuddyConnector;
|
|
139
165
|
posthog: ResolvedPostHogConnector;
|
|
140
166
|
sentry: ResolvedSentryConnector;
|
|
141
167
|
otlp: ResolvedOTLPRegistry;
|
|
@@ -147,6 +173,7 @@ export interface ResolvedServerLogger<Ctx> {
|
|
|
147
173
|
autoLogging: ServerLoggerConfig<Ctx>['autoLogging'];
|
|
148
174
|
customProps?: (ctx: Ctx) => Record<string, unknown>;
|
|
149
175
|
logErrors: boolean;
|
|
176
|
+
resolvedIncludePaths?: string[];
|
|
150
177
|
resolvedIgnorePaths?: string[];
|
|
151
178
|
resolvedClientLogging: ClientLogIngestionConfig<Ctx> | null;
|
|
152
179
|
ingestionPath: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BlypLogger } from '../core/logger';
|
|
2
|
-
import type { BlypDestination, BlypConnectorsConfig, ClientLoggingConfig, DatabaseLoggerConfig, LogFileConfig, LogRotationConfig } from '../core/config';
|
|
2
|
+
import type { BlypDestination, BlypConnectorsConfig, ClientLoggingConfig, DatabaseLoggerConfig, LogFileConfig, LogRotationConfig, RedactionConfig } from '../core/config';
|
|
3
3
|
export type LogLevel = 'error' | 'critical' | 'warning' | 'info' | 'success' | 'debug' | 'table';
|
|
4
4
|
export interface StandaloneLoggerConfig {
|
|
5
5
|
pretty?: boolean;
|
|
@@ -9,6 +9,7 @@ export interface StandaloneLoggerConfig {
|
|
|
9
9
|
file?: LogFileConfig;
|
|
10
10
|
database?: DatabaseLoggerConfig;
|
|
11
11
|
clientLogging?: ClientLoggingConfig;
|
|
12
|
+
redact?: RedactionConfig;
|
|
12
13
|
connectors?: BlypConnectorsConfig;
|
|
13
14
|
}
|
|
14
15
|
export interface StandaloneLogger extends BlypLogger {
|
|
@@ -18,7 +19,7 @@ export interface StandaloneLogger extends BlypLogger {
|
|
|
18
19
|
warn: (message: unknown, ...args: unknown[]) => void;
|
|
19
20
|
warning: (message: unknown, ...args: unknown[]) => void;
|
|
20
21
|
}
|
|
21
|
-
export type { BlypConnectorsConfig, BlypDestination, ClientLoggingConfig, DatabaseLoggerConfig, LogFileConfig, LogRotationConfig, };
|
|
22
|
+
export type { BlypConnectorsConfig, BlypDestination, ClientLoggingConfig, DatabaseLoggerConfig, LogFileConfig, LogRotationConfig, RedactionConfig, };
|
|
22
23
|
export type RuntimeType = 'bun' | 'node';
|
|
23
24
|
export interface RuntimeAdapter {
|
|
24
25
|
readonly type: RuntimeType;
|
|
@@ -2,6 +2,7 @@ import type { BlypLogger } from '../../core/logger';
|
|
|
2
2
|
import type { ClientLogIngestionConfig as SharedClientLogIngestionConfig, HttpRequestLog, ServerLoggerConfig } from './shared';
|
|
3
3
|
export interface SvelteKitLocals {
|
|
4
4
|
blypLog?: BlypLogger;
|
|
5
|
+
blypTraceId?: string;
|
|
5
6
|
[key: string]: unknown;
|
|
6
7
|
}
|
|
7
8
|
export interface SvelteKitRequestEvent {
|
|
@@ -2,14 +2,20 @@ import type { BlypLogger } from '../../core/logger';
|
|
|
2
2
|
import type { ClientLogIngestionConfig as SharedClientLogIngestionConfig, HttpRequestLog, ServerLoggerConfig } from './shared';
|
|
3
3
|
export interface TanStackStartMiddlewareContext {
|
|
4
4
|
request: Request;
|
|
5
|
-
context: Record<string, unknown
|
|
5
|
+
context: Record<string, unknown> & {
|
|
6
|
+
blypTraceId?: string;
|
|
7
|
+
};
|
|
6
8
|
next: (options?: {
|
|
7
|
-
context?: Record<string, unknown
|
|
9
|
+
context?: Record<string, unknown> & {
|
|
10
|
+
blypTraceId?: string;
|
|
11
|
+
};
|
|
8
12
|
}) => Promise<Response>;
|
|
9
13
|
}
|
|
10
14
|
export interface TanStackStartLoggerContext {
|
|
11
15
|
request: Request;
|
|
12
|
-
context: Record<string, unknown
|
|
16
|
+
context: Record<string, unknown> & {
|
|
17
|
+
blypTraceId?: string;
|
|
18
|
+
};
|
|
13
19
|
response?: Response;
|
|
14
20
|
error?: unknown;
|
|
15
21
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
import type { RedactionConfig, ResolvedRedactionConfig } from '../core/config';
|
|
1
2
|
import type { HttpRequestLog } from './http';
|
|
2
3
|
import type { StructuredLog } from '../core/structured-log';
|
|
3
4
|
export interface WorkersLoggerConfig {
|
|
4
5
|
env?: Record<string, unknown>;
|
|
5
6
|
customProps?: (request: Request) => Record<string, unknown>;
|
|
7
|
+
redact?: RedactionConfig;
|
|
6
8
|
}
|
|
7
9
|
export interface WorkersLoggerState {
|
|
8
10
|
env?: Record<string, unknown>;
|
|
9
11
|
customProps?: (request: Request) => Record<string, unknown>;
|
|
12
|
+
redact?: ResolvedRedactionConfig;
|
|
10
13
|
}
|
|
11
14
|
export type WorkersConsoleMethod = 'debug' | 'info' | 'warn' | 'error' | 'log';
|
|
12
15
|
export type WorkersLogLevel = 'debug' | 'info' | 'warn' | 'warning' | 'error' | 'success' | 'critical';
|
|
@@ -24,7 +24,7 @@ export interface ClientLogSessionContext {
|
|
|
24
24
|
pageId: string;
|
|
25
25
|
sessionId: string;
|
|
26
26
|
}
|
|
27
|
-
export type ClientConnectorRequest = 'betterstack' | 'posthog' | 'sentry' | {
|
|
27
|
+
export type ClientConnectorRequest = 'betterstack' | 'databuddy' | 'posthog' | 'sentry' | {
|
|
28
28
|
type: 'otlp';
|
|
29
29
|
name: string;
|
|
30
30
|
};
|
|
@@ -32,6 +32,7 @@ export interface ClientLogEvent {
|
|
|
32
32
|
type: 'client_log';
|
|
33
33
|
source: 'client';
|
|
34
34
|
id: string;
|
|
35
|
+
traceId?: string;
|
|
35
36
|
level: ClientLogLevel;
|
|
36
37
|
message: string;
|
|
37
38
|
connector?: ClientConnectorRequest;
|