@aroman22/codegraph-vba-darwin-arm64 1.3.5 → 1.5.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 (39) hide show
  1. package/lib/dist/extraction/index.d.ts.map +1 -1
  2. package/lib/dist/extraction/index.js +26 -7
  3. package/lib/dist/extraction/index.js.map +1 -1
  4. package/lib/dist/extraction/sql-query-extractor.d.ts +11 -3
  5. package/lib/dist/extraction/sql-query-extractor.d.ts.map +1 -1
  6. package/lib/dist/extraction/sql-query-extractor.js +19 -5
  7. package/lib/dist/extraction/sql-query-extractor.js.map +1 -1
  8. package/lib/dist/extraction/vba-extractor.d.ts +575 -55
  9. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
  10. package/lib/dist/extraction/vba-extractor.js +1233 -135
  11. package/lib/dist/extraction/vba-extractor.js.map +1 -1
  12. package/lib/dist/extraction/vba-form-extractor.d.ts +127 -0
  13. package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
  14. package/lib/dist/extraction/vba-form-extractor.js +290 -3
  15. package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
  16. package/lib/dist/extraction/vba-preprocess.d.ts +22 -3
  17. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
  18. package/lib/dist/extraction/vba-preprocess.js +137 -15
  19. package/lib/dist/extraction/vba-preprocess.js.map +1 -1
  20. package/lib/dist/extraction/vba-source.d.ts +58 -0
  21. package/lib/dist/extraction/vba-source.d.ts.map +1 -0
  22. package/lib/dist/extraction/vba-source.js +137 -0
  23. package/lib/dist/extraction/vba-source.js.map +1 -0
  24. package/lib/dist/types.d.ts +2 -2
  25. package/lib/dist/types.d.ts.map +1 -1
  26. package/lib/dist/types.js +6 -0
  27. package/lib/dist/types.js.map +1 -1
  28. package/lib/dist/utils/backtrace-helpers.d.ts +35 -0
  29. package/lib/dist/utils/backtrace-helpers.d.ts.map +1 -0
  30. package/lib/dist/utils/backtrace-helpers.js +129 -0
  31. package/lib/dist/utils/backtrace-helpers.js.map +1 -0
  32. package/lib/dist/utils/sql-impact-helpers.d.ts +38 -0
  33. package/lib/dist/utils/sql-impact-helpers.d.ts.map +1 -0
  34. package/lib/dist/utils/sql-impact-helpers.js +329 -0
  35. package/lib/dist/utils/sql-impact-helpers.js.map +1 -0
  36. package/lib/node_modules/.modules.yaml +2 -2
  37. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  38. package/lib/package.json +2 -2
  39. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ export declare function isVbaFamilyFile(filePath: string): boolean;
