@mks2508/better-logger 5.0.0 → 5.0.2

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 (162) hide show
  1. package/dist/chunks/{Logger-Cbi1f10o.js → Logger-CKqzXDh3.js} +2 -2
  2. package/dist/chunks/{Logger-Cbi1f10o.js.map → Logger-CKqzXDh3.js.map} +1 -1
  3. package/dist/chunks/{Logger-BZ7B7OXE.js → Logger-D_vuKP4l.js} +2 -2
  4. package/dist/chunks/{Logger-BZ7B7OXE.js.map → Logger-D_vuKP4l.js.map} +1 -1
  5. package/dist/chunks/cli-module-B-njrTWb.js +2 -0
  6. package/dist/chunks/cli-module-B-njrTWb.js.map +1 -0
  7. package/dist/chunks/{cli-module-ClIJmaT8.js → cli-module-Cx7qotPY.js} +16 -9
  8. package/dist/chunks/cli-module-Cx7qotPY.js.map +1 -0
  9. package/dist/cli.cjs +1 -1
  10. package/dist/cli.js +1 -1
  11. package/dist/exports.cjs +1 -1
  12. package/dist/exports.js +1 -1
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.js +3 -3
  15. package/dist/styling.cjs +1 -1
  16. package/dist/styling.js +2 -2
  17. package/dist/terminal/formatter.d.ts.map +1 -1
  18. package/package.json +5 -1
  19. package/.claude/settings.local.json +0 -48
  20. package/.github/workflows/ci-quality.yml +0 -357
  21. package/.github/workflows/docs-demo.yml +0 -119
  22. package/.github/workflows/releases-core.yml +0 -512
  23. package/.github/workflows/releases-full.yml +0 -582
  24. package/.github/workflows-backup/ci.yml +0 -221
  25. package/.github/workflows-backup/nightly.yml +0 -196
  26. package/.github/workflows-backup/release-optimized.yml +0 -373
  27. package/.github/workflows-backup/release.yml +0 -269
  28. package/.release-notes-0.2.0.md +0 -129
  29. package/.yamllint +0 -28
  30. package/CHANGELOG.json +0 -1076
  31. package/CHANGELOG.md +0 -209
  32. package/CLAUDE.md +0 -217
  33. package/bun.lock +0 -333
  34. package/demo.html +0 -847
  35. package/dist/chunks/cli-module-CadqgZ1Z.js +0 -2
  36. package/dist/chunks/cli-module-CadqgZ1Z.js.map +0 -1
  37. package/dist/chunks/cli-module-ClIJmaT8.js.map +0 -1
  38. package/docs/API.md +0 -918
  39. package/docs/CORE.md +0 -264
  40. package/docs/DEVELOPMENT.md +0 -731
  41. package/docs/EXPORTS.md +0 -467
  42. package/docs/PACKAGES.md +0 -244
  43. package/docs/STYLING.md +0 -405
  44. package/docs/_config.yml +0 -36
  45. package/docs/index.md +0 -179
  46. package/examples/README.md +0 -208
  47. package/examples/basic-logging.js +0 -75
  48. package/examples/data-export.js +0 -234
  49. package/examples/package.json +0 -16
  50. package/examples/performance-timing.js +0 -170
  51. package/examples/simplified-api.js +0 -124
  52. package/examples/styling-themes.js +0 -207
  53. package/index.html +0 -358
  54. package/packages/core/package.json +0 -57
  55. package/packages/exports/package.json +0 -41
  56. package/packages/nodejs-opentui/README.md +0 -232
  57. package/packages/nodejs-opentui/package.json +0 -72
  58. package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
  59. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
  60. package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
  61. package/packages/nodejs-opentui/src/index.ts +0 -133
  62. package/packages/nodejs-opentui/src/types.ts +0 -158
  63. package/packages/nodejs-opentui/tsconfig.json +0 -20
  64. package/packages/styling/package.json +0 -41
  65. package/playground/demo-all.ts +0 -95
  66. package/playground/demo-box.ts +0 -85
  67. package/playground/demo-levels.ts +0 -56
  68. package/playground/demo-real-world.ts +0 -98
  69. package/playground/demo-spinner.ts +0 -77
  70. package/playground/demo-steps.ts +0 -72
  71. package/playground/demo-table.ts +0 -83
  72. package/project-utils/README.md +0 -172
  73. package/project-utils/auto-release-gemini.ts +0 -1193
  74. package/project-utils/auto-release-ui.ts +0 -1329
  75. package/project-utils/commit-generator.ts +0 -1385
  76. package/project-utils/commit-ui.ts +0 -264
  77. package/project-utils/git-utils.ts +0 -199
  78. package/project-utils/github-release-manager.ts +0 -466
  79. package/project-utils/project-config.ts +0 -260
  80. package/project-utils/prompt-templates.js +0 -345
  81. package/project-utils/prompt-templates.ts +0 -422
  82. package/project-utils/version-manager.ts +0 -1078
  83. package/public/vite.svg +0 -1
  84. package/src/Logger.ts +0 -1858
  85. package/src/ScopedLogger.ts +0 -256
  86. package/src/cli/CommandProcessor.ts +0 -248
  87. package/src/cli/commands/ConfigCommand.ts +0 -93
  88. package/src/cli/commands/ExportCommand.ts +0 -276
  89. package/src/cli/commands/HistoryCommand.ts +0 -117
  90. package/src/cli/commands/StatusCommand.ts +0 -112
  91. package/src/cli/commands/ThemeCommand.ts +0 -88
  92. package/src/cli/help.ts +0 -127
  93. package/src/cli/index.ts +0 -71
  94. package/src/cli-module.ts +0 -21
  95. package/src/cli-primitives/box.ts +0 -86
  96. package/src/cli-primitives/cli-table.ts +0 -62
  97. package/src/cli-primitives/divider.ts +0 -17
  98. package/src/cli-primitives/header.ts +0 -18
  99. package/src/cli-primitives/index.ts +0 -13
  100. package/src/cli-primitives/server-fallback.ts +0 -54
  101. package/src/cli-primitives/spinner.ts +0 -133
  102. package/src/cli-primitives/step.ts +0 -22
  103. package/src/constants.ts +0 -313
  104. package/src/core.ts +0 -397
  105. package/src/example.ts +0 -210
  106. package/src/exports-module.ts +0 -311
  107. package/src/handlers/AnalyticsLogHandler.ts +0 -22
  108. package/src/handlers/ExportLogHandler.ts +0 -610
  109. package/src/handlers/FileLogHandler.ts +0 -169
  110. package/src/handlers/RemoteLogHandler.ts +0 -42
  111. package/src/handlers/index.ts +0 -8
  112. package/src/hooks/HookManager.ts +0 -177
  113. package/src/hooks/index.ts +0 -1
  114. package/src/index.ts +0 -395
  115. package/src/main.ts +0 -196
  116. package/src/serializers/SerializerRegistry.ts +0 -173
  117. package/src/serializers/index.ts +0 -1
  118. package/src/style.css +0 -96
  119. package/src/styling/LogStyleBuilder.ts +0 -355
  120. package/src/styling/SemanticStyles.ts +0 -380
  121. package/src/styling/SmartPresets.ts +0 -288
  122. package/src/styling/StyleBuilder.ts +0 -319
  123. package/src/styling/StyleCache.ts +0 -131
  124. package/src/styling/banners.ts +0 -168
  125. package/src/styling/index.ts +0 -27
  126. package/src/styling/themes.ts +0 -235
  127. package/src/styling-module.ts +0 -244
  128. package/src/terminal/color-converter.ts +0 -315
  129. package/src/terminal/formatter.ts +0 -236
  130. package/src/terminal/terminal-renderer.ts +0 -342
  131. package/src/transports/ConsoleTransport.ts +0 -28
  132. package/src/transports/FileTransport.ts +0 -53
  133. package/src/transports/HttpTransport.ts +0 -56
  134. package/src/transports/TransportManager.ts +0 -130
  135. package/src/transports/index.ts +0 -4
  136. package/src/types/core.ts +0 -417
  137. package/src/types/handlers.ts +0 -95
  138. package/src/types/hooks.ts +0 -45
  139. package/src/types/index.ts +0 -83
  140. package/src/types/serializers.ts +0 -30
  141. package/src/types/transports.ts +0 -52
  142. package/src/typescript.svg +0 -1
  143. package/src/utils/adapter.ts +0 -291
  144. package/src/utils/ansi-colors.ts +0 -333
  145. package/src/utils/environment-detector.ts +0 -170
  146. package/src/utils/environment.ts +0 -94
  147. package/src/utils/formatting.ts +0 -332
  148. package/src/utils/index.ts +0 -33
  149. package/src/utils/opentui-detection.ts +0 -138
  150. package/src/utils/output.ts +0 -227
  151. package/src/utils/stackTrace.ts +0 -144
  152. package/src/utils/timestamps.ts +0 -80
  153. package/src/vite-env.d.ts +0 -1
  154. package/src/writers/BufferWriter.ts +0 -157
  155. package/src/writers/index.ts +0 -6
  156. package/test-core-browser.html +0 -237
  157. package/test-core-node.js +0 -63
  158. package/tests/test-conflict-resolution.ts +0 -391
  159. package/tests/validate-workflows.sh +0 -131
  160. package/tests/yaml-autofix.sh +0 -146
  161. package/tsconfig.json +0 -50
  162. package/vite.config.ts +0 -256
