@zvec/zvec-grep 0.1.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 (201) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +222 -0
  3. package/README_CN.md +222 -0
  4. package/dist/cli/args.d.ts +2 -0
  5. package/dist/cli/args.js +611 -0
  6. package/dist/cli/args.js.map +1 -0
  7. package/dist/cli/commands.d.ts +2 -0
  8. package/dist/cli/commands.js +270 -0
  9. package/dist/cli/commands.js.map +1 -0
  10. package/dist/cli/errors.d.ts +6 -0
  11. package/dist/cli/errors.js +97 -0
  12. package/dist/cli/errors.js.map +1 -0
  13. package/dist/cli/format/context.d.ts +5 -0
  14. package/dist/cli/format/context.js +490 -0
  15. package/dist/cli/format/context.js.map +1 -0
  16. package/dist/cli/format/debug.d.ts +4 -0
  17. package/dist/cli/format/debug.js +42 -0
  18. package/dist/cli/format/debug.js.map +1 -0
  19. package/dist/cli/format/highlight.d.ts +3 -0
  20. package/dist/cli/format/highlight.js +106 -0
  21. package/dist/cli/format/highlight.js.map +1 -0
  22. package/dist/cli/format/progress.d.ts +9 -0
  23. package/dist/cli/format/progress.js +92 -0
  24. package/dist/cli/format/progress.js.map +1 -0
  25. package/dist/cli/format/range.d.ts +3 -0
  26. package/dist/cli/format/range.js +24 -0
  27. package/dist/cli/format/range.js.map +1 -0
  28. package/dist/cli/format/status.d.ts +7 -0
  29. package/dist/cli/format/status.js +200 -0
  30. package/dist/cli/format/status.js.map +1 -0
  31. package/dist/cli/help.d.ts +1 -0
  32. package/dist/cli/help.js +88 -0
  33. package/dist/cli/help.js.map +1 -0
  34. package/dist/cli/index.d.ts +2 -0
  35. package/dist/cli/index.js +32 -0
  36. package/dist/cli/index.js.map +1 -0
  37. package/dist/cli/types.d.ts +56 -0
  38. package/dist/cli/types.js +10 -0
  39. package/dist/cli/types.js.map +1 -0
  40. package/dist/cli/version.d.ts +1 -0
  41. package/dist/cli/version.js +11 -0
  42. package/dist/cli/version.js.map +1 -0
  43. package/dist/engine/collection/index.d.ts +50 -0
  44. package/dist/engine/collection/index.js +388 -0
  45. package/dist/engine/collection/index.js.map +1 -0
  46. package/dist/engine/errors/details.d.ts +6 -0
  47. package/dist/engine/errors/details.js +27 -0
  48. package/dist/engine/errors/details.js.map +1 -0
  49. package/dist/engine/errors/index.d.ts +14 -0
  50. package/dist/engine/errors/index.js +16 -0
  51. package/dist/engine/errors/index.js.map +1 -0
  52. package/dist/engine/models/catalog.d.ts +47 -0
  53. package/dist/engine/models/catalog.js +68 -0
  54. package/dist/engine/models/catalog.js.map +1 -0
  55. package/dist/engine/models/embeddings.d.ts +25 -0
  56. package/dist/engine/models/embeddings.js +100 -0
  57. package/dist/engine/models/embeddings.js.map +1 -0
  58. package/dist/engine/models/factory.d.ts +5 -0
  59. package/dist/engine/models/factory.js +66 -0
  60. package/dist/engine/models/factory.js.map +1 -0
  61. package/dist/engine/models/index.d.ts +6 -0
  62. package/dist/engine/models/index.js +5 -0
  63. package/dist/engine/models/index.js.map +1 -0
  64. package/dist/engine/models/providers/index.d.ts +2 -0
  65. package/dist/engine/models/providers/index.js +3 -0
  66. package/dist/engine/models/providers/index.js.map +1 -0
  67. package/dist/engine/models/providers/llama-cpp/embedding.d.ts +94 -0
  68. package/dist/engine/models/providers/llama-cpp/embedding.js +459 -0
  69. package/dist/engine/models/providers/llama-cpp/embedding.js.map +1 -0
  70. package/dist/engine/models/providers/llama-cpp/index.d.ts +1 -0
  71. package/dist/engine/models/providers/llama-cpp/index.js +2 -0
  72. package/dist/engine/models/providers/llama-cpp/index.js.map +1 -0
  73. package/dist/engine/models/providers/qwen/embedding.d.ts +38 -0
  74. package/dist/engine/models/providers/qwen/embedding.js +322 -0
  75. package/dist/engine/models/providers/qwen/embedding.js.map +1 -0
  76. package/dist/engine/models/providers/qwen/index.d.ts +1 -0
  77. package/dist/engine/models/providers/qwen/index.js +2 -0
  78. package/dist/engine/models/providers/qwen/index.js.map +1 -0
  79. package/dist/engine/models/ranking.d.ts +15 -0
  80. package/dist/engine/models/ranking.js +2 -0
  81. package/dist/engine/models/ranking.js.map +1 -0
  82. package/dist/engine/models/types.d.ts +30 -0
  83. package/dist/engine/models/types.js +2 -0
  84. package/dist/engine/models/types.js.map +1 -0
  85. package/dist/engine/pipeline/indexing/extractor/code/adapter.d.ts +19 -0
  86. package/dist/engine/pipeline/indexing/extractor/code/adapter.js +24 -0
  87. package/dist/engine/pipeline/indexing/extractor/code/adapter.js.map +1 -0
  88. package/dist/engine/pipeline/indexing/extractor/code/extractor.d.ts +14 -0
  89. package/dist/engine/pipeline/indexing/extractor/code/extractor.js +594 -0
  90. package/dist/engine/pipeline/indexing/extractor/code/extractor.js.map +1 -0
  91. package/dist/engine/pipeline/indexing/extractor/code/families/c-family.d.ts +2 -0
  92. package/dist/engine/pipeline/indexing/extractor/code/families/c-family.js +116 -0
  93. package/dist/engine/pipeline/indexing/extractor/code/families/c-family.js.map +1 -0
  94. package/dist/engine/pipeline/indexing/extractor/code/families/js-ts.d.ts +12 -0
  95. package/dist/engine/pipeline/indexing/extractor/code/families/js-ts.js +112 -0
  96. package/dist/engine/pipeline/indexing/extractor/code/families/js-ts.js.map +1 -0
  97. package/dist/engine/pipeline/indexing/extractor/code/families/metadata.d.ts +8 -0
  98. package/dist/engine/pipeline/indexing/extractor/code/families/metadata.js +83 -0
  99. package/dist/engine/pipeline/indexing/extractor/code/families/metadata.js.map +1 -0
  100. package/dist/engine/pipeline/indexing/extractor/code/families/name-field.d.ts +3 -0
  101. package/dist/engine/pipeline/indexing/extractor/code/families/name-field.js +22 -0
  102. package/dist/engine/pipeline/indexing/extractor/code/families/name-field.js.map +1 -0
  103. package/dist/engine/pipeline/indexing/extractor/code/languages/c.d.ts +1 -0
  104. package/dist/engine/pipeline/indexing/extractor/code/languages/c.js +15 -0
  105. package/dist/engine/pipeline/indexing/extractor/code/languages/c.js.map +1 -0
  106. package/dist/engine/pipeline/indexing/extractor/code/languages/cpp.d.ts +1 -0
  107. package/dist/engine/pipeline/indexing/extractor/code/languages/cpp.js +18 -0
  108. package/dist/engine/pipeline/indexing/extractor/code/languages/cpp.js.map +1 -0
  109. package/dist/engine/pipeline/indexing/extractor/code/languages/go.d.ts +2 -0
  110. package/dist/engine/pipeline/indexing/extractor/code/languages/go.js +72 -0
  111. package/dist/engine/pipeline/indexing/extractor/code/languages/go.js.map +1 -0
  112. package/dist/engine/pipeline/indexing/extractor/code/languages/java.d.ts +1 -0
  113. package/dist/engine/pipeline/indexing/extractor/code/languages/java.js +17 -0
  114. package/dist/engine/pipeline/indexing/extractor/code/languages/java.js.map +1 -0
  115. package/dist/engine/pipeline/indexing/extractor/code/languages/javascript.d.ts +2 -0
  116. package/dist/engine/pipeline/indexing/extractor/code/languages/javascript.js +25 -0
  117. package/dist/engine/pipeline/indexing/extractor/code/languages/javascript.js.map +1 -0
  118. package/dist/engine/pipeline/indexing/extractor/code/languages/python.d.ts +2 -0
  119. package/dist/engine/pipeline/indexing/extractor/code/languages/python.js +53 -0
  120. package/dist/engine/pipeline/indexing/extractor/code/languages/python.js.map +1 -0
  121. package/dist/engine/pipeline/indexing/extractor/code/languages/rust.d.ts +2 -0
  122. package/dist/engine/pipeline/indexing/extractor/code/languages/rust.js +29 -0
  123. package/dist/engine/pipeline/indexing/extractor/code/languages/rust.js.map +1 -0
  124. package/dist/engine/pipeline/indexing/extractor/code/languages/typescript.d.ts +2 -0
  125. package/dist/engine/pipeline/indexing/extractor/code/languages/typescript.js +37 -0
  126. package/dist/engine/pipeline/indexing/extractor/code/languages/typescript.js.map +1 -0
  127. package/dist/engine/pipeline/indexing/extractor/index.d.ts +44 -0
  128. package/dist/engine/pipeline/indexing/extractor/index.js +281 -0
  129. package/dist/engine/pipeline/indexing/extractor/index.js.map +1 -0
  130. package/dist/engine/pipeline/indexing/extractor/markdown/extractor.d.ts +13 -0
  131. package/dist/engine/pipeline/indexing/extractor/markdown/extractor.js +339 -0
  132. package/dist/engine/pipeline/indexing/extractor/markdown/extractor.js.map +1 -0
  133. package/dist/engine/pipeline/indexing/extractor/tree-sitter/grammar.d.ts +4 -0
  134. package/dist/engine/pipeline/indexing/extractor/tree-sitter/grammar.js +49 -0
  135. package/dist/engine/pipeline/indexing/extractor/tree-sitter/grammar.js.map +1 -0
  136. package/dist/engine/pipeline/indexing/extractor/tree-sitter/nodes.d.ts +3 -0
  137. package/dist/engine/pipeline/indexing/extractor/tree-sitter/nodes.js +26 -0
  138. package/dist/engine/pipeline/indexing/extractor/tree-sitter/nodes.js.map +1 -0
  139. package/dist/engine/pipeline/indexing/extractor/tree-sitter/parser.d.ts +2 -0
  140. package/dist/engine/pipeline/indexing/extractor/tree-sitter/parser.js +31 -0
  141. package/dist/engine/pipeline/indexing/extractor/tree-sitter/parser.js.map +1 -0
  142. package/dist/engine/pipeline/indexing/ids.d.ts +1 -0
  143. package/dist/engine/pipeline/indexing/ids.js +5 -0
  144. package/dist/engine/pipeline/indexing/ids.js.map +1 -0
  145. package/dist/engine/pipeline/indexing/index.d.ts +12 -0
  146. package/dist/engine/pipeline/indexing/index.js +538 -0
  147. package/dist/engine/pipeline/indexing/index.js.map +1 -0
  148. package/dist/engine/pipeline/indexing/root-paths.d.ts +7 -0
  149. package/dist/engine/pipeline/indexing/root-paths.js +151 -0
  150. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -0
  151. package/dist/engine/pipeline/indexing/scanner/index.d.ts +5 -0
  152. package/dist/engine/pipeline/indexing/scanner/index.js +504 -0
  153. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -0
  154. package/dist/engine/pipeline/search/index.d.ts +12 -0
  155. package/dist/engine/pipeline/search/index.js +761 -0
  156. package/dist/engine/pipeline/search/index.js.map +1 -0
  157. package/dist/engine/service/index.d.ts +2 -0
  158. package/dist/engine/service/index.js +2 -0
  159. package/dist/engine/service/index.js.map +1 -0
  160. package/dist/engine/service/lexical.d.ts +29 -0
  161. package/dist/engine/service/lexical.js +482 -0
  162. package/dist/engine/service/lexical.js.map +1 -0
  163. package/dist/engine/service/root.d.ts +15 -0
  164. package/dist/engine/service/root.js +44 -0
  165. package/dist/engine/service/root.js.map +1 -0
  166. package/dist/engine/service/types.d.ts +157 -0
  167. package/dist/engine/service/types.js +2 -0
  168. package/dist/engine/service/types.js.map +1 -0
  169. package/dist/engine/service/zvec-grep.d.ts +2 -0
  170. package/dist/engine/service/zvec-grep.js +935 -0
  171. package/dist/engine/service/zvec-grep.js.map +1 -0
  172. package/dist/engine/storage/index.d.ts +42 -0
  173. package/dist/engine/storage/index.js +2 -0
  174. package/dist/engine/storage/index.js.map +1 -0
  175. package/dist/engine/storage/zvec.d.ts +51 -0
  176. package/dist/engine/storage/zvec.js +706 -0
  177. package/dist/engine/storage/zvec.js.map +1 -0
  178. package/dist/engine/types.d.ts +266 -0
  179. package/dist/engine/types.js +14 -0
  180. package/dist/engine/types.js.map +1 -0
  181. package/dist/engine/utils/glob.d.ts +6 -0
  182. package/dist/engine/utils/glob.js +110 -0
  183. package/dist/engine/utils/glob.js.map +1 -0
  184. package/dist/engine/utils/hash.d.ts +2 -0
  185. package/dist/engine/utils/hash.js +8 -0
  186. package/dist/engine/utils/hash.js.map +1 -0
  187. package/dist/engine/utils/json.d.ts +4 -0
  188. package/dist/engine/utils/json.js +45 -0
  189. package/dist/engine/utils/json.js.map +1 -0
  190. package/dist/engine/utils/lock.d.ts +19 -0
  191. package/dist/engine/utils/lock.js +254 -0
  192. package/dist/engine/utils/lock.js.map +1 -0
  193. package/dist/engine/utils/path.d.ts +4 -0
  194. package/dist/engine/utils/path.js +18 -0
  195. package/dist/engine/utils/path.js.map +1 -0
  196. package/dist/index.d.ts +6 -0
  197. package/dist/index.js +4 -0
  198. package/dist/index.js.map +1 -0
  199. package/package.json +47 -0
  200. package/skills/zvec-grep/SKILL.md +141 -0
  201. package/skills/zvec-grep/agents/openai.yaml +4 -0
