logs-gateway 2.2.1 → 3.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.
- package/README.md +157 -6
- package/dist/formatters/table-formatter.d.ts +4 -1
- package/dist/formatters/table-formatter.d.ts.map +1 -1
- package/dist/formatters/table-formatter.js +9 -3
- package/dist/formatters/table-formatter.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +57 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +377 -6
- package/dist/logger.js.map +1 -1
- package/dist/outputs/unified-logger-output.d.ts.map +1 -1
- package/dist/outputs/unified-logger-output.js +3 -0
- package/dist/outputs/unified-logger-output.js.map +1 -1
- package/dist/types.d.ts +50 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/debug-config.d.ts +19 -0
- package/dist/utils/debug-config.d.ts.map +1 -0
- package/dist/utils/debug-config.js +229 -0
- package/dist/utils/debug-config.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -202,9 +202,11 @@ Then all log entries will automatically include:
|
|
|
202
202
|
|
|
203
203
|
## Overview: Scoping, Story Output & Troubleshooting
|
|
204
204
|
|
|
205
|
-
This extension adds
|
|
205
|
+
This extension adds four major capabilities:
|
|
206
206
|
|
|
207
|
-
1. **
|
|
207
|
+
1. **Runtime Filtering (logger-debug.json)** – Filter logs at the source before they're written. Place `logger-debug.json` at your project root to filter logs by identity or application name. This reduces noise at runtime and complements post-processing scoping.
|
|
208
|
+
|
|
209
|
+
2. **Scoping** – Given a verbose log stream, derive a **focused subset** of logs relevant to a problem or question. Scopes can be:
|
|
208
210
|
* Error-centric (anchor on a specific `error` entry)
|
|
209
211
|
* Run/Correlation-centric (anchor on `runId`, `correlationId`, etc.)
|
|
210
212
|
* Text-based (filter by message/data content)
|
|
@@ -212,12 +214,12 @@ This extension adds three major capabilities:
|
|
|
212
214
|
|
|
213
215
|
Scoping **always uses verbose logs** if available, regardless of the current log level.
|
|
214
216
|
|
|
215
|
-
|
|
217
|
+
3. **Story vs Full Data Output** – A scope can be returned as:
|
|
216
218
|
* **Full data**: structured `ScopedLogView` with all entries
|
|
217
219
|
* **Story**: human-readable narrative built automatically from entries using a generic `scopeRecord` helper
|
|
218
220
|
* Or **both**
|
|
219
221
|
|
|
220
|
-
|
|
222
|
+
4. **Troubleshooting Integration** – Wire in `nx-troubleshooting` so that errors/scopes:
|
|
221
223
|
* Are matched to **troubleshooting narratives**, and
|
|
222
224
|
* Produce troubleshooting artifacts (Markdown/JSON/text) as **another log output channel** (`troubleshooting`)
|
|
223
225
|
|
|
@@ -337,7 +339,12 @@ const logger = createLogger(
|
|
|
337
339
|
|
|
338
340
|
# Level & format
|
|
339
341
|
{PREFIX}_LOG_LEVEL=verbose|debug|info|warn|error
|
|
340
|
-
{PREFIX}_LOG_FORMAT=text|json|yaml
|
|
342
|
+
{PREFIX}_LOG_FORMAT=text|json|yaml|table
|
|
343
|
+
|
|
344
|
+
# Console output options
|
|
345
|
+
{PREFIX}_SHOW_FULL_TIMESTAMP=true|false # Show full ISO timestamp (default: false)
|
|
346
|
+
{PREFIX}_CONSOLE_PACKAGES_SHOW=package1,package2 # Only show these packages in console (default: show all)
|
|
347
|
+
{PREFIX}_CONSOLE_PACKAGES_HIDE=package1,package2 # Hide these packages in console (default: show all)
|
|
341
348
|
|
|
342
349
|
# Debug namespace → enables verbose+debug for that namespace
|
|
343
350
|
DEBUG=my-pkg,other-*
|
|
@@ -435,6 +442,147 @@ export interface LogEntry {
|
|
|
435
442
|
}
|
|
436
443
|
```
|
|
437
444
|
|
|
445
|
+
### Runtime Filtering (logger-debug.json)
|
|
446
|
+
|
|
447
|
+
Place a `logger-debug.json` file at your project root to filter logs at runtime:
|
|
448
|
+
|
|
449
|
+
```json
|
|
450
|
+
{
|
|
451
|
+
"scoping": {
|
|
452
|
+
"status": "enabled",
|
|
453
|
+
"filterIdentities": ["src/auth.ts:login", "src/payment.ts:processPayment"],
|
|
454
|
+
"filteredApplications": ["my-app", "other-app"],
|
|
455
|
+
"logFrames": [
|
|
456
|
+
{
|
|
457
|
+
"action": "include",
|
|
458
|
+
"exactMatch": false,
|
|
459
|
+
"searchLog": false,
|
|
460
|
+
"startIdentities": ["src/api.ts:handleRequest"],
|
|
461
|
+
"endIdentities": ["src/api.ts:handleRequestEnd"]
|
|
462
|
+
}
|
|
463
|
+
]
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**Behavior:**
|
|
469
|
+
- When `status: "enabled"`, logs are filtered before being written to any output (console, file, unified-logger, shadow)
|
|
470
|
+
- A log is included if its `identity` matches any entry in `filterIdentities` **OR** its `appName` matches any entry in `filteredApplications` **OR** it falls within an active "logFrames" frame (OR logic)
|
|
471
|
+
- If all filters are empty or missing, all logs are included (no filtering)
|
|
472
|
+
- File is auto-discovered from `process.cwd()` (searches up directory tree like package.json)
|
|
473
|
+
- Configuration is loaded once at startup (not reloaded dynamically)
|
|
474
|
+
- If file is not found or invalid, all logs are shown (graceful fallback)
|
|
475
|
+
|
|
476
|
+
**Examples:**
|
|
477
|
+
|
|
478
|
+
```json
|
|
479
|
+
// Filter by identity only - only show logs from specific code locations
|
|
480
|
+
{
|
|
481
|
+
"scoping": {
|
|
482
|
+
"status": "enabled",
|
|
483
|
+
"filterIdentities": ["src/auth.ts:login", "src/payment.ts:processPayment"]
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
```json
|
|
489
|
+
// Filter by application only - only show logs from specific apps
|
|
490
|
+
{
|
|
491
|
+
"scoping": {
|
|
492
|
+
"status": "enabled",
|
|
493
|
+
"filteredApplications": ["my-app"]
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
```json
|
|
499
|
+
// Filter by both (OR logic - matches if identity OR appName matches)
|
|
500
|
+
{
|
|
501
|
+
"scoping": {
|
|
502
|
+
"status": "enabled",
|
|
503
|
+
"filterIdentities": ["src/auth.ts:login"],
|
|
504
|
+
"filteredApplications": ["my-app"]
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
```json
|
|
510
|
+
// Logs Frames - stateful range-based filtering and log level control
|
|
511
|
+
{
|
|
512
|
+
"scoping": {
|
|
513
|
+
"status": "enabled",
|
|
514
|
+
"logFrames": [
|
|
515
|
+
{
|
|
516
|
+
"action": "include",
|
|
517
|
+
"exactMatch": false,
|
|
518
|
+
"searchLog": false,
|
|
519
|
+
"startIdentities": ["src/api.ts:handleRequest"],
|
|
520
|
+
"endIdentities": ["src/api.ts:handleRequestEnd"]
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"action": "exclude",
|
|
524
|
+
"exactMatch": true,
|
|
525
|
+
"searchLog": false,
|
|
526
|
+
"startIdentities": ["src/db.ts:query"],
|
|
527
|
+
"endIdentities": ["src/db.ts:queryEnd"]
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"action": "setLevel",
|
|
531
|
+
"level": "debug",
|
|
532
|
+
"startIdentities": ["src/debug.ts:start"],
|
|
533
|
+
"endIdentities": ["src/debug.ts:end"]
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"action": "include",
|
|
537
|
+
"exactMatch": false,
|
|
538
|
+
"searchLog": true,
|
|
539
|
+
"startIdentities": [],
|
|
540
|
+
"endIdentities": ["src/init.ts:complete"]
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"action": "include",
|
|
544
|
+
"exactMatch": true,
|
|
545
|
+
"searchLog": true,
|
|
546
|
+
"startIdentities": ["Payment started"],
|
|
547
|
+
"endIdentities": ["Payment completed"]
|
|
548
|
+
}
|
|
549
|
+
]
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
**Logs Frames:**
|
|
555
|
+
- **Stateful filtering and log level control**: Tracks active frames across log calls
|
|
556
|
+
- **`action`**:
|
|
557
|
+
- `"include"` to show logs within frame
|
|
558
|
+
- `"exclude"` to hide logs within frame
|
|
559
|
+
- `"setLevel"` to change the effective log level within the frame (requires `level` property)
|
|
560
|
+
- **`level`**: Log level to use when `action` is `"setLevel"`. Must be one of: `"verbose"`, `"debug"`, `"info"`, `"warn"`, `"error"`
|
|
561
|
+
- **`exactMatch`**:
|
|
562
|
+
- `true`: Exact string match (case sensitive)
|
|
563
|
+
- `false`: Partial substring match (case insensitive, default)
|
|
564
|
+
- **`searchLog`**:
|
|
565
|
+
- `true`: Search entire log (message + identity + all meta fields stringified)
|
|
566
|
+
- `false`: Search only identity field (default)
|
|
567
|
+
- **`startIdentities`**: Array of patterns that activate the frame. Empty array means frame starts from the beginning
|
|
568
|
+
- **`endIdentities`**: Array of patterns that deactivate the frame. Empty array means frame never ends
|
|
569
|
+
- **Multiple frames**: Can overlap and are tracked independently. Uses OR logic (if ANY include rule is active, include; if ANY exclude rule is active, exclude)
|
|
570
|
+
- **Log level behavior**:
|
|
571
|
+
- When multiple `setLevel` frames are active, the most permissive (lowest priority) level is used
|
|
572
|
+
- When a frame with `setLevel` action becomes active, the effective log level changes to the frame's level
|
|
573
|
+
- When the frame ends, the log level returns to the configured level
|
|
574
|
+
- **Frame behavior**:
|
|
575
|
+
- When a log matches a start identity, the frame becomes active
|
|
576
|
+
- When a log matches an end identity, the frame becomes inactive
|
|
577
|
+
- If a log matches both start and end identities, the frame state toggles
|
|
578
|
+
- Frames with empty `startIdentities` are active from the first log
|
|
579
|
+
- Frames with empty `endIdentities` never close once activated
|
|
580
|
+
|
|
581
|
+
**Integration with Existing Scoping:**
|
|
582
|
+
- `logger-debug.json` → Runtime filtering (reduces noise at source, filters before writing)
|
|
583
|
+
- `scopeLogs()` → Post-processing scoping (analyzes already-written logs)
|
|
584
|
+
- Both can be used together for maximum control
|
|
585
|
+
|
|
438
586
|
### ScopeCriteria
|
|
439
587
|
|
|
440
588
|
Scoping criteria defines *which logs* belong to a scope. It supports:
|
|
@@ -1083,7 +1231,10 @@ The troubleshooting integration uses `nx-troubleshooting` to match errors to sol
|
|
|
1083
1231
|
| `{P}_LOG_FILE` | Log file path | — |
|
|
1084
1232
|
| `{P}_LOG_TO_UNIFIED` | Enable unified-logger | `false` |
|
|
1085
1233
|
| `{P}_LOG_LEVEL` | `verbose\|debug\|info\|warn\|error` | `info` |
|
|
1086
|
-
| `{P}_LOG_FORMAT` | `text\|json\|yaml` | `
|
|
1234
|
+
| `{P}_LOG_FORMAT` | `text\|json\|yaml\|table` | `table` |
|
|
1235
|
+
| `{P}_SHOW_FULL_TIMESTAMP` | Show full ISO timestamp in console | `false` |
|
|
1236
|
+
| `{P}_CONSOLE_PACKAGES_SHOW` | Comma-separated packages to show (console only) | (show all) |
|
|
1237
|
+
| `{P}_CONSOLE_PACKAGES_HIDE` | Comma-separated packages to hide (console only) | (show all) |
|
|
1087
1238
|
| `DEBUG` | Namespace(s) enabling verbose+debug | — |
|
|
1088
1239
|
| `{P}_SANITIZE_ENABLED` | Turn on sanitization | `false` |
|
|
1089
1240
|
| `{P}_TRACE_OTEL` | Attach `traceId`/`spanId` if available | `true` |
|
|
@@ -15,6 +15,9 @@ export declare function formatLogEntryAsTable(envelope: LogEnvelope): Record<str
|
|
|
15
15
|
* Output log entry as a simple text line (conceptual table format)
|
|
16
16
|
* Each log entry is displayed as a single line with key fields.
|
|
17
17
|
* No truncation - full message is shown. Terminal will handle wrapping if configured.
|
|
18
|
+
*
|
|
19
|
+
* @param envelope - The log envelope to format
|
|
20
|
+
* @param showFullTimestamp - If true, show full ISO timestamp; if false, show short time format (default: false)
|
|
18
21
|
*/
|
|
19
|
-
export declare function outputLogAsTable(envelope: LogEnvelope): void;
|
|
22
|
+
export declare function outputLogAsTable(envelope: LogEnvelope, showFullTimestamp?: boolean): void;
|
|
20
23
|
//# sourceMappingURL=table-formatter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/table-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqEhF;AAgED
|
|
1
|
+
{"version":3,"file":"table-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/table-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqEhF;AAgED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,GAAE,OAAe,GAAG,IAAI,CAoFhG"}
|
|
@@ -134,11 +134,14 @@ function formatDataSummary(data) {
|
|
|
134
134
|
* Output log entry as a simple text line (conceptual table format)
|
|
135
135
|
* Each log entry is displayed as a single line with key fields.
|
|
136
136
|
* No truncation - full message is shown. Terminal will handle wrapping if configured.
|
|
137
|
+
*
|
|
138
|
+
* @param envelope - The log envelope to format
|
|
139
|
+
* @param showFullTimestamp - If true, show full ISO timestamp; if false, show short time format (default: false)
|
|
137
140
|
*/
|
|
138
|
-
function outputLogAsTable(envelope) {
|
|
141
|
+
function outputLogAsTable(envelope, showFullTimestamp = false) {
|
|
139
142
|
const parts = [];
|
|
140
|
-
// Time
|
|
141
|
-
const time = formatTimestamp(envelope.timestamp);
|
|
143
|
+
// Time format - full ISO timestamp or short format
|
|
144
|
+
const time = showFullTimestamp ? envelope.timestamp : formatTimestamp(envelope.timestamp);
|
|
142
145
|
parts.push(`[${time}]`);
|
|
143
146
|
// Level with indicator - fixed width for alignment
|
|
144
147
|
const level = formatLevel(envelope.level);
|
|
@@ -188,6 +191,9 @@ function outputLogAsTable(envelope) {
|
|
|
188
191
|
if (envelope.tags && envelope.tags.length > 0) {
|
|
189
192
|
metadataParts.push(`tags:${envelope.tags.join(',')}`);
|
|
190
193
|
}
|
|
194
|
+
if (envelope.identity) {
|
|
195
|
+
metadataParts.push(`identity:${envelope.identity}`);
|
|
196
|
+
}
|
|
191
197
|
// Add metadata section if present (separated by pipe for visual clarity)
|
|
192
198
|
if (metadataParts.length > 0) {
|
|
193
199
|
parts.push(`| ${metadataParts.join(' ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-formatter.js","sourceRoot":"","sources":["../../src/formatters/table-formatter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAUH,sDAqEC;
|
|
1
|
+
{"version":3,"file":"table-formatter.js","sourceRoot":"","sources":["../../src/formatters/table-formatter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAUH,sDAqEC;AAwED,4CAoFC;AAvOD;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,QAAqB;IACzD,MAAM,GAAG,GAAwB;QAC/B,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;IAEF,wBAAwB;IACxB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACzD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,kCAAkC;IAClC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,gCAAgC;IAChC,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC3C,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,gCAAgC;IAChC,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;IACzC,CAAC;IAED,6BAA6B;IAC7B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB;IACjE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAC9D,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,SAAiB;IACxC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,2DAA2D;IAC3D,MAAM,UAAU,GAA2B;QACzC,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,GAAG;KACb,CAAC;IACF,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAS;IAClC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEnE,2CAA2C;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClG,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,QAAqB,EAAE,oBAA6B,KAAK;IACxF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,mDAAmD;IACnD,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAExB,mDAAmD;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAExB,uCAAuC;IACvC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;IAEpC,uCAAuC;IACvC,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE7B,+DAA+D;IAC/D,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,aAAa,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACzD,aAAa,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,aAAa,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,aAAa,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,aAAa,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,aAAa,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,aAAa,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,aAAa,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,yEAAyE;IACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,uDAAuD;IACvD,kDAAkD;IAClD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,mFAAmF;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAiF,MAAM,SAAS,CAAC;AAEjJ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,mBAAmB,EAClC,UAAU,CAAC,EAAE,aAAa,GACzB,WAAW,CAkLb;;;;;AAGD,wBAGE"}
|
package/dist/index.js
CHANGED
|
@@ -49,6 +49,9 @@ function createLogger(packageConfig, userConfig) {
|
|
|
49
49
|
logFilePath: userConfig?.logFilePath ?? '',
|
|
50
50
|
logLevel: userConfig?.logLevel ?? 'info',
|
|
51
51
|
logFormat: userConfig?.logFormat ?? 'table', // Default to table format
|
|
52
|
+
showFullTimestamp: userConfig?.showFullTimestamp ?? false, // Default to false
|
|
53
|
+
...(userConfig?.consolePackagesShow !== undefined ? { consolePackagesShow: userConfig.consolePackagesShow } : {}),
|
|
54
|
+
...(userConfig?.consolePackagesHide !== undefined ? { consolePackagesHide: userConfig.consolePackagesHide } : {}),
|
|
52
55
|
enableUnifiedLogger: userConfig?.enableUnifiedLogger ?? false,
|
|
53
56
|
unifiedLogger: userConfig?.unifiedLogger ?? {},
|
|
54
57
|
defaultSource: userConfig?.defaultSource ?? 'application',
|
|
@@ -58,7 +61,8 @@ function createLogger(packageConfig, userConfig) {
|
|
|
58
61
|
tracing: userConfig?.tracing ?? undefined,
|
|
59
62
|
trails: userConfig?.trails ?? undefined,
|
|
60
63
|
schemaCheck: userConfig?.schemaCheck ?? { enabled: false },
|
|
61
|
-
shadow: userConfig?.shadow ?? undefined
|
|
64
|
+
shadow: userConfig?.shadow ?? undefined,
|
|
65
|
+
debugScoping: userConfig?.debugScoping ?? undefined
|
|
62
66
|
};
|
|
63
67
|
const sinks = {};
|
|
64
68
|
// Automatically detect consuming application's package name and version
|
|
@@ -79,13 +83,15 @@ function createLogger(packageConfig, userConfig) {
|
|
|
79
83
|
...(appInfo.name && { appName: appInfo.name }),
|
|
80
84
|
...(appInfo.version && { appVersion: appInfo.version }),
|
|
81
85
|
// Include other metadata fields if present
|
|
86
|
+
...(meta?.identity && { identity: meta.identity }),
|
|
82
87
|
...(meta?.correlationId && { correlationId: meta.correlationId }),
|
|
83
88
|
...(meta?.jobId && { jobId: meta.jobId }),
|
|
84
89
|
...(meta?.runId && { runId: meta.runId }),
|
|
85
90
|
...(meta?.sessionId && { sessionId: meta.sessionId }),
|
|
86
91
|
...(meta?.tags && { tags: meta.tags })
|
|
87
92
|
};
|
|
88
|
-
|
|
93
|
+
const showFullTimestamp = userConfig?.showFullTimestamp ?? false;
|
|
94
|
+
(0, table_formatter_1.outputLogAsTable)(envelope, showFullTimestamp);
|
|
89
95
|
}
|
|
90
96
|
else if (resolved.logFormat === 'yaml') {
|
|
91
97
|
// YAML format: create envelope and format as YAML
|
|
@@ -99,6 +105,7 @@ function createLogger(packageConfig, userConfig) {
|
|
|
99
105
|
...(appInfo.name && { appName: appInfo.name }),
|
|
100
106
|
...(appInfo.version && { appVersion: appInfo.version }),
|
|
101
107
|
// Include other metadata fields if present
|
|
108
|
+
...(meta?.identity && { identity: meta.identity }),
|
|
102
109
|
...(meta?.correlationId && { correlationId: meta.correlationId }),
|
|
103
110
|
...(meta?.tags && { tags: meta.tags }),
|
|
104
111
|
...(meta?._routing && { _routing: meta._routing })
|
|
@@ -114,7 +121,8 @@ function createLogger(packageConfig, userConfig) {
|
|
|
114
121
|
message: msg,
|
|
115
122
|
data: meta ? { ...meta } : undefined,
|
|
116
123
|
...(appInfo.name && { appName: appInfo.name }),
|
|
117
|
-
...(appInfo.version && { appVersion: appInfo.version })
|
|
124
|
+
...(appInfo.version && { appVersion: appInfo.version }),
|
|
125
|
+
...(meta?.identity && { identity: meta.identity })
|
|
118
126
|
};
|
|
119
127
|
// Avoid nesting _routing/noise into "data" twice
|
|
120
128
|
if (meta?._routing) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -15,8 +15,11 @@ export declare class LogsGateway {
|
|
|
15
15
|
private shadowSink?;
|
|
16
16
|
readonly shadow: ShadowController;
|
|
17
17
|
private appInfo;
|
|
18
|
+
private debugScopingConfig;
|
|
18
19
|
private levelPriority;
|
|
19
20
|
private sinks;
|
|
21
|
+
private activeLogFrames;
|
|
22
|
+
private activeFrameLevels;
|
|
20
23
|
constructor(packageConfig: LoggerPackageConfig, userConfig?: LoggingConfig, sinks?: {
|
|
21
24
|
console?: (level: LogLevel, msg: string, meta?: LogMeta) => void;
|
|
22
25
|
file?: (level: LogLevel, msg: string, meta?: LogMeta) => void;
|
|
@@ -36,12 +39,66 @@ export declare class LogsGateway {
|
|
|
36
39
|
private ensureLogDirectory;
|
|
37
40
|
/**
|
|
38
41
|
* Check if a log level should be output based on current configuration
|
|
42
|
+
* Takes into account active log frames that may override the log level
|
|
39
43
|
*/
|
|
40
44
|
private shouldLog;
|
|
41
45
|
/**
|
|
42
46
|
* Check if a specific output should receive the log based on routing metadata
|
|
43
47
|
*/
|
|
44
48
|
private shouldSend;
|
|
49
|
+
/**
|
|
50
|
+
* Check if a search string matches any identity in a list
|
|
51
|
+
*
|
|
52
|
+
* @param searchString - The string to search for
|
|
53
|
+
* @param identityList - List of identity patterns to match against
|
|
54
|
+
* @param exactMatch - If true: exact match (case sensitive), if false: partial match (case insensitive)
|
|
55
|
+
* @returns true if any identity in the list matches
|
|
56
|
+
*/
|
|
57
|
+
private matchesIdentity;
|
|
58
|
+
/**
|
|
59
|
+
* Extract searchable text from log entry
|
|
60
|
+
* Combines message, identity, and all meta fields (recursively stringified)
|
|
61
|
+
*
|
|
62
|
+
* @param message - Log message
|
|
63
|
+
* @param identity - Log identity
|
|
64
|
+
* @param meta - Log metadata
|
|
65
|
+
* @returns Combined searchable string
|
|
66
|
+
*/
|
|
67
|
+
private getSearchableLogText;
|
|
68
|
+
/**
|
|
69
|
+
* Update the state of log frames based on current log entry
|
|
70
|
+
*
|
|
71
|
+
* @param message - Log message
|
|
72
|
+
* @param identity - Log identity
|
|
73
|
+
* @param meta - Log metadata
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* Get logFrames from config, normalizing 'between' alias to 'logFrames'
|
|
77
|
+
*/
|
|
78
|
+
private getLogFrames;
|
|
79
|
+
private updateLogFrameState;
|
|
80
|
+
/**
|
|
81
|
+
* Check if a log should be included based on debug scoping configuration
|
|
82
|
+
* Filters logs at runtime based on identity and application name
|
|
83
|
+
*
|
|
84
|
+
* @param message - Log message
|
|
85
|
+
* @param identity - Log identity (file:function format)
|
|
86
|
+
* @param appName - Application name
|
|
87
|
+
* @param meta - Log metadata
|
|
88
|
+
* @returns true if log should be included, false if it should be filtered out
|
|
89
|
+
*/
|
|
90
|
+
private shouldIncludeLog;
|
|
91
|
+
/**
|
|
92
|
+
* Check if a package should be shown in console output based on filtering rules
|
|
93
|
+
* Only affects console output, not file or unified-logger
|
|
94
|
+
*/
|
|
95
|
+
private shouldShowPackageInConsole;
|
|
96
|
+
/**
|
|
97
|
+
* Get call site identity from stack trace
|
|
98
|
+
* Extracts file path and function name from the call stack
|
|
99
|
+
* Returns a clean identity string like "src/file.ts:functionName" or "src/file.ts:lineNumber"
|
|
100
|
+
*/
|
|
101
|
+
private getCallSiteIdentity;
|
|
45
102
|
/**
|
|
46
103
|
* Format a log entry according to the configured format
|
|
47
104
|
*/
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,QAAQ,EAER,aAAa,EACb,mBAAmB,EAEnB,qBAAqB,EACrB,OAAO,EAEP,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,QAAQ,EAER,aAAa,EACb,mBAAmB,EAEnB,qBAAqB,EACrB,OAAO,EAEP,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,SAAgB,MAAM,EAAE,gBAAgB,CAAC;IACzC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,aAAa,CAMnB;IACF,OAAO,CAAC,KAAK,CAIX;IACF,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,iBAAiB,CAAoC;gBAG3D,aAAa,EAAE,mBAAmB,EAClC,UAAU,CAAC,EAAE,aAAa,EAC1B,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QACjE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAC9D,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC/B;IA0IH;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAkCjB;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;;;;;OAMG;IACH;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,mBAAmB;IAkF3B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA6ExB;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAelC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAyE3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2DtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgCtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,IAAI;IA2GZ;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9C;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IAI5C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;CAGzC"}
|