2
+ export interface ReadVbaSourceOptions {
3
+ /**
4
+ * Dependency injection for the byte read — defaults to `fs.readFileSync(path)`.
5
+ * Tests inject in-memory buffers via this parameter so no temp files are
6
+ * needed.
7
+ */
8
+ readFile?: (filePath: string) => Buffer;
9
+ /**
10
+ * Optional callback invoked when the CP1252 fallback fires. Receives the
11
+ * file path and the underlying decoder error so the CLI can surface a
12
+ * low-severity warning. Extraction continues silently otherwise.
13
+ */
14
+ onFallback?: (filePath: string, reason: string) => void;
15
+ }
16
+ export interface ReadVbaSourceResult {
17
+ /**
18
+ * Decoded source text with leading UTF-8 BOM stripped. Use this exactly
19
+ * as you would use the result of `fs.readFileSync(path, 'utf-8')`.
20
+ */
21
+ text: string;
22
+ /**
23
+ * True iff a leading UTF-8 BOM was stripped from the input bytes.
24
+ * Callers that care (e.g. post-processing that compares against a
25
+ * hex-signatured reference) can read this.
26
+ */
27
+ bomStripped: boolean;
28
+ }
29
+ /**
30
+ * Read a VBA-family source file with encoding-robust decode:
31
+ * 1. Strip leading UTF-8 BOM (bytes EF BB BF) if present.
32
+ * 2. Try UTF-8 with `fatal: true` — a single byte sequence like 0xF3 in
33
+ * the middle of `ActualizarSituación` (CP1252 'ó') throws a `TypeError`
34
+ * and we fall back to `windows-1252`.
35
+ * 3. Return the decoded text.
36
+ *
37
+ * Performance: the BOM peek is 3 byte comparisons; the UTF-8 sniff is `O(fileSize)`
38
+ * but only runs the decoder once on the happy path. CP1252 fallback only
39
+ * fires when UTF-8 actually fails — valid UTF-8 (dysflow, modern editors,
40
+ * anything written today) is byte-identical to `readFileSync(path, 'utf-8')`
41
+ * with the BOM difference only. The windows-1252 decoder is built into
42
+ * Node's WHATWG encodings spec — no extra dep.
43
+ *
44
+ * @param filePath absolute path to read.
45
+ * @param opts optional dependencies; see {@link ReadVbaSourceOptions}.
46
+ */
47
+ export declare function readVbaSource(filePath: string, opts?: ReadVbaSourceOptions): ReadVbaSourceResult;
48
+ /**
49
+ * String-level BOM strip — survives when the upstream `fsp.readFile(path, 'utf-8')`
50
+ * already decoded the bytes (it's the only way the `\uFEFF` char survives in
51
+ * a string). Used as a defensive last resort when a read site has NOT gone
52
+ * through `readVbaSource` and the source text starts with the BOM marker.
53
+ *
54
+ * Most call sites should prefer `readVbaSource` for fresh reads; this is
55
+ * a string post-process for callers that already have a `string` in hand.
56
+ */
57
+ export declare function stripUtf8Bom(text: string): string;
58
+ //# sourceMappingURL=vba-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vba-source.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-source.ts"],"names":[],"mappings":"AA6BA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAUD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,oBAAyB,GAC9B,mBAAmB,CAgCrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.isVbaFamilyFile = isVbaFamilyFile;
37
+ exports.readVbaSource = readVbaSource;
38
+ exports.stripUtf8Bom = stripUtf8Bom;
39
+ /**
40
+ * Issue #53: encoding-robust source reading for VBA-family files.
41
+ *
42
+ * Access `SaveAsText` / VBIDE `Export` write Windows-1252 (ANSI). dysflow
43
+ * converts everything to UTF-8-no-BOM on export, but codegraph-vba can be
44
+ * pointed at exports from older dysflow runs, other tools, or hand-copied
45
+ * modules that are still CP1252 on disk. Today every file is read as UTF-8
46
+ * unconditionally; a CP1252 file with accented identifiers (ubiquitous in
47
+ * Spanish-language Access code: `Sub ActualizarSituación`, enum member `Sí`,
48
+ * module headers `' MÓDULO:`) decodes to replacement characters, `\p{L}`
49
+ * regexes stop matching, and the symbol silently disappears from the graph.
50
+ * A BOM-carrying UTF-8 file additionally corrupts the first line (breaks
51
+ * `Attribute VB_Name` detection → wrong module name).
52
+ *
53
+ * Scope (do NOT change decoding for tree-sitter languages): only
54
+ * `.bas`/`.cls`/`.frm`/`.dsr`/`.form.txt`/`.report.txt`/`.sql` files get
55
+ * the BOM strip + CP1252 fallback; everything else stays byte-identical to
56
+ * the existing `fs.readFile(path, 'utf-8')` path.
57
+ */
58
+ const fs = __importStar(require("fs"));
59
+ /**
60
+ * Family of extensions routed through Dysflow's VBA pipeline (or the
61
+ * SqlQueryExtractor's saved-query parser). The matching is intentionally
62
+ * case-insensitive because file systems vary (NTFS preserves case, ext4
63
+ * on Linux through WSL may not, and Dysflow itself is rename-tolerant).
64
+ */
65
+ const VBA_FAMILY_RE = /\.(?:bas|cls|frm|dsr|form\.txt|report\.txt|sql)$/i;
66
+ function isVbaFamilyFile(filePath) {
67
+ return VBA_FAMILY_RE.test(filePath);
68
+ }
69
+ /**
70
+ * UTF-8 BOM bytes (EF BB BF) — the WHATWG UTF-8 decoder consumes these
71
+ * silently (no U+FEFF written), but `readFileSync(path, 'utf-8')` on
72
+ * Node does NOT strip the BOM and emits `\uFEFF` as the first character,
73
+ * which breaks `Attribute VB_Name` matching.
74
+ */
75
+ const UTF8_BOM = [0xef, 0xbb, 0xbf];
76
+ /**
77
+ * Read a VBA-family source file with encoding-robust decode:
78
+ * 1. Strip leading UTF-8 BOM (bytes EF BB BF) if present.
79
+ * 2. Try UTF-8 with `fatal: true` — a single byte sequence like 0xF3 in
80
+ * the middle of `ActualizarSituación` (CP1252 'ó') throws a `TypeError`
81
+ * and we fall back to `windows-1252`.
82
+ * 3. Return the decoded text.
83
+ *
84
+ * Performance: the BOM peek is 3 byte comparisons; the UTF-8 sniff is `O(fileSize)`
85
+ * but only runs the decoder once on the happy path. CP1252 fallback only
86
+ * fires when UTF-8 actually fails — valid UTF-8 (dysflow, modern editors,
87
+ * anything written today) is byte-identical to `readFileSync(path, 'utf-8')`
88
+ * with the BOM difference only. The windows-1252 decoder is built into
89
+ * Node's WHATWG encodings spec — no extra dep.
90
+ *
91
+ * @param filePath absolute path to read.
92
+ * @param opts optional dependencies; see {@link ReadVbaSourceOptions}.
93
+ */
94
+ function readVbaSource(filePath, opts = {}) {
95
+ const readFile = opts.readFile ?? ((p) => fs.readFileSync(p));
96
+ const onFallback = opts.onFallback;
97
+ const buf = readFile(filePath);
98
+ // BOM strip: only at start, byte-exact. Encoding BOMs in the middle of a
99
+ // file are not stripped (they'd be data, not marker).
100
+ const bomStripped = buf.length >= 3 &&
101
+ buf[0] === UTF8_BOM[0] &&
102
+ buf[1] === UTF8_BOM[1] &&
103
+ buf[2] === UTF8_BOM[2];
104
+ const body = bomStripped ? buf.subarray(3) : buf;
105
+ // Cheap UTF-8 sniff with the fatal flag — throws on invalid sequences.
106
+ // Node's WHATWG TextDecoder supports this and gives us a deterministic
107
+ // signal instead of silent replacement-char substitution.
108
+ try {
109
+ const text = new TextDecoder('utf-8', { fatal: true }).decode(body);
110
+ return { text, bomStripped };
111
+ }
112
+ catch (err) {
113
+ const reason = err instanceof Error ? err.message : String(err);
114
+ // CP1252 covers the full Latin-1 range used by Access exports:
115
+ // Spanish ('áéíóúñ¿¡'), French ('éèàç'), German ('äöüß'), Italian
116
+ // ('àèéìòù'), Portuguese ('ãõç'), etc. — and isLosslessRecovery from
117
+ // `new TextDecoder('windows-1252').decode(bytes)` for these byte
118
+ // values, so this fallback turns every byte-for-byte CP1252 source into
119
+ // a valid JavaScript string the extractor can regex.
120
+ const text = new TextDecoder('windows-1252').decode(body);
121
+ onFallback?.(filePath, reason);
122
+ return { text, bomStripped };
123
+ }
124
+ }
125
+ /**
126
+ * String-level BOM strip — survives when the upstream `fsp.readFile(path, 'utf-8')`
127
+ * already decoded the bytes (it's the only way the `\uFEFF` char survives in
128
+ * a string). Used as a defensive last resort when a read site has NOT gone
129
+ * through `readVbaSource` and the source text starts with the BOM marker.
130
+ *
131
+ * Most call sites should prefer `readVbaSource` for fresh reads; this is
132
+ * a string post-process for callers that already have a `string` in hand.
133
+ */
134
+ function stripUtf8Bom(text) {
135
+ return text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
136
+ }
137
+ //# sourceMappingURL=vba-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vba-source.js","sourceRoot":"","sources":["../../src/extraction/vba-source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,0CAEC;AAyDD,sCAmCC;AAWD,oCAEC;AAxID;;;;;;;;;;;;;;;;;;GAkBG;AACH,uCAAyB;AAEzB;;;;;GAKG;AACH,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AA+B7C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,aAAa,CAC3B,QAAgB,EAChB,OAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/B,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,IAAI,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEjD,uEAAuE;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,qEAAqE;QACrE,iEAAiE;QACjE,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC"}
@@ -10,12 +10,12 @@
10
10
  * of truth backs both the TS type and any runtime validation