@@ -0,0 +1,116 @@
1
+ import { findIdentifierLeaf } from "../../tree-sitter/nodes.js";
2
+ import { extractCommonModifiers, extractGenericSignature, extractPrecedingDoc, } from "./metadata.js";
3
+ const C_FAMILY_FUNCTION_TYPES = new Set([
4
+ "declaration",
5
+ "field_declaration",
6
+ "function_definition",
7
+ "macro_type_specifier",
8
+ ]);
9
+ const C_FAMILY_FUNCTION_DECLARATION_TYPES = new Set([
10
+ "declaration",
11
+ "field_declaration",
12
+ ]);
13
+ export function createCFamilyAdapter(format, entityTypes, scopeTypes = []) {
14
+ return {
15
+ format,
16
+ entityTypes: new Set(entityTypes),
17
+ scopeTypes: new Set(scopeTypes),
18
+ shouldIndexEntity(node) {
19
+ if (!C_FAMILY_FUNCTION_DECLARATION_TYPES.has(node.type)) {
20
+ if (node.type === "macro_type_specifier") {
21
+ return extractCFunctionName(node.text) !== undefined;
22
+ }
23
+ return true;
24
+ }
25
+ return findDescendantByType(node, "function_declarator") !== null;
26
+ },
27
+ extractName(node) {
28
+ if (C_FAMILY_FUNCTION_TYPES.has(node.type)) {
29
+ const name = extractRawCFunctionName(node);
30
+ return name ? lastQualifiedPart(name) : undefined;
31
+ }
32
+ const name = node.childForFieldName("name");
33
+ if (name) {
34
+ return findIdentifierLeaf(name)?.text ?? name.text;
35
+ }
36
+ if (node.type === "type_definition") {
37
+ const declarator = node.childForFieldName("declarator");
38
+ return declarator ? findIdentifierLeaf(declarator)?.text : undefined;
39
+ }
40
+ return undefined;
41
+ },
42
+ classifyNode: classifyCFamilyNode,
43
+ scopeBreadcrumb: cFamilyScopeBreadcrumb,
44
+ extractSignature: extractGenericSignature,
45
+ extractDoc: extractPrecedingDoc,
46
+ extractModifiers: extractCommonModifiers,
47
+ };
48
+ }
49
+ function cFamilyScopeBreadcrumb(node, breadcrumb) {
50
+ if (!C_FAMILY_FUNCTION_TYPES.has(node.type)) {
51
+ return breadcrumb;
52
+ }
53
+ const name = extractRawCFunctionName(node);
54
+ const qualifier = name ? qualifierParts(name) : [];
55
+ if (qualifier.length === 0) {
56
+ return breadcrumb;
57
+ }
58
+ const parts = breadcrumb.length > 0 && breadcrumb[breadcrumb.length - 1] === qualifier[0]
59
+ ? qualifier.slice(1)
60
+ : qualifier;
61
+ return [...breadcrumb, ...parts];
62
+ }
63
+ function classifyCFamilyNode(node) {
64
+ if (node.type === "type_definition") {
65
+ return typedefWrapsClassLikeBody(node) ? "class" : "alias";
66
+ }
67
+ if (node.type === "alias_declaration") {
68
+ return "alias";
69
+ }
70
+ if (node.type === "field_declaration" && findDescendantByType(node, "function_declarator")) {
71
+ return "function";
72
+ }
73
+ return undefined;
74
+ }
75
+ function extractRawCFunctionName(node) {
76
+ const declarator = node.childForFieldName("declarator")
77
+ ?? findDescendantByType(node, "function_declarator");
78
+ const name = declarator ? findIdentifierLeaf(declarator)?.text : undefined;
79
+ return isSimpleCIdentifier(name)
80
+ ? name
81
+ : extractCFunctionName(declarator?.text ?? node.text);
82
+ }
83
+ function qualifierParts(name) {
84
+ const parts = name.split("::").filter((part) => part.length > 0);
85
+ return parts.length > 1 ? parts.slice(0, -1) : [];
86
+ }
87
+ function lastQualifiedPart(name) {
88
+ return name.split("::").filter((part) => part.length > 0).at(-1) ?? name;
89
+ }
90
+ function typedefWrapsClassLikeBody(node) {
91
+ return ["struct_specifier", "union_specifier", "enum_specifier"].some((type) => {
92
+ const child = findDescendantByType(node, type);
93
+ return child?.childForFieldName("body") !== null && child?.childForFieldName("body") !== undefined;
94
+ });
95
+ }
96
+ function isSimpleCIdentifier(value) {
97
+ return value !== undefined && /^~?[A-Za-z_][A-Za-z0-9_]*(?:::[~A-Za-z_][A-Za-z0-9_]*)*$/.test(value);
98
+ }
99
+ function extractCFunctionName(text) {
100
+ const matches = [...text.matchAll(/([~A-Za-z_][~A-Za-z0-9_:]*)\s*\(/g)];
101
+ const [last] = matches.slice(-1);
102
+ return last?.[1];
103
+ }
104
+ function findDescendantByType(node, type) {
105
+ if (node.type === type) {
106
+ return node;
107
+ }
108
+ for (const child of node.namedChildren) {
109
+ const found = findDescendantByType(child, type);
110
+ if (found) {
111
+ return found;
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ //# sourceMappingURL=c-family.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c-family.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/c-family.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { CodeSymbolType } from "../../../../../types.js";
2
+ import type { TSNode } from "../../tree-sitter/nodes.js";
3
+ import { extractCommonModifiers, extractPrecedingDoc } from "./metadata.js";
4
+ export declare function shouldIndexJavascriptTypescriptEntity(node: TSNode): boolean;
5
+ export declare function hasJavascriptTypescriptFunctionValue(node: TSNode): boolean;
6
+ export declare function resolveJavascriptTypescriptEntities(node: TSNode): readonly TSNode[];
7
+ export declare function extractJavascriptTypescriptName(node: TSNode): string | undefined;
8
+ export declare function javascriptTypescriptScopeBreadcrumb(node: TSNode, breadcrumb: readonly string[]): readonly string[];
9
+ export declare function extractJavascriptTypescriptSignature(node: TSNode): string | undefined;
10
+ export declare function classifyJavascriptTypescriptNode(node: TSNode): CodeSymbolType | undefined;
11
+ export declare const extractJavascriptTypescriptDoc: typeof extractPrecedingDoc;
12
+ export declare const extractJavascriptTypescriptModifiers: typeof extractCommonModifiers;
@@ -0,0 +1,112 @@
1
+ import { closestAncestor, extractCommonModifiers, extractGenericSignature, extractPrecedingDoc, } from "./metadata.js";
2
+ const JS_TS_FUNCTION_VALUE_DECLARATION_TYPES = new Set([
3
+ "field_definition",
4
+ "public_field_definition",
5
+ "variable_declarator",
6
+ ]);
7
+ const JS_TS_FUNCTION_VALUE_TYPES = new Set([
8
+ "arrow_function",
9
+ "function_expression",
10
+ ]);
11
+ export function shouldIndexJavascriptTypescriptEntity(node) {
12
+ if (node.type === "method_definition" && isObjectMember(node)) {
13
+ return false;
14
+ }
15
+ if (node.type === "pair") {
16
+ return hasFunctionValue(node) && exportedObjectVariableName(node) !== undefined;
17
+ }
18
+ if (!JS_TS_FUNCTION_VALUE_DECLARATION_TYPES.has(node.type)) {
19
+ return true;
20
+ }
21
+ if (node.type === "variable_declarator" && exportedObjectFunctionEntities(node).length > 0) {
22
+ return true;
23
+ }
24
+ return hasFunctionValue(node);
25
+ }
26
+ export function hasJavascriptTypescriptFunctionValue(node) {
27
+ return hasFunctionValue(node);
28
+ }
29
+ export function resolveJavascriptTypescriptEntities(node) {
30
+ if (node.type !== "variable_declarator") {
31
+ return [node];
32
+ }
33
+ const objectEntities = exportedObjectFunctionEntities(node);
34
+ return objectEntities.length > 0 ? objectEntities : [node];
35
+ }
36
+ export function extractJavascriptTypescriptName(node) {
37
+ if (node.type === "pair") {
38
+ return node.childForFieldName("key")?.text.replace(/^['"`]|['"`]$/g, "");
39
+ }
40
+ return node.childForFieldName("name")?.text
41
+ ?? findNamedIdentifierChild(node)?.text;
42
+ }
43
+ export function javascriptTypescriptScopeBreadcrumb(node, breadcrumb) {
44
+ const objectName = exportedObjectVariableName(node);
45
+ return objectName ? [...breadcrumb, objectName] : breadcrumb;
46
+ }
47
+ export function extractJavascriptTypescriptSignature(node) {
48
+ if (node.type === "pair") {
49
+ const key = extractJavascriptTypescriptName(node);
50
+ const value = node.childForFieldName("value");
51
+ const valueSignature = value ? extractGenericSignature(value) : undefined;
52
+ return key && valueSignature ? `${key}: ${valueSignature}` : extractGenericSignature(node);
53
+ }
54
+ return extractGenericSignature(node);
55
+ }
56
+ export function classifyJavascriptTypescriptNode(node) {
57
+ if (node.type === "pair"
58
+ || JS_TS_FUNCTION_VALUE_DECLARATION_TYPES.has(node.type)) {
59
+ return hasFunctionValue(node) ? "function" : undefined;
60
+ }
61
+ return undefined;
62
+ }
63
+ export const extractJavascriptTypescriptDoc = extractPrecedingDoc;
64
+ export const extractJavascriptTypescriptModifiers = extractCommonModifiers;
65
+ function hasFunctionValue(node) {
66
+ const value = node.childForFieldName("value")
67
+ ?? node.namedChildren.find((child) => JS_TS_FUNCTION_VALUE_TYPES.has(child.type));
68
+ return value !== undefined && containsFunctionValue(value);
69
+ }
70
+ function containsFunctionValue(node) {
71
+ if (JS_TS_FUNCTION_VALUE_TYPES.has(node.type)) {
72
+ return true;
73
+ }
74
+ if (node.type !== "call_expression" && node.type !== "arguments") {
75
+ return false;
76
+ }
77
+ return node.namedChildren.some((child) => containsFunctionValue(child));
78
+ }
79
+ function exportedObjectFunctionEntities(node) {
80
+ if (!isExportedVariableDeclarator(node)) {
81
+ return [];
82
+ }
83
+ const value = node.childForFieldName("value");
84
+ if (!value || (value.type !== "object" && value.type !== "object_expression")) {
85
+ return [];
86
+ }
87
+ return value.namedChildren.filter((child) => (child.type === "pair" && hasFunctionValue(child))
88
+ || child.type === "method_definition");
89
+ }
90
+ function exportedObjectVariableName(node) {
91
+ const object = closestAncestor(node, "object") ?? closestAncestor(node, "object_expression");
92
+ const variable = object?.parent;
93
+ if (!variable || variable.type !== "variable_declarator" || !isExportedVariableDeclarator(variable)) {
94
+ return undefined;
95
+ }
96
+ return extractJavascriptTypescriptName(variable);
97
+ }
98
+ function isExportedVariableDeclarator(node) {
99
+ if (node.type !== "variable_declarator") {
100
+ return false;
101
+ }
102
+ return closestAncestor(node, "export_statement") !== undefined;
103
+ }
104
+ function isObjectMember(node) {
105
+ return node.parent?.type === "object" || node.parent?.type === "object_expression";
106
+ }
107
+ function findNamedIdentifierChild(node) {
108
+ return node.namedChildren.find((child) => child.type === "identifier"
109
+ || child.type === "property_identifier"
110
+ || child.type === "type_identifier");
111
+ }
112
+ //# sourceMappingURL=js-ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-ts.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/js-ts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CodeEntityModifier } from "../../../../../types.js";
2
+ import type { TSNode } from "../../tree-sitter/nodes.js";
3
+ export declare function extractGenericSignature(node: TSNode): string | undefined;
4
+ export declare function extractPrecedingDoc(node: TSNode): string | undefined;
5
+ export declare function extractCommonModifiers(node: TSNode): CodeEntityModifier[];
6
+ export declare function isInsideNodeType(node: TSNode, type: string): boolean;
7
+ export declare function closestAncestor(node: TSNode, type: string): TSNode | undefined;
8
+ export declare function firstNonEmptyLine(text: string): string;
@@ -0,0 +1,83 @@
1
+ const COMMENT_TYPES = new Set([
2
+ "comment",
3
+ "line_comment",
4
+ "block_comment",
5
+ "documentation_comment",
6
+ ]);
7
+ export function extractGenericSignature(node) {
8
+ const body = node.childForFieldName("body")
9
+ ?? node.namedChildren.find((child) => child.type === "statement_block"
10
+ || child.type === "compound_statement"
11
+ || child.type === "block"
12
+ || child.type === "class_body"
13
+ || child.type === "declaration_list"
14
+ || child.type === "field_declaration_list");
15
+ const text = body && body.startIndex > node.startIndex
16
+ ? node.text.slice(0, body.startIndex - node.startIndex).trimEnd()
17
+ : firstNonEmptyLine(node.text);
18
+ const normalized = text
19
+ .replace(/\s+/g, " ")
20
+ .replace(/\s*[{;]\s*$/, "")
21
+ .trim();
22
+ return normalized.length > 0 ? normalized : undefined;
23
+ }
24
+ export function extractPrecedingDoc(node) {
25
+ const comments = [];
26
+ let sibling = node.previousNamedSibling;
27
+ while (sibling && COMMENT_TYPES.has(sibling.type)) {
28
+ comments.unshift(cleanCommentText(sibling.text));
29
+ sibling = sibling.previousNamedSibling;
30
+ }
31
+ const doc = comments.join("\n").trim();
32
+ return doc.length > 0 ? doc : undefined;
33
+ }
34
+ export function extractCommonModifiers(node) {
35
+ const modifiers = new Set();
36
+ const signature = extractGenericSignature(node) ?? firstNonEmptyLine(node.text);
37
+ if (hasAncestor(node, "export_statement")) {
38
+ modifiers.add("exported");
39
+ }
40
+ for (const token of signature.matchAll(/\b(public|private|protected|internal|static|async|pub)\b/g)) {
41
+ modifiers.add(normalizeModifier(token[1]));
42
+ }
43
+ return [...modifiers];
44
+ }
45
+ export function isInsideNodeType(node, type) {
46
+ let parent = node.parent;
47
+ while (parent) {
48
+ if (parent.type === type) {
49
+ return true;
50
+ }
51
+ parent = parent.parent;
52
+ }
53
+ return false;
54
+ }
55
+ export function closestAncestor(node, type) {
56
+ let parent = node.parent;
57
+ while (parent) {
58
+ if (parent.type === type) {
59
+ return parent;
60
+ }
61
+ parent = parent.parent;
62
+ }
63
+ return undefined;
64
+ }
65
+ export function firstNonEmptyLine(text) {
66
+ return text.split(/\r?\n/).find((line) => line.trim().length > 0)?.trim() ?? "";
67
+ }
68
+ function hasAncestor(node, type) {
69
+ return closestAncestor(node, type) !== undefined;
70
+ }
71
+ function normalizeModifier(value) {
72
+ return value === "pub" ? "public" : value;
73
+ }
74
+ function cleanCommentText(text) {
75
+ return text
76
+ .replace(/^\/\*\*?/, "")
77
+ .replace(/\*\/$/, "")
78
+ .replace(/^\/\/\/?\s?/gm, "")
79
+ .replace(/^#\s?/gm, "")
80
+ .replace(/^\s*\*\s?/gm, "")
81
+ .trim();
82
+ }
83
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LanguageAdapter } from "../adapter.js";
2
+ export type NameFieldAdapterOptions = Pick<LanguageAdapter, "shouldIndexEntity">;
3
+ export declare function createNameFieldAdapter(format: string, entityTypes: readonly string[], scopeTypes?: readonly string[], options?: NameFieldAdapterOptions): LanguageAdapter;
@@ -0,0 +1,22 @@
1
+ import { extractCommonModifiers, extractGenericSignature, extractPrecedingDoc, } from "./metadata.js";
2
+ export function createNameFieldAdapter(format, entityTypes, scopeTypes = [], options = {}) {
3
+ return {
4
+ format,
5
+ entityTypes: new Set(entityTypes),
6
+ scopeTypes: new Set(scopeTypes),
7
+ ...options,
8
+ extractName(node) {
9
+ return node.childForFieldName("name")?.text
10
+ ?? findNamedIdentifierChild(node)?.text;
11
+ },
12
+ extractSignature: extractGenericSignature,
13
+ extractDoc: extractPrecedingDoc,
14
+ extractModifiers: extractCommonModifiers,
15
+ };
16
+ }
17
+ function findNamedIdentifierChild(node) {
18
+ return node.namedChildren.find((child) => child.type === "identifier"
19
+ || child.type === "property_identifier"
20
+ || child.type === "type_identifier");
21
+ }
22
+ //# sourceMappingURL=name-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-field.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/name-field.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAMvB,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,WAA8B,EAC9B,aAAgC,EAAE,EAClC,UAAmC,EAAE;IAErC,OAAO;QACL,MAAM;QACN,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC;QACjC,UAAU,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QAC/B,GAAG,OAAO;QACV,WAAW,CAAC,IAAI;YACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI;mBACtC,wBAAwB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAC5C,CAAC;QACD,gBAAgB,EAAE,uBAAuB;QACzC,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE,sBAAsB;KACzC,CAAC;AACJ,CAAC;AAGD,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,KAAK,CAAC,IAAI,KAAK,YAAY;WACxB,KAAK,CAAC,IAAI,KAAK,qBAAqB;WACpC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const C_ADAPTER: import("../adapter.js").LanguageAdapter;
@@ -0,0 +1,15 @@
1
+ import { createCFamilyAdapter } from "../families/c-family.js";
2
+ export const C_ADAPTER = createCFamilyAdapter("c", [
3
+ "declaration",
4
+ "field_declaration",
5
+ "function_definition",
6
+ "macro_type_specifier",
7
+ "struct_specifier",
8
+ "union_specifier",
9
+ "enum_specifier",
10
+ "type_definition",
11
+ ], [
12
+ "struct_specifier",
13
+ "union_specifier",
14
+ ]);
15
+ //# sourceMappingURL=c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/c.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE;IACjD,aAAa;IACb,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;CAClB,EAAE;IACD,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const CPP_ADAPTER: import("../adapter.js").LanguageAdapter;
@@ -0,0 +1,18 @@
1
+ import { createCFamilyAdapter } from "../families/c-family.js";
2
+ export const CPP_ADAPTER = createCFamilyAdapter("cpp", [
3
+ "alias_declaration",
4
+ "declaration",
5
+ "field_declaration",
6
+ "function_definition",
7
+ "macro_type_specifier",
8
+ "class_specifier",
9
+ "struct_specifier",
10
+ "union_specifier",
11
+ "enum_specifier",
12
+ ], [
13
+ "namespace_definition",
14
+ "class_specifier",
15
+ "struct_specifier",
16
+ "union_specifier",
17
+ ]);
18
+ //# sourceMappingURL=cpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE;IACrD,mBAAmB;IACnB,aAAa;IACb,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;CACjB,EAAE;IACD,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { LanguageAdapter } from "../adapter.js";
2
+ export declare const GO_ADAPTER: LanguageAdapter;
@@ -0,0 +1,72 @@
1
+ import { extractGenericSignature, extractPrecedingDoc, } from "../families/metadata.js";
2
+ export const GO_ADAPTER = {
3
+ format: "go",
4
+ entityTypes: new Set([
5
+ "function_declaration",
6
+ "method_spec",
7
+ "method_declaration",
8
+ "type_alias",
9
+ "type_spec",
10
+ ]),
11
+ scopeTypes: new Set([
12
+ "type_spec",
13
+ ]),
14
+ extractName(node) {
15
+ return node.childForFieldName("name")?.text;
16
+ },
17
+ shouldEnterScope(node) {
18
+ if (node.type !== "type_spec") {
19
+ return true;
20
+ }
21
+ const type = node.childForFieldName("type");
22
+ return type?.type === "interface_type" || type?.type === "struct_type";
23
+ },
24
+ enterScopeNode(node) {
25
+ return node.childForFieldName("type") ?? node;
26
+ },
27
+ scopeBreadcrumb(node, breadcrumb) {
28
+ if (node.type !== "method_declaration") {
29
+ return breadcrumb;
30
+ }
31
+ const receiverType = extractGoReceiverType(node);
32
+ return receiverType ? [...breadcrumb, receiverType] : breadcrumb;
33
+ },
34
+ classifyNode(node) {
35
+ if (node.type === "type_alias") {
36
+ return "alias";
37
+ }
38
+ if (node.type === "type_spec") {
39
+ const type = node.childForFieldName("type");
40
+ if (type?.type === "interface_type") {
41
+ return "interface";
42
+ }
43
+ if (type?.type === "struct_type") {
44
+ return "class";
45
+ }
46
+ return "alias";
47
+ }
48
+ if (node.type === "method_spec") {
49
+ return "function";
50
+ }
51
+ return undefined;
52
+ },
53
+ extractSignature: extractGenericSignature,
54
+ extractDoc: extractPrecedingDoc,
55
+ extractModifiers(node) {
56
+ const name = node.childForFieldName("name")?.text;
57
+ const modifiers = [];
58
+ if (name && /^[A-Z]/.test(name)) {
59
+ modifiers.push("exported");
60
+ }
61
+ return modifiers;
62
+ },
63
+ };
64
+ function extractGoReceiverType(node) {
65
+ const receiver = node.childForFieldName("receiver");
66
+ if (!receiver) {
67
+ return undefined;
68
+ }
69
+ const match = receiver.text.match(/\*?\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)/);
70
+ return match?.[1];
71
+ }
72
+ //# sourceMappingURL=go.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/go.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,IAAI,GAAG,CAAC;QACnB,sBAAsB;QACtB,aAAa;QACb,oBAAoB;QACpB,YAAY;QACZ,WAAW;KACZ,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,WAAW;KACZ,CAAC;IACF,WAAW,CAAC,IAAI;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAC9C,CAAC;IACD,gBAAgB,CAAC,IAAI;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE5C,OAAO,IAAI,EAAE,IAAI,KAAK,gBAAgB,IAAI,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC;IACzE,CAAC;IACD,cAAc,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAChD,CAAC;IACD,eAAe,CAAC,IAAI,EAAE,UAAU;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACnE,CAAC;IACD,YAAY,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,gBAAgB,EAAE,uBAAuB;IACzC,UAAU,EAAE,mBAAmB;IAC/B,gBAAgB,CAAC,IAAI;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;QAClD,MAAM,SAAS,GAAyB,EAAE,CAAC;QAE3C,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC;AAGF,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEzE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const JAVA_ADAPTER: import("../adapter.js").LanguageAdapter;
@@ -0,0 +1,17 @@
1
+ import { createNameFieldAdapter } from "../families/name-field.js";
2
+ export const JAVA_ADAPTER = createNameFieldAdapter("java", [
3
+ "annotation_type_declaration",
4
+ "class_declaration",
5
+ "constructor_declaration",
6
+ "enum_declaration",
7
+ "interface_declaration",
8
+ "method_declaration",
9
+ "record_declaration",
10
+ ], [
11
+ "annotation_type_declaration",
12
+ "class_declaration",
13
+ "enum_declaration",
14
+ "interface_declaration",
15
+ "record_declaration",
16
+ ]);
17
+ //# sourceMappingURL=java.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/java.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAE;IACzD,6BAA6B;IAC7B,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,oBAAoB;CACrB,EAAE;IACD,6BAA6B;IAC7B,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { LanguageAdapter } from "../adapter.js";
2
+ export declare const JAVASCRIPT_ADAPTER: LanguageAdapter;
@@ -0,0 +1,25 @@
1
+ import { classifyJavascriptTypescriptNode, extractJavascriptTypescriptDoc, extractJavascriptTypescriptModifiers, extractJavascriptTypescriptName, extractJavascriptTypescriptSignature, javascriptTypescriptScopeBreadcrumb, resolveJavascriptTypescriptEntities, shouldIndexJavascriptTypescriptEntity, } from "../families/js-ts.js";
2
+ export const JAVASCRIPT_ADAPTER = {
3
+ format: "javascript",
4
+ entityTypes: new Set([
5
+ "class_declaration",
6
+ "field_definition",
7
+ "function_declaration",
8
+ "generator_function_declaration",
9
+ "method_definition",
10
+ "pair",
11
+ "variable_declarator",
12
+ ]),
13
+ scopeTypes: new Set([
14
+ "class_declaration",
15
+ ]),
16
+ extractName: extractJavascriptTypescriptName,
17
+ shouldIndexEntity: shouldIndexJavascriptTypescriptEntity,
18
+ resolveEntities: resolveJavascriptTypescriptEntities,
19
+ scopeBreadcrumb: javascriptTypescriptScopeBreadcrumb,
20
+ classifyNode: classifyJavascriptTypescriptNode,
21
+ extractSignature: extractJavascriptTypescriptSignature,
22
+ extractDoc: extractJavascriptTypescriptDoc,
23
+ extractModifiers: extractJavascriptTypescriptModifiers,
24
+ };
25
+ //# sourceMappingURL=javascript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/javascript.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,mCAAmC,EACnC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,sBAAsB,CAAC;AAG9B,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,IAAI,GAAG,CAAC;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,sBAAsB;QACtB,gCAAgC;QAChC,mBAAmB;QACnB,MAAM;QACN,qBAAqB;KACtB,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,mBAAmB;KACpB,CAAC;IACF,WAAW,EAAE,+BAA+B;IAC5C,iBAAiB,EAAE,qCAAqC;IACxD,eAAe,EAAE,mCAAmC;IACpD,eAAe,EAAE,mCAAmC;IACpD,YAAY,EAAE,gCAAgC;IAC9C,gBAAgB,EAAE,oCAAoC;IACtD,UAAU,EAAE,8BAA8B;IAC1C,gBAAgB,EAAE,oCAAoC;CACvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { LanguageAdapter } from "../adapter.js";
2
+ export declare const PYTHON_ADAPTER: LanguageAdapter;