@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,294 @@
1
+ /**
2
+ * Structured Logger (Extended)
3
+ *
4
+ * Advanced structured logging with context, correlation, and output formatting
5
+ *
6
+ * @packageDocumentation
7
+ * @module utils/structured-logger
8
+ *
9
+ * @see REQ-MNT-001 - Logging & Monitoring
10
+ * @see Article VI - Decision Transparency
11
+ */
12
+ /**
13
+ * Log level
14
+ */
15
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
16
+ /**
17
+ * Log level values
18
+ */
19
+ export declare const LOG_LEVEL_VALUES: Record<LogLevel, number>;
20
+ /**
21
+ * Output format
22
+ */
23
+ export type OutputFormat = 'json' | 'pretty' | 'compact' | 'logfmt';
24
+ /**
25
+ * Log transport
26
+ */
27
+ export type TransportType = 'console' | 'file' | 'http' | 'memory' | 'custom';
28
+ /**
29
+ * Log entry
30
+ */
31
+ export interface LogEntry {
32
+ /** Timestamp */
33
+ timestamp: Date;
34
+ /** Level */
35
+ level: LogLevel;
36
+ /** Message */
37
+ message: string;
38
+ /** Logger name */
39
+ logger: string;
40
+ /** Correlation ID */
41
+ correlationId?: string;
42
+ /** Request ID */
43
+ requestId?: string;
44
+ /** User ID */
45
+ userId?: string;
46
+ /** Context data */
47
+ context?: Record<string, unknown>;
48
+ /** Error info */
49
+ error?: {
50
+ name: string;
51
+ message: string;
52
+ stack?: string;
53
+ code?: string;
54
+ };
55
+ /** Duration (ms) */
56
+ duration?: number;
57
+ /** Tags */
58
+ tags?: string[];
59
+ /** Metadata */
60
+ metadata?: Record<string, unknown>;
61
+ }
62
+ /**
63
+ * Transport interface
64
+ */
65
+ export interface LogTransport {
66
+ /** Transport name */
67
+ name: string;
68
+ /** Transport type */
69
+ type: TransportType;
70
+ /** Log entry */
71
+ log(entry: LogEntry): void | Promise<void>;
72
+ /** Flush */
73
+ flush?(): void | Promise<void>;
74
+ /** Close */
75
+ close?(): void | Promise<void>;
76
+ }
77
+ /**
78
+ * Logger config
79
+ */
80
+ export interface StructuredLoggerConfig {
81
+ /** Logger name */
82
+ name: string;
83
+ /** Minimum level */
84
+ level: LogLevel;
85
+ /** Output format */
86
+ format: OutputFormat;
87
+ /** Include timestamp */
88
+ includeTimestamp: boolean;
89
+ /** Include caller info */
90
+ includeCaller: boolean;
91
+ /** Pretty print objects */
92
+ prettyPrint: boolean;
93
+ /** Color output */
94
+ colorOutput: boolean;
95
+ /** Default context */
96
+ defaultContext?: Record<string, unknown>;
97
+ /** Redact fields */
98
+ redactFields?: string[];
99
+ /** Max context depth */
100
+ maxContextDepth: number;
101
+ }
102
+ /**
103
+ * Default configuration
104
+ */
105
+ export declare const DEFAULT_LOGGER_CONFIG: StructuredLoggerConfig;
106
+ /**
107
+ * Console transport
108
+ */
109
+ export declare class ConsoleTransport implements LogTransport {
110
+ name: string;
111
+ type: TransportType;
112
+ private config;
113
+ constructor(config: StructuredLoggerConfig);
114
+ log(entry: LogEntry): void;
115
+ private format;
116
+ private toJSON;
117
+ private toPretty;
118
+ private toCompact;
119
+ private toLogfmt;
120
+ private escapeLogfmt;
121
+ }
122
+ /**
123
+ * Memory transport (for testing)
124
+ */
125
+ export declare class MemoryTransport implements LogTransport {
126
+ name: string;
127
+ type: TransportType;
128
+ entries: LogEntry[];
129
+ maxEntries: number;
130
+ constructor(maxEntries?: number);
131
+ log(entry: LogEntry): void;
132
+ clear(): void;
133
+ getEntries(filter?: {
134
+ level?: LogLevel;
135
+ logger?: string;
136
+ }): LogEntry[];
137
+ }
138
+ /**
139
+ * Structured Logger
140
+ */
141
+ export declare class StructuredLogger {
142
+ private config;
143
+ private transports;
144
+ private contextStack;
145
+ private correlationId?;
146
+ private requestId?;
147
+ private userId?;
148
+ constructor(config?: Partial<StructuredLoggerConfig>);
149
+ /**
150
+ * Add transport
151
+ */
152
+ addTransport(transport: LogTransport): void;
153
+ /**
154
+ * Remove transport
155
+ */
156
+ removeTransport(name: string): void;
157
+ /**
158
+ * Create child logger with additional context
159
+ */
160
+ child(context: Record<string, unknown>): StructuredLogger;
161
+ /**
162
+ * Set correlation ID
163
+ */
164
+ setCorrelationId(id: string): void;
165
+ /**
166
+ * Set request ID
167
+ */
168
+ setRequestId(id: string): void;
169
+ /**
170
+ * Set user ID
171
+ */
172
+ setUserId(id: string): void;
173
+ /**
174
+ * Push context
175
+ */
176
+ pushContext(context: Record<string, unknown>): void;
177
+ /**
178
+ * Pop context
179
+ */
180
+ popContext(): Record<string, unknown> | undefined;
181
+ /**
182
+ * Log at trace level
183
+ */
184
+ trace(message: string, context?: Record<string, unknown>): void;
185
+ /**
186
+ * Log at debug level
187
+ */
188
+ debug(message: string, context?: Record<string, unknown>): void;
189
+ /**
190
+ * Log at info level
191
+ */
192
+ info(message: string, context?: Record<string, unknown>): void;
193
+ /**
194
+ * Log at warn level
195
+ */
196
+ warn(message: string, context?: Record<string, unknown>): void;
197
+ /**
198
+ * Log at error level
199
+ */
200
+ error(message: string, error?: Error | Record<string, unknown>, context?: Record<string, unknown>): void;
201
+ /**
202
+ * Log at fatal level
203
+ */
204
+ fatal(message: string, error?: Error | Record<string, unknown>, context?: Record<string, unknown>): void;
205
+ /**
206
+ * Log with timing
207
+ */
208
+ timed<T>(level: LogLevel, message: string, fn: () => T, context?: Record<string, unknown>): T;
209
+ /**
210
+ * Log with async timing
211
+ */
212
+ timedAsync<T>(level: LogLevel, message: string, fn: () => Promise<T>, context?: Record<string, unknown>): Promise<T>;
213
+ /**
214
+ * Create scoped logger for a specific operation
215
+ */
216
+ scope(operation: string, metadata?: Record<string, unknown>): ScopedLogger;
217
+ /**
218
+ * Core log method
219
+ */
220
+ private log;
221
+ /**
222
+ * Build merged context
223
+ */
224
+ private buildContext;
225
+ /**
226
+ * Redact sensitive fields
227
+ */
228
+ private redactSensitive;
229
+ /**
230
+ * Flush all transports
231
+ */
232
+ flush(): Promise<void>;
233
+ /**
234
+ * Close all transports
235
+ */
236
+ close(): Promise<void>;
237
+ /**
238
+ * Set log level
239
+ */
240
+ setLevel(level: LogLevel): void;
241
+ /**
242
+ * Get log level
243
+ */
244
+ getLevel(): LogLevel;
245
+ /**
246
+ * Check if level is enabled
247
+ */
248
+ isLevelEnabled(level: LogLevel): boolean;
249
+ }
250
+ /**
251
+ * Scoped logger for operations
252
+ */
253
+ export declare class ScopedLogger {
254
+ private logger;
255
+ private operation;
256
+ private metadata?;
257
+ private startTime;
258
+ private steps;
259
+ private lastStepTime;
260
+ constructor(logger: StructuredLogger, operation: string, metadata?: Record<string, unknown>);
261
+ /**
262
+ * Log a step
263
+ */
264
+ step(name: string, context?: Record<string, unknown>): void;
265
+ /**
266
+ * Log success
267
+ */
268
+ success(result?: unknown, context?: Record<string, unknown>): void;
269
+ /**
270
+ * Log failure
271
+ */
272
+ failure(error: Error, context?: Record<string, unknown>): void;
273
+ /**
274
+ * Log progress
275
+ */
276
+ progress(current: number, total: number, message?: string): void;
277
+ }
278
+ /**
279
+ * Create structured logger instance
280
+ */
281
+ export declare function createStructuredLogger(config?: Partial<StructuredLoggerConfig>): StructuredLogger;
282
+ /**
283
+ * Global logger instance
284
+ */
285
+ export declare const logger: StructuredLogger;
286
+ /**
287
+ * Request context helper
288
+ */
289
+ export declare function withRequestContext<T>(logger: StructuredLogger, correlationId: string, requestId: string, fn: (logger: StructuredLogger) => T): T;
290
+ /**
291
+ * Generate correlation ID
292
+ */
293
+ export declare function generateCorrelationId(): string;
294
+ //# sourceMappingURL=structured-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-logger.d.ts","sourceRoot":"","sources":["../../src/utils/structured-logger.ts"],"names":[],"mappings":"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"}