11
11
  * (e.g. the search query parser).
12
12
  */
13
- export declare const NODE_KINDS: readonly ["file", "module", "class", "struct", "interface", "trait", "protocol", "function", "method", "property", "field", "variable", "constant", "enum", "enum_member", "event", "type", "type_member", "declare", "type_alias", "namespace", "parameter", "import", "export", "route", "component", "query", "form-layout", "form-instance-control"];
13
+ export declare const NODE_KINDS: readonly ["file", "module", "class", "struct", "interface", "trait", "protocol", "function", "method", "property", "field", "variable", "constant", "enum", "enum_member", "event", "type", "type_member", "declare", "type_alias", "namespace", "parameter", "import", "export", "route", "component", "query", "form-layout", "form-instance-control", "report-layout"];
14
14
  export type NodeKind = (typeof NODE_KINDS)[number];
15
15
  /**
16
16
  * Types of edges (relationships) between nodes
17
17
  */
18
- export type EdgeKind = 'contains' | 'calls' | 'imports' | 'exports' | 'extends' | 'implements' | 'references' | 'type_of' | 'returns' | 'instantiates' | 'overrides' | 'decorates' | 'event-handler' | 'opens-form' | 'raises-event' | 'subscribes-event' | 'type-member';
18
+ export type EdgeKind = 'contains' | 'calls' | 'imports' | 'exports' | 'extends' | 'implements' | 'references' | 'type_of' | 'returns' | 'instantiates' | 'overrides' | 'decorates' | 'event-handler' | 'opens-form' | 'opens-report' | 'raises-event' | 'subscribes-event' | 'type-member';
19
19
  /**
20
20
  * Supported programming languages. See NODE_KINDS for why this is a
21
21
  * runtime-iterable const array.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,0VAyCb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,cAAc,GACd,WAAW,GACX,WAAW,GAUX,eAAe,GACf,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,aAAa,CAAC;AAElB;;;GAGG;AACH,eAAO,MAAM,SAAS,+SAuCZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAMlD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IAEX,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAC;IAEf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,6EAA6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAE7D,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAC;IAEf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,sBAAsB;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,+CAA+C;IAC/C,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAE5C,mCAAmC;IACnC,MAAM,EAAE,eAAe,EAAE,CAAC;IAE1B,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAE9B,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;IAEtB,mDAAmD;IACnD,aAAa,EAAE,aAAa,CAAC;IAE7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IAEf,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,6BAA6B;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzB,6BAA6B;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,mCAAmC;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAE7C,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2CAA2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,IAAI,EAAE,IAAI,CAAC;IAEX,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IAEd,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,KAAK,EAAE,IAAI,CAAC;IAEZ,0DAA0D;IAC1D,SAAS,EAAE,IAAI,EAAE,CAAC;IAElB,6CAA6C;IAC7C,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEjB,gDAAgD;IAChD,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAEhD,iDAAiD;IACjD,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAEhD,+BAA+B;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,uBAAuB;IACvB,OAAO,EAAE,IAAI,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,mCAAmC;IACnC,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEtC,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEtC,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE1C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAE7B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,2CAA2C;IAC3C,QAAQ,EAAE,QAAQ,CAAC;IAEnB,+CAA+C;IAC/C,WAAW,EAAE,IAAI,EAAE,CAAC;IAEpB,2CAA2C;IAC3C,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,mCAAmC;IACnC,KAAK,EAAE;QACL,+BAA+B;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,+BAA+B;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,8BAA8B;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,qCAAqC;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,sCAAsC;QACtC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/dist/types.js CHANGED
@@ -55,8 +55,14 @@ exports.NODE_KINDS = [
55
55
  // CommandButton, etc.) and is the bridge target for `event-handler`
56
56
  // edges synthesized from `<Control>_<Event>` handler Subs in the
57
57
  // sibling `.cls`.
58
+ // 'report-layout' — Issue #48: the report-level stub node synthesized
59
+ // for `DoCmd.OpenReport "<Name>"`. Mirrors `form-layout` but is keyed
60
+ // to the report naming convention (`Report_<Name>` qualifiedName).
61
+ // Distinct kind so downstream tooling can filter form-vs-report stubs
62
+ // without inspecting qualifiedName.
58
63
  'form-layout',
59
64
  'form-instance-control',
65
+ 'report-layout',
60
66
  ];
61
67
  /**
62
68
  * Supported programming languages. See NODE_KINDS for why this is a
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;GAMG;AACU,QAAA,UAAU,GAAG;IACxB,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,MAAM;IACN,aAAa;IACb,OAAO;IACP,MAAM;IACN,aAAa;IACb,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,WAAW;IACX,yEAAyE;IACzE,2EAA2E;IAC3E,OAAO;IACP,iEAAiE;IACjE,+DAA+D;IAC/D,kEAAkE;IAClE,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,kBAAkB;IAClB,aAAa;IACb,uBAAuB;CACf,CAAC;AAmCX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,YAAY;IACZ,YAAY;IACZ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,GAAG;IACH,KAAK;IACL,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,GAAG;IACH,KAAK;IACL,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,YAAY;IACZ,SAAS;CACD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;GAMG;AACU,QAAA,UAAU,GAAG;IACxB,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,MAAM;IACN,aAAa;IACb,OAAO;IACP,MAAM;IACN,aAAa;IACb,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,WAAW;IACX,yEAAyE;IACzE,2EAA2E;IAC3E,OAAO;IACP,iEAAiE;IACjE,+DAA+D;IAC/D,kEAAkE;IAClE,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,kBAAkB;IAClB,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,sEAAsE;IACtE,oCAAoC;IACpC,aAAa;IACb,uBAAuB;IACvB,eAAe;CACP,CAAC;AAyCX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,YAAY;IACZ,YAAY;IACZ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,GAAG;IACH,KAAK;IACL,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,GAAG;IACH,KAAK;IACL,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,YAAY;IACZ,SAAS;CACD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { SqliteDatabase } from '../db';
2
+ /**
3
+ * VBA Handler Backtrace Helper Functions
4
+ */
5
+ export interface VariableInfo {
6
+ name: string;
7
+ type: string;
8
+ }
9
+ /**
10
+ * Parses parameters from a VBA subroutine/function signature,
11
+ * extracting parameters of custom types (filtering out primitive types).
12
+ */
13
+ export declare function parseSignatureParams(signature: string): VariableInfo[];
14
+ /**
15
+ * Reconstructs a multiline SQL query string concatenated using VBA line continuation
16
+ * and string concatenation operators. Accumulates up to a limit of 200 characters.
17
+ */
18
+ export declare function reconstructSQL(lines: string[]): string;
19
+ export interface TraversalNode {
20
+ id: string;
21
+ name: string;
22
+ kind: string;
23
+ children: TraversalNode[];
24
+ }
25
+ export interface TraversalResult {
26
+ tree: TraversalNode | null;
27
+ cycle_detected: boolean;
28
+ warnings: string[];
29
+ }
30
+ /**
31
+ * Traverses VBA call/relationship graphs starting from a specific node ID,
32
+ * tracking cycles and capping search depth.
33
+ */
34
+ export declare function traverseGraph(db: SqliteDatabase, startNodeId: string, maxDepth?: number): TraversalResult;
35
+ //# sourceMappingURL=backtrace-helpers.d.ts.map
@@ -0,0 +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;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,SAAK,GACZ,eAAe,CA4EjB"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseSignatureParams = parseSignatureParams;
4
+ exports.reconstructSQL = reconstructSQL;
5
+ exports.traverseGraph = traverseGraph;
6
+ /**
7
+ * Parses parameters from a VBA subroutine/function signature,
8
+ * extracting parameters of custom types (filtering out primitive types).
9
+ */
10
+ function parseSignatureParams(signature) {
11
+ const primitiveTypes = new Set([
12
+ 'long', 'integer', 'string', 'boolean', 'double', 'single',
13
+ 'byte', 'currency', 'date', 'variant', 'object',
14
+ 'longlong', 'longptr', 'decimal'
15
+ ]);
16
+ const regex = /(?:ByVal|ByRef)?\s*(\w+)\s+As\s+(\w+)/gi;
17
+ const result = [];
18
+ const matches = signature.matchAll(regex);
19
+ for (const m of matches) {
20
+ const name = m[1];
21
+ const type = m[2];
22
+ if (name !== undefined && type !== undefined) {
23
+ if (!primitiveTypes.has(type.toLowerCase())) {
24
+ result.push({ name, type });
25
+ }
26
+ }
27
+ }
28
+ return result;
29
+ }
30
+ /**
31
+ * Reconstructs a multiline SQL query string concatenated using VBA line continuation
32
+ * and string concatenation operators. Accumulates up to a limit of 200 characters.
33
+ */
34
+ function reconstructSQL(lines) {
35
+ let accumulated = "";
36
+ const stringRegex = /"((?:[^"\\]|\\.)*)"/g;
37
+ for (const line of lines) {
38
+ let match;
39
+ stringRegex.lastIndex = 0;
40
+ while ((match = stringRegex.exec(line)) !== null) {
41
+ let content = match[1];
42
+ if (content !== undefined) {
43
+ content = content.replace(/\\'/g, "'").replace(/\\"/g, '"').replace(/\\\\/g, '\\');
44
+ accumulated += content;
45
+ if (accumulated.length >= 200) {
46
+ break;
47
+ }
48
+ }
49
+ }
50
+ if (accumulated.length >= 200) {
51
+ break;
52
+ }
53
+ }
54
+ if (accumulated.length > 200) {
55
+ accumulated = accumulated.slice(0, 200);
56
+ }
57
+ return accumulated;
58
+ }
59
+ /**
60
+ * Traverses VBA call/relationship graphs starting from a specific node ID,
61
+ * tracking cycles and capping search depth.
62
+ */
63
+ function traverseGraph(db, startNodeId, maxDepth = 10) {
64
+ if (!db) {
65
+ return {
66
+ tree: null,
67
+ cycle_detected: false,
68
+ warnings: ['DATABASE_NOT_PROVIDED']
69
+ };
70
+ }
71
+ const warnings = [];
72
+ let cycleDetected = false;
73
+ try {
74
+ // Optimization: Prepare statements once to avoid parsing cost inside the recursion
75
+ const stmtNode = db.prepare('SELECT name, kind FROM nodes WHERE id = ?');
76
+ const stmtEdges = db.prepare('SELECT target FROM edges WHERE source = ?');
77
+ function helper(nodeId, depth, visited) {
78
+ const nodeRow = stmtNode.get(nodeId);
79
+ if (!nodeRow) {
80
+ return null;
81
+ }
82
+ const node = {
83
+ id: nodeId,
84
+ name: nodeRow.name,
85
+ kind: nodeRow.kind,
86
+ children: []
87
+ };
88
+ // Cycle detection
89
+ if (visited.has(nodeId)) {
90
+ cycleDetected = true;
91
+ return node;
92
+ }
93
+ // Depth capping
94
+ if (depth >= maxDepth) {
95
+ if (!warnings.includes('MAX_DEPTH_EXCEEDED')) {
96
+ warnings.push('MAX_DEPTH_EXCEEDED');
97
+ }
98
+ return node;
99
+ }
100
+ // Fetch outgoing target nodes
101
+ const edges = stmtEdges.all(nodeId);
102
+ // Traverse children with updated path history
103
+ const newVisited = new Set(visited);
104
+ newVisited.add(nodeId);
105
+ for (const edge of edges) {
106
+ const child = helper(edge.target, depth + 1, newVisited);
107
+ if (child) {
108
+ node.children.push(child);
109
+ }
110
+ }
111
+ return node;
112
+ }
113
+ const tree = helper(startNodeId, 0, new Set());
114
+ return {
115
+ tree,
116
+ cycle_detected: cycleDetected,
117
+ warnings
118
+ };
119
+ }
120
+ catch (error) {
121
+ const errorMsg = error instanceof Error ? error.message : String(error);
122
+ return {
123
+ tree: null,
124
+ cycle_detected: false,
125
+ warnings: [`TRAVERSAL_ERROR: ${errorMsg}`]
126
+ };
127
+ }
128
+ }
129
+ //# sourceMappingURL=backtrace-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backtrace-helpers.js","sourceRoot":"","sources":["../../src/utils/backtrace-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Interface representing the extracted bindings of a VBA form or report layout.
3
+ */
4
+ export interface FormBindings {
5
+ recordSource?: string;
6
+ rowSources: Array<{
7
+ control: string;
8
+ target: string;
9
+ }>;
10
+ }
11
+ /**
12
+ * Interface representing the SQL lineage analysis result.
13
+ */
14
+ export interface SqlLineage {
15
+ tables: string[];
16
+ lineage: Array<{
17
+ source: string;
18
+ resolved: string;
19
+ }>;
20
+ }
21
+ /**
22
+ * Traces references to the target query name inside a VBA module's content.
23
+ * Returns 1-based line numbers where references are found.
24
+ */
25
+ export declare function traceVbaCallers(content: string, queryName: string): number[];
26
+ /**
27
+ * Parses a VBA form definition (.form.txt/.report.txt) and extracts RecordSource and RowSource bindings.
28
+ */
29
+ export declare function extractFormBindings(content: string): FormBindings;
30
+ /**
31
+ * Resolves table and column aliases from a SQL string to build a column-level lineage.
32
+ */
33
+ export declare function resolveSqlLineage(sql: string): SqlLineage;
34
+ /**
35
+ * Runs a combined database and file-level downstream impact analysis.
36
+ */
37
+ export declare function runImpactAnalysis(db: any, workspaceDir: string, queryName: string): any;
38
+ //# sourceMappingURL=sql-impact-helpers.d.ts.map
@@ -0,0 +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;AA6CD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,GAAG,EACP,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,GAAG,CAgIL"}