@blyp/core 0.1.21 → 0.1.23

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 (248) hide show
  1. package/README.md +54 -522
  2. package/STABILITY.md +56 -0
  3. package/dist/ai/anthropic/index.d.ts +3 -0
  4. package/dist/ai/anthropic/normalize.d.ts +9 -0
  5. package/dist/ai/anthropic/stream.d.ts +3 -0
  6. package/dist/ai/anthropic/wrap.d.ts +13 -0
  7. package/dist/ai/anthropic.js +701 -0
  8. package/dist/ai/anthropic.mjs +701 -0
  9. package/dist/ai/better-agent/index.d.ts +3 -0
  10. package/dist/ai/better-agent/normalize.d.ts +18 -0
  11. package/dist/ai/better-agent/plugin.d.ts +3 -0
  12. package/dist/ai/better-agent/tracker.d.ts +35 -0
  13. package/dist/ai/better-agent.js +701 -0
  14. package/dist/ai/better-agent.mjs +701 -0
  15. package/dist/ai/fetch.js +701 -0
  16. package/dist/ai/fetch.mjs +701 -0
  17. package/dist/ai/openai/index.d.ts +3 -0
  18. package/dist/ai/openai/normalize.d.ts +10 -0
  19. package/dist/ai/openai/stream.d.ts +3 -0
  20. package/dist/ai/openai/wrap.d.ts +24 -0
  21. package/dist/ai/openai.js +701 -0
  22. package/dist/ai/openai.mjs +701 -0
  23. package/dist/ai/shared/fetch.d.ts +5 -0
  24. package/dist/ai/shared/index.d.ts +2 -0
  25. package/dist/ai/shared/normalize.d.ts +17 -0
  26. package/dist/ai/shared/redaction.d.ts +6 -0
  27. package/dist/ai/shared/stream.d.ts +7 -0
  28. package/dist/ai/shared/trace.d.ts +119 -0
  29. package/dist/ai/shared/types.d.ts +171 -0
  30. package/dist/ai/shared.js +701 -0
  31. package/dist/ai/shared.mjs +701 -0
  32. package/dist/ai/vercel/index.d.ts +3 -0
  33. package/dist/ai/vercel/middleware.d.ts +3 -0
  34. package/dist/ai/vercel/model.d.ts +3 -0
  35. package/dist/ai/vercel.js +701 -0
  36. package/dist/ai/vercel.mjs +701 -0
  37. package/dist/astro.js +618 -4519
  38. package/dist/astro.mjs +618 -4491
  39. package/dist/client.js +1 -1139
  40. package/dist/client.mjs +1 -1132
  41. package/dist/connectors/betterstack.js +9 -1532
  42. package/dist/connectors/betterstack.mjs +9 -1507
  43. package/dist/connectors/databuddy.js +9 -1456
  44. package/dist/connectors/databuddy.mjs +9 -1451
  45. package/dist/connectors/delivery/backoff.d.ts +2 -0
  46. package/dist/connectors/delivery/manager.d.ts +44 -0
  47. package/dist/connectors/delivery/queue-path.d.ts +1 -0
  48. package/dist/connectors/delivery/sqlite-adapter-bun.d.ts +1 -0
  49. package/dist/connectors/delivery/sqlite-adapter-node.d.ts +1 -0
  50. package/dist/connectors/delivery/sqlite-client.d.ts +37 -0
  51. package/dist/connectors/delivery/sqlite-worker.d.ts +1 -0
  52. package/dist/connectors/delivery/studio-queue.d.ts +12 -0
  53. package/dist/connectors/delivery/types.d.ts +98 -0
  54. package/dist/connectors/otlp/index.d.ts +1 -0
  55. package/dist/connectors/otlp.js +9 -1371
  56. package/dist/connectors/otlp.mjs +9 -1368
  57. package/dist/connectors/posthog/properties.d.ts +4 -0
  58. package/dist/connectors/posthog/sender.d.ts +0 -1
  59. package/dist/connectors/posthog.js +10 -1527
  60. package/dist/connectors/posthog.mjs +10 -1522
  61. package/dist/connectors/sentry.js +9 -1380
  62. package/dist/connectors/sentry.mjs +9 -1357
  63. package/dist/core/config.d.ts +7 -2
  64. package/dist/core/log-record.d.ts +5 -4
  65. package/dist/core/logger.d.ts +2 -0
  66. package/dist/core/optional-module.d.ts +1 -0
  67. package/dist/core/pino-pretty-loader.d.ts +4 -0
  68. package/dist/database.js +1 -24
  69. package/dist/database.mjs +1 -21
  70. package/dist/elysia.js +613 -4517
  71. package/dist/elysia.mjs +615 -4491
  72. package/dist/expo.js +1 -726
  73. package/dist/expo.mjs +1 -724
  74. package/dist/express.js +613 -4507
  75. package/dist/express.mjs +615 -4480
  76. package/dist/fastify.js +615 -4526
  77. package/dist/fastify.mjs +617 -4499
  78. package/dist/frameworks/elysia/index.d.ts +1 -1
  79. package/dist/frameworks/elysia/logger.d.ts +2 -35
  80. package/dist/frameworks/nestjs/helpers.d.ts +2 -0
  81. package/dist/frameworks/shared/http.d.ts +3 -2
  82. package/dist/frameworks/shared/index.d.ts +2 -1
  83. package/dist/frameworks/shared/logger.d.ts +2 -0
  84. package/dist/frameworks/shared/request-context.d.ts +2 -0
  85. package/dist/frameworks/shared/trace.d.ts +6 -0
  86. package/dist/hono.js +616 -4496
  87. package/dist/hono.mjs +618 -4470
  88. package/dist/index.d.ts +49 -19
  89. package/dist/index.js +615 -7557
  90. package/dist/index.mjs +618 -7465
  91. package/dist/nestjs.js +626 -4999
  92. package/dist/nestjs.mjs +621 -4966
  93. package/dist/nextjs.js +618 -4525
  94. package/dist/nextjs.mjs +620 -4499
  95. package/dist/nitro.js +617 -4642
  96. package/dist/nitro.mjs +619 -4616
  97. package/dist/nuxt.js +617 -4649
  98. package/dist/nuxt.mjs +619 -4623
  99. package/dist/react-router.js +616 -4559
  100. package/dist/react-router.mjs +618 -4533
  101. package/dist/shared/redaction.d.ts +17 -0
  102. package/dist/standalone.js +606 -3628
  103. package/dist/standalone.mjs +610 -3603
  104. package/dist/sveltekit.js +617 -4523
  105. package/dist/sveltekit.mjs +619 -4497
  106. package/dist/tanstack-start.js +616 -4522
  107. package/dist/tanstack-start.mjs +618 -4496
  108. package/dist/types/core/config.d.ts +57 -0
  109. package/dist/types/core/logger.d.ts +3 -0
  110. package/dist/types/core/structured-log.d.ts +2 -0
  111. package/dist/types/database.d.ts +1 -0
  112. package/dist/types/frameworks/astro.d.ts +1 -0
  113. package/dist/types/frameworks/client.d.ts +2 -0
  114. package/dist/types/frameworks/elysia.d.ts +2 -0
  115. package/dist/types/frameworks/express.d.ts +1 -0
  116. package/dist/types/frameworks/fastify.d.ts +1 -0
  117. package/dist/types/frameworks/hono.d.ts +1 -0
  118. package/dist/types/frameworks/http.d.ts +1 -0
  119. package/dist/types/frameworks/nestjs.d.ts +2 -0
  120. package/dist/types/frameworks/nextjs.d.ts +1 -0
  121. package/dist/types/frameworks/nitro.d.ts +1 -0
  122. package/dist/types/frameworks/react-router.d.ts +2 -0
  123. package/dist/types/frameworks/request-context.d.ts +1 -0
  124. package/dist/types/frameworks/shared.d.ts +4 -1
  125. package/dist/types/frameworks/standalone.d.ts +3 -2
  126. package/dist/types/frameworks/sveltekit.d.ts +1 -0
  127. package/dist/types/frameworks/tanstack-start.d.ts +9 -3
  128. package/dist/types/frameworks/workers.d.ts +3 -0
  129. package/dist/types/shared/client-log.d.ts +1 -0
  130. package/dist/workers.js +2 -626
  131. package/dist/workers.mjs +2 -623
  132. package/package.json +259 -173
  133. package/dist/astro.js.map +0 -1
  134. package/dist/astro.mjs.map +0 -1
  135. package/dist/client.js.map +0 -1
  136. package/dist/client.mjs.map +0 -1
  137. package/dist/connectors/betterstack.js.map +0 -1
  138. package/dist/connectors/betterstack.mjs.map +0 -1
  139. package/dist/connectors/databuddy.js.map +0 -1
  140. package/dist/connectors/databuddy.mjs.map +0 -1
  141. package/dist/connectors/otlp.js.map +0 -1
  142. package/dist/connectors/otlp.mjs.map +0 -1
  143. package/dist/connectors/posthog.js.map +0 -1
  144. package/dist/connectors/posthog.mjs.map +0 -1
  145. package/dist/connectors/sentry.js.map +0 -1
  146. package/dist/connectors/sentry.mjs.map +0 -1
  147. package/dist/database.js.map +0 -1
  148. package/dist/database.mjs.map +0 -1
  149. package/dist/elysia.js.map +0 -1
  150. package/dist/elysia.mjs.map +0 -1
  151. package/dist/expo.js.map +0 -1
  152. package/dist/expo.mjs.map +0 -1
  153. package/dist/express.js.map +0 -1
  154. package/dist/express.mjs.map +0 -1
  155. package/dist/fastify.js.map +0 -1
  156. package/dist/fastify.mjs.map +0 -1
  157. package/dist/hono.js.map +0 -1
  158. package/dist/hono.mjs.map +0 -1
  159. package/dist/index.js.map +0 -1
  160. package/dist/index.mjs.map +0 -1
  161. package/dist/nestjs.js.map +0 -1
  162. package/dist/nestjs.mjs.map +0 -1
  163. package/dist/nextjs.js.map +0 -1
  164. package/dist/nextjs.mjs.map +0 -1
  165. package/dist/nitro.js.map +0 -1
  166. package/dist/nitro.mjs.map +0 -1
  167. package/dist/nuxt.js.map +0 -1
  168. package/dist/nuxt.mjs.map +0 -1
  169. package/dist/react-router.js.map +0 -1
  170. package/dist/react-router.mjs.map +0 -1
  171. package/dist/standalone.js.map +0 -1
  172. package/dist/standalone.mjs.map +0 -1
  173. package/dist/sveltekit.js.map +0 -1
  174. package/dist/sveltekit.mjs.map +0 -1
  175. package/dist/tanstack-start.js.map +0 -1
  176. package/dist/tanstack-start.mjs.map +0 -1
  177. package/dist/workers.js.map +0 -1
  178. package/dist/workers.mjs.map +0 -1
  179. package/exports/client.js +0 -3
  180. package/exports/client.mjs +0 -3
  181. package/exports/connectors/betterstack.js +0 -1
  182. package/exports/connectors/betterstack.mjs +0 -1
  183. package/exports/connectors/databuddy.js +0 -1
  184. package/exports/connectors/databuddy.mjs +0 -1
  185. package/exports/connectors/otlp.js +0 -1
  186. package/exports/connectors/otlp.mjs +0 -1
  187. package/exports/connectors/posthog.js +0 -1
  188. package/exports/connectors/posthog.mjs +0 -1
  189. package/exports/connectors/sentry.js +0 -1
  190. package/exports/connectors/sentry.mjs +0 -1
  191. package/exports/database.js +0 -1
  192. package/exports/database.mjs +0 -1
  193. package/exports/expo.js +0 -1
  194. package/exports/expo.mjs +0 -1
  195. package/exports/frameworks/astro.js +0 -1
  196. package/exports/frameworks/astro.mjs +0 -1
  197. package/exports/frameworks/elysia.js +0 -1
  198. package/exports/frameworks/elysia.mjs +0 -1
  199. package/exports/frameworks/express.js +0 -1
  200. package/exports/frameworks/express.mjs +0 -1
  201. package/exports/frameworks/fastify.js +0 -1
  202. package/exports/frameworks/fastify.mjs +0 -1
  203. package/exports/frameworks/hono.js +0 -1
  204. package/exports/frameworks/hono.mjs +0 -1
  205. package/exports/frameworks/nestjs.js +0 -1
  206. package/exports/frameworks/nestjs.mjs +0 -1
  207. package/exports/frameworks/nextjs.js +0 -1
  208. package/exports/frameworks/nextjs.mjs +0 -1
  209. package/exports/frameworks/nitro.js +0 -1
  210. package/exports/frameworks/nitro.mjs +0 -1
  211. package/exports/frameworks/nuxt.js +0 -1
  212. package/exports/frameworks/nuxt.mjs +0 -1
  213. package/exports/frameworks/react-router.js +0 -1
  214. package/exports/frameworks/react-router.mjs +0 -1
  215. package/exports/frameworks/standalone.js +0 -1
  216. package/exports/frameworks/standalone.mjs +0 -1
  217. package/exports/frameworks/sveltekit.js +0 -1
  218. package/exports/frameworks/sveltekit.mjs +0 -1
  219. package/exports/frameworks/tanstack-start.js +0 -1
  220. package/exports/frameworks/tanstack-start.mjs +0 -1
  221. package/exports/workers.js +0 -1
  222. package/exports/workers.mjs +0 -1
  223. package/types/client.d.ts +0 -34
  224. package/types/connectors/betterstack.d.ts +0 -1
  225. package/types/connectors/databuddy.d.ts +0 -1
  226. package/types/connectors/otlp.d.ts +0 -1
  227. package/types/connectors/posthog.d.ts +0 -1
  228. package/types/connectors/sentry.d.ts +0 -1
  229. package/types/database.d.ts +0 -1
  230. package/types/expo.d.ts +0 -17
  231. package/types/frameworks/astro.d.ts +0 -1
  232. package/types/frameworks/client.d.ts +0 -160
  233. package/types/frameworks/elysia.d.ts +0 -1
  234. package/types/frameworks/expo.d.ts +0 -50
  235. package/types/frameworks/express.d.ts +0 -1
  236. package/types/frameworks/fastify.d.ts +0 -1
  237. package/types/frameworks/hono.d.ts +0 -1
  238. package/types/frameworks/nestjs.d.ts +0 -1
  239. package/types/frameworks/nextjs.d.ts +0 -1
  240. package/types/frameworks/nitro.d.ts +0 -1
  241. package/types/frameworks/nuxt.d.ts +0 -1
  242. package/types/frameworks/react-router.d.ts +0 -1
  243. package/types/frameworks/standalone.d.ts +0 -1
  244. package/types/frameworks/sveltekit.d.ts +0 -1
  245. package/types/frameworks/tanstack-start.d.ts +0 -1
  246. package/types/frameworks/workers.d.ts +0 -115
  247. package/types/index.d.ts +0 -1
  248. package/types/workers.d.ts +0 -13
