@colbymchenry/codegraph-darwin-arm64 1.1.6 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/bin/codegraph +5 -0
  2. package/lib/dist/bin/codegraph.d.ts +1 -1
  3. package/lib/dist/bin/codegraph.d.ts.map +1 -1
  4. package/lib/dist/bin/codegraph.js +232 -61
  5. package/lib/dist/bin/codegraph.js.map +1 -1
  6. package/lib/dist/bin/command-supervision.d.ts.map +1 -1
  7. package/lib/dist/bin/command-supervision.js +14 -1
  8. package/lib/dist/bin/command-supervision.js.map +1 -1
  9. package/lib/dist/db/migrations.d.ts +1 -1
  10. package/lib/dist/db/migrations.d.ts.map +1 -1
  11. package/lib/dist/db/migrations.js +19 -1
  12. package/lib/dist/db/migrations.js.map +1 -1
  13. package/lib/dist/db/queries.d.ts +51 -0
  14. package/lib/dist/db/queries.d.ts.map +1 -1
  15. package/lib/dist/db/queries.js +141 -0
  16. package/lib/dist/db/queries.js.map +1 -1
  17. package/lib/dist/db/schema.sql +19 -0
  18. package/lib/dist/directory.d.ts +9 -5
  19. package/lib/dist/directory.d.ts.map +1 -1
  20. package/lib/dist/directory.js +210 -19
  21. package/lib/dist/directory.js.map +1 -1
  22. package/lib/dist/extraction/cfml-extractor.d.ts +107 -0
  23. package/lib/dist/extraction/cfml-extractor.d.ts.map +1 -0
  24. package/lib/dist/extraction/cfml-extractor.js +494 -0
  25. package/lib/dist/extraction/cfml-extractor.js.map +1 -0
  26. package/lib/dist/extraction/grammars.d.ts +9 -0
  27. package/lib/dist/extraction/grammars.d.ts.map +1 -1
  28. package/lib/dist/extraction/grammars.js +115 -3
  29. package/lib/dist/extraction/grammars.js.map +1 -1
  30. package/lib/dist/extraction/index.d.ts +46 -1
  31. package/lib/dist/extraction/index.d.ts.map +1 -1
  32. package/lib/dist/extraction/index.js +254 -3
  33. package/lib/dist/extraction/index.js.map +1 -1
  34. package/lib/dist/extraction/languages/arkts.d.ts +3 -0
  35. package/lib/dist/extraction/languages/arkts.d.ts.map +1 -0
  36. package/lib/dist/extraction/languages/arkts.js +127 -0
  37. package/lib/dist/extraction/languages/arkts.js.map +1 -0
  38. package/lib/dist/extraction/languages/c-cpp.d.ts +59 -0
  39. package/lib/dist/extraction/languages/c-cpp.d.ts.map +1 -1
  40. package/lib/dist/extraction/languages/c-cpp.js +499 -3
  41. package/lib/dist/extraction/languages/c-cpp.js.map +1 -1
  42. package/lib/dist/extraction/languages/cfquery.d.ts +12 -0
  43. package/lib/dist/extraction/languages/cfquery.d.ts.map +1 -0
  44. package/lib/dist/extraction/languages/cfquery.js +28 -0
  45. package/lib/dist/extraction/languages/cfquery.js.map +1 -0
  46. package/lib/dist/extraction/languages/cfscript.d.ts +3 -0
  47. package/lib/dist/extraction/languages/cfscript.d.ts.map +1 -0
  48. package/lib/dist/extraction/languages/cfscript.js +73 -0
  49. package/lib/dist/extraction/languages/cfscript.js.map +1 -0
  50. package/lib/dist/extraction/languages/cobol.d.ts +33 -0
  51. package/lib/dist/extraction/languages/cobol.d.ts.map +1 -0
  52. package/lib/dist/extraction/languages/cobol.js +499 -0
  53. package/lib/dist/extraction/languages/cobol.js.map +1 -0
  54. package/lib/dist/extraction/languages/erlang.d.ts +3 -0
  55. package/lib/dist/extraction/languages/erlang.d.ts.map +1 -0
  56. package/lib/dist/extraction/languages/erlang.js +350 -0
  57. package/lib/dist/extraction/languages/erlang.js.map +1 -0
  58. package/lib/dist/extraction/languages/index.d.ts.map +1 -1
  59. package/lib/dist/extraction/languages/index.js +18 -0
  60. package/lib/dist/extraction/languages/index.js.map +1 -1
  61. package/lib/dist/extraction/languages/nix.d.ts +3 -0
  62. package/lib/dist/extraction/languages/nix.d.ts.map +1 -0
  63. package/lib/dist/extraction/languages/nix.js +294 -0
  64. package/lib/dist/extraction/languages/nix.js.map +1 -0
  65. package/lib/dist/extraction/languages/solidity.d.ts +3 -0
  66. package/lib/dist/extraction/languages/solidity.d.ts.map +1 -0
  67. package/lib/dist/extraction/languages/solidity.js +293 -0
  68. package/lib/dist/extraction/languages/solidity.js.map +1 -0
  69. package/lib/dist/extraction/languages/terraform.d.ts +3 -0
  70. package/lib/dist/extraction/languages/terraform.d.ts.map +1 -0
  71. package/lib/dist/extraction/languages/terraform.js +641 -0
  72. package/lib/dist/extraction/languages/terraform.js.map +1 -0
  73. package/lib/dist/extraction/languages/vbnet.d.ts +11 -0
  74. package/lib/dist/extraction/languages/vbnet.d.ts.map +1 -0
  75. package/lib/dist/extraction/languages/vbnet.js +141 -0
  76. package/lib/dist/extraction/languages/vbnet.js.map +1 -0
  77. package/lib/dist/extraction/mybatis-extractor.d.ts +30 -10
  78. package/lib/dist/extraction/mybatis-extractor.d.ts.map +1 -1
  79. package/lib/dist/extraction/mybatis-extractor.js +140 -38
  80. package/lib/dist/extraction/mybatis-extractor.js.map +1 -1
  81. package/lib/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
  82. package/lib/dist/extraction/tree-sitter-helpers.js +1 -0
  83. package/lib/dist/extraction/tree-sitter-helpers.js.map +1 -1
  84. package/lib/dist/extraction/tree-sitter-types.d.ts +20 -1
  85. package/lib/dist/extraction/tree-sitter-types.d.ts.map +1 -1
  86. package/lib/dist/extraction/tree-sitter.d.ts +38 -0
  87. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  88. package/lib/dist/extraction/tree-sitter.js +845 -16
  89. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  90. package/lib/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  91. package/lib/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  92. package/lib/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  93. package/lib/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  94. package/lib/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  95. package/lib/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  96. package/lib/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  97. package/lib/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  98. package/lib/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  99. package/lib/dist/graph/traversal.d.ts.map +1 -1
  100. package/lib/dist/graph/traversal.js +76 -17
  101. package/lib/dist/graph/traversal.js.map +1 -1
  102. package/lib/dist/index.d.ts +63 -1
  103. package/lib/dist/index.d.ts.map +1 -1
  104. package/lib/dist/index.js +310 -6
  105. package/lib/dist/index.js.map +1 -1
  106. package/lib/dist/installer/index.d.ts.map +1 -1
  107. package/lib/dist/installer/index.js +3 -1
  108. package/lib/dist/installer/index.js.map +1 -1
  109. package/lib/dist/mcp/daemon.d.ts +25 -3
  110. package/lib/dist/mcp/daemon.d.ts.map +1 -1
  111. package/lib/dist/mcp/daemon.js +39 -7
  112. package/lib/dist/mcp/daemon.js.map +1 -1
  113. package/lib/dist/mcp/dynamic-boundaries.d.ts.map +1 -1
  114. package/lib/dist/mcp/dynamic-boundaries.js +2 -1
  115. package/lib/dist/mcp/dynamic-boundaries.js.map +1 -1
  116. package/lib/dist/mcp/early-ppid.d.ts +26 -0
  117. package/lib/dist/mcp/early-ppid.d.ts.map +1 -0
  118. package/lib/dist/mcp/early-ppid.js +29 -0
  119. package/lib/dist/mcp/early-ppid.js.map +1 -0
  120. package/lib/dist/mcp/index.d.ts.map +1 -1
  121. package/lib/dist/mcp/index.js +21 -4
  122. package/lib/dist/mcp/index.js.map +1 -1
  123. package/lib/dist/mcp/proxy.d.ts.map +1 -1
  124. package/lib/dist/mcp/proxy.js +21 -3
  125. package/lib/dist/mcp/proxy.js.map +1 -1
  126. package/lib/dist/mcp/startup-handshake.d.ts +44 -0
  127. package/lib/dist/mcp/startup-handshake.d.ts.map +1 -0
  128. package/lib/dist/mcp/startup-handshake.js +73 -0
  129. package/lib/dist/mcp/startup-handshake.js.map +1 -0
  130. package/lib/dist/mcp/tools.d.ts +22 -0
  131. package/lib/dist/mcp/tools.d.ts.map +1 -1
  132. package/lib/dist/mcp/tools.js +74 -9
  133. package/lib/dist/mcp/tools.js.map +1 -1
  134. package/lib/dist/project-config.d.ts +38 -0
  135. package/lib/dist/project-config.d.ts.map +1 -1
  136. package/lib/dist/project-config.js +101 -2
  137. package/lib/dist/project-config.js.map +1 -1
  138. package/lib/dist/resolution/callback-synthesizer.d.ts +1 -1
  139. package/lib/dist/resolution/callback-synthesizer.d.ts.map +1 -1
  140. package/lib/dist/resolution/callback-synthesizer.js +743 -11
  141. package/lib/dist/resolution/callback-synthesizer.js.map +1 -1
  142. package/lib/dist/resolution/cooperative-yield.d.ts +32 -0
  143. package/lib/dist/resolution/cooperative-yield.d.ts.map +1 -0
  144. package/lib/dist/resolution/cooperative-yield.js +42 -0
  145. package/lib/dist/resolution/cooperative-yield.js.map +1 -0
  146. package/lib/dist/resolution/frameworks/cics.d.ts +20 -0
  147. package/lib/dist/resolution/frameworks/cics.d.ts.map +1 -0
  148. package/lib/dist/resolution/frameworks/cics.js +90 -0
  149. package/lib/dist/resolution/frameworks/cics.js.map +1 -0
  150. package/lib/dist/resolution/frameworks/index.d.ts.map +1 -1
  151. package/lib/dist/resolution/frameworks/index.js +6 -0
  152. package/lib/dist/resolution/frameworks/index.js.map +1 -1
  153. package/lib/dist/resolution/frameworks/java.d.ts.map +1 -1
  154. package/lib/dist/resolution/frameworks/java.js +14 -6
  155. package/lib/dist/resolution/frameworks/java.js.map +1 -1
  156. package/lib/dist/resolution/frameworks/terraform.d.ts +38 -0
  157. package/lib/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  158. package/lib/dist/resolution/frameworks/terraform.js +277 -0
  159. package/lib/dist/resolution/frameworks/terraform.js.map +1 -0
  160. package/lib/dist/resolution/import-resolver.d.ts +7 -0
  161. package/lib/dist/resolution/import-resolver.d.ts.map +1 -1
  162. package/lib/dist/resolution/import-resolver.js +129 -4
  163. package/lib/dist/resolution/import-resolver.js.map +1 -1
  164. package/lib/dist/resolution/index.d.ts +44 -2
  165. package/lib/dist/resolution/index.d.ts.map +1 -1
  166. package/lib/dist/resolution/index.js +335 -30
  167. package/lib/dist/resolution/index.js.map +1 -1
  168. package/lib/dist/resolution/name-matcher.d.ts +22 -3
  169. package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
  170. package/lib/dist/resolution/name-matcher.js +484 -39
  171. package/lib/dist/resolution/name-matcher.js.map +1 -1
  172. package/lib/dist/resolution/strip-comments.d.ts +1 -1
  173. package/lib/dist/resolution/strip-comments.d.ts.map +1 -1
  174. package/lib/dist/resolution/strip-comments.js +49 -0
  175. package/lib/dist/resolution/strip-comments.js.map +1 -1
  176. package/lib/dist/resolution/types.d.ts +20 -0
  177. package/lib/dist/resolution/types.d.ts.map +1 -1
  178. package/lib/dist/resolution/workspace-packages.d.ts +10 -0
  179. package/lib/dist/resolution/workspace-packages.d.ts.map +1 -1
  180. package/lib/dist/resolution/workspace-packages.js +142 -4
  181. package/lib/dist/resolution/workspace-packages.js.map +1 -1
  182. package/lib/dist/search/identifier-segments.d.ts +60 -0
  183. package/lib/dist/search/identifier-segments.d.ts.map +1 -0
  184. package/lib/dist/search/identifier-segments.js +176 -0
  185. package/lib/dist/search/identifier-segments.js.map +1 -0
  186. package/lib/dist/sync/git-hooks.d.ts.map +1 -1
  187. package/lib/dist/sync/git-hooks.js +2 -0
  188. package/lib/dist/sync/git-hooks.js.map +1 -1
  189. package/lib/dist/sync/watcher.d.ts +10 -5
  190. package/lib/dist/sync/watcher.d.ts.map +1 -1
  191. package/lib/dist/sync/watcher.js +51 -14
  192. package/lib/dist/sync/watcher.js.map +1 -1
  193. package/lib/dist/sync/worktree.d.ts.map +1 -1
  194. package/lib/dist/sync/worktree.js +5 -0
  195. package/lib/dist/sync/worktree.js.map +1 -1
  196. package/lib/dist/types.d.ts +19 -1
  197. package/lib/dist/types.d.ts.map +1 -1
  198. package/lib/dist/types.js +10 -0
  199. package/lib/dist/types.js.map +1 -1
  200. package/lib/dist/upgrade/index.js +1 -1
  201. package/lib/dist/upgrade/index.js.map +1 -1
  202. package/lib/node_modules/.package-lock.json +1 -1
  203. package/lib/package.json +1 -1
  204. package/package.json +1 -1
  205. package/lib/dist/reasoning/config.d.ts +0 -45
  206. package/lib/dist/reasoning/config.d.ts.map +0 -1
  207. package/lib/dist/reasoning/config.js +0 -171
  208. package/lib/dist/reasoning/config.js.map +0 -1
  209. package/lib/dist/reasoning/credentials.d.ts +0 -5
  210. package/lib/dist/reasoning/credentials.d.ts.map +0 -1
  211. package/lib/dist/reasoning/credentials.js +0 -83
  212. package/lib/dist/reasoning/credentials.js.map +0 -1
  213. package/lib/dist/reasoning/login.d.ts +0 -21
  214. package/lib/dist/reasoning/login.d.ts.map +0 -1
  215. package/lib/dist/reasoning/login.js +0 -85
  216. package/lib/dist/reasoning/login.js.map +0 -1
  217. package/lib/dist/reasoning/reasoner.d.ts +0 -43
  218. package/lib/dist/reasoning/reasoner.d.ts.map +0 -1
  219. package/lib/dist/reasoning/reasoner.js +0 -308
  220. package/lib/dist/reasoning/reasoner.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CICS Framework Resolver (COBOL)
