@neurcode-ai/cli 0.8.0 → 0.8.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityGuard.d.ts","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACrF,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4B;IAGlE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAYvB;IAGF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQhC;IAIF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAwB7B;IAEH;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAe,GAAG,eAAe,EAAE;IAyDpE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAe,EACzB,OAAO,GAAE,MAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IA8DnC;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAyE7F;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAc1F;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAQtC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM;IAgBhE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAkD5K"}
1
+ {"version":3,"file":"SecurityGuard.d.ts","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACrF,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4B;IAGlE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAYvB;IAGF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQhC;IAIF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAwB7B;IAEH;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAe,GAAG,eAAe,EAAE;IAyDpE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoF7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuF9B;;;;;;OAMG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAe,EACzB,OAAO,GAAE,MAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAwFnC;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAyE7F;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAc1F;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAQtC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM;IAgBhE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAkD5K"}
@@ -6,6 +6,39 @@
6
6
  * Uses regex patterns and AST analysis (via ts-morph) to identify sensitive data.
7
7
  * Also includes hallucination detection for phantom packages.
8
8
  */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
9
42
  Object.defineProperty(exports, "__esModule", { value: true });
10
43
  exports.SecurityGuard = void 0;
11
44
  const ts_morph_1 = require("ts-morph");
@@ -118,47 +151,79 @@ class SecurityGuard {
118
151
  return detections;
119
152
  }
120
153
  /**
121
- * Extract package names from import/require statements
154
+ * Extract package names from import/require statements (GREEDY - catches all patterns)
122
155
  * Returns array of { packageName, importStatement }
123
156
  */
124
157
  extractPackageImports(code) {
125
158
  const imports = [];
126
- // Pattern 1: ES6 import statements
159
+ const seenStatements = new Set(); // Track to avoid duplicates
160
+ // Pattern 1: ES6 import statements (GREEDY - matches all variations)
127
161
  // import x from 'package'
128
- // import { x } from 'package'
162
+ // import { x, y } from 'package'
129
163
  // import * as x from 'package'
130
- // import 'package'
131
- const es6ImportPattern = /import\s+(?:(?:\*\s+as\s+\w+)|(?:\{[^}]*\})|(?:\w+)|(?:\w+\s*,\s*\{[^}]*\}))\s+from\s+['"]([^'"]+)['"]/g;
132
- // Also catch: import 'package' (side-effect imports)
133
- const sideEffectImportPattern = /import\s+['"]([^'"]+)['"]/g;
134
- // Pattern 2: CommonJS require
164
+ // import x, { y } from 'package'
165
+ // import type { x } from 'package'
166
+ // import 'package' (side-effect imports)
167
+ const es6ImportPattern = /import\s+(?:(?:type\s+)?(?:\*\s+as\s+\w+)|(?:\{[^}]*\})|(?:\w+)|(?:\w+\s*,\s*\{[^}]*\})|(?:type\s+\{[^}]*\}))\s+from\s+['"]([^'"]+)['"]/g;
168
+ // Pattern 2: Side-effect imports (standalone import 'package')
169
+ const sideEffectImportPattern = /^import\s+['"]([^'"]+)['"];?$/gm;
170
+ // Pattern 3: CommonJS require (GREEDY - matches all variations)
135
171
  // const x = require('package')
172
+ // const { x } = require('package')
136
173
  // require('package')
174
+ // module.exports = require('package')
137
175
  const requirePattern = /require\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
138
- // Extract ES6 imports
176
+ // Pattern 4: Dynamic/lazy imports (GREEDY)
177
+ // import('package')
178
+ // await import('package')
179
+ // const x = import('package')
180
+ const dynamicImportPattern = /import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
181
+ // Extract ES6 imports with 'from' clause
139
182
  let match;
140
183
  while ((match = es6ImportPattern.exec(code)) !== null) {
141
184
  const packageName = match[1];
142
185
  if (packageName && !packageName.startsWith('.') && !packageName.startsWith('/')) {
143
- imports.push({ packageName, importStatement: match[0] });
186
+ const importStatement = match[0].trim();
187
+ if (!seenStatements.has(importStatement)) {
188
+ imports.push({ packageName, importStatement });
189
+ seenStatements.add(importStatement);
190
+ }
144
191
  }
145
192
  }
