@liendev/lien 0.29.1 → 0.32.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/dist/index.js CHANGED
@@ -8524,7 +8524,8 @@ var ListFunctionsSchema = external_exports.object({
8524
8524
  ),
8525
8525
  language: external_exports.string().optional().describe(
8526
8526
  "Filter by programming language.\n\nExamples: 'typescript', 'python', 'javascript', 'php'\n\nIf omitted, searches all languages."
8527
- )
8527
+ ),
8528
+ symbolType: external_exports.enum(["function", "method", "class", "interface"]).optional().describe("Filter by symbol type. If omitted, returns all types.")
8528
8529
  });
8529
8530
 
8530
8531
  // src/mcp/schemas/dependents.schema.ts
@@ -8647,6 +8648,10 @@ Batch calls are more efficient than multiple single-file calls.`
8647
8648
  Examples:
8648
8649
  - "Show all controllers" \u2192 list_functions({ pattern: ".*Controller.*" })
8649
8650
  - "Find service classes" \u2192 list_functions({ pattern: ".*Service$" })
8651
+ - "List all class methods" \u2192 list_functions({ symbolType: "method" })
8652
+ - "Find standalone functions" \u2192 list_functions({ symbolType: "function" })
8653
+
8654
+ Filter by symbol type (function, method, class, interface) to narrow results.
8650
8655
 
8651
8656
  10x faster than semantic_search for structural/architectural queries. Use semantic_search instead when searching by what code DOES.`
8652
8657
  ),
@@ -9244,6 +9249,7 @@ async function performContentScan(vectorDB, args, log) {
9244
9249
  log("Falling back to content scan...");
9245
9250
  let results = await vectorDB.scanWithFilter({
9246
9251
  language: args.language,
9252
+ symbolType: args.symbolType,
9247
9253
  limit: 200
9248
9254
  // Fetch more, we'll filter by symbolName
9249
9255
  });
@@ -9271,9 +9277,10 @@ async function handleListFunctions(args, ctx) {
9271
9277
  const results = await vectorDB.querySymbols({
9272
9278
  language: validatedArgs.language,
9273
9279
  pattern: validatedArgs.pattern,
9280
+ symbolType: validatedArgs.symbolType,
9274
9281
  limit: 50
9275
9282
  });
9276
- if (results.length === 0 && (validatedArgs.language || validatedArgs.pattern)) {
9283
+ if (results.length === 0 && (validatedArgs.language || validatedArgs.pattern || validatedArgs.symbolType)) {
9277
9284
  log("No symbol results, falling back to content scan...");
9278
9285
  queryResult = await performContentScan(vectorDB, validatedArgs, log);
9279
9286
  } else {