agentmap 0.5.0 → 0.6.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.
Files changed (61) hide show
  1. package/dist/cli.js +7 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/extract/definitions.d.ts.map +1 -1
  4. package/dist/extract/definitions.js +195 -316
  5. package/dist/extract/definitions.js.map +1 -1
  6. package/dist/extract/definitions.test.js +749 -20
  7. package/dist/extract/definitions.test.js.map +1 -1
  8. package/dist/extract/marker.d.ts.map +1 -1
  9. package/dist/extract/marker.js +74 -5
  10. package/dist/extract/marker.js.map +1 -1
  11. package/dist/extract/marker.test.js +142 -4
  12. package/dist/extract/marker.test.js.map +1 -1
  13. package/dist/index.d.ts +10 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +33 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/languages/cpp.d.ts +30 -0
  18. package/dist/languages/cpp.d.ts.map +1 -0
  19. package/dist/languages/cpp.js +116 -0
  20. package/dist/languages/cpp.js.map +1 -0
  21. package/dist/languages/go.d.ts +26 -0
  22. package/dist/languages/go.d.ts.map +1 -0
  23. package/dist/languages/go.js +65 -0
  24. package/dist/languages/go.js.map +1 -0
  25. package/dist/languages/index.d.ts +90 -0
  26. package/dist/languages/index.d.ts.map +1 -0
  27. package/dist/languages/index.js +209 -0
  28. package/dist/languages/index.js.map +1 -0
  29. package/dist/languages/javascript.d.ts +18 -0
  30. package/dist/languages/javascript.d.ts.map +1 -0
  31. package/dist/languages/javascript.js +23 -0
  32. package/dist/languages/javascript.js.map +1 -0
  33. package/dist/languages/python.d.ts +23 -0
  34. package/dist/languages/python.d.ts.map +1 -0
  35. package/dist/languages/python.js +35 -0
  36. package/dist/languages/python.js.map +1 -0
  37. package/dist/languages/rust.d.ts +26 -0
  38. package/dist/languages/rust.d.ts.map +1 -0
  39. package/dist/languages/rust.js +65 -0
  40. package/dist/languages/rust.js.map +1 -0
  41. package/dist/languages/typescript.d.ts +30 -0
  42. package/dist/languages/typescript.d.ts.map +1 -0
  43. package/dist/languages/typescript.js +68 -0
  44. package/dist/languages/typescript.js.map +1 -0
  45. package/dist/languages/zig.d.ts +38 -0
  46. package/dist/languages/zig.d.ts.map +1 -0
  47. package/dist/languages/zig.js +104 -0
  48. package/dist/languages/zig.js.map +1 -0
  49. package/dist/map/builder.d.ts.map +1 -1
  50. package/dist/map/builder.js +4 -1
  51. package/dist/map/builder.js.map +1 -1
  52. package/dist/parser/languages.d.ts +2 -4
  53. package/dist/parser/languages.d.ts.map +1 -1
  54. package/dist/parser/languages.js +4 -29
  55. package/dist/parser/languages.js.map +1 -1
  56. package/dist/scanner.d.ts.map +1 -1
  57. package/dist/scanner.js +21 -49
  58. package/dist/scanner.js.map +1 -1
  59. package/dist/types.d.ts +4 -2
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +3 -2
@@ -0,0 +1,116 @@
1
+ // C/C++ language support for agentmap.
2
+ export const id = 'cpp';
3
+ export const extensions = ['.c', '.h', '.cpp', '.cc', '.cxx', '.hpp', '.hxx'];
4
+ export const grammar = 'tree-sitter-cpp/tree-sitter-cpp.wasm';
5
+ // AST node types
6
+ export const FUNCTION_TYPES = ['function_definition'];
7
+ export const CLASS_TYPES = ['class_specifier'];
8
+ export const STRUCT_TYPES = ['struct_specifier'];
9
+ export const TRAIT_TYPES = [];
10
+ export const INTERFACE_TYPES = [];
11
+ export const TYPE_TYPES = ['type_definition', 'alias_declaration'];
12
+ export const ENUM_TYPES = ['enum_specifier'];
13
+ export const CONST_TYPES = ['declaration'];
14
+ /**
15
+ * C++ doesn't have module exports in the traditional sense
16
+ */
17
+ export function isExported(_node) {
18
+ return false;
19
+ }
20
+ /**
21
+ * Check if a C++ node has extern storage class or is in linkage_specification
22
+ */
23
+ export function isExtern(node) {
24
+ if (node.type === 'declaration' || node.type === 'function_definition') {
25
+ for (let i = 0; i < node.childCount; i++) {
26
+ const child = node.child(i);
27
+ if (child?.type === 'storage_class_specifier' && child.text === 'extern') {
28
+ return true;
29
+ }
30
+ }
31
+ }
32
+ return false;
33
+ }
34
+ /**
35
+ * Extract name from a C++ node
36
+ */
37
+ export function extractName(node) {
38
+ if (node.type === 'function_definition') {
39
+ const declarator = node.childForFieldName('declarator');
40
+ if (declarator) {
41
+ const funcDecl = declarator.type === 'function_declarator'
42
+ ? declarator
43
+ : findChild(declarator, 'function_declarator');
44
+ if (funcDecl) {
45
+ const innerDecl = funcDecl.childForFieldName('declarator');
46
+ if (innerDecl?.type === 'identifier') {
47
+ return innerDecl.text;
48
+ }
49
+ if (innerDecl?.type === 'qualified_identifier') {
50
+ const name = innerDecl.childForFieldName('name');
51
+ return name?.text ?? null;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ if (node.type === 'struct_specifier' || node.type === 'class_specifier' || node.type === 'enum_specifier') {
57
+ const nameNode = node.childForFieldName('name');
58
+ if (nameNode) {
59
+ return nameNode.text;
60
+ }
61
+ for (let i = 0; i < node.childCount; i++) {
62
+ const child = node.child(i);
63
+ if (child?.type === 'type_identifier') {
64
+ return child.text;
65
+ }
66
+ }
67
+ }
68
+ if (node.type === 'type_definition') {
69
+ const declarator = node.childForFieldName('declarator');
70
+ if (declarator?.type === 'type_identifier') {
71
+ return declarator.text;
72
+ }
73
+ }
74
+ if (node.type === 'alias_declaration') {
75
+ const nameNode = node.childForFieldName('name');
76
+ return nameNode?.text ?? null;
77
+ }
78
+ if (node.type === 'declaration') {
79
+ const declarator = node.childForFieldName('declarator');
80
+ if (declarator) {
81
+ if (declarator.type === 'identifier') {
82
+ return declarator.text;
83
+ }
84
+ if (declarator.type === 'init_declarator') {
85
+ const innerDecl = declarator.childForFieldName('declarator');
86
+ if (innerDecl?.type === 'identifier') {
87
+ return innerDecl.text;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ for (let i = 0; i < node.childCount; i++) {
93
+ const child = node.child(i);
94
+ if (child?.type === 'identifier' || child?.type === 'type_identifier') {
95
+ return child.text;
96
+ }
97
+ }
98
+ return null;
99
+ }
100
+ /**
101
+ * Extract name from const declaration
102
+ */
103
+ export function extractConstName(node) {
104
+ return extractName(node);
105
+ }
106
+ function findChild(node, type) {
107
+ for (let i = 0; i < node.childCount; i++) {
108
+ const child = node.child(i);
109
+ if (child?.type === type)
110
+ return child;
111
+ }
112
+ return null;
113
+ }
114
+ // Comment handling
115
+ export const commentPrefixes = ['//', '/*'];
116
+ //# sourceMappingURL=cpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp.js","sourceRoot":"","sources":["../../src/languages/cpp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { SyntaxNode } from '../types.js';
2
+ export declare const id: "go";
3
+ export declare const extensions: string[];
4
+ export declare const grammar = "tree-sitter-go/tree-sitter-go.wasm";
5
+ export declare const FUNCTION_TYPES: string[];
6
+ export declare const CLASS_TYPES: string[];
7
+ export declare const STRUCT_TYPES: string[];
8
+ export declare const TRAIT_TYPES: string[];
9
+ export declare const INTERFACE_TYPES: string[];
10
+ export declare const TYPE_TYPES: string[];
11
+ export declare const ENUM_TYPES: string[];
12
+ export declare const CONST_TYPES: string[];
13
+ /**
14
+ * Check if a Go identifier is exported (starts with uppercase)
15
+ */
16
+ export declare function isExported(_node: SyntaxNode, name?: string): boolean;
17
+ /**
18
+ * Extract name from a Go node
19
+ */
20
+ export declare function extractName(node: SyntaxNode): string | null;
21
+ /**
22
+ * Extract name from const/var declaration
23
+ */
24
+ export declare function extractConstName(node: SyntaxNode): string | null;
25
+ export declare const commentPrefixes: string[];
26
+ //# sourceMappingURL=go.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../src/languages/go.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,EAAE,EAAG,IAAa,CAAA;AAC/B,eAAO,MAAM,UAAU,UAAU,CAAA;AACjC,eAAO,MAAM,OAAO,uCAAuC,CAAA;AAG3D,eAAO,MAAM,cAAc,UAAiD,CAAA;AAC5E,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,UAAuB,CAAA;AAC9C,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,WAAW,UAA2C,CAAA;AAEnE;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAIpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAgB3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAShE;AAWD,eAAO,MAAM,eAAe,UAAe,CAAA"}
@@ -0,0 +1,65 @@
1
+ // Go language support for agentmap.
2
+ export const id = 'go';
3
+ export const extensions = ['.go'];
4
+ export const grammar = 'tree-sitter-go/tree-sitter-go.wasm';
5
+ // AST node types
6
+ export const FUNCTION_TYPES = ['function_declaration', 'method_declaration'];
7
+ export const CLASS_TYPES = []; // Go has structs, not classes
8
+ export const STRUCT_TYPES = []; // Go structs handled via type_declaration
9
+ export const TRAIT_TYPES = [];
10
+ export const INTERFACE_TYPES = []; // Go interfaces handled via type_declaration
11
+ export const TYPE_TYPES = ['type_declaration'];
12
+ export const ENUM_TYPES = [];
13
+ export const CONST_TYPES = ['const_declaration', 'var_declaration'];
14
+ /**
15
+ * Check if a Go identifier is exported (starts with uppercase)
16
+ */
17
+ export function isExported(_node, name) {
18
+ if (!name || name.length === 0)
19
+ return false;
20
+ const firstChar = name.charAt(0);
21
+ return firstChar >= 'A' && firstChar <= 'Z';
22
+ }
23
+ /**
24
+ * Extract name from a Go node
25
+ */
26
+ export function extractName(node) {
27
+ if (node.type === 'type_declaration') {
28
+ const spec = findChild(node, 'type_spec');
29
+ if (spec) {
30
+ const nameNode = spec.childForFieldName('name');
31
+ return nameNode?.text ?? null;
32
+ }
33
+ }
34
+ for (let i = 0; i < node.childCount; i++) {
35
+ const child = node.child(i);
36
+ if (child?.type === 'identifier' || child?.type === 'field_identifier') {
37
+ return child.text;
38
+ }
39
+ }
40
+ return null;
41
+ }
42
+ /**
43
+ * Extract name from const/var declaration
44
+ */
45
+ export function extractConstName(node) {
46
+ for (let i = 0; i < node.childCount; i++) {
47
+ const child = node.child(i);
48
+ if (child?.type === 'const_spec' || child?.type === 'var_spec') {
49
+ const nameNode = child.childForFieldName('name');
50
+ return nameNode?.text ?? null;
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ function findChild(node, type) {
56
+ for (let i = 0; i < node.childCount; i++) {
57
+ const child = node.child(i);
58
+ if (child?.type === type)
59
+ return child;
60
+ }
61
+ return null;
62
+ }
63
+ // Comment handling
64
+ export const commentPrefixes = ['//', '/*'];
65
+ //# sourceMappingURL=go.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../src/languages/go.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { Language, SyntaxNode, DefinitionType } from '../types.js';
2
+ import * as typescript from './typescript.js';
3
+ import * as javascript from './javascript.js';
4
+ import * as python from './python.js';
5
+ import * as rust from './rust.js';
6
+ import * as go from './go.js';
7
+ import * as zig from './zig.js';
8
+ import * as cpp from './cpp.js';
9
+ export { typescript, javascript, python, rust, go, zig, cpp };
10
+ /**
11
+ * All registered languages
12
+ */
13
+ export declare const languages: {
14
+ readonly typescript: typeof typescript;
15
+ readonly javascript: typeof javascript;
16
+ readonly python: typeof python;
17
+ readonly rust: typeof rust;
18
+ readonly go: typeof go;
19
+ readonly zig: typeof zig;
20
+ readonly cpp: typeof cpp;
21
+ };
22
+ /**
23
+ * File extension to language mapping
24
+ */
25
+ export declare const LANGUAGE_EXTENSIONS: Record<string, Language>;
26
+ /**
27
+ * Grammar paths per language
28
+ */
29
+ export declare const GRAMMAR_PATHS: Record<Language, string>;
30
+ /**
31
+ * Node types that represent functions per language
32
+ */
33
+ export declare const FUNCTION_TYPES: Record<Language, string[]>;
34
+ /**
35
+ * Node types that represent classes per language
36
+ */
37
+ export declare const CLASS_TYPES: Record<Language, string[]>;
38
+ /**
39
+ * Node types that represent structs per language
40
+ */
41
+ export declare const STRUCT_TYPES: Record<Language, string[]>;
42
+ /**
43
+ * Node types that represent traits per language
44
+ */
45
+ export declare const TRAIT_TYPES: Record<Language, string[]>;
46
+ /**
47
+ * Node types that represent interfaces per language
48
+ */
49
+ export declare const INTERFACE_TYPES: Record<Language, string[]>;
50
+ /**
51
+ * Node types that represent type aliases per language
52
+ */
53
+ export declare const TYPE_TYPES: Record<Language, string[]>;
54
+ /**
55
+ * Node types that represent enums per language
56
+ */
57
+ export declare const ENUM_TYPES: Record<Language, string[]>;
58
+ /**
59
+ * Node types that represent constants per language
60
+ */
61
+ export declare const CONST_TYPES: Record<Language, string[]>;
62
+ /**
63
+ * Extract name from a node using language-specific logic
64
+ */
65
+ export declare function extractName(node: SyntaxNode, language: Language): string | null;
66
+ /**
67
+ * Extract name from a const/let/var declaration
68
+ */
69
+ export declare function extractConstName(node: SyntaxNode, language: Language): string | null;
70
+ /**
71
+ * Check if a node is exported (language-specific)
72
+ */
73
+ export declare function isExported(node: SyntaxNode, language: Language, name?: string): boolean;
74
+ /**
75
+ * Unwrap export statement to get the actual declaration (TS/JS only)
76
+ */
77
+ export declare function unwrapExport(node: SyntaxNode, language: Language): SyntaxNode;
78
+ /**
79
+ * Check if a node has extern modifier (Zig/C++ only)
80
+ */
81
+ export declare function isExtern(node: SyntaxNode, language: Language): boolean;
82
+ /**
83
+ * Zig-specific: check if variable_declaration uses 'const'
84
+ */
85
+ export declare function isZigConst(node: SyntaxNode): boolean;
86
+ /**
87
+ * Zig-specific: get type declaration (struct/enum/union) from variable_declaration
88
+ */
89
+ export declare function getZigTypeDeclaration(node: SyntaxNode): DefinitionType | null;
90
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEvE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAG/B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAQxD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQlD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQrD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQlD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQnD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQlD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQtD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQjD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQjD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQlD,CAAA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAQ/E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAMpF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAOvF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAK7E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAQtE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAE7E"}
@@ -0,0 +1,209 @@
1
+ // Language registry for agentmap.
2
+ // Aggregates all language-specific implementations.
3
+ import * as typescript from './typescript.js';
4
+ import * as javascript from './javascript.js';
5
+ import * as python from './python.js';
6
+ import * as rust from './rust.js';
7
+ import * as go from './go.js';
8
+ import * as zig from './zig.js';
9
+ import * as cpp from './cpp.js';
10
+ // Re-export language modules for direct access
11
+ export { typescript, javascript, python, rust, go, zig, cpp };
12
+ /**
13
+ * All registered languages
14
+ */
15
+ export const languages = {
16
+ typescript,
17
+ javascript,
18
+ python,
19
+ rust,
20
+ go,
21
+ zig,
22
+ cpp,
23
+ };
24
+ /**
25
+ * File extension to language mapping
26
+ */
27
+ export const LANGUAGE_EXTENSIONS = {
28
+ ...Object.fromEntries(typescript.extensions.map(e => [e, 'typescript'])),
29
+ ...Object.fromEntries(javascript.extensions.map(e => [e, 'javascript'])),
30
+ ...Object.fromEntries(python.extensions.map(e => [e, 'python'])),
31
+ ...Object.fromEntries(rust.extensions.map(e => [e, 'rust'])),
32
+ ...Object.fromEntries(go.extensions.map(e => [e, 'go'])),
33
+ ...Object.fromEntries(zig.extensions.map(e => [e, 'zig'])),
34
+ ...Object.fromEntries(cpp.extensions.map(e => [e, 'cpp'])),
35
+ };
36
+ /**
37
+ * Grammar paths per language
38
+ */
39
+ export const GRAMMAR_PATHS = {
40
+ typescript: typescript.grammar,
41
+ javascript: javascript.grammar,
42
+ python: python.grammar,
43
+ rust: rust.grammar,
44
+ go: go.grammar,
45
+ zig: zig.grammar,
46
+ cpp: cpp.grammar,
47
+ };
48
+ /**
49
+ * Node types that represent functions per language
50
+ */
51
+ export const FUNCTION_TYPES = {
52
+ typescript: typescript.FUNCTION_TYPES,
53
+ javascript: javascript.FUNCTION_TYPES,
54
+ python: python.FUNCTION_TYPES,
55
+ rust: rust.FUNCTION_TYPES,
56
+ go: go.FUNCTION_TYPES,
57
+ zig: zig.FUNCTION_TYPES,
58
+ cpp: cpp.FUNCTION_TYPES,
59
+ };
60
+ /**
61
+ * Node types that represent classes per language
62
+ */
63
+ export const CLASS_TYPES = {
64
+ typescript: typescript.CLASS_TYPES,
65
+ javascript: javascript.CLASS_TYPES,
66
+ python: python.CLASS_TYPES,
67
+ rust: rust.CLASS_TYPES,
68
+ go: go.CLASS_TYPES,
69
+ zig: zig.CLASS_TYPES,
70
+ cpp: cpp.CLASS_TYPES,
71
+ };
72
+ /**
73
+ * Node types that represent structs per language
74
+ */
75
+ export const STRUCT_TYPES = {
76
+ typescript: typescript.STRUCT_TYPES,
77
+ javascript: javascript.STRUCT_TYPES,
78
+ python: python.STRUCT_TYPES,
79
+ rust: rust.STRUCT_TYPES,
80
+ go: go.STRUCT_TYPES,
81
+ zig: zig.STRUCT_TYPES,
82
+ cpp: cpp.STRUCT_TYPES,
83
+ };
84
+ /**
85
+ * Node types that represent traits per language
86
+ */
87
+ export const TRAIT_TYPES = {
88
+ typescript: typescript.TRAIT_TYPES,
89
+ javascript: javascript.TRAIT_TYPES,
90
+ python: python.TRAIT_TYPES,
91
+ rust: rust.TRAIT_TYPES,
92
+ go: go.TRAIT_TYPES,
93
+ zig: zig.TRAIT_TYPES,
94
+ cpp: cpp.TRAIT_TYPES,
95
+ };
96
+ /**
97
+ * Node types that represent interfaces per language
98
+ */
99
+ export const INTERFACE_TYPES = {
100
+ typescript: typescript.INTERFACE_TYPES,
101
+ javascript: javascript.INTERFACE_TYPES,
102
+ python: python.INTERFACE_TYPES,
103
+ rust: rust.INTERFACE_TYPES,
104
+ go: go.INTERFACE_TYPES,
105
+ zig: zig.INTERFACE_TYPES,
106
+ cpp: cpp.INTERFACE_TYPES,
107
+ };
108
+ /**
109
+ * Node types that represent type aliases per language
110
+ */
111
+ export const TYPE_TYPES = {
112
+ typescript: typescript.TYPE_TYPES,
113
+ javascript: javascript.TYPE_TYPES,
114
+ python: python.TYPE_TYPES,
115
+ rust: rust.TYPE_TYPES,
116
+ go: go.TYPE_TYPES,
117
+ zig: zig.TYPE_TYPES,
118
+ cpp: cpp.TYPE_TYPES,
119
+ };
120
+ /**
121
+ * Node types that represent enums per language
122
+ */
123
+ export const ENUM_TYPES = {
124
+ typescript: typescript.ENUM_TYPES,
125
+ javascript: javascript.ENUM_TYPES,
126
+ python: python.ENUM_TYPES,
127
+ rust: rust.ENUM_TYPES,
128
+ go: go.ENUM_TYPES,
129
+ zig: zig.ENUM_TYPES,
130
+ cpp: cpp.ENUM_TYPES,
131
+ };
132
+ /**
133
+ * Node types that represent constants per language
134
+ */
135
+ export const CONST_TYPES = {
136
+ typescript: typescript.CONST_TYPES,
137
+ javascript: javascript.CONST_TYPES,
138
+ python: python.CONST_TYPES,
139
+ rust: rust.CONST_TYPES,
140
+ go: go.CONST_TYPES,
141
+ zig: zig.CONST_TYPES,
142
+ cpp: cpp.CONST_TYPES,
143
+ };
144
+ /**
145
+ * Extract name from a node using language-specific logic
146
+ */
147
+ export function extractName(node, language) {
148
+ // Try 'name' field first (common across languages)
149
+ const nameNode = node.childForFieldName('name');
150
+ if (nameNode) {
151
+ return nameNode.text;
152
+ }
153
+ return languages[language].extractName(node);
154
+ }
155
+ /**
156
+ * Extract name from a const/let/var declaration
157
+ */
158
+ export function extractConstName(node, language) {
159
+ const lang = languages[language];
160
+ if ('extractConstName' in lang && typeof lang.extractConstName === 'function') {
161
+ return lang.extractConstName(node);
162
+ }
163
+ return extractName(node, language);
164
+ }
165
+ /**
166
+ * Check if a node is exported (language-specific)
167
+ */
168
+ export function isExported(node, language, name) {
169
+ const lang = languages[language];
170
+ // Go uses name-based exports
171
+ if (language === 'go') {
172
+ return lang.isExported(node, name);
173
+ }
174
+ return lang.isExported(node);
175
+ }
176
+ /**
177
+ * Unwrap export statement to get the actual declaration (TS/JS only)
178
+ */
179
+ export function unwrapExport(node, language) {
180
+ if (language === 'typescript' || language === 'javascript') {
181
+ return typescript.unwrapExport(node);
182
+ }
183
+ return node;
184
+ }
185
+ /**
186
+ * Check if a node has extern modifier (Zig/C++ only)
187
+ */
188
+ export function isExtern(node, language) {
189
+ if (language === 'zig') {
190
+ return zig.isExtern(node);
191
+ }
192
+ if (language === 'cpp') {
193
+ return cpp.isExtern(node);
194
+ }
195
+ return false;
196
+ }
197
+ /**
198
+ * Zig-specific: check if variable_declaration uses 'const'
199
+ */
200
+ export function isZigConst(node) {
201
+ return zig.isConst(node);
202
+ }
203
+ /**
204
+ * Zig-specific: get type declaration (struct/enum/union) from variable_declaration
205
+ */
206
+ export function getZigTypeDeclaration(node) {
207
+ return zig.getTypeDeclaration(node);
208
+ }
209
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { extractName as tsExtractName, extractConstName as tsExtractConstName, isExported as tsIsExported, unwrapExport as tsUnwrapExport } from './typescript.js';
2
+ export declare const id: "javascript";
3
+ export declare const extensions: string[];
4
+ export declare const grammar = "tree-sitter-javascript/tree-sitter-javascript.wasm";
5
+ export declare const FUNCTION_TYPES: string[];
6
+ export declare const CLASS_TYPES: string[];
7
+ export declare const STRUCT_TYPES: string[];
8
+ export declare const TRAIT_TYPES: string[];
9
+ export declare const INTERFACE_TYPES: string[];
10
+ export declare const TYPE_TYPES: string[];
11
+ export declare const ENUM_TYPES: string[];
12
+ export declare const CONST_TYPES: string[];
13
+ export declare const isExported: typeof tsIsExported;
14
+ export declare const unwrapExport: typeof tsUnwrapExport;
15
+ export declare const extractName: typeof tsExtractName;
16
+ export declare const extractConstName: typeof tsExtractConstName;
17
+ export declare const commentPrefixes: string[];
18
+ //# sourceMappingURL=javascript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/languages/javascript.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,IAAI,aAAa,EAC5B,gBAAgB,IAAI,kBAAkB,EACtC,UAAU,IAAI,YAAY,EAC1B,YAAY,IAAI,cAAc,EAC/B,MAAM,iBAAiB,CAAA;AAExB,eAAO,MAAM,EAAE,EAAG,YAAqB,CAAA;AACvC,eAAO,MAAM,UAAU,UAAkC,CAAA;AACzD,eAAO,MAAM,OAAO,uDAAuD,CAAA;AAG3E,eAAO,MAAM,cAAc,UAAgD,CAAA;AAC3E,eAAO,MAAM,WAAW,UAAwB,CAAA;AAChD,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,WAAW,UAA0B,CAAA;AAGlD,eAAO,MAAM,UAAU,qBAAe,CAAA;AACtC,eAAO,MAAM,YAAY,uBAAiB,CAAA;AAC1C,eAAO,MAAM,WAAW,sBAAgB,CAAA;AACxC,eAAO,MAAM,gBAAgB,2BAAqB,CAAA;AAGlD,eAAO,MAAM,eAAe,UAAe,CAAA"}
@@ -0,0 +1,23 @@
1
+ // JavaScript language support for agentmap.
2
+ // Shares most implementation with TypeScript.
3
+ import { extractName as tsExtractName, extractConstName as tsExtractConstName, isExported as tsIsExported, unwrapExport as tsUnwrapExport, } from './typescript.js';
4
+ export const id = 'javascript';
5
+ export const extensions = ['.js', '.jsx', '.mjs', '.cjs'];
6
+ export const grammar = 'tree-sitter-javascript/tree-sitter-javascript.wasm';
7
+ // AST node types
8
+ export const FUNCTION_TYPES = ['function_declaration', 'method_definition'];
9
+ export const CLASS_TYPES = ['class_declaration'];
10
+ export const STRUCT_TYPES = [];
11
+ export const TRAIT_TYPES = [];
12
+ export const INTERFACE_TYPES = [];
13
+ export const TYPE_TYPES = [];
14
+ export const ENUM_TYPES = [];
15
+ export const CONST_TYPES = ['lexical_declaration'];
16
+ // Reuse TypeScript implementations
17
+ export const isExported = tsIsExported;
18
+ export const unwrapExport = tsUnwrapExport;
19
+ export const extractName = tsExtractName;
20
+ export const extractConstName = tsExtractConstName;
21
+ // Comment handling
22
+ export const commentPrefixes = ['//', '/*'];
23
+ //# sourceMappingURL=javascript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/languages/javascript.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,8CAA8C;AAG9C,OAAO,EACL,WAAW,IAAI,aAAa,EAC5B,gBAAgB,IAAI,kBAAkB,EACtC,UAAU,IAAI,YAAY,EAC1B,YAAY,IAAI,cAAc,GAC/B,MAAM,iBAAiB,CAAA;AAExB,MAAM,CAAC,MAAM,EAAE,GAAG,YAAqB,CAAA;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,oDAAoD,CAAA;AAE3E,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,WAAW,GAAa,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,eAAe,GAAa,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAElD,mCAAmC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAA;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAElD,mBAAmB;AACnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import type { SyntaxNode } from '../types.js';
2
+ export declare const id: "python";
3
+ export declare const extensions: string[];
4
+ export declare const grammar = "tree-sitter-python/tree-sitter-python.wasm";
5
+ export declare const FUNCTION_TYPES: string[];
6
+ export declare const CLASS_TYPES: string[];
7
+ export declare const STRUCT_TYPES: string[];
8
+ export declare const TRAIT_TYPES: string[];
9
+ export declare const INTERFACE_TYPES: string[];
10
+ export declare const TYPE_TYPES: string[];
11
+ export declare const ENUM_TYPES: string[];
12
+ export declare const CONST_TYPES: string[];
13
+ /**
14
+ * Python doesn't have explicit exports - everything is importable
15
+ */
16
+ export declare function isExported(_node: SyntaxNode): boolean;
17
+ /**
18
+ * Extract name from a Python node
19
+ */
20
+ export declare function extractName(node: SyntaxNode): string | null;
21
+ export declare const commentPrefixes: string[];
22
+ export declare const docstringType = "string";
23
+ //# sourceMappingURL=python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/languages/python.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,EAAE,EAAG,QAAiB,CAAA;AACnC,eAAO,MAAM,UAAU,UAAkB,CAAA;AACzC,eAAO,MAAM,OAAO,+CAA+C,CAAA;AAGnE,eAAO,MAAM,cAAc,UAA0B,CAAA;AACrD,eAAO,MAAM,WAAW,UAAuB,CAAA;AAC/C,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AAEvC;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAQ3D;AAGD,eAAO,MAAM,eAAe,UAAQ,CAAA;AACpC,eAAO,MAAM,aAAa,WAAW,CAAA"}
@@ -0,0 +1,35 @@
1
+ // Python language support for agentmap.
2
+ export const id = 'python';
3
+ export const extensions = ['.py', '.pyi'];
4
+ export const grammar = 'tree-sitter-python/tree-sitter-python.wasm';
5
+ // AST node types
6
+ export const FUNCTION_TYPES = ['function_definition'];
7
+ export const CLASS_TYPES = ['class_definition'];
8
+ export const STRUCT_TYPES = [];
9
+ export const TRAIT_TYPES = [];
10
+ export const INTERFACE_TYPES = [];
11
+ export const TYPE_TYPES = [];
12
+ export const ENUM_TYPES = [];
13
+ export const CONST_TYPES = []; // Python constants handled separately
14
+ /**
15
+ * Python doesn't have explicit exports - everything is importable
16
+ */
17
+ export function isExported(_node) {
18
+ return false;
19
+ }
20
+ /**
21
+ * Extract name from a Python node
22
+ */
23
+ export function extractName(node) {
24
+ for (let i = 0; i < node.childCount; i++) {
25
+ const child = node.child(i);
26
+ if (child?.type === 'identifier') {
27
+ return child.text;
28
+ }
29
+ }
30
+ return null;
31
+ }
32
+ // Comment handling
33
+ export const commentPrefixes = ['#'];
34
+ export const docstringType = 'string'; // Python uses docstrings
35
+ //# sourceMappingURL=python.js.map