@aroman22/codegraph-vba-darwin-arm64 1.16.0 → 1.17.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/lib/dist/db/queries.d.ts +11 -0
- package/lib/dist/db/queries.d.ts.map +1 -1
- package/lib/dist/db/queries.js +27 -0
- package/lib/dist/db/queries.js.map +1 -1
- package/lib/dist/graph/behavior-evidence.d.ts +162 -0
- package/lib/dist/graph/behavior-evidence.d.ts.map +1 -0
- package/lib/dist/graph/behavior-evidence.js +529 -0
- package/lib/dist/graph/behavior-evidence.js.map +1 -0
- package/lib/dist/index.d.ts +22 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +28 -1
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/mcp/server-instructions.d.ts +1 -1
- package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
- package/lib/dist/mcp/server-instructions.js +26 -4
- package/lib/dist/mcp/server-instructions.js.map +1 -1
- package/lib/dist/mcp/tools.d.ts +12 -0
- package/lib/dist/mcp/tools.d.ts.map +1 -1
- package/lib/dist/mcp/tools.js +63 -0
- package/lib/dist/mcp/tools.js.map +1 -1
- package/lib/dist/utils/backtrace-helpers.d.ts +14 -2
- package/lib/dist/utils/backtrace-helpers.d.ts.map +1 -1
- package/lib/dist/utils/backtrace-helpers.js +81 -7
- package/lib/dist/utils/backtrace-helpers.js.map +1 -1
- package/lib/dist/utils/sql-impact-helpers.d.ts.map +1 -1
- package/lib/dist/utils/sql-impact-helpers.js +119 -30
- package/lib/dist/utils/sql-impact-helpers.js.map +1 -1
- package/lib/node_modules/.modules.yaml +1 -1
- package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
- package/lib/package.json +2 -1
- package/package.json +1 -1
|
@@ -28,8 +28,20 @@ export interface TraversalResult {
|
|
|
28
28
|
warnings: string[];
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* Traverses VBA
|
|
32
|
-
*
|
|
31
|
+
* Traverses the VBA execution graph from a node id, following the semantics
|
|
32
|
+
* the production extractor actually stores.
|
|
33
|
+
*
|
|
34
|
+
* Two directions are involved, which is the whole point of this helper:
|
|
35
|
+
*
|
|
36
|
+
* - An `event-handler` edge is stored HANDLER -> UI object (both for the
|
|
37
|
+
* `<Control>_<Event>` code-behind convention and for `=Expression()`
|
|
38
|
+
* wiring, which the resolver repoints the same way). So reaching a
|
|
39
|
+
* handler from its control or layout means following that edge BACKWARDS.
|
|
40
|
+
* - A `calls` edge is stored CALLER -> CALLEE, so the rest of the path is
|
|
41
|
+
* followed forwards.
|
|
42
|
+
*
|
|
43
|
+
* Starting from a handler still works: it simply has no incoming
|
|
44
|
+
* `event-handler` edge to expand, and its callees are found the usual way.
|
|
33
45
|
*/
|
|
34
46
|
export declare function traverseGraph(db: SqliteDatabase, startNodeId: string, maxDepth?: number): TraversalResult;
|
|
35
47
|
//# sourceMappingURL=backtrace-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtrace-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/backtrace-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAqBtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CA2BtD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"backtrace-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/backtrace-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAqBtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CA2BtD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAyCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,SAAK,GACZ,eAAe,CAkHjB"}
|
|
@@ -57,8 +57,56 @@ function reconstructSQL(lines) {
|
|
|
57
57
|
return accumulated;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
60
|
+
* Node kinds that represent a UI object an event can be wired to.
|
|
61
|
+
*
|
|
62
|
+
* The canonical Access kinds (`form-layout`, `report-layout`,
|
|
63
|
+
* `form-instance-control`) are what the extractor emits today; `control`,
|
|
64
|
+
* `form` and `report` are kept so graphs written before those kinds existed
|
|
65
|
+
* still traverse.
|
|
66
|
+
*/
|
|
67
|
+
const UI_NODE_KINDS = new Set([
|
|
68
|
+
'form-instance-control',
|
|
69
|
+
'form-layout',
|
|
70
|
+
'report-layout',
|
|
71
|
+
'control',
|
|
72
|
+
'form',
|
|
73
|
+
'report',
|
|
74
|
+
]);
|
|
75
|
+
/**
|
|
76
|
+
* Edge kinds that always represent an execution step away from the current
|
|
77
|
+
* node. `calls` is the real one; `defines-event` is a legacy shape some older
|
|
78
|
+
* graphs stored outgoing from the control.
|
|
79
|
+
*/
|
|
80
|
+
const EXECUTION_EDGE_KINDS = ['calls', 'defines-event'];
|
|
81
|
+
/**
|
|
82
|
+
* Node kinds a `references` edge may land on and still be a call.
|
|
83
|
+
*
|
|
84
|
+
* VBA's statement-form Sub call is genuinely ambiguous at parse time: `Foo`
|
|
85
|
+
* on its own line could be a `Const` read, so the extractor deliberately
|
|
86
|
+
* classifies it as `unqualified-ident` (issue #265) and the resolver stores
|
|
87
|
+
* the resolved edge as `references`, not `calls`. That bare form is the
|
|
88
|
+
* dominant call style in Access code-behind, so a consumer that follows only
|
|
89
|
+
* `calls` reaches the handler and stops — the empty trace this helper exists
|
|
90
|
+
* to prevent. Constraining the target kind is what keeps the rule honest:
|
|
91
|
+
* containment, typing and data references (tables, queries, classes) land on
|
|
92
|
+
* other kinds and stay out of the trace.
|
|
93
|
+
*/
|
|
94
|
+
const CALLABLE_TARGET_KINDS = ['function', 'method'];
|
|
95
|
+
/**
|
|
96
|
+
* Traverses the VBA execution graph from a node id, following the semantics
|
|
97
|
+
* the production extractor actually stores.
|
|
98
|
+
*
|
|
99
|
+
* Two directions are involved, which is the whole point of this helper:
|
|
100
|
+
*
|
|
101
|
+
* - An `event-handler` edge is stored HANDLER -> UI object (both for the
|
|
102
|
+
* `<Control>_<Event>` code-behind convention and for `=Expression()`
|
|
103
|
+
* wiring, which the resolver repoints the same way). So reaching a
|
|
104
|
+
* handler from its control or layout means following that edge BACKWARDS.
|
|
105
|
+
* - A `calls` edge is stored CALLER -> CALLEE, so the rest of the path is
|
|
106
|
+
* followed forwards.
|
|
107
|
+
*
|
|
108
|
+
* Starting from a handler still works: it simply has no incoming
|
|
109
|
+
* `event-handler` edge to expand, and its callees are found the usual way.
|
|
62
110
|
*/
|
|
63
111
|
function traverseGraph(db, startNodeId, maxDepth = 10) {
|
|
64
112
|
if (!db) {
|
|
@@ -73,10 +121,38 @@ function traverseGraph(db, startNodeId, maxDepth = 10) {
|
|
|
73
121
|
try {
|
|
74
122
|
// Optimization: Prepare statements once to avoid parsing cost inside the recursion
|
|
75
123
|
const stmtNode = db.prepare('SELECT name, kind FROM nodes WHERE id = ?');
|
|
76
|
-
const
|
|
124
|
+
const stmtCallees = db.prepare(`SELECT e.target AS id
|
|
125
|
+
FROM edges e
|
|
126
|
+
JOIN nodes n ON n.id = e.target
|
|
127
|
+
WHERE e.source = ?
|
|
128
|
+
AND (e.kind IN (${EXECUTION_EDGE_KINDS.map(() => '?').join(', ')})
|
|
129
|
+
OR (e.kind = 'references'
|
|
130
|
+
AND n.kind IN (${CALLABLE_TARGET_KINDS.map(() => '?').join(', ')})))
|
|
131
|
+
ORDER BY e.target`);
|
|
132
|
+
// Inverse of the stored binding: the handler is the SOURCE of the
|
|
133
|
+
// `event-handler` edge and the control/layout is its target.
|
|
134
|
+
const stmtHandlers = db.prepare("SELECT source AS id FROM edges WHERE target = ? AND kind = 'event-handler' ORDER BY source");
|
|
135
|
+
function nextNodeIds(nodeId, kind) {
|
|
136
|
+
const ids = [];
|
|
137
|
+
const seen = new Set();
|
|
138
|
+
const push = (row) => {
|
|
139
|
+
if (row.id !== undefined && !seen.has(row.id)) {
|
|
140
|
+
seen.add(row.id);
|
|
141
|
+
ids.push(row.id);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
if (UI_NODE_KINDS.has(kind)) {
|
|
145
|
+
stmtHandlers.all(nodeId).forEach(push);
|
|
146
|
+
}
|
|
147
|
+
stmtCallees.all(nodeId, ...EXECUTION_EDGE_KINDS, ...CALLABLE_TARGET_KINDS).forEach(push);
|
|
148
|
+
return ids;
|
|
149
|
+
}
|
|
77
150
|
function helper(nodeId, depth, visited) {
|
|
78
151
|
const nodeRow = stmtNode.get(nodeId);
|
|
79
152
|
if (!nodeRow) {
|
|
153
|
+
if (depth === 0) {
|
|
154
|
+
warnings.push('START_NODE_NOT_FOUND');
|
|
155
|
+
}
|
|
80
156
|
return null;
|
|
81
157
|
}
|
|
82
158
|
const node = {
|
|
@@ -97,13 +173,11 @@ function traverseGraph(db, startNodeId, maxDepth = 10) {
|
|
|
97
173
|
}
|
|
98
174
|
return node;
|
|
99
175
|
}
|
|
100
|
-
// Fetch outgoing target nodes
|
|
101
|
-
const edges = stmtEdges.all(nodeId);
|
|
102
176
|
// Traverse children with updated path history
|
|
103
177
|
const newVisited = new Set(visited);
|
|
104
178
|
newVisited.add(nodeId);
|
|
105
|
-
for (const
|
|
106
|
-
const child = helper(
|
|
179
|
+
for (const childId of nextNodeIds(nodeId, nodeRow.kind)) {
|
|
180
|
+
const child = helper(childId, depth + 1, newVisited);
|
|
107
181
|
if (child) {
|
|
108
182
|
node.children.push(child);
|
|
109
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtrace-helpers.js","sourceRoot":"","sources":["../../src/utils/backtrace-helpers.ts"],"names":[],"mappings":";;AAeA,oDAqBC;AAMD,wCA2BC;
|
|
1
|
+
{"version":3,"file":"backtrace-helpers.js","sourceRoot":"","sources":["../../src/utils/backtrace-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-impact-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/sql-impact-helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAiEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAqDzD;
|
|
1
|
+
{"version":3,"file":"sql-impact-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/sql-impact-helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAiEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAqDzD;AA+HD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,GAAG,EACP,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,GAAG,CAgKL"}
|
|
@@ -185,25 +185,94 @@ function getAllFiles(dir) {
|
|
|
185
185
|
return results;
|
|
186
186
|
}
|
|
187
187
|
/**
|
|
188
|
-
*
|
|
188
|
+
* Node kinds that can own a call chain — a VBA procedure, under any of the
|
|
189
|
+
* kind names the graph has used.
|
|
189
190
|
*/
|
|
190
|
-
function
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
191
|
+
const CALLER_NODE_KINDS = ['function', 'method', 'event', 'sub'];
|
|
192
|
+
/**
|
|
193
|
+
* Node kinds that represent a UI object an event handler can be wired to.
|
|
194
|
+
* The canonical Access kinds first, then the legacy ones older graphs used.
|
|
195
|
+
*/
|
|
196
|
+
const UI_NODE_KINDS = new Set([
|
|
197
|
+
'form-instance-control',
|
|
198
|
+
'form-layout',
|
|
199
|
+
'report-layout',
|
|
200
|
+
'control',
|
|
201
|
+
'form',
|
|
202
|
+
'report',
|
|
203
|
+
]);
|
|
204
|
+
const LAYOUT_NODE_KINDS = new Set(['form-layout', 'report-layout']);
|
|
205
|
+
/**
|
|
206
|
+
* Walks the graph backwards from a procedure to every procedure that can
|
|
207
|
+
* reach it.
|
|
208
|
+
*
|
|
209
|
+
* Only caller relationships are followed. `calls` is the explicit one and
|
|
210
|
+
* `defines-event` the legacy one; a `references` edge counts only when it
|
|
211
|
+
* comes FROM a procedure, which is how the resolver stores VBA's
|
|
212
|
+
* statement-form Sub call (`SaveOrderTotals` on its own line resolves as an
|
|
213
|
+
* ambiguous bare identifier — see issue #265 — so the edge is `references`,
|
|
214
|
+
* not `calls`). Containment is deliberately not a caller relationship: a
|
|
215
|
+
* module contains a procedure, it does not call it.
|
|
216
|
+
*/
|
|
217
|
+
function findCallChain(db, startNodeId) {
|
|
218
|
+
const visited = new Set([startNodeId]);
|
|
219
|
+
const chain = [startNodeId];
|
|
220
|
+
const stmt = db.prepare(`SELECT e.source AS id
|
|
221
|
+
FROM edges e
|
|
222
|
+
JOIN nodes n ON n.id = e.source
|
|
223
|
+
WHERE e.target = ?
|
|
224
|
+
AND (e.kind IN ('calls', 'defines-event')
|
|
225
|
+
OR (e.kind = 'references'
|
|
226
|
+
AND n.kind IN (${CALLER_NODE_KINDS.map(() => '?').join(', ')})))
|
|
227
|
+
ORDER BY e.source`);
|
|
228
|
+
const queue = [startNodeId];
|
|
229
|
+
while (queue.length > 0) {
|
|
230
|
+
const nodeId = queue.shift();
|
|
231
|
+
const rows = stmt.all(nodeId, ...CALLER_NODE_KINDS);
|
|
198
232
|
for (const row of rows) {
|
|
199
|
-
if (row.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
233
|
+
if (row.id === undefined || visited.has(row.id))
|
|
234
|
+
continue;
|
|
235
|
+
visited.add(row.id);
|
|
236
|
+
chain.push(row.id);
|
|
237
|
+
queue.push(row.id);
|
|
203
238
|
}
|
|
204
239
|
}
|
|
205
|
-
|
|
206
|
-
|
|
240
|
+
return chain;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Names the form or report that owns a UI node.
|
|
244
|
+
*
|
|
245
|
+
* A layout node names itself. A control is resolved through the `contains`
|
|
246
|
+
* edge its layout emits — ownership is a graph relationship, not a guess
|
|
247
|
+
* made from the file name. The basename fallback only fires for a control
|
|
248
|
+
* whose layout file was never indexed (a cross-file stub), and for the
|
|
249
|
+
* legacy `control`/`form` kinds that predate layout containment.
|
|
250
|
+
*/
|
|
251
|
+
function resolveOwningLayout(db, uiNodeId) {
|
|
252
|
+
const node = db
|
|
253
|
+
.prepare('SELECT id, name, kind, file_path FROM nodes WHERE id = ?')
|
|
254
|
+
.get(uiNodeId);
|
|
255
|
+
if (!node)
|
|
256
|
+
return null;
|
|
257
|
+
if (LAYOUT_NODE_KINDS.has(node.kind))
|
|
258
|
+
return node.name;
|
|
259
|
+
const owner = db
|
|
260
|
+
.prepare(`SELECT n.name AS name
|
|
261
|
+
FROM edges e
|
|
262
|
+
JOIN nodes n ON n.id = e.source
|
|
263
|
+
WHERE e.target = ?
|
|
264
|
+
AND e.kind = 'contains'
|
|
265
|
+
AND n.kind IN ('form-layout', 'report-layout')
|
|
266
|
+
ORDER BY e.source
|
|
267
|
+
LIMIT 1`)
|
|
268
|
+
.get(uiNodeId);
|
|
269
|
+
if (owner)
|
|
270
|
+
return owner.name;
|
|
271
|
+
if (!node.file_path)
|
|
272
|
+
return null;
|
|
273
|
+
const base = path.basename(node.file_path);
|
|
274
|
+
const stripped = base.replace(/\.(form|report)\.txt$/i, '');
|
|
275
|
+
return (stripped === base ? base.split('.')[0] : stripped) || null;
|
|
207
276
|
}
|
|
208
277
|
/**
|
|
209
278
|
* Runs a combined database and file-level downstream impact analysis.
|
|
@@ -292,34 +361,54 @@ function runImpactAnalysis(db, workspaceDir, queryName) {
|
|
|
292
361
|
}
|
|
293
362
|
}
|
|
294
363
|
}
|
|
295
|
-
// 3. Database traversal
|
|
364
|
+
// 3. Database traversal: from the procedures that touch the query, back up
|
|
365
|
+
// the call chain and across the handler -> control/layout binding.
|
|
366
|
+
//
|
|
367
|
+
// The binding is stored HANDLER -> control (and HANDLER -> layout for a
|
|
368
|
+
// form-level event), so the owning form is found by following the
|
|
369
|
+
// handler's OUTGOING `event-handler` edge — not by walking further up
|
|
370
|
+
// the ancestor chain, which never reaches the UI at all. That inverted
|
|
371
|
+
// assumption is why a query reached only through code, with no
|
|
372
|
+
// RecordSource/RowSource binding, used to report no affected form.
|
|
373
|
+
const stmtUiTargets = db.prepare("SELECT target AS id FROM edges WHERE source = ? AND kind = 'event-handler' ORDER BY target");
|
|
374
|
+
const addForm = (formName) => {
|
|
375
|
+
if (formName && !output.downstream_impact.forms.includes(formName)) {
|
|
376
|
+
output.downstream_impact.forms.push(formName);
|
|
377
|
+
}
|
|
378
|
+
};
|
|
296
379
|
for (const caller of output.callers) {
|
|
297
|
-
// Find
|
|
380
|
+
// Find the procedure node whose line range contains this reference.
|
|
298
381
|
const matchingNodes = db.prepare(`
|
|
299
382
|
SELECT id, name, kind, file_path
|
|
300
383
|
FROM nodes
|
|
301
384
|
WHERE (file_path = ? OR file_path LIKE ?)
|
|
302
385
|
AND start_line <= ?
|
|
303
386
|
AND end_line >= ?
|
|
304
|
-
AND kind IN ('
|
|
305
|
-
`).all(caller.file, `%/${path.basename(caller.file)}`, caller.line, caller.line);
|
|
387
|
+
AND kind IN (${CALLER_NODE_KINDS.map(() => '?').join(', ')})
|
|
388
|
+
`).all(caller.file, `%/${path.basename(caller.file)}`, caller.line, caller.line, ...CALLER_NODE_KINDS);
|
|
306
389
|
for (const node of matchingNodes) {
|
|
307
|
-
const
|
|
308
|
-
for (const
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
390
|
+
const chain = findCallChain(db, node.id);
|
|
391
|
+
for (const chainNodeId of chain) {
|
|
392
|
+
const chainNode = db
|
|
393
|
+
.prepare('SELECT id, name, kind, file_path FROM nodes WHERE id = ?')
|
|
394
|
+
.get(chainNodeId);
|
|
395
|
+
if (!chainNode)
|
|
396
|
+
continue;
|
|
397
|
+
if (chainNodeId !== node.id) {
|
|
398
|
+
const fileBase = path.basename(chainNode.file_path ?? '');
|
|
312
399
|
if (['.bas', '.cls', '.frm'].includes(path.extname(fileBase).toLowerCase())) {
|
|
313
400
|
if (!output.downstream_impact.vba_callers.includes(fileBase)) {
|
|
314
401
|
output.downstream_impact.vba_callers.push(fileBase);
|
|
315
402
|
}
|
|
316
403
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
404
|
+
}
|
|
405
|
+
// A legacy graph put the control itself in the caller chain.
|
|
406
|
+
if (UI_NODE_KINDS.has(chainNode.kind)) {
|
|
407
|
+
addForm(resolveOwningLayout(db, chainNodeId));
|
|
408
|
+
continue;
|
|
409
|
+
}
|
|
410
|
+
for (const ui of stmtUiTargets.all(chainNodeId)) {
|
|
411
|
+
addForm(resolveOwningLayout(db, ui.id));
|
|
323
412
|
}
|
|
324
413
|
}
|
|
325
414
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-impact-helpers.js","sourceRoot":"","sources":["../../src/utils/sql-impact-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql-impact-helpers.js","sourceRoot":"","sources":["../../src/utils/sql-impact-helpers.ts"],"names":[],"mappings":"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"}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aroman22/codegraph-vba",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"description": "Supercharge AI coding agents with semantic code intelligence — surgical context, fewer tool calls, faster answers. 100% local.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"schema:dump": "tsx scripts/dump-index-schema.ts",
|
|
27
27
|
"spike:vbnet": "node scripts/spike-vbnet-as-vba.mjs",
|
|
28
28
|
"probe:vba": "tsx scripts/vba-coverage-probe.mjs",
|
|
29
|
+
"acceptance:vba": "vitest run __tests__/vba-semantic-acceptance.test.ts",
|
|
29
30
|
"clean": "node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true})\""
|
|
30
31
|
},
|
|
31
32
|
"keywords": [
|