indexer-cli 0.3.9 → 0.4.1

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.
@@ -38,14 +38,23 @@ const ts_morph_1 = require("ts-morph");
38
38
  const path = __importStar(require("node:path"));
39
39
  const fs = __importStar(require("node:fs"));
40
40
  class TypeScriptPlugin {
41
- id = 'typescript';
42
- fileExtensions = ['.ts', '.tsx', '.mts', '.cts', '.js', '.jsx'];
41
+ id = "typescript";
42
+ fileExtensions = [
43
+ ".ts",
44
+ ".tsx",
45
+ ".mts",
46
+ ".cts",
47
+ ".js",
48
+ ".jsx",
49
+ ];
43
50
  project;
44
51
  constructor() {
45
52
  this.project = new ts_morph_1.Project({ useInMemoryFileSystem: true });
46
53
  }
47
54
  parse(file) {
48
- const sourceFile = this.project.createSourceFile(file.path, file.content, { overwrite: true });
55
+ const sourceFile = this.project.createSourceFile(file.path, file.content, {
56
+ overwrite: true,
57
+ });
49
58
  return {
50
59
  languageId: this.id,
51
60
  path: file.path,
@@ -54,42 +63,45 @@ class TypeScriptPlugin {
54
63
  }
55
64
  getEntrypoints(filePaths) {
56
65
  const entrypointPatterns = {
57
- 'App.tsx': 8,
58
- 'app.tsx': 8,
59
- 'main.ts': 7,
60
- 'main.mts': 7,
61
- 'main.cts': 7,
62
- 'main.js': 6,
63
- 'main.jsx': 6,
64
- 'main.tsx': 6,
65
- 'server.ts': 7,
66
- 'server.mts': 7,
67
- 'server.cts': 7,
68
- 'server.js': 6,
69
- 'server.jsx': 6,
70
- 'app.ts': 6,
71
- 'app.mts': 6,
72
- 'app.cts': 6,
73
- 'cli.ts': 6,
74
- 'cli.mts': 6,
75
- 'cli.cts': 6,
76
- 'cli.js': 5,
77
- 'index.tsx': 5,
78
- 'index.ts': 5,
79
- 'index.mts': 5,
80
- 'index.cts': 5,
81
- 'index.js': 4,
82
- 'index.jsx': 4,
66
+ "App.tsx": 8,
67
+ "app.tsx": 8,
68
+ "main.ts": 7,
69
+ "main.mts": 7,
70
+ "main.cts": 7,
71
+ "main.js": 6,
72
+ "main.jsx": 6,
73
+ "main.tsx": 6,
74
+ "server.ts": 7,
75
+ "server.mts": 7,
76
+ "server.cts": 7,
77
+ "server.js": 6,
78
+ "server.jsx": 6,
79
+ "app.ts": 6,
80
+ "app.mts": 6,
81
+ "app.cts": 6,
82
+ "cli.ts": 6,
83
+ "cli.mts": 6,
84
+ "cli.cts": 6,
85
+ "cli.js": 5,
86
+ "index.tsx": 5,
87
+ "index.ts": 5,
88
+ "index.mts": 5,
89
+ "index.cts": 5,
90
+ "index.js": 4,
91
+ "index.jsx": 4,
83
92
  };
84
93
  const ranked = filePaths
85
94
  .map((filePath) => {
86
95
  const fileName = path.basename(filePath);
87
- const baseScore = entrypointPatterns[fileName] ?? 0;
96
+ const fileContent = this.readEntrypointCandidate(filePath);
97
+ const nameScore = entrypointPatterns[fileName] ?? 0;
98
+ const mainScore = this.hasMainEntrypointPattern(fileContent) ? 6 : 0;
99
+ const baseScore = Math.max(nameScore, mainScore);
88
100
  if (!baseScore)
89
101
  return null;
90
- const depth = filePath.split('/').length;
91
- const bonus = filePath.includes('/src/') ? 1 : 0;
92
- const penalty = filePath.includes('/dist/') ? 3 : 0;
102
+ const depth = filePath.split("/").length;
103
+ const bonus = filePath.includes("/src/") ? 1 : 0;
104
+ const penalty = filePath.includes("/dist/") ? 3 : 0;
93
105
  const score = baseScore * 10 - depth + bonus - penalty;
94
106
  return { path: filePath, score };
95
107
  })
@@ -103,42 +115,67 @@ class TypeScriptPlugin {
103
115
  const sourceFile = parsed.ast;
104
116
  const symbols = [];
105
117
  const isExportedSafe = (node) => {
106
- if (node && typeof node.isExported === 'function') {
118
+ if (node && typeof node.isExported === "function") {
107
119
  return node.isExported();
108
120
  }
109
- if (node && typeof node.hasModifier === 'function') {
121
+ if (node && typeof node.hasModifier === "function") {
110
122
  return node.hasModifier(ts_morph_1.SyntaxKind.ExportKeyword);
111
123
  }
112
124
  return false;
113
125
  };
114
126
  for (const f of sourceFile.getFunctions()) {
115
127
  symbols.push({
116
- id: `${sourceFile.getFilePath()}:func:${f.getName() || 'anon'}:${f.getStart()}`,
117
- name: f.getName() || 'anonymous',
118
- kind: 'function',
128
+ id: `${sourceFile.getFilePath()}:func:${f.getName() || "anon"}:${f.getStart()}`,
129
+ name: f.getName() || "anonymous",
130
+ kind: "function",
119
131
  filePath: sourceFile.getFilePath(),
120
132
  range: this.getRange(f),
121
133
  exported: isExportedSafe(f),
134
+ signature: this.firstLine(f.getText()),
135
+ });
136
+ }
137
+ for (const iface of sourceFile.getInterfaces()) {
138
+ symbols.push({
139
+ id: `${sourceFile.getFilePath()}:interface:${iface.getName() || "anon"}:${iface.getStart()}`,
140
+ name: iface.getName() || "anonymous",
141
+ kind: "interface",
142
+ filePath: sourceFile.getFilePath(),
143
+ range: this.getRange(iface),
144
+ exported: isExportedSafe(iface),
145
+ signature: this.firstLine(iface.getText()),
146
+ });
147
+ }
148
+ for (const typeAlias of sourceFile.getTypeAliases()) {
149
+ symbols.push({
150
+ id: `${sourceFile.getFilePath()}:type:${typeAlias.getName() || "anon"}:${typeAlias.getStart()}`,
151
+ name: typeAlias.getName() || "anonymous",
152
+ kind: "type",
153
+ filePath: sourceFile.getFilePath(),
154
+ range: this.getRange(typeAlias),
155
+ exported: isExportedSafe(typeAlias),
156
+ signature: this.firstLine(typeAlias.getText()),
122
157
  });
123
158
  }
124
159
  for (const c of sourceFile.getClasses()) {
125
160
  symbols.push({
126
- id: `${sourceFile.getFilePath()}:class:${c.getName() || 'anon'}:${c.getStart()}`,
127
- name: c.getName() || 'anonymous',
128
- kind: 'class',
161
+ id: `${sourceFile.getFilePath()}:class:${c.getName() || "anon"}:${c.getStart()}`,
162
+ name: c.getName() || "anonymous",
163
+ kind: "class",
129
164
  filePath: sourceFile.getFilePath(),
130
165
  range: this.getRange(c),
131
166
  exported: isExportedSafe(c),
167
+ signature: this.firstLine(c.getText()),
132
168
  });
133
169
  for (const m of c.getMethods()) {
134
170
  symbols.push({
135
171
  id: `${sourceFile.getFilePath()}:method:${c.getName()}:${m.getName()}:${m.getStart()}`,
136
172
  name: m.getName(),
137
- kind: 'method',
173
+ kind: "method",
138
174
  filePath: sourceFile.getFilePath(),
139
175
  range: this.getRange(m),
140
176
  containerName: c.getName(),
141
177
  exported: isExportedSafe(m),
178
+ signature: this.firstLine(m.getText()),
142
179
  });
143
180
  }
144
181
  }
@@ -148,8 +185,8 @@ class TypeScriptPlugin {
148
185
  const sourceFile = parsed.ast;
149
186
  const imports = [];
150
187
  const toRelative = (p) => {
151
- const normalized = p.replace(/\\/g, '/');
152
- return normalized.startsWith('/') ? normalized.substring(1) : normalized;
188
+ const normalized = p.replace(/\\/g, "/");
189
+ return normalized.startsWith("/") ? normalized.substring(1) : normalized;
153
190
  };
154
191
  const handleDeclaration = (decl, kind) => {
155
192
  const spec = decl.getModuleSpecifierValue();
@@ -163,7 +200,7 @@ class TypeScriptPlugin {
163
200
  }
164
201
  }
165
202
  catch (e) { }
166
- if (!resolvedPath && spec.startsWith('.')) {
203
+ if (!resolvedPath && spec.startsWith(".")) {
167
204
  try {
168
205
  const currentFileDir = path.dirname(path.resolve(process.cwd(), parsed.path));
169
206
  const absPath = path.resolve(currentFileDir, spec);
@@ -171,7 +208,7 @@ class TypeScriptPlugin {
171
208
  resolvedPath = path.relative(process.cwd(), absPath);
172
209
  }
173
210
  else {
174
- const extensions = ['.ts', '.tsx', '.js', '.jsx', '.d.ts'];
211
+ const extensions = [".ts", ".tsx", ".js", ".jsx", ".d.ts"];
175
212
  for (const ext of extensions) {
176
213
  const candidate = absPath + ext;
177
214
  if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
@@ -181,7 +218,7 @@ class TypeScriptPlugin {
181
218
  }
182
219
  }
183
220
  if (!resolvedPath) {
184
- const extensions = ['.ts', '.tsx', '.js', '.jsx', '.d.ts'];
221
+ const extensions = [".ts", ".tsx", ".js", ".jsx", ".d.ts"];
185
222
  for (const ext of extensions) {
186
223
  const candidate = path.join(absPath, `index${ext}`);
187
224
  if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
@@ -206,10 +243,10 @@ class TypeScriptPlugin {
206
243
  });
207
244
  };
208
245
  for (const decl of sourceFile.getImportDeclarations()) {
209
- handleDeclaration(decl, 'import');
246
+ handleDeclaration(decl, "import");
210
247
  }
211
248
  for (const decl of sourceFile.getExportDeclarations()) {
212
- handleDeclaration(decl, 'export');
249
+ handleDeclaration(decl, "export");
213
250
  }
214
251
  return imports;
215
252
  }
@@ -250,7 +287,7 @@ class TypeScriptPlugin {
250
287
  classifyChunkType(text) {
251
288
  const trimmed = text.trim();
252
289
  if (!trimmed)
253
- return 'impl';
290
+ return "impl";
254
291
  const lines = trimmed
255
292
  .split(/\r?\n/)
256
293
  .map((line) => line.trim())
@@ -258,13 +295,13 @@ class TypeScriptPlugin {
258
295
  if (lines.length > 0) {
259
296
  const importLikeLines = lines.filter((line) => /^(import\b|export\b.+\bfrom\b|const\s+.+\s*=\s*require\()/i.test(line)).length;
260
297
  if (importLikeLines / lines.length >= 0.75) {
261
- return 'imports';
298
+ return "imports";
262
299
  }
263
300
  }
264
301
  if (/(^|\s)(interface|type|enum)\b/.test(trimmed)) {
265
- return 'types';
302
+ return "types";
266
303
  }
267
- return 'impl';
304
+ return "impl";
268
305
  }
269
306
  extractPrimarySymbol(text) {
270
307
  const trimmed = text.trim();
@@ -290,6 +327,20 @@ class TypeScriptPlugin {
290
327
  buildChunkId(filePath, range) {
291
328
  return `${filePath}:${range.startLine}-${range.endLine}`;
292
329
  }
330
+ readEntrypointCandidate(filePath) {
331
+ try {
332
+ return fs.readFileSync(path.resolve(process.cwd(), filePath), "utf8");
333
+ }
334
+ catch {
335
+ return "";
336
+ }
337
+ }
338
+ hasMainEntrypointPattern(fileContent) {
339
+ if (!fileContent) {
340
+ return false;
341
+ }
342
+ return /export\s+(?:async\s+)?function\s+main\s*\(/.test(fileContent);
343
+ }
293
344
  splitOversizedSegment(segment, maxTokens, overlapTokens) {
294
345
  if (segment.estimatedTokens <= maxTokens) {
295
346
  return [segment];
@@ -324,7 +375,7 @@ class TypeScriptPlugin {
324
375
  const nextTokens = lineTokens[i] ?? 0;
325
376
  if (currentLines.length > 0 && currentTokens + nextTokens > maxTokens) {
326
377
  const endIndex = currentStartIndex + currentLines.length - 1;
327
- const chunkText = currentLines.join('\n');
378
+ const chunkText = currentLines.join("\n");
328
379
  results.push({
329
380
  text: chunkText,
330
381
  range: {
@@ -338,7 +389,8 @@ class TypeScriptPlugin {
338
389
  const overlapStart = overlapStartIndexFor(currentStartIndex, endIndex);
339
390
  currentStartIndex = overlapStart;
340
391
  currentLines = lines.slice(currentStartIndex, i);
341
- currentTokens = currentLines.length > 0 ? sumTokens(currentStartIndex, i - 1) : 0;
392
+ currentTokens =
393
+ currentLines.length > 0 ? sumTokens(currentStartIndex, i - 1) : 0;
342
394
  }
343
395
  currentLines.push(lines[i]);
344
396
  currentTokens += nextTokens;
@@ -346,7 +398,7 @@ class TypeScriptPlugin {
346
398
  if (currentLines.length > 0) {
347
399
  const endIndex = currentStartIndex + currentLines.length - 1;
348
400
  results.push({
349
- text: currentLines.join('\n'),
401
+ text: currentLines.join("\n"),
350
402
  range: {
351
403
  startLine: segment.range.startLine + currentStartIndex,
352
404
  startCol: 0,
@@ -369,7 +421,7 @@ class TypeScriptPlugin {
369
421
  const first = buffer[0];
370
422
  const last = buffer[buffer.length - 1];
371
423
  merged.push({
372
- text: buffer.map((segment) => segment.text).join(''),
424
+ text: buffer.map((segment) => segment.text).join(""),
373
425
  range: {
374
426
  startLine: first.range.startLine,
375
427
  startCol: first.range.startCol,
@@ -390,7 +442,8 @@ class TypeScriptPlugin {
390
442
  merged.push(segment);
391
443
  continue;
392
444
  }
393
- if (bufferTokens + segment.estimatedTokens <= maxTokens || bufferTokens < minTokens) {
445
+ if (bufferTokens + segment.estimatedTokens <= maxTokens ||
446
+ bufferTokens < minTokens) {
394
447
  buffer.push(segment);
395
448
  bufferTokens += segment.estimatedTokens;
396
449
  if (bufferTokens >= targetTokens) {
@@ -432,6 +485,13 @@ class TypeScriptPlugin {
432
485
  endCol: 0,
433
486
  };
434
487
  }
488
+ firstLine(text) {
489
+ const trimmed = text.trim();
490
+ if (!trimmed)
491
+ return trimmed;
492
+ const newlineIndex = trimmed.indexOf("\n");
493
+ return newlineIndex === -1 ? trimmed : trimmed.slice(0, newlineIndex);
494
+ }
435
495
  }
436
496
  exports.TypeScriptPlugin = TypeScriptPlugin;
437
497
  exports.plugin = new TypeScriptPlugin();
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,uCAAqD;AACrD,gDAAkC;AAClC,4CAA8B;AAQ9B,MAAa,gBAAgB;IACX,EAAE,GAAG,YAAY,CAAC;IAClB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAExE,OAAO,CAAU;IAEzB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAO,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,IAAgB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,UAAU;SAChB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,SAAmB;QAChC,MAAM,kBAAkB,GAA2B;YACjD,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS;aACrB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,SAAS,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;YAEvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,KAAK,EAA4C,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,MAAkB;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAU,CAAC;QACrC,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,EAAE;YACnC,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC/E,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,WAAW;gBAChC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE;gBAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvB,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,WAAW;gBAChC,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE;gBAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvB,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;aAC5B,CAAC,CAAC;YAEH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACtF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE;oBAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACvB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC1B,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,MAAkB;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAU,CAAC;QACrC,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3E,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,IAAyB,EAAE,EAAE;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,IAAI,YAAgC,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAC7D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAEd,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAEnD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;wBAC5D,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;wBAC3D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;4BAC7B,MAAM,SAAS,GAAG,OAAO,GAAG,GAAG,CAAC;4BAChC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gCAChE,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;gCACvD,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;wBAC3D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;4BAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;4BACpD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gCAChE,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;gCACvD,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAChB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC5D,IAAI;gBACJ,IAAI;gBACJ,YAAY;gBACZ,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE;gBAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACtD,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACtD,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,MAAkB,EAAE,IAAkB;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAU,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,IAAI,YAAY,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,KAAK;gBACL,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAC9D,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CACvC,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,CACV,CAAC;QAEF,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;YAC9D,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE;YAClC,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/C,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;aACvD;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC;QAE5B,MAAM,KAAK,GAAG,OAAO;aAClB,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC,CACxE,CAAC,MAAM,CAAC;YACT,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC3C,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CACpC,mFAAmF,CACpF,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,YAAY,CAAC,QAAgB,EAAE,KAAgB;QACrD,OAAO,GAAG,QAAQ,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAC3B,OAAqB,EACrB,SAAiB,EACjB,aAAqB;QAErB,IAAI,OAAO,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;YAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;YAC1D,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;oBAC3B,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;gBACtE,MAAM,QAAQ,GAAG,iBAAiB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB;wBACtD,QAAQ,EAAE,CAAC;wBACX,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;wBAC3C,MAAM,EAAE,CAAC;qBACV;oBACD,eAAe,EAAE,aAAa;iBAC/B,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBACvE,iBAAiB,GAAG,YAAY,CAAC;gBACjC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACjD,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,aAAa,IAAI,UAAU,CAAC;QAC9B,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,iBAAiB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB;oBACtD,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;oBAC3C,MAAM,EAAE,CAAC;iBACV;gBACD,eAAe,EAAE,aAAa;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa,CACnB,QAAwB,EACxB,YAAoB,EACpB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,MAAM,GAAmB,EAAE,CAAC;QAChC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oBAChC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;oBAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;oBAC3B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;iBAC1B;gBACD,eAAe,EAAE,YAAY;aAC9B,CAAC,CAAC;YACH,MAAM,GAAG,EAAE,CAAC;YACZ,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,EAAE,CAAC;gBACxC,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,YAAY,GAAG,OAAO,CAAC,eAAe,IAAI,SAAS,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;gBACxC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;oBACjC,KAAK,EAAE,CAAC;gBACV,CAAC;gBACD,SAAS;YACX,CAAC;YAED,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;QACzC,CAAC;QAED,KAAK,EAAE,CAAC;QAER,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,eAAe,GAAG,SAAS,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBACvE,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;oBAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE;wBAClC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;wBACpC,KAAK,EAAE;4BACL,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;4BACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;4BACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;4BAC3B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;yBAC1B;wBACD,eAAe,EAAE,cAAc;qBAChC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,QAAQ,CAAC,IAAU;QACzB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACpC,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;CACF;AArdD,4CAqdC;AAEY,QAAA,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAC7C,kBAAe,cAAM,CAAC"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indexer-cli",
3
- "version": "0.3.9",
3
+ "version": "0.4.1",
4
4
  "description": "Lightweight CLI project indexer with semantic search via Ollama",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,8 +26,13 @@
26
26
  "refresh-skills": "tsx bin/indexer-cli.js init --refresh-skills",
27
27
  "install:global": "npm run build && npm link --force",
28
28
  "uninstall:global": "npm unlink -g indexer-cli",
29
- "test": "vitest run",
29
+ "test": "vitest run tests/unit/",
30
30
  "test:watch": "vitest",
31
+ "test:cli": "vitest run tests/cli/ --testTimeout=180000 --no-file-parallelism",
32
+ "test:cli:python": "vitest run tests/cli/commands-python.test.ts --testTimeout=180000 --no-file-parallelism",
33
+ "test:cli:gdscript": "vitest run tests/cli/commands-gdscript.test.ts --testTimeout=180000 --no-file-parallelism",
34
+ "test:cli:csharp": "vitest run tests/cli/commands-csharp.test.ts --testTimeout=180000 --no-file-parallelism",
35
+ "test:cli:ruby": "vitest run tests/cli/commands-ruby.test.ts --testTimeout=180000 --no-file-parallelism",
31
36
  "release": "bash scripts/publish.sh"
32
37
  },
33
38
  "dependencies": {