146
- // Extract side-effect imports
193
+ // Extract side-effect imports (reset regex lastIndex)
194
+ sideEffectImportPattern.lastIndex = 0;
147
195
  while ((match = sideEffectImportPattern.exec(code)) !== null) {
148
196
  const packageName = match[1];
149
197
  if (packageName && !packageName.startsWith('.') && !packageName.startsWith('/')) {
150
- // Avoid duplicates
151
- const importStatement = match[0];
152
- if (!imports.some(imp => imp.importStatement === importStatement)) {
198
+ const importStatement = match[0].trim();
199
+ if (!seenStatements.has(importStatement)) {
153
200
  imports.push({ packageName, importStatement });
201
+ seenStatements.add(importStatement);
154
202
  }
155
203
  }
156
204
  }
157
205
  // Extract require statements
206
+ requirePattern.lastIndex = 0;
158
207
  while ((match = requirePattern.exec(code)) !== null) {
159
208
  const packageName = match[1];
160
209
  if (packageName && !packageName.startsWith('.') && !packageName.startsWith('/')) {
161
- imports.push({ packageName, importStatement: match[0] });
210
+ const importStatement = match[0].trim();
211
+ if (!seenStatements.has(importStatement)) {
212
+ imports.push({ packageName, importStatement });
213
+ seenStatements.add(importStatement);
214
+ }
215
+ }
216
+ }
217
+ // Extract dynamic/lazy imports
218
+ dynamicImportPattern.lastIndex = 0;
219
+ while ((match = dynamicImportPattern.exec(code)) !== null) {
220
+ const packageName = match[1];
221
+ if (packageName && !packageName.startsWith('.') && !packageName.startsWith('/')) {
222
+ const importStatement = match[0].trim();
223
+ if (!seenStatements.has(importStatement)) {
224
+ imports.push({ packageName, importStatement });
225
+ seenStatements.add(importStatement);
226
+ }
162
227
  }
163
228
  }
164
229
  return imports;
@@ -193,15 +258,112 @@ class SecurityGuard {
193
258
  }
194
259
  return dependencies;
195
260
  }
