faf-cli 2.4.4 → 2.4.6
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 +12 -3
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +43 -34
- package/dist/cli.js.map +1 -1
- package/dist/commands/faf-auth.js +1 -1
- package/dist/commands/faf-auth.js.map +1 -1
- package/dist/commands/faf-dna.js +1 -1
- package/dist/commands/faf-dna.js.map +1 -1
- package/dist/commands/faf-log.js +1 -1
- package/dist/commands/faf-log.js.map +1 -1
- package/dist/commands/faf-recover.js +10 -13
- package/dist/commands/faf-recover.js.map +1 -1
- package/dist/commands/faf-update.js +1 -1
- package/dist/commands/faf-update.js.map +1 -1
- package/dist/commands/tsa.d.ts +9 -0
- package/dist/commands/tsa.d.ts.map +1 -0
- package/dist/commands/tsa.js +60 -0
- package/dist/commands/tsa.js.map +1 -0
- package/dist/engine-bridge.d.ts +10 -7
- package/dist/engine-bridge.d.ts.map +1 -1
- package/dist/engine-bridge.js +7 -12
- package/dist/engine-bridge.js.map +1 -1
- package/dist/engines/art-ansi-renderer.d.ts +335 -0
- package/dist/engines/art-ansi-renderer.d.ts.map +1 -0
- package/dist/engines/art-ansi-renderer.js +294 -0
- package/dist/engines/art-ansi-renderer.js.map +1 -0
- package/dist/engines/dependency-tsa.d.ts +89 -0
- package/dist/engines/dependency-tsa.d.ts.map +1 -0
- package/dist/engines/dependency-tsa.js +361 -0
- package/dist/engines/dependency-tsa.js.map +1 -0
- package/dist/fix-once/colors.d.ts +36 -14
- package/dist/fix-once/colors.d.ts.map +1 -1
- package/dist/fix-once/colors.js +133 -42
- package/dist/fix-once/colors.js.map +1 -1
- package/dist/fix-once/commander.d.ts +18 -0
- package/dist/fix-once/commander.d.ts.map +1 -0
- package/dist/fix-once/commander.js +25 -0
- package/dist/fix-once/commander.js.map +1 -0
- package/dist/fix-once/yaml.d.ts +55 -0
- package/dist/fix-once/yaml.d.ts.map +1 -0
- package/dist/fix-once/yaml.js +94 -0
- package/dist/fix-once/yaml.js.map +1 -0
- package/dist/utils/file-utils.d.ts.map +1 -1
- package/dist/utils/file-utils.js +4 -9
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/utils/native-cli-parser.d.ts +148 -0
- package/dist/utils/native-cli-parser.d.ts.map +1 -0
- package/dist/utils/native-cli-parser.js +442 -0
- package/dist/utils/native-cli-parser.js.map +1 -0
- package/dist/utils/native-file-finder.d.ts +116 -0
- package/dist/utils/native-file-finder.d.ts.map +1 -0
- package/dist/utils/native-file-finder.js +211 -0
- package/dist/utils/native-file-finder.js.map +1 -0
- package/dist/utils/turbo-cat.d.ts.map +1 -1
- package/dist/utils/turbo-cat.js +7 -11
- package/dist/utils/turbo-cat.js.map +1 -1
- package/package.json +3 -7
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 🎨 .art ANSI Renderer Engine
|
|
4
|
+
* Renders ASCII art with ANSI colors for UI mockups
|
|
5
|
+
* Foundation for .art → UI compilation
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ArtRenderer = exports.BOX_CHARS = exports.UI_THEMES = exports.ART_ANSI = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* ANSI Color Palette for .art files
|
|
11
|
+
* Extended 256-color support for rich UI mockups
|
|
12
|
+
*/
|
|
13
|
+
exports.ART_ANSI = {
|
|
14
|
+
// Reset
|
|
15
|
+
reset: '\x1b[0m',
|
|
16
|
+
clear: '\x1b[2J\x1b[H', // Clear screen and home cursor
|
|
17
|
+
// Text Styles
|
|
18
|
+
bold: '\x1b[1m',
|
|
19
|
+
dim: '\x1b[2m',
|
|
20
|
+
italic: '\x1b[3m',
|
|
21
|
+
underline: '\x1b[4m',
|
|
22
|
+
blink: '\x1b[5m',
|
|
23
|
+
reverse: '\x1b[7m',
|
|
24
|
+
hidden: '\x1b[8m',
|
|
25
|
+
strikethrough: '\x1b[9m',
|
|
26
|
+
// Standard Colors (30-37)
|
|
27
|
+
black: '\x1b[30m',
|
|
28
|
+
red: '\x1b[31m',
|
|
29
|
+
green: '\x1b[32m',
|
|
30
|
+
yellow: '\x1b[33m',
|
|
31
|
+
blue: '\x1b[34m',
|
|
32
|
+
magenta: '\x1b[35m',
|
|
33
|
+
cyan: '\x1b[36m',
|
|
34
|
+
white: '\x1b[37m',
|
|
35
|
+
// Bright Colors (90-97)
|
|
36
|
+
gray: '\x1b[90m',
|
|
37
|
+
brightRed: '\x1b[91m',
|
|
38
|
+
brightGreen: '\x1b[92m',
|
|
39
|
+
brightYellow: '\x1b[93m',
|
|
40
|
+
brightBlue: '\x1b[94m',
|
|
41
|
+
brightMagenta: '\x1b[95m',
|
|
42
|
+
brightCyan: '\x1b[96m',
|
|
43
|
+
brightWhite: '\x1b[97m',
|
|
44
|
+
// Background Colors (40-47)
|
|
45
|
+
bgBlack: '\x1b[40m',
|
|
46
|
+
bgRed: '\x1b[41m',
|
|
47
|
+
bgGreen: '\x1b[42m',
|
|
48
|
+
bgYellow: '\x1b[43m',
|
|
49
|
+
bgBlue: '\x1b[44m',
|
|
50
|
+
bgMagenta: '\x1b[45m',
|
|
51
|
+
bgCyan: '\x1b[46m',
|
|
52
|
+
bgWhite: '\x1b[47m',
|
|
53
|
+
// Bright Background Colors (100-107)
|
|
54
|
+
bgGray: '\x1b[100m',
|
|
55
|
+
bgBrightRed: '\x1b[101m',
|
|
56
|
+
bgBrightGreen: '\x1b[102m',
|
|
57
|
+
bgBrightYellow: '\x1b[103m',
|
|
58
|
+
bgBrightBlue: '\x1b[104m',
|
|
59
|
+
bgBrightMagenta: '\x1b[105m',
|
|
60
|
+
bgBrightCyan: '\x1b[106m',
|
|
61
|
+
bgBrightWhite: '\x1b[107m',
|
|
62
|
+
// Cursor Movement
|
|
63
|
+
up: (n = 1) => `\x1b[${n}A`,
|
|
64
|
+
down: (n = 1) => `\x1b[${n}B`,
|
|
65
|
+
forward: (n = 1) => `\x1b[${n}C`,
|
|
66
|
+
back: (n = 1) => `\x1b[${n}D`,
|
|
67
|
+
nextLine: (n = 1) => `\x1b[${n}E`,
|
|
68
|
+
prevLine: (n = 1) => `\x1b[${n}F`,
|
|
69
|
+
column: (n) => `\x1b[${n}G`,
|
|
70
|
+
position: (row, col) => `\x1b[${row};${col}H`,
|
|
71
|
+
// 256 Color Mode
|
|
72
|
+
color256: (n) => `\x1b[38;5;${n}m`,
|
|
73
|
+
bg256: (n) => `\x1b[48;5;${n}m`,
|
|
74
|
+
// RGB True Color (24-bit)
|
|
75
|
+
rgb: (r, g, b) => `\x1b[38;2;${r};${g};${b}m`,
|
|
76
|
+
bgRgb: (r, g, b) => `\x1b[48;2;${r};${g};${b}m`,
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* UI Component Color Schemes
|
|
80
|
+
*/
|
|
81
|
+
exports.UI_THEMES = {
|
|
82
|
+
// FAF Brand Colors
|
|
83
|
+
faf: {
|
|
84
|
+
primary: exports.ART_ANSI.cyan,
|
|
85
|
+
secondary: exports.ART_ANSI.color256(208), // Orange
|
|
86
|
+
success: exports.ART_ANSI.green,
|
|
87
|
+
warning: exports.ART_ANSI.yellow,
|
|
88
|
+
error: exports.ART_ANSI.red,
|
|
89
|
+
info: exports.ART_ANSI.blue,
|
|
90
|
+
border: exports.ART_ANSI.cyan,
|
|
91
|
+
text: exports.ART_ANSI.white,
|
|
92
|
+
muted: exports.ART_ANSI.gray,
|
|
93
|
+
},
|
|
94
|
+
// Dark Mode Theme
|
|
95
|
+
dark: {
|
|
96
|
+
primary: exports.ART_ANSI.brightCyan,
|
|
97
|
+
secondary: exports.ART_ANSI.brightMagenta,
|
|
98
|
+
background: exports.ART_ANSI.bgBlack,
|
|
99
|
+
foreground: exports.ART_ANSI.brightWhite,
|
|
100
|
+
border: exports.ART_ANSI.gray,
|
|
101
|
+
},
|
|
102
|
+
// Light Mode Theme
|
|
103
|
+
light: {
|
|
104
|
+
primary: exports.ART_ANSI.blue,
|
|
105
|
+
secondary: exports.ART_ANSI.magenta,
|
|
106
|
+
background: exports.ART_ANSI.bgWhite,
|
|
107
|
+
foreground: exports.ART_ANSI.black,
|
|
108
|
+
border: exports.ART_ANSI.gray,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Box Drawing Characters for .art files
|
|
113
|
+
*/
|
|
114
|
+
exports.BOX_CHARS = {
|
|
115
|
+
// Single Line
|
|
116
|
+
single: {
|
|
117
|
+
horizontal: '─',
|
|
118
|
+
vertical: '│',
|
|
119
|
+
topLeft: '┌',
|
|
120
|
+
topRight: '┐',
|
|
121
|
+
bottomLeft: '└',
|
|
122
|
+
bottomRight: '┘',
|
|
123
|
+
cross: '┼',
|
|
124
|
+
teeDown: '┬',
|
|
125
|
+
teeUp: '┴',
|
|
126
|
+
teeRight: '├',
|
|
127
|
+
teeLeft: '┤',
|
|
128
|
+
},
|
|
129
|
+
// Double Line
|
|
130
|
+
double: {
|
|
131
|
+
horizontal: '═',
|
|
132
|
+
vertical: '║',
|
|
133
|
+
topLeft: '╔',
|
|
134
|
+
topRight: '╗',
|
|
135
|
+
bottomLeft: '╚',
|
|
136
|
+
bottomRight: '╝',
|
|
137
|
+
cross: '╬',
|
|
138
|
+
teeDown: '╦',
|
|
139
|
+
teeUp: '╩',
|
|
140
|
+
teeRight: '╠',
|
|
141
|
+
teeLeft: '╣',
|
|
142
|
+
},
|
|
143
|
+
// Rounded
|
|
144
|
+
rounded: {
|
|
145
|
+
topLeft: '╭',
|
|
146
|
+
topRight: '╮',
|
|
147
|
+
bottomLeft: '╰',
|
|
148
|
+
bottomRight: '╯',
|
|
149
|
+
},
|
|
150
|
+
// Block Elements
|
|
151
|
+
blocks: {
|
|
152
|
+
full: '█',
|
|
153
|
+
upper: '▀',
|
|
154
|
+
lower: '▄',
|
|
155
|
+
left: '▌',
|
|
156
|
+
right: '▐',
|
|
157
|
+
light: '░',
|
|
158
|
+
medium: '▒',
|
|
159
|
+
dark: '▓',
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Render .art syntax to ANSI output
|
|
164
|
+
*/
|
|
165
|
+
class ArtRenderer {
|
|
166
|
+
theme = exports.UI_THEMES.faf;
|
|
167
|
+
/**
|
|
168
|
+
* Parse .art color tags and convert to ANSI
|
|
169
|
+
* @example [red]Text[/red] → \x1b[31mText\x1b[0m
|
|
170
|
+
*/
|
|
171
|
+
parseColorTags(text) {
|
|
172
|
+
return text
|
|
173
|
+
.replace(/\[red\]/g, exports.ART_ANSI.red)
|
|
174
|
+
.replace(/\[green\]/g, exports.ART_ANSI.green)
|
|
175
|
+
.replace(/\[blue\]/g, exports.ART_ANSI.blue)
|
|
176
|
+
.replace(/\[cyan\]/g, exports.ART_ANSI.cyan)
|
|
177
|
+
.replace(/\[yellow\]/g, exports.ART_ANSI.yellow)
|
|
178
|
+
.replace(/\[orange\]/g, exports.ART_ANSI.color256(208))
|
|
179
|
+
.replace(/\[bold\]/g, exports.ART_ANSI.bold)
|
|
180
|
+
.replace(/\[dim\]/g, exports.ART_ANSI.dim)
|
|
181
|
+
.replace(/\[\/\w+\]/g, exports.ART_ANSI.reset);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Draw a box with ANSI colors
|
|
185
|
+
*/
|
|
186
|
+
drawBox(width, height, style = 'single') {
|
|
187
|
+
const box = exports.BOX_CHARS[style];
|
|
188
|
+
const lines = [];
|
|
189
|
+
// Top border
|
|
190
|
+
lines.push(this.theme.border +
|
|
191
|
+
box.topLeft +
|
|
192
|
+
box.horizontal.repeat(width - 2) +
|
|
193
|
+
box.topRight +
|
|
194
|
+
exports.ART_ANSI.reset);
|
|
195
|
+
// Middle lines
|
|
196
|
+
for (let i = 0; i < height - 2; i++) {
|
|
197
|
+
lines.push(this.theme.border +
|
|
198
|
+
box.vertical +
|
|
199
|
+
' '.repeat(width - 2) +
|
|
200
|
+
box.vertical +
|
|
201
|
+
exports.ART_ANSI.reset);
|
|
202
|
+
}
|
|
203
|
+
// Bottom border
|
|
204
|
+
lines.push(this.theme.border +
|
|
205
|
+
box.bottomLeft +
|
|
206
|
+
box.horizontal.repeat(width - 2) +
|
|
207
|
+
box.bottomRight +
|
|
208
|
+
exports.ART_ANSI.reset);
|
|
209
|
+
return lines.join('\n');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Create a progress bar with ANSI colors
|
|
213
|
+
*/
|
|
214
|
+
progressBar(percent, width = 20) {
|
|
215
|
+
const filled = Math.floor((percent / 100) * width);
|
|
216
|
+
const empty = width - filled;
|
|
217
|
+
return (exports.ART_ANSI.green +
|
|
218
|
+
exports.BOX_CHARS.blocks.full.repeat(filled) +
|
|
219
|
+
exports.ART_ANSI.gray +
|
|
220
|
+
exports.BOX_CHARS.blocks.light.repeat(empty) +
|
|
221
|
+
exports.ART_ANSI.reset);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Render a button component
|
|
225
|
+
*/
|
|
226
|
+
button(text, selected = false) {
|
|
227
|
+
const padding = 2;
|
|
228
|
+
const width = text.length + (padding * 2);
|
|
229
|
+
if (selected) {
|
|
230
|
+
return (exports.ART_ANSI.bgBlue + exports.ART_ANSI.brightWhite + exports.ART_ANSI.bold +
|
|
231
|
+
'[' + ' '.repeat(padding) + text + ' '.repeat(padding) + ']' +
|
|
232
|
+
exports.ART_ANSI.reset);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
return (this.theme.primary +
|
|
236
|
+
'[' + ' '.repeat(padding) + text + ' '.repeat(padding) + ']' +
|
|
237
|
+
exports.ART_ANSI.reset);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Create a gradient effect (256 color mode)
|
|
242
|
+
*/
|
|
243
|
+
gradient(text, startColor, endColor) {
|
|
244
|
+
const chars = text.split('');
|
|
245
|
+
const steps = chars.length;
|
|
246
|
+
const colorStep = (endColor - startColor) / steps;
|
|
247
|
+
return chars.map((char, i) => {
|
|
248
|
+
const color = Math.round(startColor + (colorStep * i));
|
|
249
|
+
return exports.ART_ANSI.color256(color) + char;
|
|
250
|
+
}).join('') + exports.ART_ANSI.reset;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
exports.ArtRenderer = ArtRenderer;
|
|
254
|
+
/**
|
|
255
|
+
* Example .art file structure (for future implementation)
|
|
256
|
+
*
|
|
257
|
+
* @art-file dashboard.art
|
|
258
|
+
* ```
|
|
259
|
+
* @theme: faf
|
|
260
|
+
* @size: 80x24
|
|
261
|
+
*
|
|
262
|
+
* [cyan]┌──────────────────────────────────┐[/cyan]
|
|
263
|
+
* [cyan]│[/cyan] [bold]Dashboard[/bold] [button]Settings[/button] [cyan]│[/cyan]
|
|
264
|
+
* [cyan]├──────────────────────────────────┤[/cyan]
|
|
265
|
+
* [cyan]│[/cyan] CPU: [progress:75] [cyan]│[/cyan]
|
|
266
|
+
* [cyan]│[/cyan] RAM: [progress:45] [cyan]│[/cyan]
|
|
267
|
+
* [cyan]│[/cyan] Disk: [progress:90] [cyan]│[/cyan]
|
|
268
|
+
* [cyan]└──────────────────────────────────┘[/cyan]
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* This would compile to a full React/Vue/Svelte component!
|
|
272
|
+
*/
|
|
273
|
+
/**
|
|
274
|
+
* Export for use in .art compiler
|
|
275
|
+
*/
|
|
276
|
+
exports.default = {
|
|
277
|
+
ART_ANSI: exports.ART_ANSI,
|
|
278
|
+
UI_THEMES: exports.UI_THEMES,
|
|
279
|
+
BOX_CHARS: exports.BOX_CHARS,
|
|
280
|
+
ArtRenderer,
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
283
|
+
* FUTURE: .art → Component Compiler
|
|
284
|
+
*
|
|
285
|
+
* 1. Parse .art file
|
|
286
|
+
* 2. Extract layout from ASCII art
|
|
287
|
+
* 3. Apply ANSI colors for preview
|
|
288
|
+
* 4. Generate component code (React/Vue/Svelte)
|
|
289
|
+
* 5. Apply CSS from ANSI color mappings
|
|
290
|
+
*
|
|
291
|
+
* The ANSI codes become the bridge between
|
|
292
|
+
* ASCII mockups and real UI components!
|
|
293
|
+
*/
|
|
294
|
+
//# sourceMappingURL=art-ansi-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art-ansi-renderer.js","sourceRoot":"","sources":["../../src/engines/art-ansi-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🛂 FAF TSA - Dependency Intelligence
|
|
3
|
+
* Context enrichment through dependency analysis
|
|
4
|
+
*
|
|
5
|
+
* "We're INSPECTORS, not trash collectors"
|
|
6
|
+
* We ignore the trash and focus on the important stuff
|
|
7
|
+
* Understanding your project's story through its dependencies
|
|
8
|
+
* NEVER delete - just provide intelligence about what matters
|
|
9
|
+
*/
|
|
10
|
+
export interface DependencyInspection {
|
|
11
|
+
package: string;
|
|
12
|
+
version: string;
|
|
13
|
+
status: 'CORE' | 'ACTIVE' | 'DORMANT' | 'LEGACY';
|
|
14
|
+
usage: {
|
|
15
|
+
importCount: number;
|
|
16
|
+
fileCount: number;
|
|
17
|
+
locations: string[];
|
|
18
|
+
};
|
|
19
|
+
intelligence: {
|
|
20
|
+
category?: string;
|
|
21
|
+
purpose?: string;
|
|
22
|
+
alternatives?: string[];
|
|
23
|
+
bloatScore?: number;
|
|
24
|
+
pattern?: string;
|
|
25
|
+
};
|
|
26
|
+
insight: string;
|
|
27
|
+
}
|
|
28
|
+
export interface TSAReport {
|
|
29
|
+
totalPackages: number;
|
|
30
|
+
core: number;
|
|
31
|
+
active: number;
|
|
32
|
+
dormant: number;
|
|
33
|
+
legacy: number;
|
|
34
|
+
patterns: Record<string, string[]>;
|
|
35
|
+
contextScore: number;
|
|
36
|
+
insights: string[];
|
|
37
|
+
inspections: DependencyInspection[];
|
|
38
|
+
}
|
|
39
|
+
export declare class DependencyTSA {
|
|
40
|
+
private projectRoot;
|
|
41
|
+
private packageJson;
|
|
42
|
+
private inspectionResults;
|
|
43
|
+
constructor(projectRoot?: string);
|
|
44
|
+
/**
|
|
45
|
+
* 🔍 Full TSA Inspection
|
|
46
|
+
*/
|
|
47
|
+
inspect(): Promise<TSAReport>;
|
|
48
|
+
/**
|
|
49
|
+
* 🔎 Inspect individual package
|
|
50
|
+
*/
|
|
51
|
+
private inspectPackage;
|
|
52
|
+
/**
|
|
53
|
+
* 📊 Analyze actual usage in codebase
|
|
54
|
+
*/
|
|
55
|
+
private analyzeUsage;
|
|
56
|
+
/**
|
|
57
|
+
* 🕵️ Gather intelligence about package
|
|
58
|
+
*/
|
|
59
|
+
private gatherIntelligence;
|
|
60
|
+
/**
|
|
61
|
+
* 🔍 Detect duplicate functionality
|
|
62
|
+
*/
|
|
63
|
+
private detectDuplicates;
|
|
64
|
+
/**
|
|
65
|
+
* 💡 Find known alternatives
|
|
66
|
+
*/
|
|
67
|
+
private findAlternatives;
|
|
68
|
+
/**
|
|
69
|
+
* 🔍 Check if package is duplicate
|
|
70
|
+
*/
|
|
71
|
+
private isDuplicate;
|
|
72
|
+
/**
|
|
73
|
+
* 📊 Get usage pattern description
|
|
74
|
+
*/
|
|
75
|
+
private getUsagePattern;
|
|
76
|
+
/**
|
|
77
|
+
* 🏷️ Get package category
|
|
78
|
+
*/
|
|
79
|
+
private getPackageCategory;
|
|
80
|
+
/**
|
|
81
|
+
* 📋 Generate final TSA report
|
|
82
|
+
*/
|
|
83
|
+
private generateReport;
|
|
84
|
+
/**
|
|
85
|
+
* 📊 Display TSA Report
|
|
86
|
+
*/
|
|
87
|
+
static displayReport(report: TSAReport): void;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=dependency-tsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-tsa.d.ts","sourceRoot":"","sources":["../../src/engines/dependency-tsa.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,YAAY,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,WAAW,GAAE,MAAsB;IAW/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAsBnC;;OAEG;YACW,cAAc;IAwC5B;;OAEG;YACW,YAAY;IA4C1B;;OAEG;YACW,kBAAkB;IAsBhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuDtB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;CA0C9C"}
|