milens 0.2.4 → 0.3.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.
Files changed (46) hide show
  1. package/LICENSE +75 -75
  2. package/README.md +435 -392
  3. package/dist/analyzer/engine.js +6 -1
  4. package/dist/analyzer/engine.js.map +1 -1
  5. package/dist/cli.js +17 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/parser/extract.d.ts.map +1 -1
  8. package/dist/parser/extract.js +8 -0
  9. package/dist/parser/extract.js.map +1 -1
  10. package/dist/parser/lang-go.d.ts.map +1 -1
  11. package/dist/parser/lang-go.js +22 -18
  12. package/dist/parser/lang-go.js.map +1 -1
  13. package/dist/parser/lang-java.d.ts.map +1 -1
  14. package/dist/parser/lang-java.js +28 -17
  15. package/dist/parser/lang-java.js.map +1 -1
  16. package/dist/parser/lang-js.d.ts.map +1 -1
  17. package/dist/parser/lang-js.js +42 -32
  18. package/dist/parser/lang-js.js.map +1 -1
  19. package/dist/parser/lang-php.d.ts.map +1 -1
  20. package/dist/parser/lang-php.js +35 -20
  21. package/dist/parser/lang-php.js.map +1 -1
  22. package/dist/parser/lang-py.d.ts.map +1 -1
  23. package/dist/parser/lang-py.js +36 -17
  24. package/dist/parser/lang-py.js.map +1 -1
  25. package/dist/parser/lang-rust.d.ts.map +1 -1
  26. package/dist/parser/lang-rust.js +26 -19
  27. package/dist/parser/lang-rust.js.map +1 -1
  28. package/dist/parser/lang-ts.d.ts.map +1 -1
  29. package/dist/parser/lang-ts.js +57 -44
  30. package/dist/parser/lang-ts.js.map +1 -1
  31. package/dist/parser/lang-vue.d.ts +6 -0
  32. package/dist/parser/lang-vue.d.ts.map +1 -1
  33. package/dist/parser/lang-vue.js +44 -0
  34. package/dist/parser/lang-vue.js.map +1 -1
  35. package/dist/server/mcp.d.ts.map +1 -1
  36. package/dist/server/mcp.js +289 -21
  37. package/dist/server/mcp.js.map +1 -1
  38. package/dist/skills.d.ts +1 -1
  39. package/dist/skills.d.ts.map +1 -1
  40. package/dist/skills.js +204 -14
  41. package/dist/skills.js.map +1 -1
  42. package/dist/store/db.d.ts.map +1 -1
  43. package/dist/store/db.js +73 -59
  44. package/dist/store/db.js.map +1 -1
  45. package/dist/store/schema.sql +60 -60
  46. package/package.json +60 -60