261
+ /**
262
+ * Extract package names mentioned in text (heuristic for plan summaries/reasons)
263
+ * Looks for patterns like: 'package-name', "package-name", library 'package-name', etc.
264
+ */
265
+ extractPackageMentions(text) {
266
+ const mentions = [];
267
+ const seen = new Set();
268
+ // Pattern 1: Package names in quotes with keyword BEFORE (e.g., "uses 'package'", "library 'package'")
269
+ // Matches: uses 'react-ultimate-super-charts', library "package", package 'package'
270
+ const quotedPackagePatternBefore = /(?:library|package|uses?|imports?|requires?|from|using|depends?|dependency)\s+['"]([a-zA-Z0-9@][a-zA-Z0-9._-]*[a-zA-Z0-9])['"]/gi;
271
+ // Pattern 2: Package names in quotes with keyword AFTER (e.g., "'package' library", "'package' package")
272
+ // Matches: 'react-ultimate-super-charts' library, "package-name" package
273
+ const quotedPackagePatternAfter = /['"]([a-zA-Z0-9@][a-zA-Z0-9._-]*[a-zA-Z0-9])['"]\s+(?:library|package|npm|module)/gi;
274
+ // Pattern 3: Standalone quoted package names (more aggressive - checks context)
275
+ // Matches: 'package-name' or "package-name" when in package-related context
276
+ const standaloneQuotedPattern = /['"]([a-zA-Z0-9@][a-zA-Z0-9._-]*[a-zA-Z0-9])['"]/g;
277
+ // Extract from library/package mentions (keyword BEFORE)
278
+ let match;
279
+ while ((match = quotedPackagePatternBefore.exec(text)) !== null) {
280
+ const packageName = match[1];
281
+ // Validate it looks like a package name (not a file path, not too short)
282
+ if (packageName && packageName.length >= 2 && !packageName.startsWith('.') && !packageName.startsWith('/')) {
283
+ if (!seen.has(packageName)) {
284
+ mentions.push({ packageName, context: match[0] });
285
+ seen.add(packageName);
286
+ }
287
+ }
288
+ }
289
+ // Extract from library/package mentions (keyword AFTER)
290
+ quotedPackagePatternAfter.lastIndex = 0;
291
+ while ((match = quotedPackagePatternAfter.exec(text)) !== null) {
292
+ const packageName = match[1];
293
+ if (packageName && packageName.length >= 2 && !packageName.startsWith('.') && !packageName.startsWith('/')) {
294
+ if (!seen.has(packageName)) {
295
+ mentions.push({ packageName, context: match[0] });
296
+ seen.add(packageName);
297
+ }
298
+ }
299
+ }
300
+ // Extract standalone quoted strings (but exclude if already found)
301
+ // This is a fallback for cases like "uses the 'package-name' library" or other variations
302
+ standaloneQuotedPattern.lastIndex = 0;
303
+ while ((match = standaloneQuotedPattern.exec(text)) !== null) {
304
+ const packageName = match[1];
305
+ // Only consider if it looks like an npm package name
306
+ // Valid package names: start with letter/number/@, contain letters/numbers/dots/dashes/underscores
307
+ const isValidPackageName = /^[a-zA-Z0-9@][a-zA-Z0-9._-]*[a-zA-Z0-9]$/.test(packageName);
308
+ // Exclude component names (PascalCase single words that are likely React components)
309
+ // Component names are typically single capitalized words like "DataVisualizer", "Button", etc.
310
+ const isLikelyComponentName = /^[A-Z][a-zA-Z0-9]*$/.test(packageName) &&
311
+ !packageName.includes('-') &&
312
+ !packageName.includes('_') &&
313
+ !packageName.includes('.') &&
314
+ packageName.length < 30; // Components are usually shorter
315
+ if (isValidPackageName &&
316
+ packageName.length >= 2 &&
317
+ !packageName.startsWith('.') &&
318
+ !packageName.startsWith('/') &&
319
+ !seen.has(packageName) &&
320
+ !isLikelyComponentName) { // Exclude component names
321
+ // Check if it's mentioned in context that suggests it's a package
322
+ const beforeMatch = text.substring(Math.max(0, match.index - 50), match.index).toLowerCase();
323
+ const afterMatch = text.substring(match.index + match[0].length, Math.min(text.length, match.index + match[0].length + 50)).toLowerCase();
324
+ const context = beforeMatch + match[0] + afterMatch;
325
+ // Only flag if context suggests it's a package/library (not a file path or variable name)
326
+ // Require stronger evidence for standalone matches (must have library/package/npm keywords)
327
+ const isPackageContext = /(library|package|npm|install|import|require|from|using|uses?|depends?|dependency|module)/i.test(context);
328
+ const isNotFilePath = !/\.(js|ts|jsx|tsx|json|md|txt|html|css|scss|less)$/i.test(context);
329
+ const isNotVariable = !/(const|let|var|function|class|interface|type)\s+['"]/.test(beforeMatch);
330
+ const isNotStringLiteral = !/(['"])\s*\+/.test(afterMatch) && !/\+\s*(['"])/.test(beforeMatch);
331
+ const isNotComponentContext = /(component|class|function|interface|type)\s+['"]/.test(beforeMatch);
332
+ if (isPackageContext && isNotFilePath && isNotVariable && isNotStringLiteral && !isNotComponentContext) {
333
+ mentions.push({ packageName, context: match[0] });
334
+ seen.add(packageName);
335
+ }
336
+ }
337
+ }
338
+ return mentions;
339
+ }
196
340
  /**
197
341
  * Scan code for hallucinated packages (phantom packages)
198
342
  * Checks against safe list and project's package.json
343
+ * Now includes heuristic detection for package names mentioned in text (not just import statements)
344
+ *
345
+ * PRO feature only - FREE users get a message to upgrade
199
346
  */
200
347
  async scanForHallucinations(code, location = 'code', rootDir = process.cwd()) {
348
+ // Check user tier - Hallucination Shield is PRO only
349
+ const { getUserTier } = await Promise.resolve().then(() => __importStar(require('../../utils/tier')));
350
+ const tier = await getUserTier();
351
+ if (tier === 'FREE') {
352
+ // Return empty result for FREE users (feature disabled)
353
+ // The calling code should check tier and show upgrade message
354
+ return {
355
+ hallucinations: [],
356
+ hasHallucinations: false,
357
+ blocked: false,
358
+ };
359
+ }
201
360
  const hallucinations = [];
202
- // Extract all package imports
361
+ // Extract all package imports (from actual import/require statements)
203
362
  const imports = this.extractPackageImports(code);
204
- if (imports.length === 0) {
363
+ // Also extract package names mentioned in text (heuristic for plan summaries)
364
+ const mentions = this.extractPackageMentions(code);
365
+ // If no imports or mentions found, return early
366
+ if (imports.length === 0 && mentions.length === 0) {
205
367
  return {
206
368
  hallucinations: [],
207
369
  hasHallucinations: false,
@@ -210,10 +372,8 @@ class SecurityGuard {
210
372
  }
211
373
  // Load project dependencies
212
374
  const projectDependencies = this.loadProjectDependencies(rootDir);
213
- // Check each import
375
+ // Check each import statement
214
376
  for (const { packageName, importStatement } of imports) {
215
- // Skip scoped packages that might be local (e.g., @company/utils)
216
- // We'll be conservative and only flag obvious non-existent packages
217
377
  // Check if package is in safe list
218
378
  if (this.safePackageList.has(packageName)) {
219
379
  continue; // Safe package, skip
@@ -222,28 +382,34 @@ class SecurityGuard {
222
382
  if (projectDependencies.has(packageName)) {
223
383
  continue; // Package exists in project, skip
224
384
  }
225
- // Check for scoped packages - if it starts with @, check if the scope exists
226
- // For now, we'll flag scoped packages that aren't in dependencies as potential hallucinations
227
- // This is conservative but catches common AI hallucinations like @non-existent/package
228
- if (packageName.startsWith('@')) {
229
- // Scoped package - check if it's in dependencies
230
- if (!projectDependencies.has(packageName)) {
231
- // Potential hallucination
232
- hallucinations.push({
233
- packageName,
234
- location,
235
- importStatement,
236
- });
237
- }
385
+ // Not in safe list or dependencies - flag as hallucination
386
+ hallucinations.push({
387
+ packageName,
388
+ location,
389
+ importStatement,
390
+ });
391
+ }
392
+ // Check each package mention (from text heuristics)
393
+ for (const { packageName, context } of mentions) {
394
+ // Skip if we already flagged this package from an import statement
395
+ if (hallucinations.some(h => h.packageName === packageName)) {
396
+ continue;
238
397
  }
239
- else {
240
- // Non-scoped package not in safe list or dependencies - likely hallucination
241
- hallucinations.push({
242
- packageName,
243
- location,
244
- importStatement,
245
- });
398
+ // Check if package is in safe list
399
+ if (this.safePackageList.has(packageName)) {
400
+ continue; // Safe package, skip
401
+ }
402
+ // Check if package is in project dependencies
403
+ if (projectDependencies.has(packageName)) {
404
+ continue; // Package exists in project, skip
246
405
  }
406
+ // Not in safe list or dependencies - flag as hallucination
407
+ // Use context as the "import statement" for mentions
408
+ hallucinations.push({
409
+ packageName,
410
+ location,
411
+ importStatement: context,
412
+ });
247
413
  }
248
414
  return {
249
415
  hallucinations,
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityGuard.js","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecurityGuard.js","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * RelevanceScorer
3
+ *
4
+ * High-performance BM25-inspired keyword matching algorithm for filtering
5
+ * exported tools based on user intent. Runs in milliseconds without requiring
6
+ * vector databases or embeddings.
7
+ */
8
+ import { ExportItem } from '../services/mapper/ProjectScanner';
9
+ /**
10
+ * Get Top-K most relevant tools based on user intent
11
+ *
12
+ * @param intent - User's intent/query
13
+ * @param exports - All available exports
14
+ * @param k - Number of top results to return (default: 20)
15
+ * @returns Filtered and sorted array of ExportItems
16
+ */
17
+ export declare function getTopKTools(intent: string, exports: ExportItem[], k?: number): ExportItem[];
18
+ //# sourceMappingURL=RelevanceScorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelevanceScorer.d.ts","sourceRoot":"","sources":["../../src/utils/RelevanceScorer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAsJ/D;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EAAE,EACrB,CAAC,GAAE,MAAW,GACb,UAAU,EAAE,CAoGd"}