@@ -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;
@@ -153,6 +206,7 @@ export interface BlypConnectorsConfig {
153
206
  posthog?: PostHogConnectorConfig;
154
207
  sentry?: SentryConnectorConfig;
155
208
  otlp?: OTLPConnectorConfig[];
209
+ delivery?: ConnectorDeliveryConfig;
156
210
  }
157
211
  export interface BlypConfig {
158
212
  pretty: boolean;
@@ -162,6 +216,7 @@ export interface BlypConfig {
162
216
  file?: LogFileConfig;
163
217
  database?: DatabaseLoggerConfig;
164
218
  clientLogging?: ClientLoggingConfig;
219
+ redact?: RedactionConfig;
165
220
  connectors?: BlypConnectorsConfig;
166
221
  }
167
222
  export interface ResolvedBlypConnectorsConfig {
@@ -170,12 +225,14 @@ export interface ResolvedBlypConnectorsConfig {
170
225
  posthog: ResolvedPostHogConnectorConfig;
171
226
  sentry: ResolvedSentryConnectorConfig;
172
227
  otlp: ResolvedOTLPConnectorConfig[];
228
+ delivery: ResolvedConnectorDeliveryConfig;
173
229
  }
174
230
  export interface ResolvedBlypConfig extends BlypConfig {
175
231
  destination: BlypDestination;
176
232
  file: Required<LogFileConfig>;
177
233
  database?: ResolvedDatabaseLoggerConfig;
178
234
  clientLogging: Required<ClientLoggingConfig>;
235
+ redact: ResolvedRedactionConfig;
179
236
  connectors: ResolvedBlypConnectorsConfig;
180
237
  }
181
238
  export interface ConfigFileMatch {
@@ -5,6 +5,7 @@ import type { SentrySender } from '../connectors/sentry';
5
5
  import type { OTLPRegistry } from '../connectors/otlp';
6
6
  import type { BlypPrimarySink } from '../../core/primary-sink';
7
7
  import type { StructuredLog, StructuredLogPayload } from './structured-log';
8
+ import type { ResolvedRedactionConfig } from './config';
8
9
  export interface BlypLogger {
9
10
  success: (message: unknown, ...args: unknown[]) => void;
10
11
  critical: (message: unknown, ...args: unknown[]) => void;
@@ -25,6 +26,7 @@ export interface StructuredLogFactoryOptions {
25
26
  resolveDefaultFields?: () => Record<string, unknown>;
26
27
  onCreate?: () => void;
27
28
  onEmit?: (payload: StructuredLogPayload) => void;
29
+ redact?: ResolvedRedactionConfig;
28
30
  }
29
31
  export interface LoggerFactoryHandle {
30
32
  bindings: Record<string, unknown>;
@@ -33,6 +35,7 @@ export interface LoggerFactoryHandle {
33
35
  posthog: PostHogSender;
34
36
  sentry: SentrySender;
35
37
  otlp: OTLPRegistry;
38
+ redact: ResolvedRedactionConfig;
36
39
  sink: BlypPrimarySink;
37
40
  create: (source: InternalLoggerSource, bindings?: Record<string, unknown>) => BlypLogger;
38
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
  }
@@ -58,6 +58,7 @@ export interface DatabaseLogRow {
58
58
  message: string;
59
59
  caller: string | null;
60
60
  type: string | null;
61
+ traceId: string | null;
61
62
  groupId: string | null;
62
63
  method: string | null;
63
64
  path: string | null;
@@ -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 AstroLocals {
4
4
  blypLog?: BlypLogger;
5
+ blypTraceId?: string;
5
6
  [key: string]: unknown;
6
7
  }
7
8
  export interface AstroEndpointContext {
@@ -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;
@@ -16,6 +16,7 @@ export type { HttpRequestLog };
16
16
  declare module 'express-serve-static-core' {
17
17
  interface Request {
18
18
  blypLog: BlypLogger;
19
+ blypTraceId?: string;
19
20
  }
20
21
  interface Locals {
21
22
  blypStartTime?: number;
@@ -15,6 +15,7 @@ export type { HttpRequestLog };
15
15
  declare module 'fastify' {
16
16
  interface FastifyRequest {
17
17
  blypLog: BlypLogger;
18
+ blypTraceId?: string;
18
19
  blypStartTime?: number;
19
20
  blypError?: unknown;
20
21
  blypStructuredLogEmitted?: boolean;
@@ -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> {
@@ -32,6 +32,7 @@ export interface HttpRequestLog {
32
32
  origin?: string;
33
33
  referer?: string;
34
34
  acceptLanguage?: string;
35
+ headers?: HeaderRecord;
35
36
  client?: {
36
37
  ip?: string;
37
38
  hostname?: string;
@@ -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
  }
@@ -6,6 +6,7 @@ export interface NextJsRouteContext {
6
6
  }
7
7
  export interface NextJsLoggerHelpers {
8
8
  log: BlypLogger;
9
+ traceId: string;
9
10
  }
10
11
  export interface NextJsLoggerContext {
11
12
  request: Request;
@@ -15,6 +15,7 @@ export interface NitroNodeLike {
15
15
  }
16
16
  export interface NitroEventContext {
17
17
  blypLog?: BlypLogger;
18
+ blypTraceId?: string;
18
19
  [key: string | symbol]: unknown;
19
20
  }
20
21
  export interface NitroEventLike {
@@ -29,5 +29,7 @@ export interface ReactRouterLoggerFactory {
29
29
  clientLogHandler: (request: Request) => Promise<Response>;
30
30
  getLogger: (context: ReactRouterContextStore) => BlypLogger;
31
31
  setLogger: (context: ReactRouterContextStore, logger: BlypLogger) => void;
32
+ getTraceId: (context: ReactRouterContextStore) => string | undefined;
33
+ setTraceId: (context: ReactRouterContextStore, traceId: string) => void;
32
34
  }
33
35
  export type { HttpRequestLog };
@@ -5,4 +5,5 @@ export interface BlypRequestContextStore {
5
5
  structuredLogEmitted: boolean;
6
6
  mixedLoggerWarningShown: boolean;
7
7
  activeLogger?: BlypLogger;
8
+ traceId?: string;
8
9
  }
@@ -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 {
@@ -171,6 +173,7 @@ export interface ResolvedServerLogger<Ctx> {
171
173
  autoLogging: ServerLoggerConfig<Ctx>['autoLogging'];
172
174
  customProps?: (ctx: Ctx) => Record<string, unknown>;
173
175
  logErrors: boolean;
176
+ resolvedIncludePaths?: string[];
174
177
  resolvedIgnorePaths?: string[];
175
178
  resolvedClientLogging: ClientLogIngestionConfig<Ctx> | null;
176
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';
@@ -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;