@m3hti/commit-genie 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/analyzerService.d.ts.map +1 -1
- package/dist/services/analyzerService.js +32 -4
- package/dist/services/analyzerService.js.map +1 -1
- package/dist/services/astAnalyzer.d.ts +42 -0
- package/dist/services/astAnalyzer.d.ts.map +1 -0
- package/dist/services/astAnalyzer.js +613 -0
- package/dist/services/astAnalyzer.js.map +1 -0
- package/dist/services/astAnalyzer.test.d.ts +2 -0
- package/dist/services/astAnalyzer.test.d.ts.map +1 -0
- package/dist/services/astAnalyzer.test.js +319 -0
- package/dist/services/astAnalyzer.test.js.map +1 -0
- package/dist/services/astClassifier.d.ts +17 -0
- package/dist/services/astClassifier.d.ts.map +1 -0
- package/dist/services/astClassifier.js +390 -0
- package/dist/services/astClassifier.js.map +1 -0
- package/dist/services/astClassifier.test.d.ts +2 -0
- package/dist/services/astClassifier.test.d.ts.map +1 -0
- package/dist/services/astClassifier.test.js +141 -0
- package/dist/services/astClassifier.test.js.map +1 -0
- package/dist/services/astDiffEngine.d.ts +45 -0
- package/dist/services/astDiffEngine.d.ts.map +1 -0
- package/dist/services/astDiffEngine.js +261 -0
- package/dist/services/astDiffEngine.js.map +1 -0
- package/dist/services/astDiffEngine.test.d.ts +2 -0
- package/dist/services/astDiffEngine.test.d.ts.map +1 -0
- package/dist/services/astDiffEngine.test.js +234 -0
- package/dist/services/astDiffEngine.test.js.map +1 -0
- package/dist/services/astExportAnalyzer.d.ts.map +1 -1
- package/dist/services/astExportAnalyzer.js +122 -292
- package/dist/services/astExportAnalyzer.js.map +1 -1
- package/dist/types/index.d.ts +68 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -4
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const astAnalyzer_1 = require("./astAnalyzer");
|
|
4
|
+
describe('astAnalyzer', () => {
|
|
5
|
+
describe('isParseableFile', () => {
|
|
6
|
+
it('accepts JS/TS extensions', () => {
|
|
7
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.js')).toBe(true);
|
|
8
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.jsx')).toBe(true);
|
|
9
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.ts')).toBe(true);
|
|
10
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.tsx')).toBe(true);
|
|
11
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.mjs')).toBe(true);
|
|
12
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.cjs')).toBe(true);
|
|
13
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.mts')).toBe(true);
|
|
14
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.cts')).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it('rejects non-JS/TS extensions', () => {
|
|
17
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.css')).toBe(false);
|
|
18
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.md')).toBe(false);
|
|
19
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.json')).toBe(false);
|
|
20
|
+
expect((0, astAnalyzer_1.isParseableFile)('file.yaml')).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
describe('parseFile', () => {
|
|
24
|
+
it('parses valid TypeScript', () => {
|
|
25
|
+
const src = 'const x: number = 42;';
|
|
26
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
27
|
+
expect(ast).not.toBeNull();
|
|
28
|
+
expect(ast.type).toBe('Program');
|
|
29
|
+
});
|
|
30
|
+
it('parses valid JavaScript', () => {
|
|
31
|
+
const src = 'const x = 42;';
|
|
32
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.js');
|
|
33
|
+
expect(ast).not.toBeNull();
|
|
34
|
+
});
|
|
35
|
+
it('parses JSX', () => {
|
|
36
|
+
const src = 'const App = () => <div>Hello</div>;';
|
|
37
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.tsx');
|
|
38
|
+
expect(ast).not.toBeNull();
|
|
39
|
+
});
|
|
40
|
+
it('returns null for invalid syntax', () => {
|
|
41
|
+
const src = '}{invalid syntax!!!';
|
|
42
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
43
|
+
expect(ast).toBeNull();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('countNodes', () => {
|
|
47
|
+
it('counts nodes in a simple function body', () => {
|
|
48
|
+
const ast = (0, astAnalyzer_1.parseFile)('function foo() { return 1; }', 'test.ts');
|
|
49
|
+
const fn = ast.body[0];
|
|
50
|
+
expect((0, astAnalyzer_1.countNodes)(fn)).toBeGreaterThan(1);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe('extractDeclarations', () => {
|
|
54
|
+
it('extracts exported function declaration', () => {
|
|
55
|
+
const ast = (0, astAnalyzer_1.parseFile)('export function foo(a: string, b?: number) { return a; }', 'test.ts');
|
|
56
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
57
|
+
expect(declarations).toHaveLength(1);
|
|
58
|
+
expect(declarations[0]).toMatchObject({
|
|
59
|
+
name: 'foo',
|
|
60
|
+
kind: 'function',
|
|
61
|
+
exported: true,
|
|
62
|
+
signature: '(a, b?)',
|
|
63
|
+
});
|
|
64
|
+
expect(declarations[0].nodeCount).toBeGreaterThan(0);
|
|
65
|
+
});
|
|
66
|
+
it('extracts non-exported function', () => {
|
|
67
|
+
const ast = (0, astAnalyzer_1.parseFile)('function bar(x: number) { return x * 2; }', 'test.ts');
|
|
68
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
69
|
+
expect(declarations).toHaveLength(1);
|
|
70
|
+
expect(declarations[0]).toMatchObject({
|
|
71
|
+
name: 'bar',
|
|
72
|
+
kind: 'function',
|
|
73
|
+
exported: false,
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
it('extracts function exported via specifier list', () => {
|
|
77
|
+
const src = 'function bar() { return 1; }\nexport { bar };';
|
|
78
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
79
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
80
|
+
const barDecl = declarations.find(d => d.name === 'bar');
|
|
81
|
+
expect(barDecl).toBeDefined();
|
|
82
|
+
expect(barDecl.exported).toBe(true);
|
|
83
|
+
});
|
|
84
|
+
it('extracts aliased export specifier', () => {
|
|
85
|
+
const src = 'function baz() {}\nexport { baz as qux };';
|
|
86
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
87
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
88
|
+
const bazDecl = declarations.find(d => d.name === 'baz');
|
|
89
|
+
expect(bazDecl).toBeDefined();
|
|
90
|
+
expect(bazDecl.exported).toBe(true);
|
|
91
|
+
});
|
|
92
|
+
it('detects re-export-all', () => {
|
|
93
|
+
const src = "export * from './mod';";
|
|
94
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
95
|
+
const { reExportAll } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
96
|
+
expect(reExportAll).toBe(true);
|
|
97
|
+
});
|
|
98
|
+
it('extracts exported class', () => {
|
|
99
|
+
const ast = (0, astAnalyzer_1.parseFile)('export class MyClass { method() {} }', 'test.ts');
|
|
100
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
101
|
+
expect(declarations).toHaveLength(1);
|
|
102
|
+
expect(declarations[0]).toMatchObject({
|
|
103
|
+
name: 'MyClass',
|
|
104
|
+
kind: 'class',
|
|
105
|
+
exported: true,
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
it('extracts exported arrow function variable', () => {
|
|
109
|
+
const ast = (0, astAnalyzer_1.parseFile)('export const greet = (name: string) => `Hello ${name}`;', 'test.ts');
|
|
110
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
111
|
+
expect(declarations).toHaveLength(1);
|
|
112
|
+
expect(declarations[0]).toMatchObject({
|
|
113
|
+
name: 'greet',
|
|
114
|
+
kind: 'function',
|
|
115
|
+
exported: true,
|
|
116
|
+
signature: '(name)',
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
it('extracts exported const variable (non-function)', () => {
|
|
120
|
+
const ast = (0, astAnalyzer_1.parseFile)('export const PI = 3.14;', 'test.ts');
|
|
121
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
122
|
+
expect(declarations).toHaveLength(1);
|
|
123
|
+
expect(declarations[0]).toMatchObject({
|
|
124
|
+
name: 'PI',
|
|
125
|
+
kind: 'variable',
|
|
126
|
+
exported: true,
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
it('extracts interface', () => {
|
|
130
|
+
const ast = (0, astAnalyzer_1.parseFile)('export interface Foo { x: number; y: string; }', 'test.ts');
|
|
131
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
132
|
+
expect(declarations).toHaveLength(1);
|
|
133
|
+
expect(declarations[0]).toMatchObject({
|
|
134
|
+
name: 'Foo',
|
|
135
|
+
kind: 'interface',
|
|
136
|
+
exported: true,
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
it('extracts type alias', () => {
|
|
140
|
+
const ast = (0, astAnalyzer_1.parseFile)('export type ID = string | number;', 'test.ts');
|
|
141
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
142
|
+
expect(declarations).toHaveLength(1);
|
|
143
|
+
expect(declarations[0]).toMatchObject({
|
|
144
|
+
name: 'ID',
|
|
145
|
+
kind: 'type',
|
|
146
|
+
exported: true,
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
it('extracts enum', () => {
|
|
150
|
+
const ast = (0, astAnalyzer_1.parseFile)('export enum Color { Red, Green, Blue }', 'test.ts');
|
|
151
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
152
|
+
expect(declarations).toHaveLength(1);
|
|
153
|
+
expect(declarations[0]).toMatchObject({
|
|
154
|
+
name: 'Color',
|
|
155
|
+
kind: 'enum',
|
|
156
|
+
exported: true,
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
it('extracts export default declaration', () => {
|
|
160
|
+
const ast = (0, astAnalyzer_1.parseFile)('export default function main() { return 42; }', 'test.ts');
|
|
161
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
162
|
+
expect(declarations).toHaveLength(1);
|
|
163
|
+
expect(declarations[0]).toMatchObject({
|
|
164
|
+
name: 'main',
|
|
165
|
+
kind: 'function',
|
|
166
|
+
exported: true,
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
it('extracts export default unnamed expression', () => {
|
|
170
|
+
const ast = (0, astAnalyzer_1.parseFile)('export default 42;', 'test.ts');
|
|
171
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
172
|
+
expect(declarations).toHaveLength(1);
|
|
173
|
+
expect(declarations[0]).toMatchObject({
|
|
174
|
+
name: 'default',
|
|
175
|
+
exported: true,
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
it('extracts rest params with signature', () => {
|
|
179
|
+
const ast = (0, astAnalyzer_1.parseFile)('export function sum(...nums: number[]) { return nums.reduce((a, b) => a + b, 0); }', 'test.ts');
|
|
180
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
181
|
+
expect(declarations[0].signature).toBe('(...nums?)');
|
|
182
|
+
});
|
|
183
|
+
it('extracts multiple declarations from one file', () => {
|
|
184
|
+
const src = `
|
|
185
|
+
export function foo() {}
|
|
186
|
+
function bar() {}
|
|
187
|
+
export class Baz {}
|
|
188
|
+
const qux = 42;
|
|
189
|
+
export interface Config { x: number }
|
|
190
|
+
`;
|
|
191
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
192
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
193
|
+
expect(declarations).toHaveLength(5);
|
|
194
|
+
expect(declarations.filter(d => d.exported)).toHaveLength(3);
|
|
195
|
+
});
|
|
196
|
+
// CommonJS patterns
|
|
197
|
+
describe('CommonJS exports', () => {
|
|
198
|
+
it('extracts exports.foo = function()', () => {
|
|
199
|
+
const src = 'exports.hello = function(name) { return "hello " + name; };';
|
|
200
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.js');
|
|
201
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
202
|
+
expect(declarations).toHaveLength(1);
|
|
203
|
+
expect(declarations[0]).toMatchObject({
|
|
204
|
+
name: 'hello',
|
|
205
|
+
kind: 'function',
|
|
206
|
+
exported: true,
|
|
207
|
+
});
|
|
208
|
+
expect(declarations[0].signature).toBeDefined();
|
|
209
|
+
});
|
|
210
|
+
it('extracts module.exports.foo = ...', () => {
|
|
211
|
+
const src = 'module.exports.add = (a, b) => a + b;';
|
|
212
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.js');
|
|
213
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
214
|
+
expect(declarations).toHaveLength(1);
|
|
215
|
+
expect(declarations[0]).toMatchObject({
|
|
216
|
+
name: 'add',
|
|
217
|
+
kind: 'function',
|
|
218
|
+
exported: true,
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
it('extracts module.exports = { a, b }', () => {
|
|
222
|
+
const src = `
|
|
223
|
+
function a() { return 1; }
|
|
224
|
+
function b() { return 2; }
|
|
225
|
+
module.exports = { a, b };
|
|
226
|
+
`;
|
|
227
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.js');
|
|
228
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
229
|
+
// Should have a and b as declarations (from function decls), marked as exported
|
|
230
|
+
const aDecl = declarations.find(d => d.name === 'a');
|
|
231
|
+
const bDecl = declarations.find(d => d.name === 'b');
|
|
232
|
+
expect(aDecl).toBeDefined();
|
|
233
|
+
expect(aDecl.exported).toBe(true);
|
|
234
|
+
expect(bDecl).toBeDefined();
|
|
235
|
+
expect(bDecl.exported).toBe(true);
|
|
236
|
+
});
|
|
237
|
+
it('extracts module.exports = function()', () => {
|
|
238
|
+
const src = 'module.exports = function(x) { return x * 2; };';
|
|
239
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.js');
|
|
240
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
241
|
+
const defaultDecl = declarations.find(d => d.name === 'default');
|
|
242
|
+
expect(defaultDecl).toBeDefined();
|
|
243
|
+
expect(defaultDecl.exported).toBe(true);
|
|
244
|
+
expect(defaultDecl.kind).toBe('function');
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
describe('canonicalizeBody', () => {
|
|
249
|
+
it('produces same canonical form for renamed local variables', () => {
|
|
250
|
+
const src1 = 'function foo(x) { const y = x + 1; return y; }';
|
|
251
|
+
const src2 = 'function foo(a) { const b = a + 1; return b; }';
|
|
252
|
+
const ast1 = (0, astAnalyzer_1.parseFile)(src1, 'test.js');
|
|
253
|
+
const ast2 = (0, astAnalyzer_1.parseFile)(src2, 'test.js');
|
|
254
|
+
const { body: body1, params: params1 } = (0, astAnalyzer_1.findDeclarationBody)(ast1, 'foo');
|
|
255
|
+
const { body: body2, params: params2 } = (0, astAnalyzer_1.findDeclarationBody)(ast2, 'foo');
|
|
256
|
+
const c1 = (0, astAnalyzer_1.canonicalizeBody)(body1, params1);
|
|
257
|
+
const c2 = (0, astAnalyzer_1.canonicalizeBody)(body2, params2);
|
|
258
|
+
expect(c1).toBe(c2);
|
|
259
|
+
});
|
|
260
|
+
it('produces different canonical form for different literals', () => {
|
|
261
|
+
const src1 = 'function foo() { return "hello"; }';
|
|
262
|
+
const src2 = 'function foo() { return "world"; }';
|
|
263
|
+
const ast1 = (0, astAnalyzer_1.parseFile)(src1, 'test.js');
|
|
264
|
+
const ast2 = (0, astAnalyzer_1.parseFile)(src2, 'test.js');
|
|
265
|
+
const { body: body1, params: params1 } = (0, astAnalyzer_1.findDeclarationBody)(ast1, 'foo');
|
|
266
|
+
const { body: body2, params: params2 } = (0, astAnalyzer_1.findDeclarationBody)(ast2, 'foo');
|
|
267
|
+
const c1 = (0, astAnalyzer_1.canonicalizeBody)(body1, params1);
|
|
268
|
+
const c2 = (0, astAnalyzer_1.canonicalizeBody)(body2, params2);
|
|
269
|
+
expect(c1).not.toBe(c2);
|
|
270
|
+
});
|
|
271
|
+
it('keeps property keys as-is', () => {
|
|
272
|
+
const src1 = 'function foo(obj) { return obj.name; }';
|
|
273
|
+
const src2 = 'function foo(obj) { return obj.total; }';
|
|
274
|
+
const ast1 = (0, astAnalyzer_1.parseFile)(src1, 'test.js');
|
|
275
|
+
const ast2 = (0, astAnalyzer_1.parseFile)(src2, 'test.js');
|
|
276
|
+
const { body: body1, params: params1 } = (0, astAnalyzer_1.findDeclarationBody)(ast1, 'foo');
|
|
277
|
+
const { body: body2, params: params2 } = (0, astAnalyzer_1.findDeclarationBody)(ast2, 'foo');
|
|
278
|
+
const c1 = (0, astAnalyzer_1.canonicalizeBody)(body1, params1);
|
|
279
|
+
const c2 = (0, astAnalyzer_1.canonicalizeBody)(body2, params2);
|
|
280
|
+
expect(c1).not.toBe(c2);
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
describe('computeBodyHash', () => {
|
|
284
|
+
it('produces deterministic hash', () => {
|
|
285
|
+
const canonical = '{"type":"BlockStatement","body":[]}';
|
|
286
|
+
const hash1 = (0, astAnalyzer_1.computeBodyHash)(canonical);
|
|
287
|
+
const hash2 = (0, astAnalyzer_1.computeBodyHash)(canonical);
|
|
288
|
+
expect(hash1).toBe(hash2);
|
|
289
|
+
expect(hash1).toHaveLength(64); // SHA-256 hex
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
describe('populateBodyHashes', () => {
|
|
293
|
+
it('fills bodyHash for all declarations', () => {
|
|
294
|
+
const src = `
|
|
295
|
+
export function foo(x: number) { return x + 1; }
|
|
296
|
+
export const bar = (y: string) => y.toUpperCase();
|
|
297
|
+
`;
|
|
298
|
+
const ast = (0, astAnalyzer_1.parseFile)(src, 'test.ts');
|
|
299
|
+
const { declarations } = (0, astAnalyzer_1.extractDeclarations)(ast);
|
|
300
|
+
expect(declarations[0].bodyHash).toBe('');
|
|
301
|
+
(0, astAnalyzer_1.populateBodyHashes)(declarations, ast);
|
|
302
|
+
expect(declarations[0].bodyHash).not.toBe('');
|
|
303
|
+
expect(declarations[0].bodyHash).toHaveLength(64);
|
|
304
|
+
expect(declarations[1].bodyHash).not.toBe('');
|
|
305
|
+
});
|
|
306
|
+
it('produces same hash for renamed functions with identical bodies', () => {
|
|
307
|
+
const src1 = 'function foo(x) { return x + 1; }';
|
|
308
|
+
const src2 = 'function bar(x) { return x + 1; }';
|
|
309
|
+
const ast1 = (0, astAnalyzer_1.parseFile)(src1, 'test.js');
|
|
310
|
+
const ast2 = (0, astAnalyzer_1.parseFile)(src2, 'test.js');
|
|
311
|
+
const { declarations: decls1 } = (0, astAnalyzer_1.extractDeclarations)(ast1);
|
|
312
|
+
const { declarations: decls2 } = (0, astAnalyzer_1.extractDeclarations)(ast2);
|
|
313
|
+
(0, astAnalyzer_1.populateBodyHashes)(decls1, ast1);
|
|
314
|
+
(0, astAnalyzer_1.populateBodyHashes)(decls2, ast2);
|
|
315
|
+
expect(decls1[0].bodyHash).toBe(decls2[0].bodyHash);
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
//# sourceMappingURL=astAnalyzer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astAnalyzer.test.js","sourceRoot":"","sources":["../../src/services/astAnalyzer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FileASTResult, ASTClassifierResult } from '../types';
|
|
2
|
+
import type { FileChange } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Analyze a single staged file, producing a FileASTResult.
|
|
5
|
+
*/
|
|
6
|
+
export declare function analyzeFile(filePath: string, oldSource: string | null, newSource: string | null): FileASTResult;
|
|
7
|
+
/**
|
|
8
|
+
* Classify a commit from per-file AST analysis results.
|
|
9
|
+
* Applies the signal table with weighted signals and tie-breaking.
|
|
10
|
+
*/
|
|
11
|
+
export declare function classifyCommit(fileResults: FileASTResult[]): ASTClassifierResult;
|
|
12
|
+
/**
|
|
13
|
+
* Run the full AST analysis pipeline on all staged files.
|
|
14
|
+
* Returns the classifier result.
|
|
15
|
+
*/
|
|
16
|
+
export declare function analyzeChangesAST(stagedFiles: FileChange[]): ASTClassifierResult;
|
|
17
|
+
//# sourceMappingURL=astClassifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astClassifier.d.ts","sourceRoot":"","sources":["../../src/services/astClassifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAAE,mBAAmB,EAA+B,MAAM,UAAU,CAAC;AAKvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqC3C;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,aAAa,CA2Ff;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,mBAAmB,CA0NhF;AAgCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,mBAAmB,CA4ChF"}
|