repomemory 0.1.0 → 0.2.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 +151 -104
- package/dist/commands/analyze.d.ts +2 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +162 -188
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/dashboard.d.ts +5 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +520 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +33 -34
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +2 -1
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +151 -35
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts +4 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +87 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +57 -27
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/wizard.d.ts +4 -0
- package/dist/commands/wizard.d.ts.map +1 -0
- package/dist/commands/wizard.js +184 -0
- package/dist/commands/wizard.js.map +1 -0
- package/dist/index.js +37 -42
- package/dist/index.js.map +1 -1
- package/dist/lib/ai-provider.d.ts +11 -0
- package/dist/lib/ai-provider.d.ts.map +1 -1
- package/dist/lib/ai-provider.js +138 -69
- package/dist/lib/ai-provider.js.map +1 -1
- package/dist/lib/config.d.ts +11 -15
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +33 -21
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-store.d.ts +11 -0
- package/dist/lib/context-store.d.ts.map +1 -1
- package/dist/lib/context-store.js +51 -18
- package/dist/lib/context-store.js.map +1 -1
- package/dist/lib/git.d.ts +1 -0
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +34 -20
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/json-repair.d.ts +24 -0
- package/dist/lib/json-repair.d.ts.map +1 -0
- package/dist/lib/json-repair.js +140 -0
- package/dist/lib/json-repair.js.map +1 -0
- package/dist/lib/repo-scanner.d.ts.map +1 -1
- package/dist/lib/repo-scanner.js +103 -26
- package/dist/lib/repo-scanner.js.map +1 -1
- package/dist/lib/search.d.ts +10 -4
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/lib/search.js +136 -51
- package/dist/lib/search.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +128 -54
- package/dist/mcp/server.js.map +1 -1
- package/package.json +20 -8
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for extracting and repairing JSON from AI model responses.
|
|
3
|
+
*
|
|
4
|
+
* AI models often wrap JSON in markdown code fences, include preamble/postamble text,
|
|
5
|
+
* or produce truncated output. These functions handle those cases.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Robustly extracts a JSON object from an AI response that may contain
|
|
9
|
+
* markdown code fences, preamble text, or other wrapping.
|
|
10
|
+
*/
|
|
11
|
+
export function extractJSON(raw) {
|
|
12
|
+
let text = raw.trim();
|
|
13
|
+
// Strategy 1: Strip outermost code fences
|
|
14
|
+
const fenceMatch = text.match(/^```(?:json)?\s*\n([\s\S]*)\n\s*```\s*$/);
|
|
15
|
+
if (fenceMatch) {
|
|
16
|
+
text = fenceMatch[1].trim();
|
|
17
|
+
}
|
|
18
|
+
// Strategy 2: Find first { to last }
|
|
19
|
+
if (!text.startsWith("{")) {
|
|
20
|
+
const firstBrace = text.indexOf("{");
|
|
21
|
+
const lastBrace = text.lastIndexOf("}");
|
|
22
|
+
if (firstBrace !== -1 && lastBrace > firstBrace) {
|
|
23
|
+
text = text.slice(firstBrace, lastBrace + 1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const attempts = [
|
|
27
|
+
() => text,
|
|
28
|
+
() => fixJsonNewlines(text),
|
|
29
|
+
() => repairTruncatedJSON(text),
|
|
30
|
+
() => repairTruncatedJSON(fixJsonNewlines(text)),
|
|
31
|
+
];
|
|
32
|
+
let lastError = null;
|
|
33
|
+
for (const attempt of attempts) {
|
|
34
|
+
try {
|
|
35
|
+
return JSON.parse(attempt());
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
lastError = e;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
throw lastError ?? new Error("Failed to parse AI response as JSON");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Fixes literal newlines, carriage returns, and tabs that appear
|
|
45
|
+
* inside JSON string values (unescaped). Walks the string character
|
|
46
|
+
* by character tracking whether we are inside a quoted string.
|
|
47
|
+
*/
|
|
48
|
+
export function fixJsonNewlines(json) {
|
|
49
|
+
const chars = [];
|
|
50
|
+
let inString = false;
|
|
51
|
+
let escaped = false;
|
|
52
|
+
for (let i = 0; i < json.length; i++) {
|
|
53
|
+
const ch = json[i];
|
|
54
|
+
if (escaped) {
|
|
55
|
+
chars.push(ch);
|
|
56
|
+
escaped = false;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (ch === "\\") {
|
|
60
|
+
chars.push(ch);
|
|
61
|
+
escaped = true;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (ch === '"') {
|
|
65
|
+
inString = !inString;
|
|
66
|
+
chars.push(ch);
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (inString && ch === "\n") {
|
|
70
|
+
chars.push("\\n");
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (inString && ch === "\r") {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (inString && ch === "\t") {
|
|
77
|
+
chars.push("\\t");
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
chars.push(ch);
|
|
81
|
+
}
|
|
82
|
+
return chars.join("");
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Attempts to repair truncated JSON by closing any open brackets,
|
|
86
|
+
* braces, and strings. Useful when the AI response was cut off
|
|
87
|
+
* mid-output due to token limits.
|
|
88
|
+
*/
|
|
89
|
+
export function repairTruncatedJSON(json) {
|
|
90
|
+
let text = json.trim();
|
|
91
|
+
if (text.endsWith("}")) {
|
|
92
|
+
try {
|
|
93
|
+
JSON.parse(text);
|
|
94
|
+
return text;
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Fall through to repair
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let inString = false;
|
|
101
|
+
let escaped = false;
|
|
102
|
+
const stack = [];
|
|
103
|
+
for (let i = 0; i < text.length; i++) {
|
|
104
|
+
const ch = text[i];
|
|
105
|
+
if (escaped) {
|
|
106
|
+
escaped = false;
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (ch === "\\") {
|
|
110
|
+
escaped = true;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (ch === '"') {
|
|
114
|
+
inString = !inString;
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
if (inString)
|
|
118
|
+
continue;
|
|
119
|
+
if (ch === "{")
|
|
120
|
+
stack.push("}");
|
|
121
|
+
else if (ch === "[")
|
|
122
|
+
stack.push("]");
|
|
123
|
+
else if (ch === "}" || ch === "]")
|
|
124
|
+
stack.pop();
|
|
125
|
+
}
|
|
126
|
+
if (inString) {
|
|
127
|
+
text += '"';
|
|
128
|
+
}
|
|
129
|
+
text = text.replace(/,\s*$/, "");
|
|
130
|
+
while (stack.length > 0) {
|
|
131
|
+
const closer = stack.pop();
|
|
132
|
+
if (closer === "]") {
|
|
133
|
+
text = text.replace(/,\s*\{[^}]*$/, "");
|
|
134
|
+
text = text.replace(/,\s*"[^"]*$/, "");
|
|
135
|
+
}
|
|
136
|
+
text += closer;
|
|
137
|
+
}
|
|
138
|
+
return text;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=json-repair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-repair.js","sourceRoot":"","sources":["../../src/lib/json-repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/repo-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"repo-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/repo-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAgGD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,GACxB,QAAQ,CAwLV"}
|
package/dist/lib/repo-scanner.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readdirSync, readFileSync, statSync } from "fs";
|
|
1
|
+
import { readdirSync, readFileSync, statSync, existsSync } from "fs";
|
|
2
2
|
import { join, relative, extname, basename } from "path";
|
|
3
3
|
const LANGUAGE_MAP = {
|
|
4
4
|
".ts": "TypeScript",
|
|
@@ -18,6 +18,12 @@ const LANGUAGE_MAP = {
|
|
|
18
18
|
".c": "C",
|
|
19
19
|
".vue": "Vue",
|
|
20
20
|
".svelte": "Svelte",
|
|
21
|
+
".zig": "Zig",
|
|
22
|
+
".ex": "Elixir",
|
|
23
|
+
".exs": "Elixir",
|
|
24
|
+
".scala": "Scala",
|
|
25
|
+
".dart": "Dart",
|
|
26
|
+
".lua": "Lua",
|
|
21
27
|
};
|
|
22
28
|
const BINARY_EXTENSIONS = new Set([
|
|
23
29
|
".png", ".jpg", ".jpeg", ".gif", ".ico", ".svg", ".webp", ".avif",
|
|
@@ -29,13 +35,30 @@ const BINARY_EXTENSIONS = new Set([
|
|
|
29
35
|
".sqlite", ".db",
|
|
30
36
|
".wasm",
|
|
31
37
|
]);
|
|
38
|
+
function loadGitignorePatterns(repoRoot) {
|
|
39
|
+
const gitignorePath = join(repoRoot, ".gitignore");
|
|
40
|
+
if (!existsSync(gitignorePath))
|
|
41
|
+
return [];
|
|
42
|
+
try {
|
|
43
|
+
return readFileSync(gitignorePath, "utf-8")
|
|
44
|
+
.split("\n")
|
|
45
|
+
.map((line) => line.trim())
|
|
46
|
+
.filter((line) => line && !line.startsWith("#"))
|
|
47
|
+
.map((line) => line.replace(/\/$/, "")); // Remove trailing slash
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
32
53
|
function shouldIgnore(name, ignorePatterns) {
|
|
33
54
|
return ignorePatterns.some((pattern) => {
|
|
34
|
-
|
|
35
|
-
|
|
55
|
+
// Strip leading /
|
|
56
|
+
const p = pattern.startsWith("/") ? pattern.slice(1) : pattern;
|
|
57
|
+
if (p.includes("*")) {
|
|
58
|
+
const regex = new RegExp("^" + p.replace(/\./g, "\\.").replace(/\*\*/g, ".*").replace(/\*/g, "[^/]*").replace(/\?/g, ".") + "$");
|
|
36
59
|
return regex.test(name);
|
|
37
60
|
}
|
|
38
|
-
return name ===
|
|
61
|
+
return name === p;
|
|
39
62
|
});
|
|
40
63
|
}
|
|
41
64
|
function isBinaryFile(filePath) {
|
|
@@ -47,13 +70,13 @@ function matchesKeyPattern(relativePath, patterns) {
|
|
|
47
70
|
if (pattern.includes("**/")) {
|
|
48
71
|
const suffix = pattern.replace("**/", "");
|
|
49
72
|
if (suffix.includes("*")) {
|
|
50
|
-
const regex = new RegExp(suffix.replace(/\*/g, "
|
|
73
|
+
const regex = new RegExp(suffix.replace(/\./g, "\\.").replace(/\*/g, "[^/]*").replace(/\?/g, "."));
|
|
51
74
|
return regex.test(name);
|
|
52
75
|
}
|
|
53
76
|
return relativePath.endsWith(suffix) || name === suffix;
|
|
54
77
|
}
|
|
55
78
|
if (pattern.includes("*")) {
|
|
56
|
-
const regex = new RegExp("^" + pattern.replace(/\*/g, "
|
|
79
|
+
const regex = new RegExp("^" + pattern.replace(/\./g, "\\.").replace(/\*/g, "[^/]*").replace(/\?/g, ".") + "$");
|
|
57
80
|
return regex.test(name);
|
|
58
81
|
}
|
|
59
82
|
return name === pattern || relativePath === pattern;
|
|
@@ -64,9 +87,12 @@ export function scanRepo(root, config) {
|
|
|
64
87
|
const treeLines = [];
|
|
65
88
|
const languages = {};
|
|
66
89
|
let totalDirs = 0;
|
|
90
|
+
// Merge gitignore patterns with config patterns
|
|
91
|
+
const gitignorePatterns = loadGitignorePatterns(root);
|
|
92
|
+
const allIgnorePatterns = [...config.ignorePatterns, ...gitignorePatterns];
|
|
67
93
|
function walk(dir, prefix, depth) {
|
|
68
94
|
if (depth > 6)
|
|
69
|
-
return;
|
|
95
|
+
return;
|
|
70
96
|
let entries;
|
|
71
97
|
try {
|
|
72
98
|
entries = readdirSync(dir).sort();
|
|
@@ -74,28 +100,28 @@ export function scanRepo(root, config) {
|
|
|
74
100
|
catch {
|
|
75
101
|
return;
|
|
76
102
|
}
|
|
77
|
-
const filtered = entries.filter((e) => !shouldIgnore(e,
|
|
103
|
+
const filtered = entries.filter((e) => !shouldIgnore(e, allIgnorePatterns) && !e.startsWith("."));
|
|
78
104
|
filtered.forEach((entry, idx) => {
|
|
79
105
|
const fullPath = join(dir, entry);
|
|
80
106
|
const relPath = relative(root, fullPath);
|
|
81
107
|
const isLast = idx === filtered.length - 1;
|
|
82
|
-
const connector = isLast ? "
|
|
83
|
-
const childPrefix = isLast ? " " : "
|
|
108
|
+
const connector = isLast ? "\u2514\u2500\u2500 " : "\u251c\u2500\u2500 ";
|
|
109
|
+
const childPrefix = isLast ? " " : "\u2502 ";
|
|
84
110
|
try {
|
|
85
111
|
const stat = statSync(fullPath);
|
|
86
112
|
if (stat.isDirectory()) {
|
|
87
113
|
totalDirs++;
|
|
88
|
-
|
|
114
|
+
if (depth <= 3) {
|
|
115
|
+
treeLines.push(`${prefix}${connector}${entry}/`);
|
|
116
|
+
}
|
|
89
117
|
walk(fullPath, prefix + childPrefix, depth + 1);
|
|
90
118
|
}
|
|
91
119
|
else {
|
|
92
|
-
// Track file
|
|
93
120
|
const ext = extname(entry).toLowerCase();
|
|
94
121
|
if (LANGUAGE_MAP[ext]) {
|
|
95
122
|
languages[LANGUAGE_MAP[ext]] =
|
|
96
123
|
(languages[LANGUAGE_MAP[ext]] || 0) + 1;
|
|
97
124
|
}
|
|
98
|
-
// Only add to tree at shallow depths
|
|
99
125
|
if (depth <= 3) {
|
|
100
126
|
treeLines.push(`${prefix}${connector}${entry}`);
|
|
101
127
|
}
|
|
@@ -117,6 +143,7 @@ export function scanRepo(root, config) {
|
|
|
117
143
|
const packageManagers = [];
|
|
118
144
|
const frameworks = [];
|
|
119
145
|
const fileNames = new Set(allFiles.map((f) => basename(f.relativePath)));
|
|
146
|
+
const rootFiles = new Set(allFiles.filter((f) => !f.relativePath.includes("/")).map((f) => f.relativePath));
|
|
120
147
|
if (fileNames.has("package-lock.json"))
|
|
121
148
|
packageManagers.push("npm");
|
|
122
149
|
if (fileNames.has("yarn.lock"))
|
|
@@ -125,6 +152,14 @@ export function scanRepo(root, config) {
|
|
|
125
152
|
packageManagers.push("pnpm");
|
|
126
153
|
if (fileNames.has("bun.lockb"))
|
|
127
154
|
packageManagers.push("bun");
|
|
155
|
+
if (rootFiles.has("Cargo.toml"))
|
|
156
|
+
packageManagers.push("cargo");
|
|
157
|
+
if (rootFiles.has("go.mod"))
|
|
158
|
+
packageManagers.push("go modules");
|
|
159
|
+
if (rootFiles.has("Gemfile"))
|
|
160
|
+
packageManagers.push("bundler");
|
|
161
|
+
if (rootFiles.has("requirements.txt") || rootFiles.has("pyproject.toml"))
|
|
162
|
+
packageManagers.push("pip");
|
|
128
163
|
// Read package.json for framework detection
|
|
129
164
|
const pkgJsonPath = join(root, "package.json");
|
|
130
165
|
try {
|
|
@@ -135,11 +170,13 @@ export function scanRepo(root, config) {
|
|
|
135
170
|
};
|
|
136
171
|
if (allDeps["next"])
|
|
137
172
|
frameworks.push("Next.js");
|
|
138
|
-
if (allDeps["react"])
|
|
173
|
+
if (allDeps["react"] && !allDeps["next"])
|
|
139
174
|
frameworks.push("React");
|
|
140
175
|
if (allDeps["vue"])
|
|
141
176
|
frameworks.push("Vue");
|
|
142
|
-
if (allDeps["
|
|
177
|
+
if (allDeps["nuxt"])
|
|
178
|
+
frameworks.push("Nuxt");
|
|
179
|
+
if (allDeps["svelte"] || allDeps["@sveltejs/kit"])
|
|
143
180
|
frameworks.push("Svelte");
|
|
144
181
|
if (allDeps["express"])
|
|
145
182
|
frameworks.push("Express");
|
|
@@ -151,34 +188,74 @@ export function scanRepo(root, config) {
|
|
|
151
188
|
frameworks.push("Drizzle ORM");
|
|
152
189
|
if (allDeps["prisma"] || allDeps["@prisma/client"])
|
|
153
190
|
frameworks.push("Prisma");
|
|
154
|
-
if (allDeps["django"])
|
|
155
|
-
frameworks.push("Django");
|
|
156
|
-
if (allDeps["flask"])
|
|
157
|
-
frameworks.push("Flask");
|
|
158
191
|
if (allDeps["@cloudflare/workers-types"])
|
|
159
192
|
frameworks.push("Cloudflare Workers");
|
|
193
|
+
if (allDeps["astro"])
|
|
194
|
+
frameworks.push("Astro");
|
|
195
|
+
if (allDeps["remix"] || allDeps["@remix-run/node"])
|
|
196
|
+
frameworks.push("Remix");
|
|
197
|
+
if (allDeps["angular"] || allDeps["@angular/core"])
|
|
198
|
+
frameworks.push("Angular");
|
|
199
|
+
if (allDeps["tailwindcss"])
|
|
200
|
+
frameworks.push("Tailwind CSS");
|
|
160
201
|
}
|
|
161
202
|
catch {
|
|
162
203
|
// No package.json or can't parse
|
|
163
204
|
}
|
|
164
|
-
//
|
|
205
|
+
// Detect from other ecosystem files
|
|
206
|
+
if (rootFiles.has("Cargo.toml")) {
|
|
207
|
+
try {
|
|
208
|
+
const cargo = readFileSync(join(root, "Cargo.toml"), "utf-8");
|
|
209
|
+
if (cargo.includes("actix"))
|
|
210
|
+
frameworks.push("Actix");
|
|
211
|
+
if (cargo.includes("axum"))
|
|
212
|
+
frameworks.push("Axum");
|
|
213
|
+
if (cargo.includes("tokio"))
|
|
214
|
+
frameworks.push("Tokio");
|
|
215
|
+
}
|
|
216
|
+
catch { }
|
|
217
|
+
}
|
|
218
|
+
if (rootFiles.has("go.mod")) {
|
|
219
|
+
try {
|
|
220
|
+
const gomod = readFileSync(join(root, "go.mod"), "utf-8");
|
|
221
|
+
if (gomod.includes("gin-gonic"))
|
|
222
|
+
frameworks.push("Gin");
|
|
223
|
+
if (gomod.includes("fiber"))
|
|
224
|
+
frameworks.push("Fiber");
|
|
225
|
+
if (gomod.includes("echo"))
|
|
226
|
+
frameworks.push("Echo");
|
|
227
|
+
}
|
|
228
|
+
catch { }
|
|
229
|
+
}
|
|
230
|
+
if (rootFiles.has("pyproject.toml") || rootFiles.has("requirements.txt")) {
|
|
231
|
+
try {
|
|
232
|
+
const pyfile = rootFiles.has("pyproject.toml")
|
|
233
|
+
? readFileSync(join(root, "pyproject.toml"), "utf-8")
|
|
234
|
+
: readFileSync(join(root, "requirements.txt"), "utf-8");
|
|
235
|
+
if (pyfile.includes("django"))
|
|
236
|
+
frameworks.push("Django");
|
|
237
|
+
if (pyfile.includes("flask"))
|
|
238
|
+
frameworks.push("Flask");
|
|
239
|
+
if (pyfile.includes("fastapi"))
|
|
240
|
+
frameworks.push("FastAPI");
|
|
241
|
+
}
|
|
242
|
+
catch { }
|
|
243
|
+
}
|
|
244
|
+
// Check for monorepo — root package.json with workspaces field
|
|
165
245
|
const hasWorkspaces = allFiles.some((f) => f.relativePath === "pnpm-workspace.yaml") ||
|
|
166
|
-
|
|
167
|
-
if (basename(f.relativePath) !== "package.json" || f.relativePath !== "package.json")
|
|
168
|
-
return false;
|
|
246
|
+
(() => {
|
|
169
247
|
try {
|
|
170
|
-
const pkg = JSON.parse(readFileSync(
|
|
248
|
+
const pkg = JSON.parse(readFileSync(pkgJsonPath, "utf-8"));
|
|
171
249
|
return pkg.workspaces != null;
|
|
172
250
|
}
|
|
173
251
|
catch {
|
|
174
252
|
return false;
|
|
175
253
|
}
|
|
176
|
-
});
|
|
254
|
+
})();
|
|
177
255
|
// Read key files
|
|
178
256
|
const keyFiles = allFiles
|
|
179
257
|
.filter((f) => f.isKeyFile && !isBinaryFile(f.path) && f.size <= config.maxFileSize)
|
|
180
258
|
.sort((a, b) => {
|
|
181
|
-
// Prioritize root-level files
|
|
182
259
|
const aDepth = a.relativePath.split("/").length;
|
|
183
260
|
const bDepth = b.relativePath.split("/").length;
|
|
184
261
|
return aDepth - bDepth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-scanner.js","sourceRoot":"","sources":["../../src/lib/repo-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAyBzD,MAAM,YAAY,GAA2B;IAC3C,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,QAAQ;CACpB,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAC5C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IACxC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;IAC/B,SAAS,EAAE,KAAK;IAChB,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,IAAY,EAAE,cAAwB;IAC1D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAC7D,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,KAAK,OAAO,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAoB,EAAE,QAAkB;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAChD,CAAC;gBACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAC7D,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,KAAK,OAAO,IAAI,YAAY,KAAK,OAAO,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAY,EACZ,MAAyB;IAEzB,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,SAAS,IAAI,CAAC,GAAW,EAAE,MAAc,EAAE,KAAa;QACtD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,oBAAoB;QAE3C,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CACrE,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,GAAG,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAE7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEhC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvB,SAAS,EAAE,CAAC;oBACZ,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,aAAa;oBACb,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtB,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;4BAC1B,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC;oBAED,qCAAqC;oBACrC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBACf,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC;oBAClD,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAElB,yCAAyC;IACzC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzE,IAAI,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5D,4CAA4C;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG;YACd,GAAG,GAAG,CAAC,YAAY;YACnB,GAAG,GAAG,CAAC,eAAe;SACvB,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,SAAS,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,SAAS,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,aAAa,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,2BAA2B,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,qBAAqB;IACrB,MAAM,aAAa,GACjB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,qBAAqB,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,cAAc,IAAI,CAAC,CAAC,YAAY,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YACnG,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtD,OAAO,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,MAAM,QAAQ,GAAG,QAAQ;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC;SACnF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,8BAA8B;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAChD,OAAO,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,YAAY;gBACpB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;aACpE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,QAAQ;QACR,QAAQ;QACR,KAAK,EAAE;YACL,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,SAAS;YACT,SAAS;YACT,WAAW,EAAE,aAAa;YAC1B,eAAe;YACf,UAAU;SACX;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"repo-scanner.js","sourceRoot":"","sources":["../../src/lib/repo-scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/search.d.ts
CHANGED
|
@@ -9,13 +9,19 @@ export interface SearchResult {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class SearchIndex {
|
|
11
11
|
private db;
|
|
12
|
+
private dbPath;
|
|
12
13
|
private store;
|
|
14
|
+
private initialized;
|
|
13
15
|
constructor(contextDir: string, store: ContextStore);
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
private ensureDb;
|
|
17
|
+
private initSchema;
|
|
18
|
+
rebuild(): Promise<void>;
|
|
19
|
+
indexEntry(entry: ContextEntry): Promise<void>;
|
|
20
|
+
removeEntry(category: string, filename: string): Promise<void>;
|
|
21
|
+
search(query: string, category?: string, limit?: number): Promise<SearchResult[]>;
|
|
22
|
+
private mapResults;
|
|
18
23
|
private extractSnippet;
|
|
24
|
+
private save;
|
|
19
25
|
close(): void;
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=search.d.ts.map
|
package/dist/lib/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AA0BD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;YAKrC,QAAQ;IAwBtB,OAAO,CAAC,UAAU;IAmDZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBxB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA+D3F,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,IAAI;IAUZ,KAAK,IAAI,IAAI;CAQd"}
|