@nahisaho/musubix-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/bin/musubix.js +18 -0
  2. package/dist/__tests__/index.test.d.ts +2 -0
  3. package/dist/__tests__/index.test.d.ts.map +1 -0
  4. package/dist/__tests__/index.test.js +27 -0
  5. package/dist/__tests__/index.test.js.map +1 -0
  6. package/dist/auth/auth-manager.d.ts +320 -0
  7. package/dist/auth/auth-manager.d.ts.map +1 -0
  8. package/dist/auth/auth-manager.js +580 -0
  9. package/dist/auth/auth-manager.js.map +1 -0
  10. package/dist/cli/base.d.ts +58 -0
  11. package/dist/cli/base.d.ts.map +1 -0
  12. package/dist/cli/base.js +93 -0
  13. package/dist/cli/base.js.map +1 -0
  14. package/dist/cli/commands/help.d.ts +17 -0
  15. package/dist/cli/commands/help.d.ts.map +1 -0
  16. package/dist/cli/commands/help.js +228 -0
  17. package/dist/cli/commands/help.js.map +1 -0
  18. package/dist/cli/commands/index.d.ts +14 -0
  19. package/dist/cli/commands/index.d.ts.map +1 -0
  20. package/dist/cli/commands/index.js +25 -0
  21. package/dist/cli/commands/index.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts +38 -0
  23. package/dist/cli/commands/init.d.ts.map +1 -0
  24. package/dist/cli/commands/init.js +258 -0
  25. package/dist/cli/commands/init.js.map +1 -0
  26. package/dist/cli/index.d.ts +9 -0
  27. package/dist/cli/index.d.ts.map +1 -0
  28. package/dist/cli/index.js +9 -0
  29. package/dist/cli/index.js.map +1 -0
  30. package/dist/codegen/coding-standards.d.ts +250 -0
  31. package/dist/codegen/coding-standards.d.ts.map +1 -0
  32. package/dist/codegen/coding-standards.js +976 -0
  33. package/dist/codegen/coding-standards.js.map +1 -0
  34. package/dist/codegen/coverage-reporter.d.ts +264 -0
  35. package/dist/codegen/coverage-reporter.d.ts.map +1 -0
  36. package/dist/codegen/coverage-reporter.js +697 -0
  37. package/dist/codegen/coverage-reporter.js.map +1 -0
  38. package/dist/codegen/dependency-analyzer.d.ts +271 -0
  39. package/dist/codegen/dependency-analyzer.d.ts.map +1 -0
  40. package/dist/codegen/dependency-analyzer.js +661 -0
  41. package/dist/codegen/dependency-analyzer.js.map +1 -0
  42. package/dist/codegen/generator.d.ts +275 -0
  43. package/dist/codegen/generator.d.ts.map +1 -0
  44. package/dist/codegen/generator.js +781 -0
  45. package/dist/codegen/generator.js.map +1 -0
  46. package/dist/codegen/index.d.ts +18 -0
  47. package/dist/codegen/index.d.ts.map +1 -0
  48. package/dist/codegen/index.js +27 -0
  49. package/dist/codegen/index.js.map +1 -0
  50. package/dist/codegen/integration-test-generator.d.ts +312 -0
  51. package/dist/codegen/integration-test-generator.d.ts.map +1 -0
  52. package/dist/codegen/integration-test-generator.js +765 -0
  53. package/dist/codegen/integration-test-generator.js.map +1 -0
  54. package/dist/codegen/pattern-conformance.d.ts +309 -0
  55. package/dist/codegen/pattern-conformance.d.ts.map +1 -0
  56. package/dist/codegen/pattern-conformance.js +590 -0
  57. package/dist/codegen/pattern-conformance.js.map +1 -0
  58. package/dist/codegen/quality-metrics.d.ts +235 -0
  59. package/dist/codegen/quality-metrics.d.ts.map +1 -0
  60. package/dist/codegen/quality-metrics.js +439 -0
  61. package/dist/codegen/quality-metrics.js.map +1 -0
  62. package/dist/codegen/security-scanner.d.ts +179 -0
  63. package/dist/codegen/security-scanner.d.ts.map +1 -0
  64. package/dist/codegen/security-scanner.js +495 -0
  65. package/dist/codegen/security-scanner.js.map +1 -0
  66. package/dist/codegen/static-analyzer.d.ts +188 -0
  67. package/dist/codegen/static-analyzer.d.ts.map +1 -0
  68. package/dist/codegen/static-analyzer.js +490 -0
  69. package/dist/codegen/static-analyzer.js.map +1 -0
  70. package/dist/codegen/unit-test-generator.d.ts +289 -0
  71. package/dist/codegen/unit-test-generator.d.ts.map +1 -0
  72. package/dist/codegen/unit-test-generator.js +634 -0
  73. package/dist/codegen/unit-test-generator.js.map +1 -0
  74. package/dist/design/adr-generator.d.ts +227 -0
  75. package/dist/design/adr-generator.d.ts.map +1 -0
  76. package/dist/design/adr-generator.js +423 -0
  77. package/dist/design/adr-generator.js.map +1 -0
  78. package/dist/design/c4-generator.d.ts +267 -0
  79. package/dist/design/c4-generator.d.ts.map +1 -0
  80. package/dist/design/c4-generator.js +453 -0
  81. package/dist/design/c4-generator.js.map +1 -0
  82. package/dist/design/framework-optimizer.d.ts +190 -0
  83. package/dist/design/framework-optimizer.d.ts.map +1 -0
  84. package/dist/design/framework-optimizer.js +589 -0
  85. package/dist/design/framework-optimizer.js.map +1 -0
  86. package/dist/design/index.d.ts +12 -0
  87. package/dist/design/index.d.ts.map +1 -0
  88. package/dist/design/index.js +13 -0
  89. package/dist/design/index.js.map +1 -0
  90. package/dist/design/pattern-detector.d.ts +270 -0
  91. package/dist/design/pattern-detector.d.ts.map +1 -0
  92. package/dist/design/pattern-detector.js +621 -0
  93. package/dist/design/pattern-detector.js.map +1 -0
  94. package/dist/design/solid-validator.d.ts +188 -0
  95. package/dist/design/solid-validator.d.ts.map +1 -0
  96. package/dist/design/solid-validator.js +579 -0
  97. package/dist/design/solid-validator.js.map +1 -0
  98. package/dist/error/data-persistence.d.ts +311 -0
  99. package/dist/error/data-persistence.d.ts.map +1 -0
  100. package/dist/error/data-persistence.js +586 -0
  101. package/dist/error/data-persistence.js.map +1 -0
  102. package/dist/error/graceful-degradation.d.ts +309 -0
  103. package/dist/error/graceful-degradation.d.ts.map +1 -0
  104. package/dist/error/graceful-degradation.js +510 -0
  105. package/dist/error/graceful-degradation.js.map +1 -0
  106. package/dist/error/index.d.ts +11 -0
  107. package/dist/error/index.d.ts.map +1 -0
  108. package/dist/error/index.js +19 -0
  109. package/dist/error/index.js.map +1 -0
  110. package/dist/explanation/explanation-generator.d.ts +228 -0
  111. package/dist/explanation/explanation-generator.d.ts.map +1 -0
  112. package/dist/explanation/explanation-generator.js +662 -0
  113. package/dist/explanation/explanation-generator.js.map +1 -0
  114. package/dist/explanation/index.d.ts +11 -0
  115. package/dist/explanation/index.d.ts.map +1 -0
  116. package/dist/explanation/index.js +19 -0
  117. package/dist/explanation/index.js.map +1 -0
  118. package/dist/explanation/reasoning-chain.d.ts +314 -0
  119. package/dist/explanation/reasoning-chain.d.ts.map +1 -0
  120. package/dist/explanation/reasoning-chain.js +414 -0
  121. package/dist/explanation/reasoning-chain.js.map +1 -0
  122. package/dist/explanation/visual-explanation.d.ts +315 -0
  123. package/dist/explanation/visual-explanation.d.ts.map +1 -0
  124. package/dist/explanation/visual-explanation.js +667 -0
  125. package/dist/explanation/visual-explanation.js.map +1 -0
  126. package/dist/index.d.ts +33 -0
  127. package/dist/index.d.ts.map +1 -0
  128. package/dist/index.js +47 -0
  129. package/dist/index.js.map +1 -0
  130. package/dist/requirements/decomposer.d.ts +235 -0
  131. package/dist/requirements/decomposer.d.ts.map +1 -0
  132. package/dist/requirements/decomposer.js +587 -0
  133. package/dist/requirements/decomposer.js.map +1 -0
  134. package/dist/requirements/related-finder.d.ts +261 -0
  135. package/dist/requirements/related-finder.d.ts.map +1 -0
  136. package/dist/requirements/related-finder.js +629 -0
  137. package/dist/requirements/related-finder.js.map +1 -0
  138. package/dist/traceability/impact.d.ts +196 -0
  139. package/dist/traceability/impact.d.ts.map +1 -0
  140. package/dist/traceability/impact.js +438 -0
  141. package/dist/traceability/impact.js.map +1 -0
  142. package/dist/traceability/index.d.ts +9 -0
  143. package/dist/traceability/index.d.ts.map +1 -0
  144. package/dist/traceability/index.js +10 -0
  145. package/dist/traceability/index.js.map +1 -0
  146. package/dist/traceability/manager.d.ts +266 -0
  147. package/dist/traceability/manager.d.ts.map +1 -0
  148. package/dist/traceability/manager.js +412 -0
  149. package/dist/traceability/manager.js.map +1 -0
  150. package/dist/types/common.d.ts +294 -0
  151. package/dist/types/common.d.ts.map +1 -0
  152. package/dist/types/common.js +15 -0
  153. package/dist/types/common.js.map +1 -0
  154. package/dist/types/ears.d.ts +158 -0
  155. package/dist/types/ears.d.ts.map +1 -0
  156. package/dist/types/ears.js +33 -0
  157. package/dist/types/ears.js.map +1 -0
  158. package/dist/types/errors.d.ts +176 -0
  159. package/dist/types/errors.d.ts.map +1 -0
  160. package/dist/types/errors.js +55 -0
  161. package/dist/types/errors.js.map +1 -0
  162. package/dist/types/index.d.ts +10 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/index.js +10 -0
  165. package/dist/types/index.js.map +1 -0
  166. package/dist/utils/data-protector.d.ts +122 -0
  167. package/dist/utils/data-protector.d.ts.map +1 -0
  168. package/dist/utils/data-protector.js +275 -0
  169. package/dist/utils/data-protector.js.map +1 -0
  170. package/dist/utils/error-handler.d.ts +101 -0
  171. package/dist/utils/error-handler.d.ts.map +1 -0
  172. package/dist/utils/error-handler.js +324 -0
  173. package/dist/utils/error-handler.js.map +1 -0
  174. package/dist/utils/i18n-manager.d.ts +259 -0
  175. package/dist/utils/i18n-manager.d.ts.map +1 -0
  176. package/dist/utils/i18n-manager.js +554 -0
  177. package/dist/utils/i18n-manager.js.map +1 -0
  178. package/dist/utils/index.d.ts +10 -0
  179. package/dist/utils/index.d.ts.map +1 -0
  180. package/dist/utils/index.js +10 -0
  181. package/dist/utils/index.js.map +1 -0
  182. package/dist/utils/logger.d.ts +120 -0
  183. package/dist/utils/logger.d.ts.map +1 -0
  184. package/dist/utils/logger.js +237 -0
  185. package/dist/utils/logger.js.map +1 -0
  186. package/dist/utils/performance-profiler.d.ts +251 -0
  187. package/dist/utils/performance-profiler.d.ts.map +1 -0
  188. package/dist/utils/performance-profiler.js +458 -0
  189. package/dist/utils/performance-profiler.js.map +1 -0
  190. package/dist/utils/scalability-optimizer.d.ts +294 -0
  191. package/dist/utils/scalability-optimizer.d.ts.map +1 -0
  192. package/dist/utils/scalability-optimizer.js +606 -0
  193. package/dist/utils/scalability-optimizer.js.map +1 -0
  194. package/dist/utils/structured-logger.d.ts +294 -0
  195. package/dist/utils/structured-logger.d.ts.map +1 -0
  196. package/dist/utils/structured-logger.js +630 -0
  197. package/dist/utils/structured-logger.js.map +1 -0
  198. package/dist/utils/version-compatibility.d.ts +217 -0
  199. package/dist/utils/version-compatibility.d.ts.map +1 -0
  200. package/dist/utils/version-compatibility.js +443 -0
  201. package/dist/utils/version-compatibility.js.map +1 -0
  202. package/dist/validators/ears-validator.d.ts +182 -0
  203. package/dist/validators/ears-validator.d.ts.map +1 -0
  204. package/dist/validators/ears-validator.js +357 -0
  205. package/dist/validators/ears-validator.js.map +1 -0
  206. package/dist/validators/index.d.ts +8 -0
  207. package/dist/validators/index.d.ts.map +1 -0
  208. package/dist/validators/index.js +9 -0
  209. package/dist/validators/index.js.map +1 -0
  210. package/dist/version.d.ts +8 -0
  211. package/dist/version.d.ts.map +1 -0
  212. package/dist/version.js +8 -0
  213. package/dist/version.js.map +1 -0
  214. package/package.json +100 -0
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Logger Utility
3
+ *
4
+ * Provides structured logging with levels, formatting, and output options
5
+ *
6
+ * @packageDocumentation
7
+ * @module utils/logger
8
+ *
9
+ * @see REQ-MNT-001 - Logger
10
+ * @see DES-MUSUBIX-001 Section 16.1 - Logger Design
11
+ */
12
+ /**
13
+ * Log levels
14
+ */
15
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
16
+ /**
17
+ * Log entry structure
18
+ */
19
+ export interface LogEntry {
20
+ timestamp: string;
21
+ level: LogLevel;
22
+ message: string;
23
+ context?: string;
24
+ data?: Record<string, unknown>;
25
+ error?: {
26
+ name: string;
27
+ message: string;
28
+ stack?: string;
29
+ };
30
+ }
31
+ /**
32
+ * Logger configuration
33
+ */
34
+ export interface LoggerConfig {
35
+ /** Minimum log level */
36
+ level: LogLevel;
37
+ /** Enable console output */
38
+ console: boolean;
39
+ /** Enable file output */
40
+ file: boolean;
41
+ /** Log file path */
42
+ filePath?: string;
43
+ /** Enable JSON format */
44
+ json: boolean;
45
+ /** Enable colors in console */
46
+ colors: boolean;
47
+ /** Include timestamps */
48
+ timestamps: boolean;
49
+ /** Context prefix */
50
+ context?: string;
51
+ }
52
+ /**
53
+ * Logger class
54
+ */
55
+ export declare class Logger {
56
+ private config;
57
+ private context;
58
+ constructor(context?: string, config?: Partial<LoggerConfig>);
59
+ /**
60
+ * Create a child logger with additional context
61
+ */
62
+ child(context: string): Logger;
63
+ /**
64
+ * Update configuration
65
+ */
66
+ configure(config: Partial<LoggerConfig>): void;
67
+ /**
68
+ * Log debug message
69
+ */
70
+ debug(message: string, data?: Record<string, unknown>): void;
71
+ /**
72
+ * Log info message
73
+ */
74
+ info(message: string, data?: Record<string, unknown>): void;
75
+ /**
76
+ * Log warning message
77
+ */
78
+ warn(message: string, data?: Record<string, unknown>): void;
79
+ /**
80
+ * Log error message
81
+ */
82
+ error(message: string, error?: Error, data?: Record<string, unknown>): void;
83
+ /**
84
+ * Log fatal message
85
+ */
86
+ fatal(message: string, error?: Error, data?: Record<string, unknown>): void;
87
+ /**
88
+ * Log with timing
89
+ */
90
+ time(label: string): () => void;
91
+ /**
92
+ * Core logging method
93
+ */
94
+ private log;
95
+ /**
96
+ * Write to console
97
+ */
98
+ private writeConsole;
99
+ /**
100
+ * Write to file
101
+ */
102
+ private writeFile;
103
+ /**
104
+ * Format entry as JSON
105
+ */
106
+ private formatJson;
107
+ /**
108
+ * Format entry as text
109
+ */
110
+ private formatText;
111
+ }
112
+ /**
113
+ * Global logger instance
114
+ */
115
+ export declare const logger: Logger;
116
+ /**
117
+ * Create a new logger with context
118
+ */
119
+ export declare function createLogger(context: string, config?: Partial<LoggerConfig>): Logger;
120
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAarE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4BD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAQ5D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK9B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAI9C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3E;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3E;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI;IAQ/B;;OAEG;IACH,OAAO,CAAC,GAAG;IAqCX;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;YACW,SAAS;IAevB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,UAAU;CA4CnB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAEpF"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Logger Utility
3
+ *
4
+ * Provides structured logging with levels, formatting, and output options
5
+ *
6
+ * @packageDocumentation
7
+ * @module utils/logger
8
+ *
9
+ * @see REQ-MNT-001 - Logger
10
+ * @see DES-MUSUBIX-001 Section 16.1 - Logger Design
11
+ */
12
+ import { appendFile, mkdir } from 'fs/promises';
13
+ import { dirname } from 'path';
14
+ /**
15
+ * Log level priority (lower = more verbose)
16
+ */
17
+ const LOG_LEVEL_PRIORITY = {
18
+ debug: 0,
19
+ info: 1,
20
+ warn: 2,
21
+ error: 3,
22
+ fatal: 4,
23
+ };
24
+ /**
25
+ * Default logger configuration
26
+ */
27
+ const DEFAULT_CONFIG = {
28
+ level: 'info',
29
+ console: true,
30
+ file: false,
31
+ json: false,
32
+ colors: true,
33
+ timestamps: true,
34
+ };
35
+ /**
36
+ * ANSI color codes
37
+ */
38
+ const COLORS = {
39
+ reset: '\x1b[0m',
40
+ dim: '\x1b[2m',
41
+ bold: '\x1b[1m',
42
+ debug: '\x1b[36m', // cyan
43
+ info: '\x1b[32m', // green
44
+ warn: '\x1b[33m', // yellow
45
+ error: '\x1b[31m', // red
46
+ fatal: '\x1b[35m', // magenta
47
+ };
48
+ /**
49
+ * Logger class
50
+ */
51
+ export class Logger {
52
+ config;
53
+ context;
54
+ constructor(context, config) {
55
+ this.context = context ?? 'musubix';
56
+ this.config = { ...DEFAULT_CONFIG, ...config };
57
+ if (context) {
58
+ this.config.context = context;
59
+ }
60
+ }
61
+ /**
62
+ * Create a child logger with additional context
63
+ */
64
+ child(context) {
65
+ const childContext = this.context ? `${this.context}:${context}` : context;
66
+ return new Logger(childContext, this.config);
67
+ }
68
+ /**
69
+ * Update configuration
70
+ */
71
+ configure(config) {
72
+ this.config = { ...this.config, ...config };
73
+ }
74
+ /**
75
+ * Log debug message
76
+ */
77
+ debug(message, data) {
78
+ this.log('debug', message, data);
79
+ }
80
+ /**
81
+ * Log info message
82
+ */
83
+ info(message, data) {
84
+ this.log('info', message, data);
85
+ }
86
+ /**
87
+ * Log warning message
88
+ */
89
+ warn(message, data) {
90
+ this.log('warn', message, data);
91
+ }
92
+ /**
93
+ * Log error message
94
+ */
95
+ error(message, error, data) {
96
+ this.log('error', message, data, error);
97
+ }
98
+ /**
99
+ * Log fatal message
100
+ */
101
+ fatal(message, error, data) {
102
+ this.log('fatal', message, data, error);
103
+ }
104
+ /**
105
+ * Log with timing
106
+ */
107
+ time(label) {
108
+ const start = performance.now();
109
+ return () => {
110
+ const duration = performance.now() - start;
111
+ this.debug(`${label} completed`, { durationMs: duration.toFixed(2) });
112
+ };
113
+ }
114
+ /**
115
+ * Core logging method
116
+ */
117
+ log(level, message, data, error) {
118
+ // Check log level
119
+ if (LOG_LEVEL_PRIORITY[level] < LOG_LEVEL_PRIORITY[this.config.level]) {
120
+ return;
121
+ }
122
+ const entry = {
123
+ timestamp: new Date().toISOString(),
124
+ level,
125
+ message,
126
+ context: this.context,
127
+ data,
128
+ error: error ? {
129
+ name: error.name,
130
+ message: error.message,
131
+ stack: error.stack,
132
+ } : undefined,
133
+ };
134
+ // Console output
135
+ if (this.config.console) {
136
+ this.writeConsole(entry);
137
+ }
138
+ // File output
139
+ if (this.config.file && this.config.filePath) {
140
+ this.writeFile(entry).catch(() => {
141
+ // Silently fail file writes
142
+ });
143
+ }
144
+ }
145
+ /**
146
+ * Write to console
147
+ */
148
+ writeConsole(entry) {
149
+ const output = this.config.json
150
+ ? this.formatJson(entry)
151
+ : this.formatText(entry);
152
+ switch (entry.level) {
153
+ case 'error':
154
+ case 'fatal':
155
+ console.error(output);
156
+ break;
157
+ case 'warn':
158
+ console.warn(output);
159
+ break;
160
+ default:
161
+ console.log(output);
162
+ }
163
+ }
164
+ /**
165
+ * Write to file
166
+ */
167
+ async writeFile(entry) {
168
+ if (!this.config.filePath) {
169
+ return;
170
+ }
171
+ const line = this.formatJson(entry) + '\n';
172
+ try {
173
+ await mkdir(dirname(this.config.filePath), { recursive: true });
174
+ await appendFile(this.config.filePath, line);
175
+ }
176
+ catch {
177
+ // Silently fail
178
+ }
179
+ }
180
+ /**
181
+ * Format entry as JSON
182
+ */
183
+ formatJson(entry) {
184
+ return JSON.stringify(entry);
185
+ }
186
+ /**
187
+ * Format entry as text
188
+ */
189
+ formatText(entry) {
190
+ const parts = [];
191
+ // Timestamp
192
+ if (this.config.timestamps) {
193
+ const time = this.config.colors
194
+ ? `${COLORS.dim}${entry.timestamp}${COLORS.reset}`
195
+ : entry.timestamp;
196
+ parts.push(time);
197
+ }
198
+ // Level
199
+ const levelUpper = entry.level.toUpperCase().padEnd(5);
200
+ const level = this.config.colors
201
+ ? `${COLORS[entry.level]}${levelUpper}${COLORS.reset}`
202
+ : levelUpper;
203
+ parts.push(level);
204
+ // Context
205
+ if (entry.context) {
206
+ const ctx = this.config.colors
207
+ ? `${COLORS.dim}[${entry.context}]${COLORS.reset}`
208
+ : `[${entry.context}]`;
209
+ parts.push(ctx);
210
+ }
211
+ // Message
212
+ parts.push(entry.message);
213
+ // Data
214
+ if (entry.data && Object.keys(entry.data).length > 0) {
215
+ parts.push(JSON.stringify(entry.data));
216
+ }
217
+ // Error
218
+ if (entry.error) {
219
+ parts.push(`\n ${entry.error.name}: ${entry.error.message}`);
220
+ if (entry.error.stack) {
221
+ parts.push(`\n${entry.error.stack}`);
222
+ }
223
+ }
224
+ return parts.join(' ');
225
+ }
226
+ }
227
+ /**
228
+ * Global logger instance
229
+ */
230
+ export const logger = new Logger();
231
+ /**
232
+ * Create a new logger with context
233
+ */
234
+ export function createLogger(context, config) {
235
+ return new Logger(context, config);
236
+ }
237
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Performance Profiler
3
+ *
4
+ * Profiles and measures system performance
5
+ *
6
+ * @packageDocumentation
7
+ * @module utils/performance-profiler
8
+ *
9
+ * @see REQ-PER-001 - Performance Monitoring
10
+ * @see Article VI - Decision Transparency
11
+ */
12
+ /**
13
+ * Profile entry type
14
+ */
15
+ export type ProfileEntryType = 'function' | 'api' | 'query' | 'io' | 'custom';
16
+ /**
17
+ * Profile entry
18
+ */
19
+ export interface ProfileEntry {
20
+ /** Entry ID */
21
+ id: string;
22
+ /** Name */
23
+ name: string;
24
+ /** Type */
25
+ type: ProfileEntryType;
26
+ /** Start time */
27
+ startTime: number;
28
+ /** End time */
29
+ endTime?: number;
30
+ /** Duration (ms) */
31
+ duration?: number;
32
+ /** Parent entry ID */
33
+ parentId?: string;
34
+ /** Child entry IDs */
35
+ children: string[];
36
+ /** Metadata */
37
+ metadata?: Record<string, unknown>;
38
+ /** Memory usage */
39
+ memoryUsage?: {
40
+ heapUsed: number;
41
+ heapTotal: number;
42
+ external: number;
43
+ };
44
+ }
45
+ /**
46
+ * Profile statistics
47
+ */
48
+ export interface ProfileStats {
49
+ /** Name */
50
+ name: string;
51
+ /** Call count */
52
+ count: number;
53
+ /** Total duration (ms) */
54
+ totalDuration: number;
55
+ /** Average duration (ms) */
56
+ avgDuration: number;
57
+ /** Min duration (ms) */
58
+ minDuration: number;
59
+ /** Max duration (ms) */
60
+ maxDuration: number;
61
+ /** Standard deviation */
62
+ stdDev: number;
63
+ /** Median */
64
+ median: number;
65
+ /** 95th percentile */
66
+ p95: number;
67
+ /** 99th percentile */
68
+ p99: number;
69
+ }
70
+ /**
71
+ * Memory snapshot
72
+ */
73
+ export interface MemorySnapshot {
74
+ /** Timestamp */
75
+ timestamp: number;
76
+ /** Heap used */
77
+ heapUsed: number;
78
+ /** Heap total */
79
+ heapTotal: number;
80
+ /** External */
81
+ external: number;
82
+ /** Array buffers */
83
+ arrayBuffers: number;
84
+ /** RSS */
85
+ rss: number;
86
+ }
87
+ /**
88
+ * Performance report
89
+ */
90
+ export interface PerformanceReport {
91
+ /** Report ID */
92
+ id: string;
93
+ /** Timestamp */
94
+ timestamp: Date;
95
+ /** Duration (ms) */
96
+ duration: number;
97
+ /** Total entries */
98
+ totalEntries: number;
99
+ /** Entries by type */
100
+ byType: Record<ProfileEntryType, number>;
101
+ /** Top slowest */
102
+ slowest: Array<{
103
+ name: string;
104
+ duration: number;
105
+ }>;
106
+ /** Statistics */
107
+ stats: ProfileStats[];
108
+ /** Memory snapshots */
109
+ memorySnapshots: MemorySnapshot[];
110
+ /** Hotspots */
111
+ hotspots: Array<{
112
+ name: string;
113
+ percentage: number;
114
+ duration: number;
115
+ }>;
116
+ /** Recommendations */
117
+ recommendations: string[];
118
+ }
119
+ /**
120
+ * Profiler config
121
+ */
122
+ export interface ProfilerConfig {
123
+ /** Enabled */
124
+ enabled: boolean;
125
+ /** Sample rate (0-1) */
126
+ sampleRate: number;
127
+ /** Max entries */
128
+ maxEntries: number;
129
+ /** Capture memory */
130
+ captureMemory: boolean;
131
+ /** Memory snapshot interval (ms) */
132
+ memoryInterval: number;
133
+ /** Slow threshold (ms) */
134
+ slowThreshold: number;
135
+ }
136
+ /**
137
+ * Default configuration
138
+ */
139
+ export declare const DEFAULT_PROFILER_CONFIG: ProfilerConfig;
140
+ /**
141
+ * Performance Profiler
142
+ */
143
+ export declare class PerformanceProfiler {
144
+ private config;
145
+ private entries;
146
+ private entryStack;
147
+ private memorySnapshots;
148
+ private memoryTimer?;
149
+ private startTime;
150
+ private entryCounter;
151
+ constructor(config?: Partial<ProfilerConfig>);
152
+ /**
153
+ * Start profiling session
154
+ */
155
+ start(): void;
156
+ /**
157
+ * Stop profiling session
158
+ */
159
+ stop(): PerformanceReport;
160
+ /**
161
+ * Begin profiling an operation
162
+ */
163
+ begin(name: string, type?: ProfileEntryType, metadata?: Record<string, unknown>): string;
164
+ /**
165
+ * End profiling current operation
166
+ */
167
+ end(id?: string): void;
168
+ /**
169
+ * Profile a function
170
+ */
171
+ profile<T>(name: string, fn: () => T, type?: ProfileEntryType): T;
172
+ /**
173
+ * Profile an async function
174
+ */
175
+ profileAsync<T>(name: string, fn: () => Promise<T>, type?: ProfileEntryType): Promise<T>;
176
+ /**
177
+ * Create a timer for measuring duration
178
+ */
179
+ createTimer(name: string, type?: ProfileEntryType): {
180
+ stop: () => number;
181
+ };
182
+ /**
183
+ * Mark a point in time
184
+ */
185
+ mark(name: string, metadata?: Record<string, unknown>): void;
186
+ /**
187
+ * Get current entry
188
+ */
189
+ getCurrentEntry(): ProfileEntry | undefined;
190
+ /**
191
+ * Get all entries
192
+ */
193
+ getEntries(): ProfileEntry[];
194
+ /**
195
+ * Get entries by type
196
+ */
197
+ getEntriesByType(type: ProfileEntryType): ProfileEntry[];
198
+ /**
199
+ * Get slow entries
200
+ */
201
+ getSlowEntries(): ProfileEntry[];
202
+ /**
203
+ * Calculate statistics for a name
204
+ */
205
+ getStats(name: string): ProfileStats | null;
206
+ /**
207
+ * Generate performance report
208
+ */
209
+ generateReport(): PerformanceReport;
210
+ /**
211
+ * Generate recommendations
212
+ */
213
+ private generateRecommendations;
214
+ /**
215
+ * Start memory capture
216
+ */
217
+ private startMemoryCapture;
218
+ /**
219
+ * Capture memory snapshot
220
+ */
221
+ private captureMemorySnapshot;
222
+ /**
223
+ * Capture memory usage
224
+ */
225
+ private captureMemory;
226
+ /**
227
+ * Get current time (high resolution)
228
+ */
229
+ private now;
230
+ /**
231
+ * Calculate percentile
232
+ */
233
+ private percentile;
234
+ /**
235
+ * Format report as string
236
+ */
237
+ formatReport(report: PerformanceReport): string;
238
+ }
239
+ /**
240
+ * Create decorator for profiling methods
241
+ */
242
+ export declare function profiled(profiler: PerformanceProfiler, type?: ProfileEntryType): MethodDecorator;
243
+ /**
244
+ * Create performance profiler instance
245
+ */
246
+ export declare function createPerformanceProfiler(config?: Partial<ProfilerConfig>): PerformanceProfiler;
247
+ /**
248
+ * Global profiler instance
249
+ */
250
+ export declare const globalProfiler: PerformanceProfiler;
251
+ //# sourceMappingURL=performance-profiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-profiler.d.ts","sourceRoot":"","sources":["../../src/utils/performance-profiler.ts"],"names":[],"mappings":"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"}