@@ -1 +1 @@
1
- {"version":3,"file":"lang-py.js","sourceRoot":"","sources":["../../src/parser/lang-py.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE;QACP,SAAS,EAAE,8DAA8D;QACzE,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,sFAAsF;QAC/F,OAAO,EAAE;;;;;;;MAOP;QACF,KAAK,EAAE;;;KAGN;QACD,QAAQ,EAAE;;;WAGH;KACR;IACD,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACzC,iDAAiD;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK;YAC5B,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC;SACpC,CAAC;QACF,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,EAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC,CACvC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-py.js","sourceRoot":"","sources":["../../src/parser/lang-py.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE;QACP,SAAS,EAAE;;;MAGT;QACF,OAAO,EAAE;;;MAGP;QACF,OAAO,EAAE;;;MAGP;QACF,OAAO,EAAE;;;;;;;MAOP;QACF,OAAO,EAAE;;;;;;;MAOP;QACF,KAAK,EAAE;;;;;MAKL;QACF,QAAQ,EAAE;;;WAGH;KACR;IACD,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACzC,iDAAiD;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK;YAC5B,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC;SACpC,CAAC;QACF,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,EAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC,CACvC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lang-rust.d.ts","sourceRoot":"","sources":["../../src/parser/lang-rust.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,QAAA,MAAM,IAAI,EAAE,QA8CX,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-rust.d.ts","sourceRoot":"","sources":["../../src/parser/lang-rust.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,QAAA,MAAM,IAAI,EAAE,QAqDX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -5,30 +5,37 @@ const spec = {
5
5
  extensions: ['.rs'],
6
6
  wasmName: 'tree-sitter-rust',
7
7
  queries: {
8
- functions: `(function_item name: (identifier) @name) @def`,
8
+ functions: `[
9
+ (function_item name: (identifier) @name) @def
10
+ (const_item name: (identifier) @name) @def
11
+ (static_item name: (identifier) @name) @def
12
+ (type_item name: (type_identifier) @name) @def
13
+ (mod_item name: (identifier) @name) @def
14
+ ]`,
9
15
  structs: `(struct_item name: (type_identifier) @name) @def`,
10
16
  enums: `(enum_item name: (type_identifier) @name) @def`,
11
17
  traits: `(trait_item name: (type_identifier) @name) @def`,
12
- methods: `(impl_item
13
- body: (declaration_list
14
- (function_item name: (identifier) @name) @def
15
- )
18
+ methods: `(impl_item
19
+ body: (declaration_list
20
+ (function_item name: (identifier) @name) @def
21
+ )
16
22
  )`,
17
- imports: `(use_declaration
18
- argument: [
19
- (scoped_identifier) @source
20
- (use_as_clause path: (scoped_identifier) @source)
21
- (scoped_use_list path: (scoped_identifier) @source)
22
- ]
23
+ imports: `(use_declaration
24
+ argument: [
25
+ (scoped_identifier) @source
26
+ (use_as_clause path: (scoped_identifier) @source)
27
+ (scoped_use_list path: (scoped_identifier) @source)
28
+ ]
23
29
  ) @def`,
24
- calls: `
25
- (call_expression function: (identifier) @callee) @def
26
- (call_expression function: (scoped_identifier name: (identifier) @callee)) @def
27
- (call_expression function: (field_expression field: (field_identifier) @callee)) @def
28
- `,
29
- heritage: `(impl_item
30
- trait: (type_identifier) @parent
31
- type: (type_identifier) @child
30
+ calls: `[
31
+ (call_expression function: (identifier) @callee) @def
32
+ (call_expression function: (scoped_identifier name: (identifier) @callee)) @def
33
+ (call_expression function: (field_expression field: (field_identifier) @callee)) @def
34
+ (macro_invocation macro: (identifier) @callee) @def
35
+ ]`,
36
+ heritage: `(impl_item
37
+ trait: (type_identifier) @parent
38
+ type: (type_identifier) @child
32
39
  ) @def`,
33
40
  },
34
41
  resolveImport(raw, _fromFile, root, _aliases) {
@@ -1 +1 @@
1
- {"version":3,"file":"lang-rust.js","sourceRoot":"","sources":["../../src/parser/lang-rust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE;QACP,SAAS,EAAE,+CAA+C;QAC1D,OAAO,EAAE,kDAAkD;QAC3D,KAAK,EAAE,gDAAgD;QACvD,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE;;;;MAIP;QACF,OAAO,EAAE;;;;;;WAMF;QACP,KAAK,EAAE;;;;KAIN;QACD,QAAQ,EAAE;;;WAGH;KACR;IACD,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;QAC1C,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,8CAA8C;QAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK;YACnC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC;SACtC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-rust.js","sourceRoot":"","sources":["../../src/parser/lang-rust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE;QACP,SAAS,EAAE;;;;;;MAMT;QACF,OAAO,EAAE,kDAAkD;QAC3D,KAAK,EAAE,gDAAgD;QACvD,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE;;;;MAIP;QACF,OAAO,EAAE;;;;;;WAMF;QACP,KAAK,EAAE;;;;;MAKL;QACF,QAAQ,EAAE;;;WAGH;KACR;IACD,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;QAC1C,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,8CAA8C;QAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK;YACnC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC;SACtC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lang-ts.d.ts","sourceRoot":"","sources":["../../src/parser/lang-ts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,QAAA,MAAM,IAAI,EAAE,QAoFX,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-ts.d.ts","sourceRoot":"","sources":["../../src/parser/lang-ts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,QAAA,MAAM,IAAI,EAAE,QAiGX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -5,57 +5,70 @@ const spec = {
5
5
  extensions: ['.ts', '.tsx'],
6
6
  wasmName: 'tree-sitter-tsx',
7
7
  queries: {
8
- functions: `[
9
- (function_declaration name: (identifier) @name) @def
10
- (lexical_declaration
11
- (variable_declarator
12
- name: (identifier) @name
13
- value: (arrow_function)
14
- )
15
- ) @def
8
+ functions: `[
9
+ (function_declaration name: (identifier) @name) @def
10
+ (lexical_declaration
11
+ (variable_declarator
12
+ name: (identifier) @name
13
+ value: (arrow_function)
14
+ )
15
+ ) @def
16
16
  ]`,
17
17
  classes: `(class_declaration name: (type_identifier) @name) @def`,
18
18
  methods: `(method_definition name: (property_identifier) @name) @def`,
19
19
  interfaces: `(interface_declaration name: (type_identifier) @name) @def`,
20
20
  enums: `(enum_declaration name: (identifier) @name) @def`,
21
- imports: `(import_statement
22
- source: (string (string_fragment) @source)
23
- ) @def`,
24
- exports: `[
25
- (export_statement
26
- declaration: (function_declaration name: (identifier) @name)
27
- )
28
- (export_statement
29
- declaration: (class_declaration name: (type_identifier) @name)
30
- )
31
- (export_statement
32
- declaration: (interface_declaration name: (type_identifier) @name)
33
- )
34
- (export_statement
35
- declaration: (enum_declaration name: (identifier) @name)
36
- )
37
- (export_statement
38
- declaration: (lexical_declaration
39
- (variable_declarator name: (identifier) @name)
40
- )
41
- )
42
- (export_statement
43
- (export_clause (export_specifier name: (identifier) @name))
44
- )
21
+ imports: `[
22
+ (import_statement
23
+ source: (string (string_fragment) @source)
24
+ ) @def
25
+ (lexical_declaration
26
+ (variable_declarator
27
+ value: (call_expression
28
+ function: (identifier) @_req
29
+ arguments: (arguments (string (string_fragment) @source))
30
+ )
31
+ )
32
+ ) @def
45
33
  ]`,
46
- calls: `
47
- (call_expression function: (identifier) @callee) @def
48
- (call_expression function: (member_expression property: (property_identifier) @callee)) @def
34
+ exports: `[
35
+ (export_statement
36
+ declaration: (function_declaration name: (identifier) @name)
37
+ )
38
+ (export_statement
39
+ declaration: (class_declaration name: (type_identifier) @name)
40
+ )
41
+ (export_statement
42
+ declaration: (interface_declaration name: (type_identifier) @name)
43
+ )
44
+ (export_statement
45
+ declaration: (enum_declaration name: (identifier) @name)
46
+ )
47
+ (export_statement
48
+ declaration: (lexical_declaration
49
+ (variable_declarator name: (identifier) @name)
50
+ )
51
+ )
52
+ (export_statement
53
+ (export_clause (export_specifier name: (identifier) @name))
54
+ )
55
+ (export_statement
56
+ declaration: (type_alias_declaration name: (type_identifier) @name)
57
+ )
58
+ ]`,
59
+ calls: `
60
+ (call_expression function: (identifier) @callee) @def
61
+ (call_expression function: (member_expression property: (property_identifier) @callee)) @def
49
62
  `,
50
- heritage: `[
51
- (class_declaration
52
- name: (type_identifier) @child
53
- (class_heritage (extends_clause value: (identifier) @parent))
54
- ) @def
55
- (class_declaration
56
- name: (type_identifier) @child
57
- (class_heritage (implements_clause (type_identifier) @parent))
58
- ) @def
63
+ heritage: `[
64
+ (class_declaration
65
+ name: (type_identifier) @child
66
+ (class_heritage (extends_clause value: (identifier) @parent))
67
+ ) @def
68
+ (class_declaration
69
+ name: (type_identifier) @child
70
+ (class_heritage (implements_clause (type_identifier) @parent))
71
+ ) @def
59
72
  ]`,
60
73
  },
61
74
  resolveImport(raw, fromFile, root, aliases) {
@@ -1 +1 @@
1
- {"version":3,"file":"lang-ts.js","sourceRoot":"","sources":["../../src/parser/lang-ts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,YAAY;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE;QACP,SAAS,EAAE;;;;;;;;MAQT;QACF,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE,4DAA4D;QACrE,UAAU,EAAE,4DAA4D;QACxE,KAAK,EAAE,kDAAkD;QACzD,OAAO,EAAE;;WAEF;QACP,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;MAqBP;QACF,KAAK,EAAE;;;KAGN;QACD,QAAQ,EAAE;;;;;;;;;MASR;KACH;IACD,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO;QACxC,qCAAqC;QACrC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBACjD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG;YACjB,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,MAAM;YAC3B,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,MAAM;YAC3B,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;SACvB,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-ts.js","sourceRoot":"","sources":["../../src/parser/lang-ts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,YAAY;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE;QACP,SAAS,EAAE;;;;;;;;MAQT;QACF,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE,4DAA4D;QACrE,UAAU,EAAE,4DAA4D;QACxE,KAAK,EAAE,kDAAkD;QACzD,OAAO,EAAE;;;;;;;;;;;;MAYP;QACF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;MAwBP;QACF,KAAK,EAAE;;;KAGN;QACD,QAAQ,EAAE;;;;;;;;;MASR;KACH;IACD,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO;QACxC,qCAAqC;QACrC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBACjD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG;YACjB,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,MAAM;YAC3B,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,MAAM;YAC3B,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;SACvB,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { LangSpec } from './extract.js';
2
+ import type { RawCall } from '../types.js';
2
3
  declare const spec: LangSpec;
3
4
  /**
4
5
  * Extract the <script> or <script setup> block content from a Vue SFC.
@@ -8,5 +9,10 @@ export declare function extractVueScript(source: string): {
8
9
  content: string;
9
10
  lineOffset: number;
10
11
  } | null;
12
+ /**
13
+ * Extract references from Vue <template> block.
14
+ * Captures: component tags, event handlers, v-bind/v-model/v-if directives, interpolations.
15
+ */
16
+ export declare function extractVueTemplateRefs(source: string, filePath: string): RawCall[];
11
17
  export default spec;
12
18
  //# sourceMappingURL=lang-vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lang-vue.d.ts","sourceRoot":"","sources":["../../src/parser/lang-vue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,QAAA,MAAM,IAAI,EAAE,QAMX,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa/F;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-vue.d.ts","sourceRoot":"","sources":["../../src/parser/lang-vue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,QAAA,MAAM,IAAI,EAAE,QAMX,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa/F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CA6ClF;AAED,eAAe,IAAI,CAAC"}
@@ -24,5 +24,49 @@ export function extractVueScript(source) {
24
24
  const lineOffset = source.slice(0, contentStart).split('\n').length - 1;
25
25
  return { content: match[1], lineOffset };
26
26
  }
27
+ /**
28
+ * Extract references from Vue <template> block.
29
+ * Captures: component tags, event handlers, v-bind/v-model/v-if directives, interpolations.
30
+ */
31
+ export function extractVueTemplateRefs(source, filePath) {
32
+ const calls = [];
33
+ const templateMatch = source.match(/<template[^>]*>([\s\S]*?)<\/template>/i);
34
+ if (!templateMatch)
35
+ return calls;
36
+ const templateStart = source.indexOf(templateMatch[0]);
37
+ const tagEnd = templateMatch[0].indexOf('>') + 1;
38
+ const contentStart = templateStart + tagEnd;
39
+ const baseLineOffset = source.slice(0, contentStart).split('\n').length - 1;
40
+ const templateContent = templateMatch[1];
41
+ const moduleId = `${filePath}#module:_top:0`;
42
+ const lines = templateContent.split('\n');
43
+ for (let i = 0; i < lines.length; i++) {
44
+ const line = lines[i];
45
+ const lineNum = baseLineOffset + i + 1;
46
+ // Component tags: <MyComponent>, <UserList>, <el-table> (skip HTML tags — require uppercase or hyphen)
47
+ const tagRe = /<([A-Z][A-Za-z0-9]*|[a-z]+-[a-z][a-z0-9-]*)/g;
48
+ let m;
49
+ while ((m = tagRe.exec(line)) !== null) {
50
+ calls.push({ filePath, enclosingSymbolId: moduleId, calleeName: m[1], line: lineNum });
51
+ }
52
+ // Event handlers: @click="handler" or v-on:click="handler"
53
+ const eventRe = /(?:@|v-on:)[a-z.-]+="([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\(|")/g;
54
+ while ((m = eventRe.exec(line)) !== null) {
55
+ calls.push({ filePath, enclosingSymbolId: moduleId, calleeName: m[1], line: lineNum });
56
+ }
57
+ // Directive expressions: v-if="isVisible", v-show="hasAccess", v-model="formData"
58
+ // :prop="computedValue", v-bind:src="imageUrl"
59
+ const directiveRe = /(?:v-(?:if|else-if|show|model|bind)|:[a-z][-a-z]*)="([a-zA-Z_$][a-zA-Z0-9_$]*)"/g;
60
+ while ((m = directiveRe.exec(line)) !== null) {
61
+ calls.push({ filePath, enclosingSymbolId: moduleId, calleeName: m[1], line: lineNum });
62
+ }
63
+ // Template interpolations: {{ computedValue }}, {{ formatDate(x) }}
64
+ const interpRe = /\{\{\s*([a-zA-Z_$][a-zA-Z0-9_$]*)/g;
65
+ while ((m = interpRe.exec(line)) !== null) {
66
+ calls.push({ filePath, enclosingSymbolId: moduleId, calleeName: m[1], line: lineNum });
67
+ }
68
+ }
69
+ return calls;
70
+ }
27
71
  export default spec;
28
72
  //# sourceMappingURL=lang-vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lang-vue.js","sourceRoot":"","sources":["../../src/parser/lang-vue.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,iEAAiE;AACjE,MAAM,IAAI,GAAa;IACrB,EAAE,EAAE,KAAK;IACT,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,+CAA+C;IAC5E,OAAO,EAAE,MAAM,CAAC,OAAO,EAAM,6CAA6C;IAC1E,aAAa,EAAE,MAAM,CAAC,aAAa;CACpC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,sEAAsE;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxG,MAAM,KAAK,GAAG,UAAU,IAAI,YAAY,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAExE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"lang-vue.js","sourceRoot":"","sources":["../../src/parser/lang-vue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/server/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmEpE,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAwS5D;AAID,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE;AAID,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC9E"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/server/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkOpE,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAya5D;AAID,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE;AAID,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D9E"}