3
+ *
4
+ * Resolves the pseudo-conversational transaction hop: a program ends with
5
+ * `EXEC CICS RETURN TRANSID('CB00')` (or START), and CICS re-invokes the
6
+ * program that OWNS transaction CB00 on the next attention key. The
7
+ * transaction→program mapping lives in the CICS CSD, which is never in the
8
+ * repo — but by near-universal convention each program declares its own
9
+ * transaction id as a working-storage constant:
10
+ *
11
+ * 05 WS-TRANID PIC X(04) VALUE 'CB00'.
12
+ *
13
+ * The COBOL extractor emits `cics-transid:CB00` call references for literal
14
+ * (or same-file-dereferenced) TRANSID options; this resolver maps the id to
15
+ * the program module whose TRAN*-named data item declares that VALUE. No
16
+ * match (an id owned by a program outside the repo) stays unresolved.
17
+ */
18
+ import { FrameworkResolver } from '../types';
19
+ export declare const cicsResolver: FrameworkResolver;
20
+ //# sourceMappingURL=cics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cics.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/cics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAqC5F,eAAO,MAAM,YAAY,EAAE,iBAmC1B,CAAC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /**
3
+ * CICS Framework Resolver (COBOL)
4
+ *
5
+ * Resolves the pseudo-conversational transaction hop: a program ends with
6
+ * `EXEC CICS RETURN TRANSID('CB00')` (or START), and CICS re-invokes the
7
+ * program that OWNS transaction CB00 on the next attention key. The
8
+ * transaction→program mapping lives in the CICS CSD, which is never in the
9
+ * repo — but by near-universal convention each program declares its own
10
+ * transaction id as a working-storage constant:
11
+ *
12
+ * 05 WS-TRANID PIC X(04) VALUE 'CB00'.
13
+ *
14
+ * The COBOL extractor emits `cics-transid:CB00` call references for literal
15
+ * (or same-file-dereferenced) TRANSID options; this resolver maps the id to
16
+ * the program module whose TRAN*-named data item declares that VALUE. No
17
+ * match (an id owned by a program outside the repo) stays unresolved.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.cicsResolver = void 0;
21
+ const TRANSID_REF_PREFIX = 'cics-transid:';
22
+ /** Data items that name a transaction id by convention. */
23
+ const TRANID_NAME_RE = /TRAN/i;
24
+ const VALUE_LITERAL_RE = /\bVALUE\s+['"]([A-Za-z0-9$#@]{1,4})['"]/i;
25
+ /**
26
+ * transaction id → owning program module, built once per resolution context.
27
+ * A WeakMap so a per-ref scan of every data node can't go quadratic on
28
+ * copybook-heavy repos.
29
+ */
30
+ const transidIndexes = new WeakMap();
31
+ function buildIndex(context) {
32
+ const index = new Map();
33
+ const dataNodes = [
34
+ ...context.getNodesByKind('variable'),
35
+ ...context.getNodesByKind('field'),
36
+ ...context.getNodesByKind('constant'),
37
+ ];
38
+ for (const node of dataNodes) {
39
+ if (node.language !== 'cobol')
40
+ continue;
41
+ if (!TRANID_NAME_RE.test(node.name))
42
+ continue;
43
+ const value = node.signature ? VALUE_LITERAL_RE.exec(node.signature) : null;
44
+ if (!value?.[1])
45
+ continue;
46
+ const tx = value[1].toUpperCase();
47
+ if (index.has(tx))
48
+ continue; // first declaration wins; collisions are rare and ambiguous
49
+ const moduleNode = context
50
+ .getNodesInFile(node.filePath)
51
+ .find((n) => n.kind === 'module' && n.language === 'cobol');
52
+ if (moduleNode)
53
+ index.set(tx, moduleNode.id);
54
+ }
55
+ return index;
56
+ }
57
+ exports.cicsResolver = {
58
+ name: 'cics',
59
+ languages: ['cobol'],
60
+ detect(context) {
61
+ // Any indexed COBOL program qualifies — the resolver only ever acts on
62
+ // cics-transid: references, which only the COBOL extractor emits.
63
+ return context.getNodesByKind('module').some((n) => n.language === 'cobol');
64
+ },
65
+ // cics-transid:XXXX matches no symbol name — opt it past the
66
+ // name-exists pre-filter so it reaches resolve().
67
+ claimsReference(name) {
68
+ return name.startsWith(TRANSID_REF_PREFIX);
69
+ },
70
+ resolve(ref, context) {
71
+ if (!ref.referenceName.startsWith(TRANSID_REF_PREFIX))
72
+ return null;
73
+ const tx = ref.referenceName.slice(TRANSID_REF_PREFIX.length).toUpperCase();
74
+ let index = transidIndexes.get(context);
75
+ if (!index) {
76
+ index = buildIndex(context);
77
+ transidIndexes.set(context, index);
78
+ }
79
+ const targetNodeId = index.get(tx);
80
+ if (!targetNodeId)
81
+ return null;
82
+ return {
83
+ original: ref,
84
+ targetNodeId,
85
+ confidence: 0.85,
86
+ resolvedBy: 'framework',
87
+ };
88
+ },
89
+ };
90
+ //# sourceMappingURL=cics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cics.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/cics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmE5C;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAQhF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,EAAE,QAAQ,GACjB,iBAAiB,EAAE,CAIrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAO3E;AAGD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyE5C;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAQhF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,EAAE,QAAQ,GACjB,iBAAiB,EAAE,CAIrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAO3E;AAGD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
@@ -32,6 +32,8 @@ const swift_objc_1 = require("./swift-objc");
32
32
  const react_native_1 = require("./react-native");
33
33
  const expo_modules_1 = require("./expo-modules");
34
34
  const fabric_1 = require("./fabric");
35
+ const cics_1 = require("./cics");
36
+ const terraform_1 = require("./terraform");
35
37
  /**
36
38
  * All registered framework resolvers
37
39
  */
@@ -74,6 +76,10 @@ const FRAMEWORK_RESOLVERS = [
74
76
  expo_modules_1.expoModulesResolver,
75
77
  // React Native Fabric / Codegen view components — TS spec → component nodes
76
78
  fabric_1.fabricViewResolver,
79
+ // CICS pseudo-conversational TRANSID hops (COBOL)
80
+ cics_1.cicsResolver,
81
+ // Terraform / OpenTofu — disambiguate var/local/module/resource refs to same-dir module
82
+ terraform_1.terraformResolver,
77
83
  ];
78
84
  /**
79
85
  * Get all framework resolvers
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"java.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/java.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAG5F,eAAO,MAAM,cAAc,EAAE,iBA8R5B,CAAC"}
1
+ {"version":3,"file":"java.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/java.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAG5F,eAAO,MAAM,cAAc,EAAE,iBAsS5B,CAAC"}
@@ -71,13 +71,21 @@ exports.springResolver = {
71
71
  // (the bindings come from `@Value`). Skip non-Spring refs that happen to
72
72
  // have dots in them.
73
73
  }
74
- if ((ref.language === 'java' || ref.language === 'kotlin') &&
74
+ // Spring config-key resolution: `@Value("${a.b.c}")` and
75
+ // `@ConfigurationProperties`. Gate on the `references` kind — those bindings
76
+ // are emitted as `references` by extractSpringValueBindings, whereas the far
77
+ // more numerous method-call refs (`list.add()`, `builder.build()`, every
78
+ // `receiver.method()`) are `calls`. A config key is NEVER a `calls` ref, so
79
+ // this loses no resolution. Without the gate, every dotted `calls` ref fell
80
+ // into the uncached getNodesByKind('constant') scan below — an
81
+ // O(dotted-calls × constant-nodes) cost that dominated resolution and made a
82
+ // full index take ~1h on large Java/Kotlin (Spring) monorepos (#1180). The
83
+ // old `split('.').length >= 2` heuristic couldn't separate keys from calls;
84
+ // the kind check does it exactly.
85
+ if (ref.referenceKind === 'references' &&
86
+ (ref.language === 'java' || ref.language === 'kotlin') &&
75
87
  ref.referenceName.includes('.') &&
76
- !ref.referenceName.includes('::') &&
77
- // Exclude method-call style (single-dot, both sides lower-camel). Spring
78
- // config keys are typically 3+ segments and contain kebabs/dashes; we
79
- // can't filter perfectly but skipping single-dot keeps the lookup tight.
80
- ref.referenceName.split('.').length >= 2) {
88
+ !ref.referenceName.includes('::')) {
81
89
  const canonRef = canonicalConfigKey(ref.referenceName);
82
90
  const candidates = context.getNodesByKind('constant').filter((n) => n.kind === 'constant'
83
91
  && (n.language === 'yaml' || n.language === 'properties')
@@ -1 +1 @@
1
- {"version":3,"file":"java.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/java.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"java.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/java.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Terraform Framework Resolver
3
+ *
4
+ * Terraform's scoping rule is narrow and directory-shaped: `var.X`,
5
+ * `local.X`, `module.M`, and resource/data references resolve ONLY inside
6
+ * the same module directory as the reference site. The generic name matcher
7
+ * resolves by qualified-name alone, so a reference to `var.project_id` from
8
+ * `modules/net-vpc/main.tf` could bind to a `variable "project_id"` declared
9
+ * in an unrelated module — a wrong cross-module edge that poisons impact
10
+ * analysis. This resolver enforces the real semantics:
11
+ *
12
+ * 1. Same directory as the reference site → resolve (highest confidence).
13
+ * 2. `.tfvars` files additionally walk UP to the nearest ancestor
14
+ * directory declaring the variable (`terraform apply -var-file=envs/prod.tfvars`
15
+ * sets ROOT module variables from a subdirectory).
16
+ * 3. Otherwise: no edge. Terraform cannot reference across sibling module
17
+ * directories, so a non-local candidate is never a correct target.
18
+ *
19
+ * It also bridges the module boundary through `:`-scoped references that
20
+ * only this resolver understands (see the extractor's emitModuleWiring):
21
+ *
22
+ * - `module.M:file` → the entry file of the module's local source
23
+ * directory (an `imports` edge, so a module call connects to the code
24
+ * it instantiates).
25
+ * - `module.M:var.<in>` → the child module's `variable "<in>"` node —
26
+ * the module block sets that variable, so "what depends on the child's
27
+ * var.cidr" reaches every caller.
28
+ * - `module.M:output.<o>` → the child module's `output "<o>"` node —
29
+ * `module.M.o` uses flow through to the output's definition instead of
30
+ * dead-ending at the module declaration.
31
+ *
32
+ * The module's `source` is re-read from the declaration's file (cached
33
+ * lines); only local `./`/`../` sources bridge. Registry/git sources stay
34
+ * unresolved — an out-of-repo module is a visible boundary, never a guess.
35
+ */
36
+ import type { FrameworkResolver } from '../types';
37
+ export declare const terraformResolver: FrameworkResolver;
38
+ //# sourceMappingURL=terraform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/terraform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAKjG,eAAO,MAAM,iBAAiB,EAAE,iBAqE/B,CAAC"}
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ /**
3
+ * Terraform Framework Resolver
4
+ *
5
+ * Terraform's scoping rule is narrow and directory-shaped: `var.X`,
6
+ * `local.X`, `module.M`, and resource/data references resolve ONLY inside
7
+ * the same module directory as the reference site. The generic name matcher
8
+ * resolves by qualified-name alone, so a reference to `var.project_id` from
9
+ * `modules/net-vpc/main.tf` could bind to a `variable "project_id"` declared
10
+ * in an unrelated module — a wrong cross-module edge that poisons impact
11
+ * analysis. This resolver enforces the real semantics:
12
+ *
13
+ * 1. Same directory as the reference site → resolve (highest confidence).
14
+ * 2. `.tfvars` files additionally walk UP to the nearest ancestor
15
+ * directory declaring the variable (`terraform apply -var-file=envs/prod.tfvars`
16
+ * sets ROOT module variables from a subdirectory).
17
+ * 3. Otherwise: no edge. Terraform cannot reference across sibling module
18
+ * directories, so a non-local candidate is never a correct target.
19
+ *
20
+ * It also bridges the module boundary through `:`-scoped references that
21
+ * only this resolver understands (see the extractor's emitModuleWiring):
22
+ *
23
+ * - `module.M:file` → the entry file of the module's local source
24
+ * directory (an `imports` edge, so a module call connects to the code
25
+ * it instantiates).
26
+ * - `module.M:var.<in>` → the child module's `variable "<in>"` node —
27
+ * the module block sets that variable, so "what depends on the child's
28
+ * var.cidr" reaches every caller.
29
+ * - `module.M:output.<o>` → the child module's `output "<o>"` node —
30
+ * `module.M.o` uses flow through to the output's definition instead of
31
+ * dead-ending at the module declaration.
32
+ *
33
+ * The module's `source` is re-read from the declaration's file (cached
34
+ * lines); only local `./`/`../` sources bridge. Registry/git sources stay
35
+ * unresolved — an out-of-repo module is a visible boundary, never a guess.
36
+ */
37
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
38
+ if (k2 === undefined) k2 = k;
39
+ var desc = Object.getOwnPropertyDescriptor(m, k);
40
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
41
+ desc = { enumerable: true, get: function() { return m[k]; } };
42
+ }
43
+ Object.defineProperty(o, k2, desc);
44
+ }) : (function(o, m, k, k2) {
45
+ if (k2 === undefined) k2 = k;
46
+ o[k2] = m[k];
47
+ }));
48
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
49
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
50
+ }) : function(o, v) {
51
+ o["default"] = v;
52
+ });
53
+ var __importStar = (this && this.__importStar) || (function () {
54
+ var ownKeys = function(o) {
55
+ ownKeys = Object.getOwnPropertyNames || function (o) {
56
+ var ar = [];
57
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
58
+ return ar;
59
+ };
60
+ return ownKeys(o);
61
+ };
62
+ return function (mod) {
63
+ if (mod && mod.__esModule) return mod;
64
+ var result = {};
65
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
66
+ __setModuleDefault(result, mod);
67
+ return result;
68
+ };
69
+ })();
70
+ Object.defineProperty(exports, "__esModule", { value: true });
71
+ exports.terraformResolver = void 0;
72
+ const path = __importStar(require("path"));
73
+ /** `module.M:file` / `module.M:var.X` / `module.M:output.X` / `module.M:remote-output.X` — extractor-emitted scoped refs. */
74
+ const SCOPED_REF = /^module\.([^.:\s]+):(file$|var\.|output\.|remote-output\.)/;
75
+ exports.terraformResolver = {
76
+ name: 'terraform',
77
+ languages: ['terraform'],
78
+ detect(context) {
79
+ return context.getAllFiles().some((f) => f.endsWith('.tf') || f.endsWith('.tfvars') || f.endsWith('.tofu'));
80
+ },
81
+ // Scoped refs name no declared symbol; opt them through the resolver's
82
+ // name-exists pre-filter so they reach resolve() at all.
83
+ claimsReference(name) {
84
+ return SCOPED_REF.test(name);
85
+ },
86
+ resolve(ref, context) {
87
+ if (ref.language !== 'terraform')
88
+ return null;
89
+ const qname = ref.referenceName;
90
+ const refDir = dirOf(ref.filePath);
91
+ // --- module-boundary bridge: module.M:file / module.M:var.X / module.M:output.X ---
92
+ const scoped = qname.match(/^module\.([^.:\s]+):(.+)$/);
93
+ if (scoped) {
94
+ return resolveScopedModuleRef(ref, scoped[1], scoped[2], refDir, context);
95
+ }
96
+ const candidates = context.getNodesByQualifiedName(qname);
97
+ if (candidates.length === 0)
98
+ return null;
99
+ // 1. Same directory — the only scope Terraform can actually reference.
100
+ const sameDir = candidates.filter((c) => dirOf(c.filePath) === refDir);
101
+ if (sameDir.length > 0) {
102
+ return {
103
+ original: ref,
104
+ targetNodeId: sameDir[0].id,
105
+ confidence: 0.95,
106
+ resolvedBy: 'framework',
107
+ };
108
+ }
109
+ // 2. `.tfvars` assignments set ROOT module variables, and var-files are
110
+ // routinely kept in a subdirectory (`envs/prod.tfvars`). Walk up to
111
+ // the nearest ancestor directory that declares the variable.
112
+ if (ref.filePath.endsWith('.tfvars') && qname.startsWith('var.')) {
113
+ const up = nearestAncestorMatch(candidates, refDir);
114
+ if (up) {
115
+ return { original: ref, targetNodeId: up.id, confidence: 0.9, resolvedBy: 'framework' };
116
+ }
117
+ }
118
+ // 2b. Provider configurations are the one construct Terraform inherits
119
+ // across the module tree: they're declared in the root (or a parent)
120
+ // module and passed down, so `provider = aws.east` inside a child
121
+ // module legitimately names a configuration declared above it.
122
+ if (qname.startsWith('provider.')) {
123
+ const configs = candidates.filter((c) => c.kind === 'namespace');
124
+ const up = nearestAncestorMatch(configs, refDir);
125
+ if (up) {
126
+ return { original: ref, targetNodeId: up.id, confidence: 0.9, resolvedBy: 'framework' };
127
+ }
128
+ return null;
129
+ }
130
+ // 3. No same-directory declaration → no edge. A candidate in another
131
+ // module directory is never the real target (cross-module access only
132
+ // exists through module.M inputs/outputs, bridged above), and a wrong
133
+ // edge is worse than none.
134
+ return null;
135
+ },
136
+ };
137
+ /** Nearest candidate walking UP the directory tree from refDir (exclusive). */
138
+ function nearestAncestorMatch(candidates, refDir) {
139
+ for (let dir = parentOf(refDir); dir !== null; dir = parentOf(dir)) {
140
+ const inDir = candidates.filter((c) => dirOf(c.filePath) === dir);
141
+ if (inDir.length > 0)
142
+ return inDir[0];
143
+ }
144
+ return null;
145
+ }
146
+ /**
147
+ * Resolve `module.M:<child>` by locating the `module "M"` declaration in the
148
+ * reference's own directory, reading its `source` attribute, and looking the
149
+ * child symbol up inside that directory.
150
+ */
151
+ function resolveScopedModuleRef(ref, moduleName, child, refDir, context) {
152
+ const decls = context
153
+ .getNodesByQualifiedName(`module.${moduleName}`)
154
+ .filter((n) => n.kind === 'module');
155
+ if (decls.length === 0)
156
+ return null;
157
+ // Terraform scoping: the declaration lives in the reference's directory.
158
+ const decl = decls.find((d) => dirOf(d.filePath) === refDir) ?? (decls.length === 1 ? decls[0] : null);
159
+ if (!decl)
160
+ return null;
161
+ const source = readModuleAttr(decl, 'source', context);
162
+ if (!source)
163
+ return null;
164
+ // --- cloudposse/atmos remote-state: module.M.outputs.X where M is the
165
+ // stack-config remote-state module reading another COMPONENT's state. The
166
+ // component name is static in the monorepo case (`component = "vpc"` or
167
+ // "eks/cluster"), so bridge to that component directory's own
168
+ // `output "X"` — but only when every gate holds: the module source is the
169
+ // remote-state module, the component is a string literal, and exactly ONE
170
+ // directory in the repo matches the component name and declares that
171
+ // output. Anything dynamic or ambiguous stays a visible boundary.
172
+ if (child.startsWith('remote-output.')) {
173
+ if (!/\/remote-state(\/|$)/.test(source))
174
+ return null;
175
+ let component = readModuleAttr(decl, 'component', context);
176
+ if (!component) {
177
+ // The other half of real-world declarations indirect through a
178
+ // variable with a literal default in the same directory
179
+ // (`component = var.vpc_component_name` + `default = "vpc"`) — the
180
+ // component's declared static wiring. One hop, same literal gate.
181
+ const viaVar = readNodeSpanMatch(decl, /^\s*component\s*=\s*var\.([A-Za-z0-9_-]+)\s*$/, context);
182
+ if (viaVar) {
183
+ const declared = context
184
+ .getNodesByQualifiedName(`var.${viaVar}`)
185
+ .filter((n) => dirOf(n.filePath) === dirOf(decl.filePath));
186
+ if (declared.length === 1) {
187
+ component = readNodeSpanMatch(declared[0], /^\s*default\s*=\s*"([^"]+)"/, context);
188
+ }
189
+ }
190
+ }
191
+ if (!component)
192
+ return null;
193
+ const outName = child.slice('remote-output.'.length);
194
+ const outs = context
195
+ .getNodesByQualifiedName(`output.${outName}`)
196
+ .filter((o) => {
197
+ const d = dirOf(o.filePath);
198
+ return d === component || d.endsWith('/' + component);
199
+ });
200
+ if (outs.length === 0)
201
+ return null;
202
+ const dirs = new Set(outs.map((o) => dirOf(o.filePath)));
203
+ if (dirs.size > 1)
204
+ return null; // two directories claim this component name — never guess
205
+ return { original: ref, targetNodeId: outs[0].id, confidence: 0.9, resolvedBy: 'framework' };
206
+ }
207
+ if (!(source.startsWith('./') || source.startsWith('../'))) {
208
+ // Registry / git / absolute sources are out-of-repo: stay unresolved.
209
+ return null;
210
+ }
211
+ const targetDir = normalizeRel(joinDirs(dirOf(decl.filePath), source));
212
+ if (child === 'file') {
213
+ const tfFiles = context
214
+ .getAllFiles()
215
+ .filter((f) => dirOf(f) === targetDir && (f.endsWith('.tf') || f.endsWith('.tofu')))
216
+ .sort();
217
+ if (tfFiles.length === 0)
218
+ return null;
219
+ const entry = tfFiles.find((f) => f.endsWith('/main.tf') || f === 'main.tf') ?? tfFiles[0];
220
+ const fileNode = context.getNodesInFile(entry).find((n) => n.kind === 'file');
221
+ if (!fileNode)
222
+ return null;
223
+ return { original: ref, targetNodeId: fileNode.id, confidence: 0.95, resolvedBy: 'framework' };
224
+ }
225
+ // child is `var.X` or `output.X` — the child module's own qualified names.
226
+ const target = context
227
+ .getNodesByQualifiedName(child)
228
+ .filter((c) => dirOf(c.filePath) === targetDir);
229
+ if (target.length === 0)
230
+ return null;
231
+ return { original: ref, targetNodeId: target[0].id, confidence: 0.95, resolvedBy: 'framework' };
232
+ }
233
+ /**
234
+ * A direct string-literal attribute (`source = "…"`, `component = "…"`) of a
235
+ * module declaration, re-read from its file (project paths are stored
236
+ * relative; node metadata isn't persisted, so the declaration's line span +
237
+ * cached file lines are the durable carrier). Non-literal values (variables,
238
+ * expressions) return null — dynamic wiring is never guessed.
239
+ */
240
+ function readModuleAttr(decl, name, context) {
241
+ return readNodeSpanMatch(decl, new RegExp(`^\\s*${name}\\s*=\\s*"([^"]+)"`), context);
242
+ }
243
+ /** First capture of `re` across the node's line span, or null. */
244
+ function readNodeSpanMatch(node, re, context) {
245
+ const lines = context.getFileLines?.(node.filePath) ?? context.readFile(node.filePath)?.split('\n') ?? null;
246
+ if (!lines)
247
+ return null;
248
+ const end = Math.min(node.endLine, lines.length);
249
+ for (let i = Math.max(node.startLine - 1, 0); i < end; i++) {
250
+ const m = lines[i].match(re);
251
+ if (m)
252
+ return m[1];
253
+ }
254
+ return null;
255
+ }
256
+ /** Directory of a stored (forward-slash, project-relative) path. */
257
+ function dirOf(p) {
258
+ const d = path.dirname(p);
259
+ return d === '' ? '.' : d;
260
+ }
261
+ /** Parent directory, or null above the project root. */
262
+ function parentOf(dir) {
263
+ if (dir === '.' || dir === '')
264
+ return null;
265
+ const parent = path.dirname(dir);
266
+ return parent === dir ? null : parent;
267
+ }
268
+ /** Join a base directory with a `./`/`../` relative source path. */
269
+ function joinDirs(base, rel) {
270
+ return path.join(base === '.' ? '' : base, rel);
271
+ }
272
+ /** Normalize to the stored path shape: forward slashes, '.' for the root. */
273
+ function normalizeRel(p) {
274
+ const n = path.normalize(p).replace(/\\/g, '/').replace(/\/+$/, '');
275
+ return n === '' ? '.' : n;
276
+ }
277
+ //# sourceMappingURL=terraform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/terraform.ts"],"names":[],"mappings":"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"}