@gitwand/core 2.2.0 → 2.3.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 (80) hide show
  1. package/dist/__tests__/structural/grandeur-nature.test.d.ts +31 -0
  2. package/dist/__tests__/structural/grandeur-nature.test.d.ts.map +1 -0
  3. package/dist/__tests__/structural/grandeur-nature.test.js +264 -0
  4. package/dist/__tests__/structural/grandeur-nature.test.js.map +1 -0
  5. package/dist/__tests__/structural/languages.test.d.ts +5 -0
  6. package/dist/__tests__/structural/languages.test.d.ts.map +1 -0
  7. package/dist/__tests__/structural/languages.test.js +74 -0
  8. package/dist/__tests__/structural/languages.test.js.map +1 -0
  9. package/dist/__tests__/structural/matching.test.d.ts +6 -0
  10. package/dist/__tests__/structural/matching.test.d.ts.map +1 -0
  11. package/dist/__tests__/structural/matching.test.js +113 -0
  12. package/dist/__tests__/structural/matching.test.js.map +1 -0
  13. package/dist/__tests__/structural/merge.test.d.ts +6 -0
  14. package/dist/__tests__/structural/merge.test.d.ts.map +1 -0
  15. package/dist/__tests__/structural/merge.test.js +117 -0
  16. package/dist/__tests__/structural/merge.test.js.map +1 -0
  17. package/dist/__tests__/structural/reconstruct.test.d.ts +6 -0
  18. package/dist/__tests__/structural/reconstruct.test.d.ts.map +1 -0
  19. package/dist/__tests__/structural/reconstruct.test.js +104 -0
  20. package/dist/__tests__/structural/reconstruct.test.js.map +1 -0
  21. package/dist/__tests__/structural/structural-index.test.d.ts +14 -0
  22. package/dist/__tests__/structural/structural-index.test.d.ts.map +1 -0
  23. package/dist/__tests__/structural/structural-index.test.js +108 -0
  24. package/dist/__tests__/structural/structural-index.test.js.map +1 -0
  25. package/dist/index.d.ts +5 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +5 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/resolver/index.d.ts +14 -0
  30. package/dist/resolver/index.d.ts.map +1 -1
  31. package/dist/resolver/index.js +29 -0
  32. package/dist/resolver/index.js.map +1 -1
  33. package/dist/resolvers/dispatcher.d.ts +17 -1
  34. package/dist/resolvers/dispatcher.d.ts.map +1 -1
  35. package/dist/resolvers/dispatcher.js.map +1 -1
  36. package/dist/structural/entities.d.ts +44 -0
  37. package/dist/structural/entities.d.ts.map +1 -0
  38. package/dist/structural/entities.js +315 -0
  39. package/dist/structural/entities.js.map +1 -0
  40. package/dist/structural/index.d.ts +48 -0
  41. package/dist/structural/index.d.ts.map +1 -0
  42. package/dist/structural/index.js +177 -0
  43. package/dist/structural/index.js.map +1 -0
  44. package/dist/structural/matching.d.ts +46 -0
  45. package/dist/structural/matching.d.ts.map +1 -0
  46. package/dist/structural/matching.js +83 -0
  47. package/dist/structural/matching.js.map +1 -0
  48. package/dist/structural/merge.d.ts +45 -0
  49. package/dist/structural/merge.d.ts.map +1 -0
  50. package/dist/structural/merge.js +127 -0
  51. package/dist/structural/merge.js.map +1 -0
  52. package/dist/structural/parsers/adapters/browser.d.ts +22 -0
  53. package/dist/structural/parsers/adapters/browser.d.ts.map +1 -0
  54. package/dist/structural/parsers/adapters/browser.js +27 -0
  55. package/dist/structural/parsers/adapters/browser.js.map +1 -0
  56. package/dist/structural/parsers/adapters/node.d.ts +18 -0
  57. package/dist/structural/parsers/adapters/node.d.ts.map +1 -0
  58. package/dist/structural/parsers/adapters/node.js +42 -0
  59. package/dist/structural/parsers/adapters/node.js.map +1 -0
  60. package/dist/structural/parsers/adapters/tauri.d.ts +26 -0
  61. package/dist/structural/parsers/adapters/tauri.d.ts.map +1 -0
  62. package/dist/structural/parsers/adapters/tauri.js +34 -0
  63. package/dist/structural/parsers/adapters/tauri.js.map +1 -0
  64. package/dist/structural/parsers/grammars/languages.d.ts +32 -0
  65. package/dist/structural/parsers/grammars/languages.d.ts.map +1 -0
  66. package/dist/structural/parsers/grammars/languages.js +73 -0
  67. package/dist/structural/parsers/grammars/languages.js.map +1 -0
  68. package/dist/structural/parsers/grammars/ts.d.ts +26 -0
  69. package/dist/structural/parsers/grammars/ts.d.ts.map +1 -0
  70. package/dist/structural/parsers/grammars/ts.js +46 -0
  71. package/dist/structural/parsers/grammars/ts.js.map +1 -0
  72. package/dist/structural/parsers/loader.d.ts +74 -0
  73. package/dist/structural/parsers/loader.d.ts.map +1 -0
  74. package/dist/structural/parsers/loader.js +181 -0
  75. package/dist/structural/parsers/loader.js.map +1 -0
  76. package/dist/structural/reconstruct.d.ts +28 -0
  77. package/dist/structural/reconstruct.d.ts.map +1 -0
  78. package/dist/structural/reconstruct.js +63 -0
  79. package/dist/structural/reconstruct.js.map +1 -0
  80. package/package.json +16 -2
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/resolvers/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/resolvers/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Top-level entity extraction from a tree-sitter AST.
3
+ *
4
+ * An "entity" is a top-level declaration in a TypeScript/TSX file:
5
+ * import, export, function, class, interface, type alias, variable declaration,
6
+ * or ambient declaration (declare …).
7
+ *
8
+ * Each entity carries:
9
+ * - `signature` — stable key for 3-way matching (based on name/kind)
10
+ * - `text` — exact source slice (used in the merged output)
11
+ * - byte offsets — for gap-preserving reconstruction
12
+ */
13
+ export type EntityKind = "import" | "export" | "function" | "class" | "interface" | "type" | "variable" | "declare" | "expression" | "other";
14
+ export interface TopLevelEntity {
15
+ /** Stable key used for 3-way entity matching */
16
+ signature: string;
17
+ /** Entity kind */
18
+ kind: EntityKind;
19
+ /** Exact source text of this entity */
20
+ text: string;
21
+ /** Start byte index in the source string */
22
+ startByte: number;
23
+ /** End byte index in the source string */
24
+ endByte: number;
25
+ /** Start row (0-indexed) in the source */
26
+ startLine: number;
27
+ }
28
+ /**
29
+ * Extract top-level entities from a parsed tree-sitter tree.
30
+ *
31
+ * Skips unnamed tokens (punctuation, keywords) and ERROR nodes.
32
+ *
33
+ * @param tree - Parsed tree-sitter tree
34
+ * @param source - Source code (as passed to `parser.parse()`)
35
+ */
36
+ export declare function extractEntities(tree: any, source: string): TopLevelEntity[];
37
+ /**
38
+ * Return `true` if the tree contains at least one ERROR node.
39
+ *
40
+ * A tree with ERROR nodes has parse failures and should not be used
41
+ * for structural merge (we fall back to the hunk-based resolver).
42
+ */
43
+ export declare function hasParseErrors(tree: any): boolean;
44
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/structural/entities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,UAAU,GACV,SAAS,GACT,YAAY,GACZ,OAAO,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAmSD;;;;;;;GAOG;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAsB3E;AAED;;;;;GAKG;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CASjD"}
@@ -0,0 +1,315 @@
1
+ /**
2
+ * Top-level entity extraction from a tree-sitter AST.
3
+ *
4
+ * An "entity" is a top-level declaration in a TypeScript/TSX file:
5
+ * import, export, function, class, interface, type alias, variable declaration,
6
+ * or ambient declaration (declare …).
7
+ *
8
+ * Each entity carries:
9
+ * - `signature` — stable key for 3-way matching (based on name/kind)
10
+ * - `text` — exact source slice (used in the merged output)
11
+ * - byte offsets — for gap-preserving reconstruction
12
+ */
13
+ // ─── Internal helpers ─────────────────────────────────────────────────────────
14
+ /** Find the first named child with the given field name, or fall back to type search. */
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ function fieldOrType(node, fieldName, typeName) {
17
+ return node.childForFieldName?.(fieldName) ?? findChildByType(node, typeName);
18
+ }
19
+ /** Find the first direct child with the given type. */
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ function findChildByType(node, typeName) {
22
+ for (let i = 0; i < node.childCount; i++) {
23
+ const child = node.child(i);
24
+ if (child.type === typeName)
25
+ return child;
26
+ }
27
+ return undefined;
28
+ }
29
+ /**
30
+ * Derive a stable signature and kind for a top-level tree-sitter node.
31
+ *
32
+ * Signatures are intentionally simple (kind:name) so that a renamed entity
33
+ * is treated as delete+add rather than a mysterious match. Conservative, correct.
34
+ *
35
+ * Covers: TypeScript/TSX/JS/JSX, Python, Go, Rust.
36
+ */
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ function nodeSignature(node, source) {
39
+ const type = node.type;
40
+ // ╔══════════════════════════════════════════════════════╗
41
+ // ║ TypeScript / JavaScript (shared grammar base) ║
42
+ // ╚══════════════════════════════════════════════════════╝
43
+ // ── import_statement ─────────────────────────────────────
44
+ if (type === "import_statement") {
45
+ const sourceNode = fieldOrType(node, "source", "string");
46
+ const mod = sourceNode
47
+ ? source.slice(sourceNode.startIndex, sourceNode.endIndex)
48
+ : String(node.startIndex);
49
+ return { sig: `import:${mod}`, kind: "import" };
50
+ }
51
+ // ── export_statement ─────────────────────────────────────
52
+ if (type === "export_statement") {
53
+ const decl = node.childForFieldName?.("declaration");
54
+ if (decl) {
55
+ const inner = nodeSignature(decl, source);
56
+ return { sig: `export:${inner.sig}`, kind: "export" };
57
+ }
58
+ const preview = source
59
+ .slice(node.startIndex, Math.min(node.startIndex + 60, node.endIndex))
60
+ .replace(/\s+/g, " ")
61
+ .trim();
62
+ return { sig: `export:${preview}`, kind: "export" };
63
+ }
64
+ // ── function_declaration / generator_function_declaration ─
65
+ if (type === "function_declaration" || type === "generator_function_declaration") {
66
+ const name = fieldOrType(node, "name", "identifier");
67
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anonymous";
68
+ return { sig: `function:${nameText}`, kind: "function" };
69
+ }
70
+ // ── class_declaration / abstract_class_declaration ────────
71
+ if (type === "class_declaration" || type === "abstract_class_declaration") {
72
+ const name = fieldOrType(node, "name", "type_identifier") ?? fieldOrType(node, "name", "identifier");
73
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anonymous";
74
+ return { sig: `class:${nameText}`, kind: "class" };
75
+ }
76
+ // ── interface_declaration ─────────────────────────────────
77
+ if (type === "interface_declaration") {
78
+ const name = fieldOrType(node, "name", "type_identifier");
79
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
80
+ return { sig: `interface:${nameText}`, kind: "interface" };
81
+ }
82
+ // ── type_alias_declaration ────────────────────────────────
83
+ if (type === "type_alias_declaration") {
84
+ const name = fieldOrType(node, "name", "type_identifier");
85
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
86
+ return { sig: `type:${nameText}`, kind: "type" };
87
+ }
88
+ // ── lexical_declaration (const / let) ─────────────────────
89
+ // ── variable_declaration (var) ────────────────────────────
90
+ if (type === "lexical_declaration" || type === "variable_declaration") {
91
+ const names = [];
92
+ for (let i = 0; i < node.childCount; i++) {
93
+ const child = node.child(i);
94
+ if (child.type === "variable_declarator") {
95
+ const nameNode = child.childForFieldName?.("name");
96
+ if (nameNode)
97
+ names.push(source.slice(nameNode.startIndex, nameNode.endIndex));
98
+ }
99
+ }
100
+ return { sig: `var:${names.join(",")}`, kind: "variable" };
101
+ }
102
+ // ── ambient_declaration (declare …) ──────────────────────
103
+ if (type === "ambient_declaration") {
104
+ for (let i = 0; i < node.childCount; i++) {
105
+ const child = node.child(i);
106
+ if (child.type !== "declare") {
107
+ const inner = nodeSignature(child, source);
108
+ return { sig: `declare:${inner.sig}`, kind: "declare" };
109
+ }
110
+ }
111
+ return { sig: `declare:${node.startIndex}`, kind: "declare" };
112
+ }
113
+ // ── expression_statement ──────────────────────────────────
114
+ if (type === "expression_statement") {
115
+ const preview = source
116
+ .slice(node.startIndex, Math.min(node.startIndex + 50, node.endIndex))
117
+ .replace(/\s+/g, " ")
118
+ .trim();
119
+ return { sig: `expr:${preview}`, kind: "expression" };
120
+ }
121
+ // ╔══════════════════════════════════════════════════════╗
122
+ // ║ Python ║
123
+ // ╚══════════════════════════════════════════════════════╝
124
+ // ── function_definition ───────────────────────────────────
125
+ if (type === "function_definition") {
126
+ const name = fieldOrType(node, "name", "identifier");
127
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anonymous";
128
+ return { sig: `function:${nameText}`, kind: "function" };
129
+ }
130
+ // ── class_definition ──────────────────────────────────────
131
+ if (type === "class_definition") {
132
+ const name = fieldOrType(node, "name", "identifier");
133
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anonymous";
134
+ return { sig: `class:${nameText}`, kind: "class" };
135
+ }
136
+ // ── decorated_definition (wraps function_definition / class_definition) ──
137
+ if (type === "decorated_definition") {
138
+ // Find the wrapped definition
139
+ for (let i = 0; i < node.childCount; i++) {
140
+ const child = node.child(i);
141
+ if (child.type === "function_definition" || child.type === "class_definition") {
142
+ const inner = nodeSignature(child, source);
143
+ return { sig: `decorated:${inner.sig}`, kind: inner.kind };
144
+ }
145
+ }
146
+ return { sig: `decorated:${node.startIndex}`, kind: "other" };
147
+ }
148
+ // ── import_statement (Python) — already handled above (same name) ──
149
+ // ── import_from_statement (Python) ────────────────────────
150
+ if (type === "import_from_statement") {
151
+ const modNode = node.childForFieldName?.("module_name") ?? findChildByType(node, "dotted_name");
152
+ const mod = modNode ? source.slice(modNode.startIndex, modNode.endIndex) : String(node.startIndex);
153
+ return { sig: `import_from:${mod}`, kind: "import" };
154
+ }
155
+ // ╔══════════════════════════════════════════════════════╗
156
+ // ║ Go ║
157
+ // ╚══════════════════════════════════════════════════════╝
158
+ // ── function_declaration (Go) ─────────────────────────────
159
+ // Note: Go also has function_declaration but the name field is "name" with type "identifier"
160
+ // Already handled above by the JS function_declaration case.
161
+ // ── method_declaration (Go) ───────────────────────────────
162
+ if (type === "method_declaration") {
163
+ const name = fieldOrType(node, "name", "field_identifier") ?? fieldOrType(node, "name", "identifier");
164
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anonymous";
165
+ const receiver = node.childForFieldName?.("receiver");
166
+ const receiverText = receiver ? source.slice(receiver.startIndex, receiver.endIndex).replace(/\s+/g, " ").trim() : "";
167
+ return { sig: `method:${receiverText}:${nameText}`, kind: "function" };
168
+ }
169
+ // ── type_declaration (Go) ─────────────────────────────────
170
+ if (type === "type_declaration") {
171
+ // Contains type_spec children
172
+ const spec = findChildByType(node, "type_spec");
173
+ if (spec) {
174
+ const name = fieldOrType(spec, "name", "type_identifier");
175
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
176
+ return { sig: `type:${nameText}`, kind: "type" };
177
+ }
178
+ return { sig: `type:${node.startIndex}`, kind: "type" };
179
+ }
180
+ // ── var_declaration (Go) ───────────────────────────────────
181
+ if (type === "var_declaration") {
182
+ const spec = findChildByType(node, "var_spec");
183
+ if (spec) {
184
+ const name = findChildByType(spec, "identifier");
185
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
186
+ return { sig: `var:${nameText}`, kind: "variable" };
187
+ }
188
+ return { sig: `var:${node.startIndex}`, kind: "variable" };
189
+ }
190
+ // ── import_declaration (Go) ───────────────────────────────
191
+ if (type === "import_declaration") {
192
+ const preview = source
193
+ .slice(node.startIndex, Math.min(node.startIndex + 60, node.endIndex))
194
+ .replace(/\s+/g, " ")
195
+ .trim();
196
+ return { sig: `import:${preview}`, kind: "import" };
197
+ }
198
+ // ╔══════════════════════════════════════════════════════╗
199
+ // ║ Rust ║
200
+ // ╚══════════════════════════════════════════════════════╝
201
+ // ── function_item (Rust) ──────────────────────────────────
202
+ if (type === "function_item") {
203
+ const name = fieldOrType(node, "name", "identifier");
204
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anonymous";
205
+ return { sig: `function:${nameText}`, kind: "function" };
206
+ }
207
+ // ── struct_item (Rust) ────────────────────────────────────
208
+ if (type === "struct_item") {
209
+ const name = fieldOrType(node, "name", "type_identifier");
210
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
211
+ return { sig: `struct:${nameText}`, kind: "class" };
212
+ }
213
+ // ── enum_item (Rust) ──────────────────────────────────────
214
+ if (type === "enum_item") {
215
+ const name = fieldOrType(node, "name", "type_identifier");
216
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
217
+ return { sig: `enum:${nameText}`, kind: "type" };
218
+ }
219
+ // ── trait_item (Rust) ─────────────────────────────────────
220
+ if (type === "trait_item") {
221
+ const name = fieldOrType(node, "name", "type_identifier");
222
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
223
+ return { sig: `trait:${nameText}`, kind: "interface" };
224
+ }
225
+ // ── impl_item (Rust) ──────────────────────────────────────
226
+ if (type === "impl_item") {
227
+ // impl Foo or impl Bar for Foo
228
+ const traitNode = node.childForFieldName?.("trait");
229
+ const typeNode = node.childForFieldName?.("type");
230
+ const typeText = typeNode
231
+ ? source.slice(typeNode.startIndex, typeNode.endIndex).replace(/\s+/g, " ").trim()
232
+ : String(node.startIndex);
233
+ const traitText = traitNode
234
+ ? source.slice(traitNode.startIndex, traitNode.endIndex).replace(/\s+/g, " ").trim()
235
+ : null;
236
+ const sig = traitText ? `impl:${traitText} for ${typeText}` : `impl:${typeText}`;
237
+ return { sig, kind: "class" };
238
+ }
239
+ // ── mod_item (Rust) ───────────────────────────────────────
240
+ if (type === "mod_item") {
241
+ const name = fieldOrType(node, "name", "identifier");
242
+ const nameText = name ? source.slice(name.startIndex, name.endIndex) : "__anon";
243
+ return { sig: `mod:${nameText}`, kind: "declare" };
244
+ }
245
+ // ── use_declaration (Rust) ────────────────────────────────
246
+ if (type === "use_declaration") {
247
+ const preview = source
248
+ .slice(node.startIndex, Math.min(node.startIndex + 60, node.endIndex))
249
+ .replace(/\s+/g, " ")
250
+ .trim();
251
+ return { sig: `use:${preview}`, kind: "import" };
252
+ }
253
+ // ── attribute_item / inner_attribute_item (Rust — top-level attributes) ──
254
+ if (type === "attribute_item" || type === "inner_attribute_item") {
255
+ const preview = source
256
+ .slice(node.startIndex, Math.min(node.startIndex + 40, node.endIndex))
257
+ .replace(/\s+/g, " ")
258
+ .trim();
259
+ return { sig: `attr:${preview}`, kind: "other" };
260
+ }
261
+ // ╔══════════════════════════════════════════════════════╗
262
+ // ║ Fallback ║
263
+ // ╚══════════════════════════════════════════════════════╝
264
+ return { sig: `${type}:${node.startIndex}`, kind: "other" };
265
+ }
266
+ // ─── Public API ───────────────────────────────────────────────────────────────
267
+ /**
268
+ * Extract top-level entities from a parsed tree-sitter tree.
269
+ *
270
+ * Skips unnamed tokens (punctuation, keywords) and ERROR nodes.
271
+ *
272
+ * @param tree - Parsed tree-sitter tree
273
+ * @param source - Source code (as passed to `parser.parse()`)
274
+ */
275
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
276
+ export function extractEntities(tree, source) {
277
+ const entities = [];
278
+ const root = tree.rootNode;
279
+ for (let i = 0; i < root.childCount; i++) {
280
+ const node = root.child(i);
281
+ // Skip unnamed tokens (semicolons, whitespace nodes) and parse errors
282
+ if (!node.isNamed || node.type === "ERROR")
283
+ continue;
284
+ const { sig, kind } = nodeSignature(node, source);
285
+ entities.push({
286
+ signature: sig,
287
+ kind,
288
+ text: source.slice(node.startIndex, node.endIndex),
289
+ startByte: node.startIndex,
290
+ endByte: node.endIndex,
291
+ startLine: node.startPosition.row,
292
+ });
293
+ }
294
+ return entities;
295
+ }
296
+ /**
297
+ * Return `true` if the tree contains at least one ERROR node.
298
+ *
299
+ * A tree with ERROR nodes has parse failures and should not be used
300
+ * for structural merge (we fall back to the hunk-based resolver).
301
+ */
302
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
303
+ export function hasParseErrors(tree) {
304
+ function walk(node) {
305
+ if (node.type === "ERROR")
306
+ return true;
307
+ for (let i = 0; i < node.childCount; i++) {
308
+ if (walk(node.child(i)))
309
+ return true;
310
+ }
311
+ return false;
312
+ }
313
+ return walk(tree.rootNode);
314
+ }
315
+ //# sourceMappingURL=entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/structural/entities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+BH,iFAAiF;AAEjF,yFAAyF;AACzF,8DAA8D;AAC9D,SAAS,WAAW,CAAC,IAAS,EAAE,SAAiB,EAAE,QAAgB;IACjE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,uDAAuD;AACvD,8DAA8D;AAC9D,SAAS,eAAe,CAAC,IAAS,EAAE,QAAgB;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,8DAA8D;AAC9D,SAAS,aAAa,CAAC,IAAS,EAAE,MAAc;IAC9C,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;IAE/B,2DAA2D;IAC3D,2DAA2D;IAC3D,2DAA2D;IAE3D,4DAA4D;IAC5D,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,UAAU;YACpB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC1D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClD,CAAC;IAED,4DAA4D;IAC5D,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM;aACnB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,GAAG,EAAE,UAAU,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,gCAAgC,EAAE,CAAC;QACjF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,OAAO,EAAE,GAAG,EAAE,YAAY,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,OAAO,EAAE,GAAG,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,OAAO,EAAE,GAAG,EAAE,aAAa,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC7D,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,OAAO,EAAE,GAAG,EAAE,QAAQ,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACtE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7D,CAAC;IAED,4DAA4D;IAC5D,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,EAAE,GAAG,EAAE,WAAW,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,WAAW,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAChE,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM;aACnB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACxD,CAAC;IAED,2DAA2D;IAC3D,2DAA2D;IAC3D,2DAA2D;IAE3D,6DAA6D;IAC7D,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,OAAO,EAAE,GAAG,EAAE,YAAY,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,OAAO,EAAE,GAAG,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,4EAA4E;IAC5E,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACpC,8BAA8B;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC9E,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,EAAE,GAAG,EAAE,aAAa,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,aAAa,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAChE,CAAC;IAED,sEAAsE;IACtE,6DAA6D;IAC7D,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnG,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,2DAA2D;IAC3D,2DAA2D;IAC3D,2DAA2D;IAE3D,6DAA6D;IAC7D,6FAA6F;IAC7F,6DAA6D;IAE7D,6DAA6D;IAC7D,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtH,OAAO,EAAE,GAAG,EAAE,UAAU,YAAY,IAAI,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,8BAA8B;QAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChF,OAAO,EAAE,GAAG,EAAE,QAAQ,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,QAAQ,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChF,OAAO,EAAE,GAAG,EAAE,OAAO,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7D,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM;aACnB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,GAAG,EAAE,UAAU,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED,2DAA2D;IAC3D,2DAA2D;IAC3D,2DAA2D;IAE3D,6DAA6D;IAC7D,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,OAAO,EAAE,GAAG,EAAE,YAAY,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,OAAO,EAAE,GAAG,EAAE,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACtD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,OAAO,EAAE,GAAG,EAAE,QAAQ,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,OAAO,EAAE,GAAG,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACzD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,+BAA+B;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ;YACvB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;YAClF,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;YACpF,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,QAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC;QACjF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,OAAO,EAAE,GAAG,EAAE,OAAO,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM;aACnB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,GAAG,EAAE,OAAO,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,4EAA4E;IAC5E,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM;aACnB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,2DAA2D;IAC3D,2DAA2D;IAC3D,2DAA2D;IAE3D,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,IAAS,EAAE,MAAc;IACvD,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QAErD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElD,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,GAAG;YACd,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,IAAS;IACtC,SAAS,IAAI,CAAC,IAAS;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @gitwand/core v2.3 — Structural (AST-based) merge dispatcher
3
+ *
4
+ * Provides `tryStructuralMergeResolve()`, an async entry point that:
5
+ *
6
+ * 1. Reconstructs the three file versions (base/ours/theirs) from the
7
+ * Git conflict markers in the conflicted content.
8
+ * 2. Parses each version with tree-sitter (via `web-tree-sitter`, optional peer).
9
+ * 3. Extracts top-level entities and matches them across the three versions.
10
+ * 4. Merges entities individually — only auto-resolvable conflicts are handled.
11
+ * 5. Reconstructs the merged file following theirs entity order.
12
+ *
13
+ * Returns `null` (never throws) when:
14
+ * - `web-tree-sitter` is not installed (graceful degradation)
15
+ * - The grammar WASM file is unavailable
16
+ * - Any version has parse errors
17
+ * - Any entity has a real (both-changed-diff) conflict
18
+ *
19
+ * In all these cases the caller falls back to the standard hunk-based resolver.
20
+ */
21
+ import type { MergeResult } from "../types.js";
22
+ import { type LoaderOptions } from "./parsers/loader.js";
23
+ import { isStructuralLanguage } from "./parsers/grammars/languages.js";
24
+ export type { LoaderOptions as StructuralLoaderOptions };
25
+ export { isStructuralLanguage };
26
+ export type { SupportedLanguage } from "./parsers/grammars/languages.js";
27
+ /**
28
+ * Returns `true` for `.ts` and `.tsx` files.
29
+ * @deprecated Use `isStructuralLanguage` — now covers JS/JSX/Python/Go/Rust too.
30
+ */
31
+ export declare function isTypeScriptFile(filePath: string): boolean;
32
+ /**
33
+ * Attempt structural (AST-based) merge resolution for a TypeScript/TSX file.
34
+ *
35
+ * @param conflictedContent - File content with Git conflict markers
36
+ * @param filePath - File path (grammar selection + type detection)
37
+ * @param opts - Optional loader overrides (WASM paths, custom loaders)
38
+ * @returns Merged content string on success, `null` on any failure
39
+ */
40
+ export declare function tryStructuralMergeResolve(conflictedContent: string, filePath: string, opts?: LoaderOptions): Promise<string | null>;
41
+ /**
42
+ * Wrap a structurally merged content string in a `MergeResult` object.
43
+ *
44
+ * All hunks are marked as auto-resolved via the "structural-merge" resolver.
45
+ * This keeps the return type compatible with the synchronous `resolve()`.
46
+ */
47
+ export declare function wrapStructuralResult(conflictedContent: string, mergedContent: string, filePath: string): MergeResult;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/structural/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAA8D,MAAM,aAAa,CAAC;AAE3G,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAIvE,YAAY,EAAE,aAAa,IAAI,uBAAuB,EAAE,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIzE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAiDD;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2CxB;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,WAAW,CAyDb"}