@aroman22/codegraph-vba-darwin-arm64 1.15.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.
Files changed (230) hide show
  1. package/lib/dist/bin/codegraph.js +13 -7
  2. package/lib/dist/bin/codegraph.js.map +1 -1
  3. package/lib/dist/bin/daemon-release.d.ts +7 -0
  4. package/lib/dist/bin/daemon-release.d.ts.map +1 -0
  5. package/lib/dist/bin/daemon-release.js +18 -0
  6. package/lib/dist/bin/daemon-release.js.map +1 -0
  7. package/lib/dist/db/queries.d.ts +41 -0
  8. package/lib/dist/db/queries.d.ts.map +1 -1
  9. package/lib/dist/db/queries.js +78 -1
  10. package/lib/dist/db/queries.js.map +1 -1
  11. package/lib/dist/extraction/access-erd-extractor.d.ts +57 -0
  12. package/lib/dist/extraction/access-erd-extractor.d.ts.map +1 -0
  13. package/lib/dist/extraction/access-erd-extractor.js +389 -0
  14. package/lib/dist/extraction/access-erd-extractor.js.map +1 -0
  15. package/lib/dist/extraction/extraction-version.d.ts +1 -1
  16. package/lib/dist/extraction/extraction-version.js +1 -1
  17. package/lib/dist/extraction/grammars.d.ts +20 -0
  18. package/lib/dist/extraction/grammars.d.ts.map +1 -1
  19. package/lib/dist/extraction/grammars.js +34 -0
  20. package/lib/dist/extraction/grammars.js.map +1 -1
  21. package/lib/dist/extraction/index.d.ts +1 -0
  22. package/lib/dist/extraction/index.d.ts.map +1 -1
  23. package/lib/dist/extraction/index.js +371 -351
  24. package/lib/dist/extraction/index.js.map +1 -1
  25. package/lib/dist/extraction/parse-pool.d.ts +8 -3
  26. package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
  27. package/lib/dist/extraction/parse-pool.js +1 -2
  28. package/lib/dist/extraction/parse-pool.js.map +1 -1
  29. package/lib/dist/extraction/parse-worker.js +7 -6
  30. package/lib/dist/extraction/parse-worker.js.map +1 -1
  31. package/lib/dist/extraction/sql-query-extractor.d.ts +16 -14
  32. package/lib/dist/extraction/sql-query-extractor.d.ts.map +1 -1
  33. package/lib/dist/extraction/sql-query-extractor.js +43 -31
  34. package/lib/dist/extraction/sql-query-extractor.js.map +1 -1
  35. package/lib/dist/extraction/sql-table-scan.d.ts +184 -0
  36. package/lib/dist/extraction/sql-table-scan.d.ts.map +1 -0
  37. package/lib/dist/extraction/sql-table-scan.js +288 -0
  38. package/lib/dist/extraction/sql-table-scan.js.map +1 -0
  39. package/lib/dist/extraction/tree-sitter.d.ts +10 -1
  40. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  41. package/lib/dist/extraction/tree-sitter.js +34 -3
  42. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  43. package/lib/dist/extraction/vba/call-sweep.d.ts +2 -7
  44. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  45. package/lib/dist/extraction/vba/call-sweep.js +144 -90
  46. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  47. package/lib/dist/extraction/vba/calls.d.ts +24 -4
  48. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  49. package/lib/dist/extraction/vba/calls.js +42 -12
  50. package/lib/dist/extraction/vba/calls.js.map +1 -1
  51. package/lib/dist/extraction/vba/constants.d.ts +7 -14
  52. package/lib/dist/extraction/vba/constants.d.ts.map +1 -1
  53. package/lib/dist/extraction/vba/constants.js +8 -36
  54. package/lib/dist/extraction/vba/constants.js.map +1 -1
  55. package/lib/dist/extraction/vba/context.d.ts +443 -7
  56. package/lib/dist/extraction/vba/context.d.ts.map +1 -1
  57. package/lib/dist/extraction/vba/context.js +325 -29
  58. package/lib/dist/extraction/vba/context.js.map +1 -1
  59. package/lib/dist/extraction/vba/controls.d.ts +18 -1
  60. package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
  61. package/lib/dist/extraction/vba/controls.js +99 -27
  62. package/lib/dist/extraction/vba/controls.js.map +1 -1
  63. package/lib/dist/extraction/vba/declarations.d.ts +1 -6
  64. package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
  65. package/lib/dist/extraction/vba/declarations.js +5 -39
  66. package/lib/dist/extraction/vba/declarations.js.map +1 -1
  67. package/lib/dist/extraction/vba/dims.d.ts +11 -7
  68. package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
  69. package/lib/dist/extraction/vba/dims.js +265 -29
  70. package/lib/dist/extraction/vba/dims.js.map +1 -1
  71. package/lib/dist/extraction/vba/docmd.d.ts +29 -2
  72. package/lib/dist/extraction/vba/docmd.d.ts.map +1 -1
  73. package/lib/dist/extraction/vba/docmd.js +297 -18
  74. package/lib/dist/extraction/vba/docmd.js.map +1 -1
  75. package/lib/dist/extraction/vba/enums-consts.d.ts +7 -14
  76. package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
  77. package/lib/dist/extraction/vba/enums-consts.js +11 -45
  78. package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
  79. package/lib/dist/extraction/vba/error-channel.d.ts +57 -0
  80. package/lib/dist/extraction/vba/error-channel.d.ts.map +1 -0
  81. package/lib/dist/extraction/vba/error-channel.js +128 -0
  82. package/lib/dist/extraction/vba/error-channel.js.map +1 -0
  83. package/lib/dist/extraction/vba/errors.d.ts +64 -0
  84. package/lib/dist/extraction/vba/errors.d.ts.map +1 -0
  85. package/lib/dist/extraction/vba/errors.js +775 -0
  86. package/lib/dist/extraction/vba/errors.js.map +1 -0
  87. package/lib/dist/extraction/vba/filesystem-statements.d.ts +23 -0
  88. package/lib/dist/extraction/vba/filesystem-statements.d.ts.map +1 -0
  89. package/lib/dist/extraction/vba/filesystem-statements.js +70 -0
  90. package/lib/dist/extraction/vba/filesystem-statements.js.map +1 -0
  91. package/lib/dist/extraction/vba/implements.d.ts +1 -6
  92. package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
  93. package/lib/dist/extraction/vba/implements.js +1 -22
  94. package/lib/dist/extraction/vba/implements.js.map +1 -1
  95. package/lib/dist/extraction/vba/labels.d.ts +26 -0
  96. package/lib/dist/extraction/vba/labels.d.ts.map +1 -0
  97. package/lib/dist/extraction/vba/labels.js +180 -0
  98. package/lib/dist/extraction/vba/labels.js.map +1 -0
  99. package/lib/dist/extraction/vba/module-vars.d.ts +36 -0
  100. package/lib/dist/extraction/vba/module-vars.d.ts.map +1 -0
  101. package/lib/dist/extraction/vba/module-vars.js +145 -0
  102. package/lib/dist/extraction/vba/module-vars.js.map +1 -0
  103. package/lib/dist/extraction/vba/options.d.ts +88 -0
  104. package/lib/dist/extraction/vba/options.d.ts.map +1 -0
  105. package/lib/dist/extraction/vba/options.js +39 -0
  106. package/lib/dist/extraction/vba/options.js.map +1 -0
  107. package/lib/dist/extraction/vba/parameters.d.ts +35 -0
  108. package/lib/dist/extraction/vba/parameters.d.ts.map +1 -0
  109. package/lib/dist/extraction/vba/parameters.js +110 -0
  110. package/lib/dist/extraction/vba/parameters.js.map +1 -0
  111. package/lib/dist/extraction/vba/procedures.d.ts +1 -9
  112. package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
  113. package/lib/dist/extraction/vba/procedures.js +174 -112
  114. package/lib/dist/extraction/vba/procedures.js.map +1 -1
  115. package/lib/dist/extraction/vba/rules.d.ts +10 -5
  116. package/lib/dist/extraction/vba/rules.d.ts.map +1 -1
  117. package/lib/dist/extraction/vba/rules.js +19 -0
  118. package/lib/dist/extraction/vba/rules.js.map +1 -1
  119. package/lib/dist/extraction/vba/runtime-objects.d.ts +59 -0
  120. package/lib/dist/extraction/vba/runtime-objects.d.ts.map +1 -0
  121. package/lib/dist/extraction/vba/runtime-objects.js +106 -0
  122. package/lib/dist/extraction/vba/runtime-objects.js.map +1 -0
  123. package/lib/dist/extraction/vba/signature.d.ts +57 -0
  124. package/lib/dist/extraction/vba/signature.d.ts.map +1 -0
  125. package/lib/dist/extraction/vba/signature.js +164 -0
  126. package/lib/dist/extraction/vba/signature.js.map +1 -0
  127. package/lib/dist/extraction/vba/sql-wrapper.d.ts +76 -3
  128. package/lib/dist/extraction/vba/sql-wrapper.d.ts.map +1 -1
  129. package/lib/dist/extraction/vba/sql-wrapper.js +725 -151
  130. package/lib/dist/extraction/vba/sql-wrapper.js.map +1 -1
  131. package/lib/dist/extraction/vba/tempvars.d.ts.map +1 -1
  132. package/lib/dist/extraction/vba/tempvars.js +4 -0
  133. package/lib/dist/extraction/vba/tempvars.js.map +1 -1
  134. package/lib/dist/extraction/vba/text-utils.d.ts +62 -2
  135. package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
  136. package/lib/dist/extraction/vba/text-utils.js +84 -6
  137. package/lib/dist/extraction/vba/text-utils.js.map +1 -1
  138. package/lib/dist/extraction/vba-extractor.d.ts +18 -1
  139. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
  140. package/lib/dist/extraction/vba-extractor.js +111 -16
  141. package/lib/dist/extraction/vba-extractor.js.map +1 -1
  142. package/lib/dist/extraction/vba-form-extractor.d.ts +28 -14
  143. package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
  144. package/lib/dist/extraction/vba-form-extractor.js +56 -21
  145. package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
  146. package/lib/dist/extraction/vba-preprocess.d.ts +89 -3
  147. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
  148. package/lib/dist/extraction/vba-preprocess.js +221 -57
  149. package/lib/dist/extraction/vba-preprocess.js.map +1 -1
  150. package/lib/dist/extraction/vba-source.d.ts +0 -10
  151. package/lib/dist/extraction/vba-source.d.ts.map +1 -1
  152. package/lib/dist/extraction/vba-source.js +0 -13
  153. package/lib/dist/extraction/vba-source.js.map +1 -1
  154. package/lib/dist/extraction/vba-test-manifest-extractor.d.ts +0 -6
  155. package/lib/dist/extraction/vba-test-manifest-extractor.d.ts.map +1 -1
  156. package/lib/dist/extraction/vba-test-manifest-extractor.js +0 -1
  157. package/lib/dist/extraction/vba-test-manifest-extractor.js.map +1 -1
  158. package/lib/dist/graph/behavior-evidence.d.ts +162 -0
  159. package/lib/dist/graph/behavior-evidence.d.ts.map +1 -0
  160. package/lib/dist/graph/behavior-evidence.js +529 -0
  161. package/lib/dist/graph/behavior-evidence.js.map +1 -0
  162. package/lib/dist/index.d.ts +22 -0
  163. package/lib/dist/index.d.ts.map +1 -1
  164. package/lib/dist/index.js +37 -1
  165. package/lib/dist/index.js.map +1 -1
  166. package/lib/dist/mcp/daemon-manager.d.ts.map +1 -1
  167. package/lib/dist/mcp/daemon-manager.js +7 -3
  168. package/lib/dist/mcp/daemon-manager.js.map +1 -1
  169. package/lib/dist/mcp/daemon-paths.d.ts +6 -0
  170. package/lib/dist/mcp/daemon-paths.d.ts.map +1 -1
  171. package/lib/dist/mcp/daemon-paths.js +15 -0
  172. package/lib/dist/mcp/daemon-paths.js.map +1 -1
  173. package/lib/dist/mcp/daemon-registry.d.ts +82 -7
  174. package/lib/dist/mcp/daemon-registry.d.ts.map +1 -1
  175. package/lib/dist/mcp/daemon-registry.js +557 -45
  176. package/lib/dist/mcp/daemon-registry.js.map +1 -1
  177. package/lib/dist/mcp/daemon-watchdog.d.ts +12 -0
  178. package/lib/dist/mcp/daemon-watchdog.d.ts.map +1 -1
  179. package/lib/dist/mcp/daemon-watchdog.js +37 -7
  180. package/lib/dist/mcp/daemon-watchdog.js.map +1 -1
  181. package/lib/dist/mcp/daemon.d.ts +20 -1
  182. package/lib/dist/mcp/daemon.d.ts.map +1 -1
  183. package/lib/dist/mcp/daemon.js +123 -30
  184. package/lib/dist/mcp/daemon.js.map +1 -1
  185. package/lib/dist/mcp/index.d.ts.map +1 -1
  186. package/lib/dist/mcp/index.js +13 -2
  187. package/lib/dist/mcp/index.js.map +1 -1
  188. package/lib/dist/mcp/proxy.d.ts +32 -0
  189. package/lib/dist/mcp/proxy.d.ts.map +1 -1
  190. package/lib/dist/mcp/proxy.js +163 -31
  191. package/lib/dist/mcp/proxy.js.map +1 -1
  192. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  193. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  194. package/lib/dist/mcp/server-instructions.js +26 -4
  195. package/lib/dist/mcp/server-instructions.js.map +1 -1
  196. package/lib/dist/mcp/tools.d.ts +12 -0
  197. package/lib/dist/mcp/tools.d.ts.map +1 -1
  198. package/lib/dist/mcp/tools.js +92 -1
  199. package/lib/dist/mcp/tools.js.map +1 -1
  200. package/lib/dist/project-config.d.ts +43 -2
  201. package/lib/dist/project-config.d.ts.map +1 -1
  202. package/lib/dist/project-config.js +86 -2
  203. package/lib/dist/project-config.js.map +1 -1
  204. package/lib/dist/resolution/index.d.ts +47 -2
  205. package/lib/dist/resolution/index.d.ts.map +1 -1
  206. package/lib/dist/resolution/index.js +160 -5
  207. package/lib/dist/resolution/index.js.map +1 -1
  208. package/lib/dist/resolution/name-matcher.d.ts +25 -0
  209. package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
  210. package/lib/dist/resolution/name-matcher.js +59 -0
  211. package/lib/dist/resolution/name-matcher.js.map +1 -1
  212. package/lib/dist/resolution/vba-runtime-objects.d.ts +11 -11
  213. package/lib/dist/resolution/vba-runtime-objects.d.ts.map +1 -1
  214. package/lib/dist/resolution/vba-runtime-objects.js +18 -38
  215. package/lib/dist/resolution/vba-runtime-objects.js.map +1 -1
  216. package/lib/dist/types.d.ts +13 -5
  217. package/lib/dist/types.d.ts.map +1 -1
  218. package/lib/dist/types.js +17 -0
  219. package/lib/dist/types.js.map +1 -1
  220. package/lib/dist/utils/backtrace-helpers.d.ts +14 -2
  221. package/lib/dist/utils/backtrace-helpers.d.ts.map +1 -1
  222. package/lib/dist/utils/backtrace-helpers.js +81 -7
  223. package/lib/dist/utils/backtrace-helpers.js.map +1 -1
  224. package/lib/dist/utils/sql-impact-helpers.d.ts.map +1 -1
  225. package/lib/dist/utils/sql-impact-helpers.js +119 -30
  226. package/lib/dist/utils/sql-impact-helpers.js.map +1 -1
  227. package/lib/node_modules/.modules.yaml +1 -1
  228. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  229. package/lib/package.json +3 -1
  230. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vba-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vba-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-extractor.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,14 @@ export declare class VbaFormExtractor {
17
17
  * stays self-contained per the project's per-extractor state rule).
18
18
  */
19
19
  private synthClassNodeIds;
20
+ /**
21
+ * Issue #256: external-backend (`IN "<path>"`) node ids already emitted
22
+ * for this form. Same per-extractor de-dup discipline as
23
+ * `synthClassNodeIds`, keyed on the node id — which is derived from the
24
+ * NORMALIZED backend path, so two bindings naming the same `.accdb`
25
+ * share one node while each still emits its own edge.
26
+ */
27
+ private externalBackendNodeIds;
20
28
  constructor(filePath: string, source: string);
21
29
  extract(): ExtractionResult;
22
30
  private createFileNode;
@@ -63,23 +71,11 @@ export declare class VbaFormExtractor {
63
71
  private emitExpressionHandlers;
64
72
  private emitExpressionHandler;
65
73
  private emitSourceObjectReference;
66
- /**
67
- * Issue #49 — copy of `VbaExtractor.SQL_TABLE_RE`. Same source / flags:
68
- * captures the table name that follows `FROM`/`JOIN`/`INTO`/`UPDATE`,
69
- * tolerates bracketed `[Order Details]` identifiers and `\p{L}` Unicode
70
- * identifiers, and allows an optional schema prefix (`[dbo].[tblA]`).
71
- *
72
- * We duplicate the regex (rather than exporting it from `VbaExtractor`)
73
- * because `VbaExtractor.SQL_TABLE_RE` is `private static` and the
74
- * project's per-extractor state rule keeps each extractor's helpers
75
- * self-contained — see the file-level JSDoc on `VbaExtractor`.
76
- */
77
- private static readonly SQL_TABLE_RE;
78
74
  /**
79
75
  * Issue #49 — classify a RecordSource/RowSource value as SQL.
80
76
  * Anything starting with a SQL keyword (`SELECT`, `PARAMETERS`, `WITH`,
81
77
  * `UPDATE`, `INSERT`, `DELETE`) — case-insensitive — is treated as a
82
- * SQL statement and run through `SQL_TABLE_RE`. Anything else is a
78
+ * SQL statement and run through `scanSqlTables`. Anything else is a
83
79
  * bare table-or-query name and emitted as a single reference.
84
80
  *
85
81
  * `WITH` is included because Access/JET supports CTE-style `WITH` queries
@@ -103,6 +99,20 @@ export declare class VbaFormExtractor {
103
99
  * name — same dual-match `vba-sql-impact`'s `extractFormBindings` does).
104
100
  */
105
101
  private emitTableReference;
102
+ /**
103
+ * Issue #256 — emit one `references` edge from `sourceNodeId` to the
104
+ * external database file an Access `IN "<path>"` clause points at.
105
+ *
106
+ * The target node is built by the shared `buildExternalBackendNode` so
107
+ * it is byte-identical to the node the in-code SQL sweep and the saved-
108
+ * query extractor emit for the same path: the graph ends up with ONE
109
+ * node per external backend, however many places name it. The edge
110
+ * carries only `synthesizedBy` — the `external` / `backendPath` facts
111
+ * describe the node, and live there.
112
+ *
113
+ * `backendPath` is already normalized by `scanSqlExternalBackends`.
114
+ */
115
+ private emitExternalBackendReference;
106
116
  /**
107
117
  * Link a bound control to its enclosing form/report's single bare table.
108
118
  * Expressions and SQL/absent RecordSource values stay metadata-only: column
@@ -112,7 +122,7 @@ export declare class VbaFormExtractor {
112
122
  private emitControlSourceReference;
113
123
  /**
114
124
  * Issue #49 — dispatch the value of a RecordSource/RowSource binding.
115
- * If SQL, run `SQL_TABLE_RE` over the value and emit one edge per
125
+ * If SQL, run `scanSqlTables` over the value and emit one edge per
116
126
  * distinct table (within-value dedup so `FROM tblA JOIN tblA` emits a
117
127
  * single edge). If a bare name, emit a single edge with the name as-is
118
128
  * — the resolver handles the dual-match against `query` and `class`
@@ -122,6 +132,10 @@ export declare class VbaFormExtractor {
122
132
  * the regex capture already includes them as part of the value, so a
123
133
  * single `.replace(/""/g, '"')` collapses them — same technique the
124
134
  * `extractStringLiterals` helper uses for its emitted `text` field.
135
+ *
136
+ * Issue #203: `scanSqlTables` also drops SQL reserved-word captures
137
+ * (`WHERE`, `ORDER`, `SET`, …) so a malformed SQL string never
138
+ * poisons the graph with phantom `class` nodes.
125
139
  */
126
140
  private emitBinding;
127
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vba-form-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-form-extractor.ts"],"names":[],"mappings":"AAuCA,OAAO,EAGL,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAelB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,oBAAoB,CAA6B;IACzD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C,OAAO,IAAI,gBAAgB;IAqE3B,OAAO,CAAC,cAAc;IAiBtB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,YAAY;IAuBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACA;IAEhC,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CACD;IAE9C,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACY;IAEtD,OAAO,CAAC,UAAU;IAgGlB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,SAAS;IA8IjB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,yBAAyB;IA0CjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAC+E;IAEnH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACsB;IAE3D,OAAO,CAAC,WAAW;IAInB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,WAAW;CA2BpB"}
1
+ {"version":3,"file":"vba-form-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-form-extractor.ts"],"names":[],"mappings":"AAuCA,OAAO,EAGL,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAqBlB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,oBAAoB,CAA6B;IACzD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB,CAAqB;IAE9C;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB,CAAqB;gBAEvC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C,OAAO,IAAI,gBAAgB;IAqE3B,OAAO,CAAC,cAAc;IAiBtB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,YAAY;IAuBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACA;IAEhC,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CACD;IAE9C,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACY;IAEtD,OAAO,CAAC,UAAU;IAgGlB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,SAAS;IA8IjB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,yBAAyB;IA0CjC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACsB;IAE3D,OAAO,CAAC,WAAW;IAInB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,WAAW;CA+BpB"}
@@ -76,6 +76,7 @@ const path = __importStar(require("path"));
76
76
  const tree_sitter_helpers_1 = require("./tree-sitter-helpers");
77
77
  const vba_preprocess_1 = require("./vba-preprocess");
78
78
  const events_1 = require("./vba/events");
79
+ const sql_table_scan_1 = require("./sql-table-scan");
79
80
  class VbaFormExtractor {
80
81
  filePath;
81
82
  source;
@@ -94,6 +95,14 @@ class VbaFormExtractor {
94
95
  * stays self-contained per the project's per-extractor state rule).
95
96
  */
96
97
  synthClassNodeIds = new Set();
98
+ /**
99
+ * Issue #256: external-backend (`IN "<path>"`) node ids already emitted
100
+ * for this form. Same per-extractor de-dup discipline as
101
+ * `synthClassNodeIds`, keyed on the node id — which is derived from the
102
+ * NORMALIZED backend path, so two bindings naming the same `.accdb`
103
+ * share one node while each still emits its own edge.
104
+ */
105
+ externalBackendNodeIds = new Set();
97
106
  constructor(filePath, source) {
98
107
  this.filePath = filePath;
99
108
  this.source = source;
@@ -512,23 +521,11 @@ class VbaFormExtractor {
512
521
  // ---------------------------------------------------------------------------
513
522
  // RecordSource / RowSource edge emission (Issue #49)
514
523
  // ---------------------------------------------------------------------------
515
- /**
516
- * Issue #49 — copy of `VbaExtractor.SQL_TABLE_RE`. Same source / flags:
517
- * captures the table name that follows `FROM`/`JOIN`/`INTO`/`UPDATE`,
518
- * tolerates bracketed `[Order Details]` identifiers and `\p{L}` Unicode
519
- * identifiers, and allows an optional schema prefix (`[dbo].[tblA]`).
520
- *
521
- * We duplicate the regex (rather than exporting it from `VbaExtractor`)
522
- * because `VbaExtractor.SQL_TABLE_RE` is `private static` and the
523
- * project's per-extractor state rule keeps each extractor's helpers
524
- * self-contained — see the file-level JSDoc on `VbaExtractor`.
525
- */
526
- static SQL_TABLE_RE = /\b(?:FROM|JOIN|INTO|UPDATE)\s+((?:(?:\[[^\]]+\]|\p{L}[\p{L}\p{N}_]*)\.)?(?:\[[^\]]+\]|\p{L}[\p{L}\p{N}_]*))/giu;
527
524
  /**
528
525
  * Issue #49 — classify a RecordSource/RowSource value as SQL.
529
526
  * Anything starting with a SQL keyword (`SELECT`, `PARAMETERS`, `WITH`,
530
527
  * `UPDATE`, `INSERT`, `DELETE`) — case-insensitive — is treated as a
531
- * SQL statement and run through `SQL_TABLE_RE`. Anything else is a
528
+ * SQL statement and run through `scanSqlTables`. Anything else is a
532
529
  * bare table-or-query name and emitted as a single reference.
533
530
  *
534
531
  * `WITH` is included because Access/JET supports CTE-style `WITH` queries
@@ -588,6 +585,37 @@ class VbaFormExtractor {
588
585
  column: 0,
589
586
  });
590
587
  }
588
+ /**
589
+ * Issue #256 — emit one `references` edge from `sourceNodeId` to the
590
+ * external database file an Access `IN "<path>"` clause points at.
591
+ *
592
+ * The target node is built by the shared `buildExternalBackendNode` so
593
+ * it is byte-identical to the node the in-code SQL sweep and the saved-
594
+ * query extractor emit for the same path: the graph ends up with ONE
595
+ * node per external backend, however many places name it. The edge
596
+ * carries only `synthesizedBy` — the `external` / `backendPath` facts
597
+ * describe the node, and live there.
598
+ *
599
+ * `backendPath` is already normalized by `scanSqlExternalBackends`.
600
+ */
601
+ emitExternalBackendReference(sourceNodeId, backendPath, lineNum) {
602
+ if (!backendPath)
603
+ return;
604
+ const node = (0, sql_table_scan_1.buildExternalBackendNode)(backendPath);
605
+ if (!this.externalBackendNodeIds.has(node.id)) {
606
+ this.externalBackendNodeIds.add(node.id);
607
+ this.nodes.push(node);
608
+ }
609
+ this.edges.push({
610
+ source: sourceNodeId,
611
+ target: node.id,
612
+ kind: 'references',
613
+ provenance: 'heuristic',
614
+ metadata: { synthesizedBy: sql_table_scan_1.EXTERNAL_BACKEND_SYNTHESIZED_BY },
615
+ line: lineNum,
616
+ column: 0,
617
+ });
618
+ }
591
619
  /**
592
620
  * Link a bound control to its enclosing form/report's single bare table.
593
621
  * Expressions and SQL/absent RecordSource values stay metadata-only: column
@@ -613,7 +641,7 @@ class VbaFormExtractor {
613
641
  }
614
642
  /**
615
643
  * Issue #49 — dispatch the value of a RecordSource/RowSource binding.
616
- * If SQL, run `SQL_TABLE_RE` over the value and emit one edge per
644
+ * If SQL, run `scanSqlTables` over the value and emit one edge per
617
645
  * distinct table (within-value dedup so `FROM tblA JOIN tblA` emits a
618
646
  * single edge). If a bare name, emit a single edge with the name as-is
619
647
  * — the resolver handles the dual-match against `query` and `class`
@@ -623,6 +651,10 @@ class VbaFormExtractor {
623
651
  * the regex capture already includes them as part of the value, so a
624
652
  * single `.replace(/""/g, '"')` collapses them — same technique the
625
653
  * `extractStringLiterals` helper uses for its emitted `text` field.
654
+ *
655
+ * Issue #203: `scanSqlTables` also drops SQL reserved-word captures
656
+ * (`WHERE`, `ORDER`, `SET`, …) so a malformed SQL string never
657
+ * poisons the graph with phantom `class` nodes.
626
658
  */
627
659
  emitBinding(sourceNodeId, rawValue, lineNum, synthesizedBy) {
628
660
  if (!rawValue)
@@ -632,14 +664,17 @@ class VbaFormExtractor {
632
664
  const value = rawValue.replace(/""/g, '"');
633
665
  if (this.isLikelySql(value)) {
634
666
  const seen = new Set();
635
- for (const m of value.matchAll(VbaFormExtractor.SQL_TABLE_RE)) {
636
- const table = (m[1] ?? '').replace(/[\[\]]/g, '');
637
- if (!table)
667
+ for (const row of (0, sql_table_scan_1.scanSqlTables)(value)) {
668
+ if (seen.has(row.table))
638
669
  continue;
639
- if (seen.has(table))
640
- continue;
641
- seen.add(table);
642
- this.emitTableReference(sourceNodeId, table, lineNum, synthesizedBy);
670
+ seen.add(row.table);
671
+ this.emitTableReference(sourceNodeId, row.table, lineNum, synthesizedBy);
672
+ }
673
+ // Issue #256: a binding can read from another database file via the
674
+ // Access `IN "<path>"` clause. That target is a file, not a table,
675
+ // so it gets its own `file`-kind node and its own edge tag.
676
+ for (const backendPath of (0, sql_table_scan_1.scanSqlExternalBackends)(value)) {
677
+ this.emitExternalBackendReference(sourceNodeId, backendPath, lineNum);
643
678
  }
644
679
  return;
645
680
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vba-form-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-form-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vba-form-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-form-extractor.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@
32
32
  *
33
33
  * Source unchanged guarantee: every helper treats `src` as read-only.
34
34
  */
35
+ import type { ExtractionError } from '../types';
35
36
  /**
36
37
  * Collapse VBA line continuations: any line whose last non-newline character is
37
38
  * `_` (preceded by exactly one space, per VBA convention) is joined to the
@@ -93,8 +94,36 @@ export declare function stripVbaComments(src: string): string;
93
94
  * promote this evaluator to full integer arithmetic.
94
95
  *
95
96
  * Directives and inactive branch lines are replaced with empty strings so
96
- * downstream extraction keeps source-line parity. Unsupported/unsafe
97
- * expressions evaluate to false rather than throwing.
97
+ * downstream extraction keeps source-line parity.
98
+ *
99
+ * **Issue #206 contract change.** Previously the docstring read
100
+ * *"Unsupported/unsafe expressions evaluate to false rather than
101
+ * throwing"* — accurate, but it framed silent whole-branch source
102
+ * deletion as a safety property. It was not: false-negative extraction is
103
+ * indistinguishable from correct extraction to every downstream consumer
104
+ * (an `#If MODE = "DEBUG" Then` whose `"` throws silently blanks the
105
+ * branch and the symbol vanishes from the graph).
106
+ *
107
+ * The new contract:
108
+ *
109
+ * 1. **Unterminated `#If`/`#ElseIf`**: if the directive stack is
110
+ * non-empty after the loop ends, an `ExtractionError` (severity
111
+ * `warning`, code `unterminated_if`) is pushed onto the optional
112
+ * `errors` array AND the un-blanked lines from the earliest
113
+ * unclosed `#If` are re-emitted. An unterminated `#If` is far
114
+ * more likely a typo than a genuinely dead file tail.
115
+ * 2. **Could-not-evaluate expressions**: `evaluateConditionalExpression`
116
+ * now distinguishes `evaluated: false` (a definitive false — e.g.
117
+ * `#If 0 Then`, unknown identifier falling through to 0) from
118
+ * `could-not-evaluate` (the lexer/parser hit an unsupported token,
119
+ * or `tokenize`/`parse` threw). On could-not-evaluate, the branch
120
+ * is **kept active** (conservative for a code-intelligence tool —
121
+ * a spurious symbol is recoverable, a missing one is invisible)
122
+ * and a warning is emitted through the same `errors` channel.
123
+ *
124
+ * The `errors` channel is OPTIONAL — every existing call site (and
125
+ * existing test) continues to work without it. The orchestrator can
126
+ * supply it to surface the warnings through `ctx.errors`.
98
127
  */
99
128
  export declare function preprocessConditionalCompilation(src: string, customTargets?: Record<string, boolean>,
100
129
  /**
@@ -106,7 +135,64 @@ export declare function preprocessConditionalCompilation(src: string, customTarg
106
135
  * inner sub-totals. Undefined → no-op, zero cost (just the
107
136
  * `if (timings)` null-check on every CC line).
108
137
  */
109
- timings?: Map<string, number> | null): string;
138
+ timings?: Map<string, number> | null,
139
+ /**
140
+ * Issue #206: optional `ExtractionError` sink for diagnostics the
141
+ * preprocessor wants to surface to extraction callers:
142
+ * - `unterminated_if` (warning) — `#If` / `#ElseIf` pushed but
143
+ * never closed by `#End If` (a likely typo).
144
+ * - `unparseable_expression` (warning) — a `#If` / `#ElseIf`
145
+ * expression the lexer/parser could not handle (the branch is
146
+ * still kept active under the conservative contract).
147
+ *
148
+ * Undefined → no-op, zero cost (the `if (errors)` null-check on
149
+ * every warning site). The orchestrator passes `this.ctx.errors` so
150
+ * the warnings route through `ExtractionResult.errors`.
151
+ */
152
+ errors?: ExtractionError[],
153
+ /**
154
+ * Issue #206: optional file path included on every pushed error
155
+ * when the caller wants telemetry to know which file the warning
156
+ * came from. Independent of `errors` so a caller can attach the
157
+ * path even when collecting warnings elsewhere.
158
+ */
159
+ filePath?: string): string;
160
+ /**
161
+ * Issue #206 discriminated return value for `evaluateConditionalExpression`.
162
+ *
163
+ * - `{ kind: 'evaluated', value }` — the lexer+parser produced a
164
+ * definitive answer. `value` is the truthiness of the expression
165
+ * under VBA semantics (non-zero = true).
166
+ * - `{ kind: 'could-not-evaluate' }` — the lexer/parser threw
167
+ * (unsupported token: string literal, floating-point literal,
168
+ * unrecognized character, mismatched paren, etc.). The caller MUST
169
+ * treat this as ACTIVE under the conservative contract from
170
+ * Issue #206 — see `preprocessConditionalCompilation`.
171
+ */
172
+ export type ConditionalEvaluation = {
173
+ readonly kind: 'evaluated';
174
+ readonly value: boolean;
175
+ } | {
176
+ readonly kind: 'could-not-evaluate';
177
+ };
178
+ /**
179
+ * Issue #206: marker error class for explicitly-unsupported VBA
180
+ * conditional-compilation tokens. The legacy `throw new Error(...)`
181
+ * from `tokenize` was indistinguishable from a real bug
182
+ * (`Unexpected trailing token`, mismatched paren); both bubbled into
183
+ * the same `catch { return false }`. The new helper carries the
184
+ * specific reason so the caller can attribute warnings precisely and
185
+ * distinguish "the lexer simply cannot handle this token" from a
186
+ * legitimate parse failure (which is also routed to
187
+ * could-not-evaluate, but with the original message preserved).
188
+ */
189
+ export declare class UnparseableExpressionError extends Error {
190
+ /** Coarse category: `string_literal`, `float_literal`, `unsupported_character`. */
191
+ readonly reason: string;
192
+ /** The verbatim fragment that triggered the throw (for diagnostics). */
193
+ readonly fragment: string;
194
+ constructor(reason: string, fragment: string);
195
+ }
110
196
  export interface StringLiteralSpan {
111
197
  /** The literal content (no surrounding quotes; `""` collapsed to `"`). */
112
198
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"vba-preprocess.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-preprocess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAMH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWzD;AAWD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4EpD;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AACvC;;;;;;;;GAQG;AACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GACnC,MAAM,CA2ER;AA0fD,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAsDtE"}
1
+ {"version":3,"file":"vba-preprocess.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-preprocess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAuBzD;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4EpD;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AACvC;;;;;;;;GAQG;AACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;AACpC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,EAAE,eAAe,EAAE;AAC1B;;;;;GAKG;AACH,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAwJR;AA6aD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,mFAAmF;IACnF,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBACrB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAM7C;AAyID,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAsDtE"}