package/src/types/core.ts DELETED
@@ -1,417 +0,0 @@
1
- /**
2
- * @fileoverview Definiciones de tipos principales para Better Logger
3
- * @version 0.3.0
4
- * @since 2024
5
- */
6
-
7
- /**
8
- * Niveles de log soportados en orden jerárquico (debug < info < warn < error < critical)
9
- *
10
- * @constant {Object} LOG_LEVELS
11
- * @property {number} debug - Nivel 0: Información de depuración detallada
12
- * @property {number} info - Nivel 1: Mensajes informativos generales
13
- * @property {number} warn - Nivel 2: Advertencias que no detienen la ejecución
14
- * @property {number} error - Nivel 3: Errores que pueden afectar funcionalidad
15
- * @property {number} critical - Nivel 4: Errores críticos que requieren atención inmediata
16
- *
17
- * @example
18
- * // Verificar si un nivel debe mostrarse
19
- * if (LOG_LEVELS[currentLevel] >= LOG_LEVELS.warn) {
20
- * // Mostrar solo warn, error y critical
21
- * }
22
- */
23
- export const LOG_LEVELS = {
24
- debug: 0,
25
- info: 1,
26
- warn: 2,
27
- error: 3,
28
- critical: 4,
29
- } as const;
30
-
31
- /**
32
- * Tipo de nivel de log derivado de las claves de LOG_LEVELS
33
- * @typedef {'debug' | 'info' | 'warn' | 'error' | 'critical'} LogLevel
34
- */
35
- export type LogLevel = keyof typeof LOG_LEVELS;
36
-
37
- /**
38
- * Tipo de nivel de verbosidad para filtrar logs
39
- * @typedef {LogLevel | 'silent'} Verbosity
40
- * @description 'silent' desactiva completamente todos los logs
41
- */
42
- export type Verbosity = LogLevel | 'silent';
43
-
44
- /**
45
- * Variantes de tema para diferentes estilos visuales
46
- * @typedef {'default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk'} ThemeVariant
47
- *
48
- * @description
49
- * - default: Tema adaptativo automático (claro/oscuro)
50
- * - dark: Tema oscuro con colores vibrantes
51
- * - light: Tema claro con colores suaves
52
- * - neon: Colores neón brillantes con efectos de resplandor
53
- * - minimal: Diseño minimalista y limpio
54
- * - cyberpunk: Estilo futurista con neón y efectos
55
- */
56
- export type ThemeVariant = 'default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk';
57
-
58
- /**
59
- * Detección de tema de DevTools del navegador
60
- * @typedef {'light' | 'dark'} DevToolsTheme
61
- */
62
- export type DevToolsTheme = 'light' | 'dark';
63
-
64
- /**
65
- * Tipos de banner para diferentes enfoques visuales
66
- * @typedef {'simple' | 'ascii' | 'unicode' | 'svg' | 'animated'} BannerType
67
- *
68
- * @description
69
- * - simple: Texto simple sin decoración
70
- * - ascii: Arte ASCII tradicional
71
- * - unicode: Caracteres Unicode decorativos
72
- * - svg: Gráfico SVG embebido
73
- * - animated: Banner con animación CSS
74
- */
75
- export type BannerType = 'simple' | 'ascii' | 'unicode' | 'svg' | 'animated';
76
-
77
- /**
78
- * Formatos de exportación para datos de log
79
- * @typedef {'json' | 'csv' | 'markdown' | 'plain' | 'html'} ExportFormat
80
- *
81
- * @description
82
- * - json: Formato JSON estructurado
83
- * - csv: Valores separados por comas para Excel/Sheets
84
- * - markdown: Formato Markdown para documentación
85
- * - plain: Texto plano sin formato
86
- * - html: HTML con estilos para visualización web
87
- */
88
- export type ExportFormat = 'json' | 'csv' | 'markdown' | 'plain' | 'html';
89
-
90
- /**
91
- * Formatos de salida para diferentes entornos
92
- * @typedef {'auto' | 'plain' | 'ansi' | 'build' | 'ci'} OutputFormat
93
- *
94
- * @description
95
- * - auto: Detección automática basada en entorno (recomendado)
96
- * - plain: Texto plano sin colores (máxima compatibilidad)
97
- * - ansi: Colores ANSI para terminales modernos
98
- * - build: Formato optimizado para builds (Next.js, webpack, etc.)
99
- * - ci: Formato optimizado para CI/CD (sin emojis, texto simple)
100
- */
101
- export type OutputFormat = 'auto' | 'plain' | 'ansi' | 'build' | 'ci';
102
-
103
- /**
104
- * Output modes for controlling where logs are written
105
- * @typedef {'console' | 'silent' | 'custom'} OutputMode
106
- *
107
- * @description
108
- * - console: Standard console.log output (default)
109
- * - silent: No output at all
110
- * - custom: Use custom OutputWriter for advanced scenarios
111
- */
112
- export type OutputMode = 'console' | 'silent' | 'custom';
113
-
114
- /**
115
- * Custom output writer interface for redirecting log output
116
- *
117
- * @interface OutputWriter
118
- * @since 4.0.0
119
- *
120
- * @description
121
- * Allows redirecting log output to custom destinations like:
122
- * - DraftLog for CLI spinners with concurrent logging
123
- * - Buffers for collecting logs during operations
124
- * - Custom streams or transports
125
- *
126
- * @example
127
- * class BufferWriter implements OutputWriter {
128
- * private buffer: string[] = [];
129
- *
130
- * write(message: string, level: LogLevel, styles: string[]): void {
131
- * this.buffer.push(message);
132
- * }
133
- *
134
- * flush(): void {
135
- * this.buffer.forEach(msg => console.log(msg));
136
- * this.buffer = [];
137
- * }
138
- * }
139
- */
140
- export interface OutputWriter {
141
- write(message: string, level: LogLevel, styles: string[]): void;
142
- flush?(): void;
143
- }
144
-
145
- /**
146
- * Interfaz de configuración para instancias del logger
147
- *
148
- * @interface LoggerConfig
149
- * @since 0.3.0
150
- *
151
- * @example
152
- * const config: LoggerConfig = {
153
- * globalPrefix: 'MiApp',
154
- * verbosity: 'info',
155
- * enableColors: true,
156
- * enableTimestamps: true,
157
- * enableStackTrace: false,
158
- * theme: 'cyberpunk',
159
- * bannerType: 'animated',
160
- * bufferSize: 500,
161
- * autoDetectTheme: true
162
- * };
163
- */
164
- export interface LoggerConfig {
165
- globalPrefix?: string;
166
- verbosity: Verbosity;
167
- enableColors: boolean;
168
- enableTimestamps: boolean;
169
- enableStackTrace: boolean;
170
- theme?: ThemeVariant;
171
- bannerType?: BannerType;
172
- bufferSize?: number;
173
- autoDetectTheme?: boolean;
174
- outputFormat?: OutputFormat;
175
- /** Output mode: 'console' (default), 'silent', or 'custom' @since 4.0.0 */
176
- outputMode?: OutputMode;
177
- /** Custom writer when outputMode is 'custom' @since 4.0.0 */
178
- outputWriter?: OutputWriter;
179
- /** CLI verbosity level for controlling primitive output @since 5.0.0 */
180
- cliLevel?: CLILogLevel;
181
- }
182
-
183
- /**
184
- * Información parseada del stack trace
185
- *
186
- * @interface StackInfo
187
- * @description Contiene la ubicación exacta donde se originó el log
188
- */
189
- export interface StackInfo {
190
- file: string;
191
- line: number;
192
- column: number;
193
- function?: string;
194
- }
195
-
196
- /**
197
- * Entrada de temporizador para medición de rendimiento
198
- *
199
- * @interface TimerEntry
200
- * @description Usado internamente para rastrear temporizadores activos
201
- */
202
- export interface TimerEntry {
203
- label: string;
204
- startTime: number;
205
- }
206
-
207
- /**
208
- * Opciones para estilizar componentes
209
- *
210
- * @interface StyleOptions
211
- * @description Configuración de dimensiones y espaciado para elementos visuales
212
- */
213
- export interface StyleOptions {
214
- width?: number;
215
- height?: number;
216
- padding?: string;
217
- }
218
-
219
- /**
220
- * Configuración de colores adaptativos para temas claro/oscuro
221
- *
222
- * @interface AdaptiveColors
223
- * @description Define colores que se ajustan automáticamente al tema del navegador
224
- */
225
- export interface AdaptiveColors {
226
- light: string;
227
- dark: string;
228
- }
229
-
230
- /**
231
- * Configuración de espaciado para elementos del log
232
- * @typedef {'compact' | 'normal' | 'spacious'} SpacingType
233
- *
234
- * @description
235
- * - compact: Espaciado mínimo para más densidad
236
- * - normal: Espaciado estándar balanceado
237
- * - spacious: Espaciado amplio para mejor legibilidad
238
- */
239
- export type SpacingType = 'compact' | 'normal' | 'spacious';
240
-
241
- /**
242
- * Configuración de layout para la estructura del log
243
- *
244
- * @interface LogLayout
245
- * @description Define cómo se organizan visualmente los elementos del log
246
- */
247
- export interface LogLayout {
248
- spacing: SpacingType;
249
- innerPadding?: string;
250
- outerMargin?: string;
251
- separator?: string;
252
- }
253
-
254
- /**
255
- * Configuración para partes individuales del log
256
- *
257
- * @interface LogPartConfig
258
- * @description Permite personalizar cada elemento del log por separado
259
- *
260
- * @example
261
- * const timestampConfig: LogPartConfig = {
262
- * show: true,
263
- * color: '#888',
264
- * font: 'Monaco',
265
- * size: '11px'
266
- * };
267
- */
268
- export interface LogPartConfig {
269
- show?: boolean;
270
- style?: string;
271
- font?: string;
272
- size?: string;
273
- color?: string; // Automatically adaptive by default
274
- background?: string;
275
- padding?: string;
276
- margin?: string;
277
- border?: string;
278
- shadow?: string;
279
- uppercase?: boolean;
280
- }
281
-
282
- /**
283
- * Configuración completa de estilos del log
284
- *
285
- * @interface LogStyles
286
- * @description Agrupa todas las opciones de estilo en una sola configuración
287
- * @since 0.3.0
288
- */
289
- export interface LogStyles {
290
- layout?: LogLayout;
291
- timestamp?: LogPartConfig;
292
- level?: LogPartConfig;
293
- prefix?: LogPartConfig;
294
- message?: LogPartConfig;
295
- location?: LogPartConfig;
296
- backdrop?: string;
297
- transparency?: number;
298
- }
299
-
300
- export interface TimerResult {
301
- label: string;
302
- duration: number;
303
- startTime: number;
304
- endTime: number;
305
- }
306
-
307
- export interface IScopedLogger {
308
- debug(...args: any[]): void;
309
- info(...args: any[]): void;
310
- warn(...args: any[]): void;
311
- error(...args: any[]): void;
312
- success(...args: any[]): void;
313
- critical(...args: any[]): void;
314
- trace(...args: any[]): void;
315
-
316
- badges(badges: string[]): this;
317
- badge(badge: string): this;
318
- clearBadges(): this;
319
-
320
- time(label: string): void;
321
- timeEnd(label: string): number | undefined;
322
-
323
- style(presetName: string): this;
324
- }
325
-
326
- export interface IAPILogger extends IScopedLogger {
327
- slow(message: string, duration?: number): void;
328
- rateLimit(message: string): void;
329
- auth(message: string): void;
330
- deprecated(message: string): void;
331
- }
332
-
333
- export interface IComponentLogger extends IScopedLogger {
334
- lifecycle(event: string, message?: string): void;
335
- stateChange(from: string, to: string, data?: any): void;
336
- propsChange(changes: Record<string, any>): void;
337
- }
338
-
339
- export interface Bindings {
340
- scope?: string;
341
- badges?: string[];
342
- type?: 'scope' | 'api' | 'component';
343
- context?: string[];
344
- }
345
-
346
- export type BadgeStyle = 'brackets' | 'rounded' | 'plain' | 'unicode' | 'pill';
347
-
348
- export type TimestampFormat = 'iso' | 'time' | 'timeMs' | 'relative' | 'elapsed' | 'date' | 'custom';
349
-
350
- export type ColumnAlign = 'left' | 'right' | 'center';
351
-
352
- export interface ColumnConfig {
353
- content: string;
354
- width?: number;
355
- align?: ColumnAlign;
356
- color?: string;
357
- }
358
-
359
- export interface LogOptions {
360
- rightAlign?: string;
361
- columns?: ColumnConfig[];
362
- maxWidth?: number;
363
- keyValue?: boolean;
364
- badgeStyle?: BadgeStyle;
365
- timestampFormat?: TimestampFormat;
366
- }
367
-
368
- // ===== CLI PRIMITIVES (v5.0) =====
369
-
370
- /**
371
- * CLI verbosity levels for controlling primitive output
372
- * @since 5.0.0
373
- */
374
- export type CLILogLevel = 'silent' | 'quiet' | 'normal' | 'verbose' | 'debug';
375
-
376
- /**
377
- * Handle returned by logger.spinner() for controlling spinner lifecycle
378
- * @since 5.0.0
379
- */
380
- export interface ISpinnerHandle {
381
- /** Start the spinner animation */
382
- start(): void;
383
- /** Stop the spinner without a status message */
384
- stop(): void;
385
- /** Stop the spinner with a success message */
386
- succeed(msg?: string): void;
387
- /** Stop the spinner with a failure message */
388
- fail(msg?: string): void;
389
- /** Update the spinner text while running */
390
- text(msg: string): void;
391
- }
392
-
393
- /**
394
- * Options for logger.box() output
395
- * @since 5.0.0
396
- */
397
- export interface IBoxOptions {
398
- /** Title displayed in the top border */
399
- title?: string;
400
- /** Color of the border (hex, CSS name, or ANSI name) */
401
- borderColor?: string;
402
- /** Border character style */
403
- borderStyle?: 'single' | 'double' | 'rounded' | 'bold';
404
- /** Inner padding lines (default: 0) */
405
- padding?: number;
406
- }
407
-
408
- /**
409
- * Options for logger.cliTable() output
410
- * @since 5.0.0
411
- */
412
- export interface ITableOptions {
413
- /** Column names to display (overrides auto-detection) */
414
- columns?: string[];
415
- /** Header labels (defaults to column names) */
416
- head?: string[];
417
- }
@@ -1,95 +0,0 @@
1
- /**
2
- * @fileoverview Handler and metadata type definitions for Advanced Logger
3
- */
4
-
5
- import type { LogLevel, StackInfo } from './core.js';
6
-
7
- /**
8
- * Metadata associated with each log entry
9
- */
10
- export interface LogMetadata {
11
- timestamp: string;
12
- level: LogLevel;
13
- prefix?: string;
14
- stackInfo?: StackInfo;
15
- group?: string;
16
- }
17
-
18
- /**
19
- * Interface for custom log handlers (extensibility)
20
- */
21
- export interface ILogHandler {
22
- handle(level: LogLevel, message: string, args: any[], metadata: LogMetadata): void;
23
- }
24
-
25
- /**
26
- * Stored log entry for export functionality
27
- */
28
- export interface LogEntry {
29
- id: string;
30
- timestamp: string;
31
- level: LogLevel;
32
- prefix?: string;
33
- message: string;
34
- args: any[];
35
- location?: StackInfo;
36
- groupInfo?: {
37
- depth: number;
38
- groupName?: string;
39
- };
40
- }
41
-
42
- /**
43
- * Export filter options
44
- */
45
- export interface ExportFilters {
46
- levels?: LogLevel[];
47
- since?: Date | string | number; // Date, ISO string, or hours ago
48
- until?: Date | string | number;
49
- prefixes?: string[];
50
- excludePrefixes?: string[];
51
- withStackTrace?: boolean;
52
- errorsOnly?: boolean;
53
- last?: number;
54
- first?: number;
55
- search?: string;
56
- groupBy?: 'level' | 'prefix' | 'hour' | 'date';
57
- }
58
-
59
- /**
60
- * Export options for different formats
61
- */
62
- export interface ExportOptions {
63
- minimal?: boolean;
64
- compact?: boolean;
65
- styled?: boolean;
66
- includeMetadata?: boolean;
67
- groupBy?: ExportFilters['groupBy'];
68
- }
69
-
70
- /**
71
- * Export result with metadata
72
- */
73
- export interface ExportResult {
74
- format: string;
75
- data: string;
76
- metadata: {
77
- totalLogs: number;
78
- filteredLogs: number;
79
- exportedAt: string;
80
- filters?: ExportFilters;
81
- options?: ExportOptions;
82
- };
83
- }
84
-
85
- /**
86
- * Buffer statistics for log management
87
- */
88
- export interface BufferStats {
89
- size: number;
90
- maxSize: number;
91
- usage: number; // percentage
92
- oldestLog?: Date;
93
- newestLog?: Date;
94
- levelCounts: Record<LogLevel, number>;
95
- }
@@ -1,45 +0,0 @@
1
- import type { LogLevel, StackInfo } from './core.js';
2
-
3
- export interface HookLogEntry {
4
- level: LogLevel;
5
- message: string;
6
- args: any[];
7
- timestamp: string;
8
- prefix?: string;
9
- stackInfo?: StackInfo;
10
- correlationId?: string;
11
- context?: Record<string, any>;
12
- [key: string]: any;
13
- }
14
-
15
- export type HookEvent = 'beforeLog' | 'afterLog' | 'onError';
16
-
17
- export type HookCallback = (entry: HookLogEntry) => void | HookLogEntry | Promise<void | HookLogEntry>;
18
-
19
- export type MiddlewareFn = (
20
- entry: HookLogEntry,
21
- next: () => void | Promise<void>
22
- ) => void | Promise<void>;
23
-
24
- export interface HookRegistration {
25
- id: string;
26
- event: HookEvent;
27
- callback: HookCallback;
28
- priority: number;
29
- once: boolean;
30
- }
31
-
32
- export interface MiddlewareRegistration {
33
- id: string;
34
- fn: MiddlewareFn;
35
- priority: number;
36
- }
37
-
38
- export interface IHookManager {
39
- on(event: HookEvent, callback: HookCallback, priority?: number): () => void;
40
- once(event: HookEvent, callback: HookCallback, priority?: number): () => void;
41
- off(event: HookEvent, callback: HookCallback): boolean;
42
- use(middleware: MiddlewareFn, priority?: number): () => void;
43
- emit(event: HookEvent, entry: HookLogEntry): Promise<HookLogEntry>;
44
- process(entry: HookLogEntry): Promise<HookLogEntry>;
45
- }
@@ -1,83 +0,0 @@
1
- /**
2
- * @fileoverview Type definitions exports for Advanced Logger
3
- */
4
-
5
- // Core types
6
- export type {
7
- LogLevel,
8
- Verbosity,
9
- ThemeVariant,
10
- DevToolsTheme,
11
- BannerType,
12
- ExportFormat,
13
- OutputFormat,
14
- LoggerConfig,
15
- StackInfo,
16
- TimerEntry,
17
- TimerResult,
18
- StyleOptions,
19
- AdaptiveColors,
20
- SpacingType,
21
- LogLayout,
22
- LogPartConfig,
23
- LogStyles,
24
- IScopedLogger,
25
- IAPILogger,
26
- IComponentLogger,
27
- Bindings,
28
- BadgeStyle,
29
- TimestampFormat,
30
- ColumnAlign,
31
- ColumnConfig,
32
- LogOptions,
33
- CLILogLevel,
34
- ISpinnerHandle,
35
- IBoxOptions,
36
- ITableOptions,
37
- } from './core.js';
38
-
39
- export { LOG_LEVELS } from './core.js';
40
-
41
- // Handler types
42
- export type {
43
- LogMetadata,
44
- ILogHandler,
45
- LogEntry,
46
- ExportFilters,
47
- ExportOptions,
48
- ExportResult,
49
- BufferStats,
50
- } from './handlers.js';
51
-
52
- // Serializer types
53
- export type {
54
- SerializerFn,
55
- SerializerContext,
56
- SerializerEntry,
57
- SerializerConfig,
58
- ISerializerRegistry,
59
- } from './serializers.js';
60
-
61
- // Hook types
62
- export type {
63
- HookLogEntry,
64
- HookEvent,
65
- HookCallback,
66
- MiddlewareFn,
67
- HookRegistration,
68
- MiddlewareRegistration,
69
- IHookManager,
70
- } from './hooks.js';
71
-
72
- // Transport types
73
- export type {
74
- TransportRecord,
75
- TransportOptions,
76
- TransportTarget,
77
- ITransport,
78
- IBufferedTransport,
79
- ITransportManager,
80
- } from './transports.js';
81
-
82
- // Style Cache types
83
- export type { StyleCacheConfig } from '../styling/StyleCache.js';
@@ -1,30 +0,0 @@
1
- import type { LogLevel } from './core.js';
2
-
3
- export type SerializerFn<T = any> = (value: T, context: SerializerContext) => any;
4
-
5
- export interface SerializerContext {
6
- depth: number;
7
- maxDepth: number;
8
- path: string[];
9
- seen: WeakSet<object>;
10
- }
11
-
12
- export interface SerializerEntry<T = any> {
13
- type: new (...args: any[]) => T;
14
- serializer: SerializerFn<T>;
15
- priority: number;
16
- }
17
-
18
- export interface SerializerConfig {
19
- maxDepth?: number;
20
- circular?: 'error' | 'skip' | 'placeholder';
21
- preserveUndefined?: boolean;
22
- }
23
-
24
- export interface ISerializerRegistry {
25
- add<T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number): void;
26
- remove<T>(type: new (...args: any[]) => T): boolean;
27
- has<T>(type: new (...args: any[]) => T): boolean;
28
- serialize(value: any, config?: SerializerConfig): any;
29
- getAll(): SerializerEntry[];
30
- }