@ryanstark24/sfgraph-core 1.4.0 → 1.6.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 (922) hide show
  1. package/dist/analyze/apex-platform.d.ts +23 -0
  2. package/dist/analyze/apex-platform.d.ts.map +1 -0
  3. package/dist/analyze/apex-platform.js +112 -0
  4. package/dist/analyze/apex-platform.js.map +1 -0
  5. package/dist/analyze/audit-graph.d.ts +34 -10
  6. package/dist/analyze/audit-graph.d.ts.map +1 -1
  7. package/dist/analyze/audit-graph.js +360 -39
  8. package/dist/analyze/audit-graph.js.map +1 -1
  9. package/dist/analyze/component-scope.d.ts +82 -0
  10. package/dist/analyze/component-scope.d.ts.map +1 -0
  11. package/dist/analyze/component-scope.js +207 -0
  12. package/dist/analyze/component-scope.js.map +1 -0
  13. package/dist/analyze/containment.d.ts +91 -0
  14. package/dist/analyze/containment.d.ts.map +1 -0
  15. package/dist/analyze/containment.js +175 -0
  16. package/dist/analyze/containment.js.map +1 -0
  17. package/dist/analyze/cross-org.d.ts +35 -0
  18. package/dist/analyze/cross-org.d.ts.map +1 -1
  19. package/dist/analyze/cross-org.js +102 -3
  20. package/dist/analyze/cross-org.js.map +1 -1
  21. package/dist/analyze/dead-code.d.ts +99 -3
  22. package/dist/analyze/dead-code.d.ts.map +1 -1
  23. package/dist/analyze/dead-code.js +282 -10
  24. package/dist/analyze/dead-code.js.map +1 -1
  25. package/dist/analyze/dependencies.d.ts +20 -1
  26. package/dist/analyze/dependencies.d.ts.map +1 -1
  27. package/dist/analyze/dependencies.js +96 -12
  28. package/dist/analyze/dependencies.js.map +1 -1
  29. package/dist/analyze/dependents.d.ts +111 -1
  30. package/dist/analyze/dependents.d.ts.map +1 -1
  31. package/dist/analyze/dependents.js +282 -20
  32. package/dist/analyze/dependents.js.map +1 -1
  33. package/dist/analyze/deployment-manifest/generate.d.ts +24 -0
  34. package/dist/analyze/deployment-manifest/generate.d.ts.map +1 -1
  35. package/dist/analyze/deployment-manifest/generate.js +40 -12
  36. package/dist/analyze/deployment-manifest/generate.js.map +1 -1
  37. package/dist/analyze/deployment-manifest/member-name-formatters.d.ts.map +1 -1
  38. package/dist/analyze/deployment-manifest/member-name-formatters.js +1 -0
  39. package/dist/analyze/deployment-manifest/member-name-formatters.js.map +1 -1
  40. package/dist/analyze/deployment-manifest/member-types.d.ts.map +1 -1
  41. package/dist/analyze/deployment-manifest/member-types.js +2 -0
  42. package/dist/analyze/deployment-manifest/member-types.js.map +1 -1
  43. package/dist/analyze/diff-seeds.d.ts +33 -0
  44. package/dist/analyze/diff-seeds.d.ts.map +1 -0
  45. package/dist/analyze/diff-seeds.js +299 -0
  46. package/dist/analyze/diff-seeds.js.map +1 -0
  47. package/dist/analyze/edge-filters.d.ts +25 -0
  48. package/dist/analyze/edge-filters.d.ts.map +1 -1
  49. package/dist/analyze/edge-filters.js +78 -2
  50. package/dist/analyze/edge-filters.js.map +1 -1
  51. package/dist/analyze/field-scope.d.ts +25 -0
  52. package/dist/analyze/field-scope.d.ts.map +1 -0
  53. package/dist/analyze/field-scope.js +94 -0
  54. package/dist/analyze/field-scope.js.map +1 -0
  55. package/dist/analyze/find-nodes.d.ts +48 -12
  56. package/dist/analyze/find-nodes.d.ts.map +1 -1
  57. package/dist/analyze/find-nodes.js +323 -12
  58. package/dist/analyze/find-nodes.js.map +1 -1
  59. package/dist/analyze/findings.d.ts.map +1 -1
  60. package/dist/analyze/findings.js +14 -0
  61. package/dist/analyze/findings.js.map +1 -1
  62. package/dist/analyze/git-diff.d.ts +27 -1
  63. package/dist/analyze/git-diff.d.ts.map +1 -1
  64. package/dist/analyze/git-diff.js +198 -26
  65. package/dist/analyze/git-diff.js.map +1 -1
  66. package/dist/analyze/governor.d.ts +25 -4
  67. package/dist/analyze/governor.d.ts.map +1 -1
  68. package/dist/analyze/governor.js +82 -18
  69. package/dist/analyze/governor.js.map +1 -1
  70. package/dist/analyze/index.d.ts +6 -0
  71. package/dist/analyze/index.d.ts.map +1 -1
  72. package/dist/analyze/index.js +6 -0
  73. package/dist/analyze/index.js.map +1 -1
  74. package/dist/analyze/path-to-qname.d.ts +9 -0
  75. package/dist/analyze/path-to-qname.d.ts.map +1 -1
  76. package/dist/analyze/path-to-qname.js +58 -15
  77. package/dist/analyze/path-to-qname.js.map +1 -1
  78. package/dist/analyze/populate.d.ts +40 -0
  79. package/dist/analyze/populate.d.ts.map +1 -1
  80. package/dist/analyze/populate.js +148 -48
  81. package/dist/analyze/populate.js.map +1 -1
  82. package/dist/analyze/pseudo-endpoints.d.ts +67 -0
  83. package/dist/analyze/pseudo-endpoints.d.ts.map +1 -0
  84. package/dist/analyze/pseudo-endpoints.js +78 -0
  85. package/dist/analyze/pseudo-endpoints.js.map +1 -0
  86. package/dist/analyze/security.d.ts +2 -0
  87. package/dist/analyze/security.d.ts.map +1 -1
  88. package/dist/analyze/security.js +44 -15
  89. package/dist/analyze/security.js.map +1 -1
  90. package/dist/analyze/test-coverage.d.ts +48 -0
  91. package/dist/analyze/test-coverage.d.ts.map +1 -1
  92. package/dist/analyze/test-coverage.js +72 -1
  93. package/dist/analyze/test-coverage.js.map +1 -1
  94. package/dist/analyze/wip-changed-files.d.ts +88 -0
  95. package/dist/analyze/wip-changed-files.d.ts.map +1 -0
  96. package/dist/analyze/wip-changed-files.js +422 -0
  97. package/dist/analyze/wip-changed-files.js.map +1 -0
  98. package/dist/analyze/wip-impact.d.ts +59 -0
  99. package/dist/analyze/wip-impact.d.ts.map +1 -1
  100. package/dist/analyze/wip-impact.js +199 -126
  101. package/dist/analyze/wip-impact.js.map +1 -1
  102. package/dist/domain/apex-platform.d.ts +10 -0
  103. package/dist/domain/apex-platform.d.ts.map +1 -0
  104. package/dist/domain/apex-platform.js +231 -0
  105. package/dist/domain/apex-platform.js.map +1 -0
  106. package/dist/domain/index.d.ts +2 -0
  107. package/dist/domain/index.d.ts.map +1 -1
  108. package/dist/domain/index.js +2 -0
  109. package/dist/domain/index.js.map +1 -1
  110. package/dist/domain/rel-types.d.ts +7 -0
  111. package/dist/domain/rel-types.d.ts.map +1 -1
  112. package/dist/domain/rel-types.js +7 -0
  113. package/dist/domain/rel-types.js.map +1 -1
  114. package/dist/domain/standard-sobjects.d.ts +20 -0
  115. package/dist/domain/standard-sobjects.d.ts.map +1 -0
  116. package/dist/domain/standard-sobjects.js +183 -0
  117. package/dist/domain/standard-sobjects.js.map +1 -0
  118. package/dist/embedding/cache.d.ts +41 -0
  119. package/dist/embedding/cache.d.ts.map +1 -0
  120. package/dist/embedding/cache.js +69 -0
  121. package/dist/embedding/cache.js.map +1 -0
  122. package/dist/embedding/embed.d.ts +59 -0
  123. package/dist/embedding/embed.d.ts.map +1 -1
  124. package/dist/embedding/embed.js +193 -28
  125. package/dist/embedding/embed.js.map +1 -1
  126. package/dist/embedding/index.d.ts +7 -0
  127. package/dist/embedding/index.d.ts.map +1 -1
  128. package/dist/embedding/index.js +4 -0
  129. package/dist/embedding/index.js.map +1 -1
  130. package/dist/embedding/pool.d.ts +66 -6
  131. package/dist/embedding/pool.d.ts.map +1 -1
  132. package/dist/embedding/pool.js +156 -6
  133. package/dist/embedding/pool.js.map +1 -1
  134. package/dist/embedding/queue.d.ts +166 -9
  135. package/dist/embedding/queue.d.ts.map +1 -1
  136. package/dist/embedding/queue.js +397 -39
  137. package/dist/embedding/queue.js.map +1 -1
  138. package/dist/embedding/tokenize.d.ts +18 -0
  139. package/dist/embedding/tokenize.d.ts.map +1 -0
  140. package/dist/embedding/tokenize.js +43 -0
  141. package/dist/embedding/tokenize.js.map +1 -0
  142. package/dist/embedding/worker.d.ts +0 -5
  143. package/dist/embedding/worker.d.ts.map +1 -1
  144. package/dist/embedding/worker.js +27 -4
  145. package/dist/embedding/worker.js.map +1 -1
  146. package/dist/extractors/filesystem/index.d.ts +21 -1
  147. package/dist/extractors/filesystem/index.d.ts.map +1 -1
  148. package/dist/extractors/filesystem/index.js +195 -38
  149. package/dist/extractors/filesystem/index.js.map +1 -1
  150. package/dist/extractors/filesystem/vlocity-datapacks.d.ts +27 -0
  151. package/dist/extractors/filesystem/vlocity-datapacks.d.ts.map +1 -0
  152. package/dist/extractors/filesystem/vlocity-datapacks.js +201 -0
  153. package/dist/extractors/filesystem/vlocity-datapacks.js.map +1 -0
  154. package/dist/extractors/interfaces/metadata-source.d.ts +29 -0
  155. package/dist/extractors/interfaces/metadata-source.d.ts.map +1 -1
  156. package/dist/extractors/live-org/bulk-retrieve.d.ts +37 -1
  157. package/dist/extractors/live-org/bulk-retrieve.d.ts.map +1 -1
  158. package/dist/extractors/live-org/bulk-retrieve.js +233 -50
  159. package/dist/extractors/live-org/bulk-retrieve.js.map +1 -1
  160. package/dist/extractors/live-org/capabilities.d.ts +15 -0
  161. package/dist/extractors/live-org/capabilities.d.ts.map +1 -1
  162. package/dist/extractors/live-org/capabilities.js +54 -9
  163. package/dist/extractors/live-org/capabilities.js.map +1 -1
  164. package/dist/extractors/live-org/extractors/apex.d.ts +12 -2
  165. package/dist/extractors/live-org/extractors/apex.d.ts.map +1 -1
  166. package/dist/extractors/live-org/extractors/apex.js +151 -80
  167. package/dist/extractors/live-org/extractors/apex.js.map +1 -1
  168. package/dist/extractors/live-org/extractors/custom-settings.d.ts +2 -1
  169. package/dist/extractors/live-org/extractors/custom-settings.d.ts.map +1 -1
  170. package/dist/extractors/live-org/extractors/custom-settings.js +19 -9
  171. package/dist/extractors/live-org/extractors/custom-settings.js.map +1 -1
  172. package/dist/extractors/live-org/extractors/flow.d.ts +2 -1
  173. package/dist/extractors/live-org/extractors/flow.d.ts.map +1 -1
  174. package/dist/extractors/live-org/extractors/flow.js +12 -3
  175. package/dist/extractors/live-org/extractors/flow.js.map +1 -1
  176. package/dist/extractors/live-org/extractors/generic-metadata.d.ts +23 -3
  177. package/dist/extractors/live-org/extractors/generic-metadata.d.ts.map +1 -1
  178. package/dist/extractors/live-org/extractors/generic-metadata.js +110 -25
  179. package/dist/extractors/live-org/extractors/generic-metadata.js.map +1 -1
  180. package/dist/extractors/live-org/extractors/integration.d.ts +2 -1
  181. package/dist/extractors/live-org/extractors/integration.d.ts.map +1 -1
  182. package/dist/extractors/live-org/extractors/integration.js +14 -5
  183. package/dist/extractors/live-org/extractors/integration.js.map +1 -1
  184. package/dist/extractors/live-org/extractors/lwc.d.ts +2 -1
  185. package/dist/extractors/live-org/extractors/lwc.d.ts.map +1 -1
  186. package/dist/extractors/live-org/extractors/lwc.js +14 -6
  187. package/dist/extractors/live-org/extractors/lwc.js.map +1 -1
  188. package/dist/extractors/live-org/extractors/object.d.ts +2 -11
  189. package/dist/extractors/live-org/extractors/object.d.ts.map +1 -1
  190. package/dist/extractors/live-org/extractors/object.js +127 -226
  191. package/dist/extractors/live-org/extractors/object.js.map +1 -1
  192. package/dist/extractors/live-org/extractors/omnistudio.d.ts +3 -0
  193. package/dist/extractors/live-org/extractors/omnistudio.d.ts.map +1 -1
  194. package/dist/extractors/live-org/extractors/omnistudio.js +57 -22
  195. package/dist/extractors/live-org/extractors/omnistudio.js.map +1 -1
  196. package/dist/extractors/live-org/extractors/security.d.ts +12 -1
  197. package/dist/extractors/live-org/extractors/security.d.ts.map +1 -1
  198. package/dist/extractors/live-org/extractors/security.js +29 -7
  199. package/dist/extractors/live-org/extractors/security.js.map +1 -1
  200. package/dist/extractors/live-org/rate-limit.d.ts +7 -1
  201. package/dist/extractors/live-org/rate-limit.d.ts.map +1 -1
  202. package/dist/extractors/live-org/rate-limit.js +53 -10
  203. package/dist/extractors/live-org/rate-limit.js.map +1 -1
  204. package/dist/extractors/live-org/retry.d.ts +136 -0
  205. package/dist/extractors/live-org/retry.d.ts.map +1 -0
  206. package/dist/extractors/live-org/retry.js +416 -0
  207. package/dist/extractors/live-org/retry.js.map +1 -0
  208. package/dist/extractors/live-org/vlocity/runner.d.ts +2 -1
  209. package/dist/extractors/live-org/vlocity/runner.d.ts.map +1 -1
  210. package/dist/extractors/live-org/vlocity/runner.js +95 -67
  211. package/dist/extractors/live-org/vlocity/runner.js.map +1 -1
  212. package/dist/extractors/vlocity-shared/row.d.ts +19 -0
  213. package/dist/extractors/vlocity-shared/row.d.ts.map +1 -0
  214. package/dist/extractors/vlocity-shared/row.js +69 -0
  215. package/dist/extractors/vlocity-shared/row.js.map +1 -0
  216. package/dist/index.d.ts +1 -0
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +2 -0
  219. package/dist/index.js.map +1 -1
  220. package/dist/ingest/delta.d.ts +70 -0
  221. package/dist/ingest/delta.d.ts.map +1 -0
  222. package/dist/ingest/delta.js +534 -0
  223. package/dist/ingest/delta.js.map +1 -0
  224. package/dist/ingest/detect-deletions-guard.d.ts +34 -0
  225. package/dist/ingest/detect-deletions-guard.d.ts.map +1 -1
  226. package/dist/ingest/detect-deletions-guard.js +59 -0
  227. package/dist/ingest/detect-deletions-guard.js.map +1 -1
  228. package/dist/ingest/index.d.ts +8 -1
  229. package/dist/ingest/index.d.ts.map +1 -1
  230. package/dist/ingest/index.js +4 -0
  231. package/dist/ingest/index.js.map +1 -1
  232. package/dist/ingest/live-ingest.d.ts +171 -7
  233. package/dist/ingest/live-ingest.d.ts.map +1 -1
  234. package/dist/ingest/live-ingest.js +1014 -249
  235. package/dist/ingest/live-ingest.js.map +1 -1
  236. package/dist/ingest/lock.d.ts +47 -0
  237. package/dist/ingest/lock.d.ts.map +1 -0
  238. package/dist/ingest/lock.js +222 -0
  239. package/dist/ingest/lock.js.map +1 -0
  240. package/dist/ingest/member-rows.d.ts +88 -0
  241. package/dist/ingest/member-rows.d.ts.map +1 -0
  242. package/dist/ingest/member-rows.js +152 -0
  243. package/dist/ingest/member-rows.js.map +1 -0
  244. package/dist/ingest/offline-org.d.ts +8 -0
  245. package/dist/ingest/offline-org.d.ts.map +1 -0
  246. package/dist/ingest/offline-org.js +41 -0
  247. package/dist/ingest/offline-org.js.map +1 -0
  248. package/dist/ingest/parse-member.d.ts +53 -0
  249. package/dist/ingest/parse-member.d.ts.map +1 -0
  250. package/dist/ingest/parse-member.js +276 -0
  251. package/dist/ingest/parse-member.js.map +1 -0
  252. package/dist/ingest/parse-pool.d.ts +139 -0
  253. package/dist/ingest/parse-pool.d.ts.map +1 -0
  254. package/dist/ingest/parse-pool.js +593 -0
  255. package/dist/ingest/parse-pool.js.map +1 -0
  256. package/dist/ingest/parse-worker.d.ts +3 -0
  257. package/dist/ingest/parse-worker.d.ts.map +1 -0
  258. package/dist/ingest/parse-worker.js +100 -0
  259. package/dist/ingest/parse-worker.js.map +1 -0
  260. package/dist/ingest/profile.d.ts +27 -0
  261. package/dist/ingest/profile.d.ts.map +1 -0
  262. package/dist/ingest/profile.js +48 -0
  263. package/dist/ingest/profile.js.map +1 -0
  264. package/dist/ingest/resolver-gates.d.ts +12 -0
  265. package/dist/ingest/resolver-gates.d.ts.map +1 -0
  266. package/dist/ingest/resolver-gates.js +53 -0
  267. package/dist/ingest/resolver-gates.js.map +1 -0
  268. package/dist/parsers/apex/arity-resolver.d.ts +16 -3
  269. package/dist/parsers/apex/arity-resolver.d.ts.map +1 -1
  270. package/dist/parsers/apex/arity-resolver.js +31 -2
  271. package/dist/parsers/apex/arity-resolver.js.map +1 -1
  272. package/dist/parsers/apex/ast-extractor.d.ts +4 -0
  273. package/dist/parsers/apex/ast-extractor.d.ts.map +1 -1
  274. package/dist/parsers/apex/ast-extractor.js +96 -29
  275. package/dist/parsers/apex/ast-extractor.js.map +1 -1
  276. package/dist/parsers/apex/class-refs.d.ts +78 -0
  277. package/dist/parsers/apex/class-refs.d.ts.map +1 -0
  278. package/dist/parsers/apex/class-refs.js +465 -0
  279. package/dist/parsers/apex/class-refs.js.map +1 -0
  280. package/dist/parsers/apex/class.d.ts +158 -0
  281. package/dist/parsers/apex/class.d.ts.map +1 -1
  282. package/dist/parsers/apex/class.js +1025 -183
  283. package/dist/parsers/apex/class.js.map +1 -1
  284. package/dist/parsers/apex/dynamic-soql.d.ts +52 -0
  285. package/dist/parsers/apex/dynamic-soql.d.ts.map +1 -0
  286. package/dist/parsers/apex/dynamic-soql.js +427 -0
  287. package/dist/parsers/apex/dynamic-soql.js.map +1 -0
  288. package/dist/parsers/apex/field-access.d.ts +65 -0
  289. package/dist/parsers/apex/field-access.d.ts.map +1 -0
  290. package/dist/parsers/apex/field-access.js +438 -0
  291. package/dist/parsers/apex/field-access.js.map +1 -0
  292. package/dist/parsers/apex/interface-ref-resolver.d.ts +32 -0
  293. package/dist/parsers/apex/interface-ref-resolver.d.ts.map +1 -0
  294. package/dist/parsers/apex/interface-ref-resolver.js +64 -0
  295. package/dist/parsers/apex/interface-ref-resolver.js.map +1 -0
  296. package/dist/parsers/apex/name-refs.d.ts +83 -0
  297. package/dist/parsers/apex/name-refs.d.ts.map +1 -0
  298. package/dist/parsers/apex/name-refs.js +465 -0
  299. package/dist/parsers/apex/name-refs.js.map +1 -0
  300. package/dist/parsers/apex/page-refs.d.ts +11 -0
  301. package/dist/parsers/apex/page-refs.d.ts.map +1 -0
  302. package/dist/parsers/apex/page-refs.js +34 -0
  303. package/dist/parsers/apex/page-refs.js.map +1 -0
  304. package/dist/parsers/apex/ref-resolver.d.ts +58 -0
  305. package/dist/parsers/apex/ref-resolver.d.ts.map +1 -0
  306. package/dist/parsers/apex/ref-resolver.js +348 -0
  307. package/dist/parsers/apex/ref-resolver.js.map +1 -0
  308. package/dist/parsers/apex/soql-fields.d.ts +75 -0
  309. package/dist/parsers/apex/soql-fields.d.ts.map +1 -0
  310. package/dist/parsers/apex/soql-fields.js +338 -0
  311. package/dist/parsers/apex/soql-fields.js.map +1 -0
  312. package/dist/parsers/apex/trigger.d.ts.map +1 -1
  313. package/dist/parsers/apex/trigger.js +90 -2
  314. package/dist/parsers/apex/trigger.js.map +1 -1
  315. package/dist/parsers/apex/vlocity-calls.d.ts +25 -0
  316. package/dist/parsers/apex/vlocity-calls.d.ts.map +1 -0
  317. package/dist/parsers/apex/vlocity-calls.js +225 -0
  318. package/dist/parsers/apex/vlocity-calls.js.map +1 -0
  319. package/dist/parsers/aura/bundle.d.ts +39 -0
  320. package/dist/parsers/aura/bundle.d.ts.map +1 -0
  321. package/dist/parsers/aura/bundle.js +269 -0
  322. package/dist/parsers/aura/bundle.js.map +1 -0
  323. package/dist/parsers/aura/embed-resolver.d.ts +17 -0
  324. package/dist/parsers/aura/embed-resolver.d.ts.map +1 -0
  325. package/dist/parsers/aura/embed-resolver.js +58 -0
  326. package/dist/parsers/aura/embed-resolver.js.map +1 -0
  327. package/dist/parsers/aura/index.d.ts +4 -0
  328. package/dist/parsers/aura/index.d.ts.map +1 -0
  329. package/dist/parsers/aura/index.js +6 -0
  330. package/dist/parsers/aura/index.js.map +1 -0
  331. package/dist/parsers/common.d.ts +9 -0
  332. package/dist/parsers/common.d.ts.map +1 -1
  333. package/dist/parsers/common.js +17 -0
  334. package/dist/parsers/common.js.map +1 -1
  335. package/dist/parsers/cross-flavor-resolver.js +8 -2
  336. package/dist/parsers/cross-flavor-resolver.js.map +1 -1
  337. package/dist/parsers/flow/invocable-resolver.d.ts.map +1 -1
  338. package/dist/parsers/flow/invocable-resolver.js +2 -0
  339. package/dist/parsers/flow/invocable-resolver.js.map +1 -1
  340. package/dist/parsers/flow/parser.d.ts +9 -0
  341. package/dist/parsers/flow/parser.d.ts.map +1 -1
  342. package/dist/parsers/flow/parser.js +327 -2
  343. package/dist/parsers/flow/parser.js.map +1 -1
  344. package/dist/parsers/flow/relationship-resolver.d.ts +34 -0
  345. package/dist/parsers/flow/relationship-resolver.d.ts.map +1 -0
  346. package/dist/parsers/flow/relationship-resolver.js +199 -0
  347. package/dist/parsers/flow/relationship-resolver.js.map +1 -0
  348. package/dist/parsers/generic/opaque-node-parser.d.ts +5 -1
  349. package/dist/parsers/generic/opaque-node-parser.d.ts.map +1 -1
  350. package/dist/parsers/generic/opaque-node-parser.js +37 -5
  351. package/dist/parsers/generic/opaque-node-parser.js.map +1 -1
  352. package/dist/parsers/generic/reflection-walker.d.ts +7 -0
  353. package/dist/parsers/generic/reflection-walker.d.ts.map +1 -1
  354. package/dist/parsers/generic/reflection-walker.js +37 -10
  355. package/dist/parsers/generic/reflection-walker.js.map +1 -1
  356. package/dist/parsers/hash-salts.d.ts +72 -0
  357. package/dist/parsers/hash-salts.d.ts.map +1 -0
  358. package/dist/parsers/hash-salts.js +91 -0
  359. package/dist/parsers/hash-salts.js.map +1 -0
  360. package/dist/parsers/index.d.ts +2 -0
  361. package/dist/parsers/index.d.ts.map +1 -1
  362. package/dist/parsers/index.js +2 -0
  363. package/dist/parsers/index.js.map +1 -1
  364. package/dist/parsers/lwc/bundle.d.ts +1 -0
  365. package/dist/parsers/lwc/bundle.d.ts.map +1 -1
  366. package/dist/parsers/lwc/bundle.js +37 -2
  367. package/dist/parsers/lwc/bundle.js.map +1 -1
  368. package/dist/parsers/lwc/field-key-resolver.d.ts +32 -0
  369. package/dist/parsers/lwc/field-key-resolver.d.ts.map +1 -0
  370. package/dist/parsers/lwc/field-key-resolver.js +92 -0
  371. package/dist/parsers/lwc/field-key-resolver.js.map +1 -0
  372. package/dist/parsers/lwc/html-visitor.d.ts +1 -1
  373. package/dist/parsers/lwc/html-visitor.d.ts.map +1 -1
  374. package/dist/parsers/lwc/html-visitor.js +78 -1
  375. package/dist/parsers/lwc/html-visitor.js.map +1 -1
  376. package/dist/parsers/lwc/js-visitor.d.ts +16 -0
  377. package/dist/parsers/lwc/js-visitor.d.ts.map +1 -1
  378. package/dist/parsers/lwc/js-visitor.js +348 -10
  379. package/dist/parsers/lwc/js-visitor.js.map +1 -1
  380. package/dist/parsers/lwc/omnidef.d.ts +10 -0
  381. package/dist/parsers/lwc/omnidef.d.ts.map +1 -0
  382. package/dist/parsers/lwc/omnidef.js +127 -0
  383. package/dist/parsers/lwc/omnidef.js.map +1 -0
  384. package/dist/parsers/lwc/xml-meta.d.ts.map +1 -1
  385. package/dist/parsers/lwc/xml-meta.js +16 -1
  386. package/dist/parsers/lwc/xml-meta.js.map +1 -1
  387. package/dist/parsers/object/formula-hop-resolver.d.ts +33 -0
  388. package/dist/parsers/object/formula-hop-resolver.d.ts.map +1 -0
  389. package/dist/parsers/object/formula-hop-resolver.js +60 -0
  390. package/dist/parsers/object/formula-hop-resolver.js.map +1 -0
  391. package/dist/parsers/object/formula-refs.d.ts +40 -0
  392. package/dist/parsers/object/formula-refs.d.ts.map +1 -0
  393. package/dist/parsers/object/formula-refs.js +129 -0
  394. package/dist/parsers/object/formula-refs.js.map +1 -0
  395. package/dist/parsers/object/object.d.ts +3 -0
  396. package/dist/parsers/object/object.d.ts.map +1 -1
  397. package/dist/parsers/object/object.js +53 -52
  398. package/dist/parsers/object/object.js.map +1 -1
  399. package/dist/parsers/omnistudio/data-transform.d.ts.map +1 -1
  400. package/dist/parsers/omnistudio/data-transform.js +2 -2
  401. package/dist/parsers/omnistudio/data-transform.js.map +1 -1
  402. package/dist/parsers/omnistudio/integration-procedure.d.ts.map +1 -1
  403. package/dist/parsers/omnistudio/integration-procedure.js +4 -5
  404. package/dist/parsers/omnistudio/integration-procedure.js.map +1 -1
  405. package/dist/parsers/omnistudio/overlap-detector.d.ts.map +1 -1
  406. package/dist/parsers/omnistudio/overlap-detector.js +27 -2
  407. package/dist/parsers/omnistudio/overlap-detector.js.map +1 -1
  408. package/dist/parsers/omnistudio/process.d.ts.map +1 -1
  409. package/dist/parsers/omnistudio/process.js +4 -5
  410. package/dist/parsers/omnistudio/process.js.map +1 -1
  411. package/dist/parsers/omnistudio/remote-refs.d.ts +11 -0
  412. package/dist/parsers/omnistudio/remote-refs.d.ts.map +1 -0
  413. package/dist/parsers/omnistudio/remote-refs.js +17 -0
  414. package/dist/parsers/omnistudio/remote-refs.js.map +1 -0
  415. package/dist/parsers/omnistudio/ui-card.d.ts.map +1 -1
  416. package/dist/parsers/omnistudio/ui-card.js +4 -5
  417. package/dist/parsers/omnistudio/ui-card.js.map +1 -1
  418. package/dist/parsers/resolver-prune.d.ts +14 -0
  419. package/dist/parsers/resolver-prune.d.ts.map +1 -0
  420. package/dist/parsers/resolver-prune.js +29 -0
  421. package/dist/parsers/resolver-prune.js.map +1 -0
  422. package/dist/parsers/rules/_engine.d.ts.map +1 -1
  423. package/dist/parsers/rules/_engine.js +4 -0
  424. package/dist/parsers/rules/_engine.js.map +1 -1
  425. package/dist/parsers/rules/_engine.ts +3 -0
  426. package/dist/parsers/rules/_loader.d.ts +8 -0
  427. package/dist/parsers/rules/_loader.d.ts.map +1 -1
  428. package/dist/parsers/rules/_loader.js +17 -0
  429. package/dist/parsers/rules/_loader.js.map +1 -1
  430. package/dist/parsers/rules/_loader.ts +19 -0
  431. package/dist/parsers/rules/_schema.d.ts +12 -12
  432. package/dist/parsers/rules/_selectors.d.ts +1 -0
  433. package/dist/parsers/rules/_selectors.d.ts.map +1 -1
  434. package/dist/parsers/rules/_selectors.js +6 -0
  435. package/dist/parsers/rules/_selectors.js.map +1 -1
  436. package/dist/parsers/rules/_selectors.ts +6 -0
  437. package/dist/parsers/rules/apex-component.yml +49 -4
  438. package/dist/parsers/rules/apex-page.yml +49 -4
  439. package/dist/parsers/rules/approval-process.yml +25 -5
  440. package/dist/parsers/rules/custom-metadata-type.yml +7 -7
  441. package/dist/parsers/rules/custom-tab.yml +41 -0
  442. package/dist/parsers/rules/lightning-page.yml +4 -2
  443. package/dist/parsers/rules/workflow.yml +30 -10
  444. package/dist/parsers/vf/refs.d.ts +39 -0
  445. package/dist/parsers/vf/refs.d.ts.map +1 -0
  446. package/dist/parsers/vf/refs.js +152 -0
  447. package/dist/parsers/vf/refs.js.map +1 -0
  448. package/dist/parsers/vlocity/apex-resolver.d.ts +21 -0
  449. package/dist/parsers/vlocity/apex-resolver.d.ts.map +1 -0
  450. package/dist/parsers/vlocity/apex-resolver.js +115 -0
  451. package/dist/parsers/vlocity/apex-resolver.js.map +1 -0
  452. package/dist/parsers/vlocity/common.d.ts +56 -1
  453. package/dist/parsers/vlocity/common.d.ts.map +1 -1
  454. package/dist/parsers/vlocity/common.js +275 -7
  455. package/dist/parsers/vlocity/common.js.map +1 -1
  456. package/dist/parsers/vlocity/data-raptor.d.ts +9 -0
  457. package/dist/parsers/vlocity/data-raptor.d.ts.map +1 -1
  458. package/dist/parsers/vlocity/data-raptor.js +133 -31
  459. package/dist/parsers/vlocity/data-raptor.js.map +1 -1
  460. package/dist/parsers/vlocity/datapack-refs.d.ts +22 -0
  461. package/dist/parsers/vlocity/datapack-refs.d.ts.map +1 -0
  462. package/dist/parsers/vlocity/datapack-refs.js +126 -0
  463. package/dist/parsers/vlocity/datapack-refs.js.map +1 -0
  464. package/dist/parsers/vlocity/dr-relationship-resolver.d.ts +26 -0
  465. package/dist/parsers/vlocity/dr-relationship-resolver.d.ts.map +1 -0
  466. package/dist/parsers/vlocity/dr-relationship-resolver.js +137 -0
  467. package/dist/parsers/vlocity/dr-relationship-resolver.js.map +1 -0
  468. package/dist/parsers/vlocity/integration-procedure.d.ts.map +1 -1
  469. package/dist/parsers/vlocity/integration-procedure.js +15 -48
  470. package/dist/parsers/vlocity/integration-procedure.js.map +1 -1
  471. package/dist/parsers/vlocity/name-match-resolver.d.ts +21 -0
  472. package/dist/parsers/vlocity/name-match-resolver.d.ts.map +1 -0
  473. package/dist/parsers/vlocity/name-match-resolver.js +97 -0
  474. package/dist/parsers/vlocity/name-match-resolver.js.map +1 -0
  475. package/dist/parsers/vlocity/omni-script.d.ts.map +1 -1
  476. package/dist/parsers/vlocity/omni-script.js +18 -32
  477. package/dist/parsers/vlocity/omni-script.js.map +1 -1
  478. package/dist/parsers/vlocity/vlocity-card.d.ts.map +1 -1
  479. package/dist/parsers/vlocity/vlocity-card.js +30 -36
  480. package/dist/parsers/vlocity/vlocity-card.js.map +1 -1
  481. package/dist/render/mermaid/dependency-graph.d.ts.map +1 -1
  482. package/dist/render/mermaid/dependency-graph.js +13 -1
  483. package/dist/render/mermaid/dependency-graph.js.map +1 -1
  484. package/dist/render/mermaid/diff.d.ts.map +1 -1
  485. package/dist/render/mermaid/diff.js +4 -2
  486. package/dist/render/mermaid/diff.js.map +1 -1
  487. package/dist/render/mermaid/shared.d.ts +7 -0
  488. package/dist/render/mermaid/shared.d.ts.map +1 -1
  489. package/dist/render/mermaid/shared.js +15 -6
  490. package/dist/render/mermaid/shared.js.map +1 -1
  491. package/dist/storage/index.d.ts +3 -3
  492. package/dist/storage/index.d.ts.map +1 -1
  493. package/dist/storage/index.js +2 -2
  494. package/dist/storage/index.js.map +1 -1
  495. package/dist/storage/interfaces.d.ts +155 -1
  496. package/dist/storage/interfaces.d.ts.map +1 -1
  497. package/dist/storage/sqlite/graph-store.d.ts +352 -3
  498. package/dist/storage/sqlite/graph-store.d.ts.map +1 -1
  499. package/dist/storage/sqlite/graph-store.js +1683 -74
  500. package/dist/storage/sqlite/graph-store.js.map +1 -1
  501. package/dist/storage/sqlite/migrations.d.ts +11 -0
  502. package/dist/storage/sqlite/migrations.d.ts.map +1 -1
  503. package/dist/storage/sqlite/migrations.js +226 -11
  504. package/dist/storage/sqlite/migrations.js.map +1 -1
  505. package/dist/storage/sqlite/snapshot-store.d.ts +79 -3
  506. package/dist/storage/sqlite/snapshot-store.d.ts.map +1 -1
  507. package/dist/storage/sqlite/snapshot-store.js +500 -100
  508. package/dist/storage/sqlite/snapshot-store.js.map +1 -1
  509. package/dist/storage/sqlite/snapshot-versions.d.ts +51 -0
  510. package/dist/storage/sqlite/snapshot-versions.d.ts.map +1 -0
  511. package/dist/storage/sqlite/snapshot-versions.js +209 -0
  512. package/dist/storage/sqlite/snapshot-versions.js.map +1 -0
  513. package/dist/storage/sqlite/vector-store.d.ts +12 -0
  514. package/dist/storage/sqlite/vector-store.d.ts.map +1 -1
  515. package/dist/storage/sqlite/vector-store.js +57 -14
  516. package/dist/storage/sqlite/vector-store.js.map +1 -1
  517. package/dist/util/process-owner.d.ts +35 -0
  518. package/dist/util/process-owner.d.ts.map +1 -0
  519. package/dist/util/process-owner.js +87 -0
  520. package/dist/util/process-owner.js.map +1 -0
  521. package/dist/util/worker-heap-cap.d.ts +10 -0
  522. package/dist/util/worker-heap-cap.d.ts.map +1 -0
  523. package/dist/util/worker-heap-cap.js +65 -0
  524. package/dist/util/worker-heap-cap.js.map +1 -0
  525. package/package.json +6 -7
  526. package/dist/analyze/__tests__/audit-graph.test.d.ts +0 -2
  527. package/dist/analyze/__tests__/audit-graph.test.d.ts.map +0 -1
  528. package/dist/analyze/__tests__/audit-graph.test.js +0 -201
  529. package/dist/analyze/__tests__/audit-graph.test.js.map +0 -1
  530. package/dist/analyze/__tests__/cross-org-two-store.test.d.ts +0 -2
  531. package/dist/analyze/__tests__/cross-org-two-store.test.d.ts.map +0 -1
  532. package/dist/analyze/__tests__/cross-org-two-store.test.js +0 -68
  533. package/dist/analyze/__tests__/cross-org-two-store.test.js.map +0 -1
  534. package/dist/analyze/__tests__/dead-code-confidence.test.d.ts +0 -2
  535. package/dist/analyze/__tests__/dead-code-confidence.test.d.ts.map +0 -1
  536. package/dist/analyze/__tests__/dead-code-confidence.test.js +0 -66
  537. package/dist/analyze/__tests__/dead-code-confidence.test.js.map +0 -1
  538. package/dist/analyze/__tests__/deployment-manifest.test.d.ts +0 -2
  539. package/dist/analyze/__tests__/deployment-manifest.test.d.ts.map +0 -1
  540. package/dist/analyze/__tests__/deployment-manifest.test.js +0 -66
  541. package/dist/analyze/__tests__/deployment-manifest.test.js.map +0 -1
  542. package/dist/analyze/__tests__/edge-filters.test.d.ts +0 -2
  543. package/dist/analyze/__tests__/edge-filters.test.d.ts.map +0 -1
  544. package/dist/analyze/__tests__/edge-filters.test.js +0 -66
  545. package/dist/analyze/__tests__/edge-filters.test.js.map +0 -1
  546. package/dist/analyze/__tests__/find-nodes.test.d.ts +0 -2
  547. package/dist/analyze/__tests__/find-nodes.test.d.ts.map +0 -1
  548. package/dist/analyze/__tests__/find-nodes.test.js +0 -129
  549. package/dist/analyze/__tests__/find-nodes.test.js.map +0 -1
  550. package/dist/analyze/__tests__/findings.test.d.ts +0 -2
  551. package/dist/analyze/__tests__/findings.test.d.ts.map +0 -1
  552. package/dist/analyze/__tests__/findings.test.js +0 -100
  553. package/dist/analyze/__tests__/findings.test.js.map +0 -1
  554. package/dist/analyze/__tests__/governor-risks-detection.test.d.ts +0 -2
  555. package/dist/analyze/__tests__/governor-risks-detection.test.d.ts.map +0 -1
  556. package/dist/analyze/__tests__/governor-risks-detection.test.js +0 -160
  557. package/dist/analyze/__tests__/governor-risks-detection.test.js.map +0 -1
  558. package/dist/analyze/__tests__/populate.test.d.ts +0 -2
  559. package/dist/analyze/__tests__/populate.test.d.ts.map +0 -1
  560. package/dist/analyze/__tests__/populate.test.js +0 -129
  561. package/dist/analyze/__tests__/populate.test.js.map +0 -1
  562. package/dist/analyze/__tests__/security-fls-filter.test.d.ts +0 -2
  563. package/dist/analyze/__tests__/security-fls-filter.test.d.ts.map +0 -1
  564. package/dist/analyze/__tests__/security-fls-filter.test.js +0 -23
  565. package/dist/analyze/__tests__/security-fls-filter.test.js.map +0 -1
  566. package/dist/analyze/__tests__/traversal-caps.test.d.ts +0 -2
  567. package/dist/analyze/__tests__/traversal-caps.test.d.ts.map +0 -1
  568. package/dist/analyze/__tests__/traversal-caps.test.js +0 -129
  569. package/dist/analyze/__tests__/traversal-caps.test.js.map +0 -1
  570. package/dist/analyze/__tests__/wip-impact.test.d.ts +0 -2
  571. package/dist/analyze/__tests__/wip-impact.test.d.ts.map +0 -1
  572. package/dist/analyze/__tests__/wip-impact.test.js +0 -134
  573. package/dist/analyze/__tests__/wip-impact.test.js.map +0 -1
  574. package/dist/embedding/__tests__/embed.test.d.ts +0 -2
  575. package/dist/embedding/__tests__/embed.test.d.ts.map +0 -1
  576. package/dist/embedding/__tests__/embed.test.js +0 -72
  577. package/dist/embedding/__tests__/embed.test.js.map +0 -1
  578. package/dist/embedding/__tests__/queue.test.d.ts +0 -2
  579. package/dist/embedding/__tests__/queue.test.d.ts.map +0 -1
  580. package/dist/embedding/__tests__/queue.test.js +0 -64
  581. package/dist/embedding/__tests__/queue.test.js.map +0 -1
  582. package/dist/extractors/__tests__/network-egress.test.d.ts +0 -2
  583. package/dist/extractors/__tests__/network-egress.test.d.ts.map +0 -1
  584. package/dist/extractors/__tests__/network-egress.test.js +0 -32
  585. package/dist/extractors/__tests__/network-egress.test.js.map +0 -1
  586. package/dist/extractors/filesystem/__tests__/filesystem.test.d.ts +0 -2
  587. package/dist/extractors/filesystem/__tests__/filesystem.test.d.ts.map +0 -1
  588. package/dist/extractors/filesystem/__tests__/filesystem.test.js +0 -96
  589. package/dist/extractors/filesystem/__tests__/filesystem.test.js.map +0 -1
  590. package/dist/extractors/live-org/__tests__/_jsforce-mock.d.ts +0 -38
  591. package/dist/extractors/live-org/__tests__/_jsforce-mock.d.ts.map +0 -1
  592. package/dist/extractors/live-org/__tests__/_jsforce-mock.js +0 -96
  593. package/dist/extractors/live-org/__tests__/_jsforce-mock.js.map +0 -1
  594. package/dist/extractors/live-org/__tests__/auth.test.d.ts +0 -2
  595. package/dist/extractors/live-org/__tests__/auth.test.d.ts.map +0 -1
  596. package/dist/extractors/live-org/__tests__/auth.test.js +0 -85
  597. package/dist/extractors/live-org/__tests__/auth.test.js.map +0 -1
  598. package/dist/extractors/live-org/__tests__/bulk-retrieve.test.d.ts +0 -2
  599. package/dist/extractors/live-org/__tests__/bulk-retrieve.test.d.ts.map +0 -1
  600. package/dist/extractors/live-org/__tests__/bulk-retrieve.test.js +0 -150
  601. package/dist/extractors/live-org/__tests__/bulk-retrieve.test.js.map +0 -1
  602. package/dist/extractors/live-org/__tests__/capabilities.test.d.ts +0 -2
  603. package/dist/extractors/live-org/__tests__/capabilities.test.d.ts.map +0 -1
  604. package/dist/extractors/live-org/__tests__/capabilities.test.js +0 -54
  605. package/dist/extractors/live-org/__tests__/capabilities.test.js.map +0 -1
  606. package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts +0 -2
  607. package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts.map +0 -1
  608. package/dist/extractors/live-org/__tests__/custom-settings.test.js +0 -79
  609. package/dist/extractors/live-org/__tests__/custom-settings.test.js.map +0 -1
  610. package/dist/extractors/live-org/__tests__/discovery.test.d.ts +0 -2
  611. package/dist/extractors/live-org/__tests__/discovery.test.d.ts.map +0 -1
  612. package/dist/extractors/live-org/__tests__/discovery.test.js +0 -55
  613. package/dist/extractors/live-org/__tests__/discovery.test.js.map +0 -1
  614. package/dist/extractors/live-org/__tests__/dispatch.test.d.ts +0 -2
  615. package/dist/extractors/live-org/__tests__/dispatch.test.d.ts.map +0 -1
  616. package/dist/extractors/live-org/__tests__/dispatch.test.js +0 -68
  617. package/dist/extractors/live-org/__tests__/dispatch.test.js.map +0 -1
  618. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.d.ts +0 -2
  619. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.d.ts.map +0 -1
  620. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js +0 -374
  621. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js.map +0 -1
  622. package/dist/extractors/live-org/__tests__/liveness.test.d.ts +0 -2
  623. package/dist/extractors/live-org/__tests__/liveness.test.d.ts.map +0 -1
  624. package/dist/extractors/live-org/__tests__/liveness.test.js +0 -148
  625. package/dist/extractors/live-org/__tests__/liveness.test.js.map +0 -1
  626. package/dist/extractors/live-org/__tests__/mcd-baseline.test.d.ts +0 -2
  627. package/dist/extractors/live-org/__tests__/mcd-baseline.test.d.ts.map +0 -1
  628. package/dist/extractors/live-org/__tests__/mcd-baseline.test.js +0 -177
  629. package/dist/extractors/live-org/__tests__/mcd-baseline.test.js.map +0 -1
  630. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.d.ts +0 -2
  631. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.d.ts.map +0 -1
  632. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js +0 -75
  633. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js.map +0 -1
  634. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.d.ts +0 -2
  635. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.d.ts.map +0 -1
  636. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js +0 -135
  637. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js.map +0 -1
  638. package/dist/extractors/live-org/__tests__/pools.test.d.ts +0 -2
  639. package/dist/extractors/live-org/__tests__/pools.test.d.ts.map +0 -1
  640. package/dist/extractors/live-org/__tests__/pools.test.js +0 -78
  641. package/dist/extractors/live-org/__tests__/pools.test.js.map +0 -1
  642. package/dist/extractors/live-org/__tests__/rate-limit.test.d.ts +0 -2
  643. package/dist/extractors/live-org/__tests__/rate-limit.test.d.ts.map +0 -1
  644. package/dist/extractors/live-org/__tests__/rate-limit.test.js +0 -73
  645. package/dist/extractors/live-org/__tests__/rate-limit.test.js.map +0 -1
  646. package/dist/extractors/live-org/__tests__/read-only-proxy.test.d.ts +0 -2
  647. package/dist/extractors/live-org/__tests__/read-only-proxy.test.d.ts.map +0 -1
  648. package/dist/extractors/live-org/__tests__/read-only-proxy.test.js +0 -376
  649. package/dist/extractors/live-org/__tests__/read-only-proxy.test.js.map +0 -1
  650. package/dist/extractors/live-org/__tests__/soql-rebatch.test.d.ts +0 -2
  651. package/dist/extractors/live-org/__tests__/soql-rebatch.test.d.ts.map +0 -1
  652. package/dist/extractors/live-org/__tests__/soql-rebatch.test.js +0 -118
  653. package/dist/extractors/live-org/__tests__/soql-rebatch.test.js.map +0 -1
  654. package/dist/extractors/live-org/__tests__/source-member.test.d.ts +0 -2
  655. package/dist/extractors/live-org/__tests__/source-member.test.d.ts.map +0 -1
  656. package/dist/extractors/live-org/__tests__/source-member.test.js +0 -84
  657. package/dist/extractors/live-org/__tests__/source-member.test.js.map +0 -1
  658. package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts +0 -2
  659. package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts.map +0 -1
  660. package/dist/extractors/live-org/__tests__/stop-waiting.test.js +0 -243
  661. package/dist/extractors/live-org/__tests__/stop-waiting.test.js.map +0 -1
  662. package/dist/extractors/live-org/__tests__/vlocity-runner.test.d.ts +0 -2
  663. package/dist/extractors/live-org/__tests__/vlocity-runner.test.d.ts.map +0 -1
  664. package/dist/extractors/live-org/__tests__/vlocity-runner.test.js +0 -115
  665. package/dist/extractors/live-org/__tests__/vlocity-runner.test.js.map +0 -1
  666. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts +0 -2
  667. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts.map +0 -1
  668. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js +0 -40
  669. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js.map +0 -1
  670. package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts +0 -2
  671. package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts.map +0 -1
  672. package/dist/extractors/live-org/__tests__/wedge-isolation.test.js +0 -270
  673. package/dist/extractors/live-org/__tests__/wedge-isolation.test.js.map +0 -1
  674. package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts +0 -2
  675. package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts.map +0 -1
  676. package/dist/extractors/live-org/extractors/__tests__/apex.test.js +0 -73
  677. package/dist/extractors/live-org/extractors/__tests__/apex.test.js.map +0 -1
  678. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts +0 -2
  679. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts.map +0 -1
  680. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js +0 -183
  681. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js.map +0 -1
  682. package/dist/ingest/__tests__/config-values.test.d.ts +0 -2
  683. package/dist/ingest/__tests__/config-values.test.d.ts.map +0 -1
  684. package/dist/ingest/__tests__/config-values.test.js +0 -65
  685. package/dist/ingest/__tests__/config-values.test.js.map +0 -1
  686. package/dist/ingest/__tests__/full-sync-deletion.test.d.ts +0 -2
  687. package/dist/ingest/__tests__/full-sync-deletion.test.d.ts.map +0 -1
  688. package/dist/ingest/__tests__/full-sync-deletion.test.js +0 -207
  689. package/dist/ingest/__tests__/full-sync-deletion.test.js.map +0 -1
  690. package/dist/ingest/__tests__/incremental-deletion.test.d.ts +0 -2
  691. package/dist/ingest/__tests__/incremental-deletion.test.d.ts.map +0 -1
  692. package/dist/ingest/__tests__/incremental-deletion.test.js +0 -92
  693. package/dist/ingest/__tests__/incremental-deletion.test.js.map +0 -1
  694. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts +0 -10
  695. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts.map +0 -1
  696. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js +0 -251
  697. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js.map +0 -1
  698. package/dist/ingest/__tests__/live-ingest.test.d.ts +0 -2
  699. package/dist/ingest/__tests__/live-ingest.test.d.ts.map +0 -1
  700. package/dist/ingest/__tests__/live-ingest.test.js +0 -155
  701. package/dist/ingest/__tests__/live-ingest.test.js.map +0 -1
  702. package/dist/ingest/__tests__/multi-org-orchestrator.test.d.ts +0 -2
  703. package/dist/ingest/__tests__/multi-org-orchestrator.test.d.ts.map +0 -1
  704. package/dist/ingest/__tests__/multi-org-orchestrator.test.js +0 -108
  705. package/dist/ingest/__tests__/multi-org-orchestrator.test.js.map +0 -1
  706. package/dist/ingest/__tests__/parser-dispatch.test.d.ts +0 -2
  707. package/dist/ingest/__tests__/parser-dispatch.test.d.ts.map +0 -1
  708. package/dist/ingest/__tests__/parser-dispatch.test.js +0 -55
  709. package/dist/ingest/__tests__/parser-dispatch.test.js.map +0 -1
  710. package/dist/ingest/__tests__/read-only-wrapping.test.d.ts +0 -2
  711. package/dist/ingest/__tests__/read-only-wrapping.test.d.ts.map +0 -1
  712. package/dist/ingest/__tests__/read-only-wrapping.test.js +0 -62
  713. package/dist/ingest/__tests__/read-only-wrapping.test.js.map +0 -1
  714. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts +0 -2
  715. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts.map +0 -1
  716. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js +0 -134
  717. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js.map +0 -1
  718. package/dist/parsers/__tests__/_harness.d.ts +0 -13
  719. package/dist/parsers/__tests__/_harness.d.ts.map +0 -1
  720. package/dist/parsers/__tests__/_harness.js +0 -84
  721. package/dist/parsers/__tests__/_harness.js.map +0 -1
  722. package/dist/parsers/__tests__/apex.golden.test.d.ts +0 -2
  723. package/dist/parsers/__tests__/apex.golden.test.d.ts.map +0 -1
  724. package/dist/parsers/__tests__/apex.golden.test.js +0 -28
  725. package/dist/parsers/__tests__/apex.golden.test.js.map +0 -1
  726. package/dist/parsers/__tests__/cross-flavor.test.d.ts +0 -2
  727. package/dist/parsers/__tests__/cross-flavor.test.d.ts.map +0 -1
  728. package/dist/parsers/__tests__/cross-flavor.test.js +0 -56
  729. package/dist/parsers/__tests__/cross-flavor.test.js.map +0 -1
  730. package/dist/parsers/__tests__/datatransform-structured.test.d.ts +0 -2
  731. package/dist/parsers/__tests__/datatransform-structured.test.d.ts.map +0 -1
  732. package/dist/parsers/__tests__/datatransform-structured.test.js +0 -147
  733. package/dist/parsers/__tests__/datatransform-structured.test.js.map +0 -1
  734. package/dist/parsers/__tests__/edge-provenance.test.d.ts +0 -2
  735. package/dist/parsers/__tests__/edge-provenance.test.d.ts.map +0 -1
  736. package/dist/parsers/__tests__/edge-provenance.test.js +0 -47
  737. package/dist/parsers/__tests__/edge-provenance.test.js.map +0 -1
  738. package/dist/parsers/__tests__/flow.golden.test.d.ts +0 -2
  739. package/dist/parsers/__tests__/flow.golden.test.d.ts.map +0 -1
  740. package/dist/parsers/__tests__/flow.golden.test.js +0 -17
  741. package/dist/parsers/__tests__/flow.golden.test.js.map +0 -1
  742. package/dist/parsers/__tests__/integration.golden.test.d.ts +0 -2
  743. package/dist/parsers/__tests__/integration.golden.test.d.ts.map +0 -1
  744. package/dist/parsers/__tests__/integration.golden.test.js +0 -31
  745. package/dist/parsers/__tests__/integration.golden.test.js.map +0 -1
  746. package/dist/parsers/__tests__/long-tail.golden.test.d.ts +0 -2
  747. package/dist/parsers/__tests__/long-tail.golden.test.d.ts.map +0 -1
  748. package/dist/parsers/__tests__/long-tail.golden.test.js +0 -115
  749. package/dist/parsers/__tests__/long-tail.golden.test.js.map +0 -1
  750. package/dist/parsers/__tests__/lwc-bindings.test.d.ts +0 -2
  751. package/dist/parsers/__tests__/lwc-bindings.test.d.ts.map +0 -1
  752. package/dist/parsers/__tests__/lwc-bindings.test.js +0 -149
  753. package/dist/parsers/__tests__/lwc-bindings.test.js.map +0 -1
  754. package/dist/parsers/__tests__/lwc.golden.test.d.ts +0 -2
  755. package/dist/parsers/__tests__/lwc.golden.test.d.ts.map +0 -1
  756. package/dist/parsers/__tests__/lwc.golden.test.js +0 -16
  757. package/dist/parsers/__tests__/lwc.golden.test.js.map +0 -1
  758. package/dist/parsers/__tests__/mcd-gap-fills.test.d.ts +0 -2
  759. package/dist/parsers/__tests__/mcd-gap-fills.test.d.ts.map +0 -1
  760. package/dist/parsers/__tests__/mcd-gap-fills.test.js +0 -75
  761. package/dist/parsers/__tests__/mcd-gap-fills.test.js.map +0 -1
  762. package/dist/parsers/__tests__/object-inline-fields.test.d.ts +0 -2
  763. package/dist/parsers/__tests__/object-inline-fields.test.d.ts.map +0 -1
  764. package/dist/parsers/__tests__/object-inline-fields.test.js +0 -115
  765. package/dist/parsers/__tests__/object-inline-fields.test.js.map +0 -1
  766. package/dist/parsers/__tests__/object.golden.test.d.ts +0 -2
  767. package/dist/parsers/__tests__/object.golden.test.d.ts.map +0 -1
  768. package/dist/parsers/__tests__/object.golden.test.js +0 -33
  769. package/dist/parsers/__tests__/object.golden.test.js.map +0 -1
  770. package/dist/parsers/__tests__/omnistudio-overlap.test.d.ts +0 -2
  771. package/dist/parsers/__tests__/omnistudio-overlap.test.d.ts.map +0 -1
  772. package/dist/parsers/__tests__/omnistudio-overlap.test.js +0 -163
  773. package/dist/parsers/__tests__/omnistudio-overlap.test.js.map +0 -1
  774. package/dist/parsers/__tests__/omnistudio.golden.test.d.ts +0 -2
  775. package/dist/parsers/__tests__/omnistudio.golden.test.d.ts.map +0 -1
  776. package/dist/parsers/__tests__/omnistudio.golden.test.js +0 -53
  777. package/dist/parsers/__tests__/omnistudio.golden.test.js.map +0 -1
  778. package/dist/parsers/__tests__/reflection-walker.test.d.ts +0 -2
  779. package/dist/parsers/__tests__/reflection-walker.test.d.ts.map +0 -1
  780. package/dist/parsers/__tests__/reflection-walker.test.js +0 -162
  781. package/dist/parsers/__tests__/reflection-walker.test.js.map +0 -1
  782. package/dist/parsers/__tests__/registry.test.d.ts +0 -2
  783. package/dist/parsers/__tests__/registry.test.d.ts.map +0 -1
  784. package/dist/parsers/__tests__/registry.test.js +0 -23
  785. package/dist/parsers/__tests__/registry.test.js.map +0 -1
  786. package/dist/parsers/__tests__/security.golden.test.d.ts +0 -2
  787. package/dist/parsers/__tests__/security.golden.test.d.ts.map +0 -1
  788. package/dist/parsers/__tests__/security.golden.test.js +0 -31
  789. package/dist/parsers/__tests__/security.golden.test.js.map +0 -1
  790. package/dist/parsers/__tests__/vlocity.golden.test.d.ts +0 -2
  791. package/dist/parsers/__tests__/vlocity.golden.test.d.ts.map +0 -1
  792. package/dist/parsers/__tests__/vlocity.golden.test.js +0 -105
  793. package/dist/parsers/__tests__/vlocity.golden.test.js.map +0 -1
  794. package/dist/parsers/__tests__/worker-pool.test.d.ts +0 -2
  795. package/dist/parsers/__tests__/worker-pool.test.d.ts.map +0 -1
  796. package/dist/parsers/__tests__/worker-pool.test.js +0 -48
  797. package/dist/parsers/__tests__/worker-pool.test.js.map +0 -1
  798. package/dist/parsers/apex/__tests__/arity-resolver.test.d.ts +0 -2
  799. package/dist/parsers/apex/__tests__/arity-resolver.test.d.ts.map +0 -1
  800. package/dist/parsers/apex/__tests__/arity-resolver.test.js +0 -135
  801. package/dist/parsers/apex/__tests__/arity-resolver.test.js.map +0 -1
  802. package/dist/parsers/apex/__tests__/ast-extractor.test.d.ts +0 -2
  803. package/dist/parsers/apex/__tests__/ast-extractor.test.d.ts.map +0 -1
  804. package/dist/parsers/apex/__tests__/ast-extractor.test.js +0 -206
  805. package/dist/parsers/apex/__tests__/ast-extractor.test.js.map +0 -1
  806. package/dist/parsers/apex/__tests__/empty-body.test.d.ts +0 -2
  807. package/dist/parsers/apex/__tests__/empty-body.test.d.ts.map +0 -1
  808. package/dist/parsers/apex/__tests__/empty-body.test.js +0 -40
  809. package/dist/parsers/apex/__tests__/empty-body.test.js.map +0 -1
  810. package/dist/parsers/apex/__tests__/is-test-attribute.test.d.ts +0 -2
  811. package/dist/parsers/apex/__tests__/is-test-attribute.test.d.ts.map +0 -1
  812. package/dist/parsers/apex/__tests__/is-test-attribute.test.js +0 -56
  813. package/dist/parsers/apex/__tests__/is-test-attribute.test.js.map +0 -1
  814. package/dist/parsers/apex/__tests__/regex-arg-count.test.d.ts +0 -2
  815. package/dist/parsers/apex/__tests__/regex-arg-count.test.d.ts.map +0 -1
  816. package/dist/parsers/apex/__tests__/regex-arg-count.test.js +0 -82
  817. package/dist/parsers/apex/__tests__/regex-arg-count.test.js.map +0 -1
  818. package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts +0 -2
  819. package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts.map +0 -1
  820. package/dist/parsers/apex/__tests__/regex-inloop.test.js +0 -70
  821. package/dist/parsers/apex/__tests__/regex-inloop.test.js.map +0 -1
  822. package/dist/parsers/flow/__tests__/invocable-resolver.test.d.ts +0 -2
  823. package/dist/parsers/flow/__tests__/invocable-resolver.test.d.ts.map +0 -1
  824. package/dist/parsers/flow/__tests__/invocable-resolver.test.js +0 -91
  825. package/dist/parsers/flow/__tests__/invocable-resolver.test.js.map +0 -1
  826. package/dist/parsers/rules/__tests__/applies-to.test.d.ts +0 -2
  827. package/dist/parsers/rules/__tests__/applies-to.test.d.ts.map +0 -1
  828. package/dist/parsers/rules/__tests__/applies-to.test.js +0 -31
  829. package/dist/parsers/rules/__tests__/applies-to.test.js.map +0 -1
  830. package/dist/parsers/rules/__tests__/applies-to.test.ts +0 -40
  831. package/dist/parsers/rules/__tests__/engine.test.d.ts +0 -2
  832. package/dist/parsers/rules/__tests__/engine.test.d.ts.map +0 -1
  833. package/dist/parsers/rules/__tests__/engine.test.js +0 -127
  834. package/dist/parsers/rules/__tests__/engine.test.js.map +0 -1
  835. package/dist/parsers/rules/__tests__/engine.test.ts +0 -138
  836. package/dist/parsers/rules/__tests__/loader.test.d.ts +0 -2
  837. package/dist/parsers/rules/__tests__/loader.test.d.ts.map +0 -1
  838. package/dist/parsers/rules/__tests__/loader.test.js +0 -31
  839. package/dist/parsers/rules/__tests__/loader.test.js.map +0 -1
  840. package/dist/parsers/rules/__tests__/loader.test.ts +0 -37
  841. package/dist/parsers/rules/__tests__/schema.test.d.ts +0 -2
  842. package/dist/parsers/rules/__tests__/schema.test.d.ts.map +0 -1
  843. package/dist/parsers/rules/__tests__/schema.test.js +0 -33
  844. package/dist/parsers/rules/__tests__/schema.test.js.map +0 -1
  845. package/dist/parsers/rules/__tests__/schema.test.ts +0 -37
  846. package/dist/parsers/rules/__tests__/selectors.test.d.ts +0 -2
  847. package/dist/parsers/rules/__tests__/selectors.test.d.ts.map +0 -1
  848. package/dist/parsers/rules/__tests__/selectors.test.js +0 -51
  849. package/dist/parsers/rules/__tests__/selectors.test.js.map +0 -1
  850. package/dist/parsers/rules/__tests__/selectors.test.ts +0 -62
  851. package/dist/render/__tests__/sarif.test.d.ts +0 -2
  852. package/dist/render/__tests__/sarif.test.d.ts.map +0 -1
  853. package/dist/render/__tests__/sarif.test.js +0 -126
  854. package/dist/render/__tests__/sarif.test.js.map +0 -1
  855. package/dist/render/mermaid/__tests__/mermaid.test.d.ts +0 -2
  856. package/dist/render/mermaid/__tests__/mermaid.test.d.ts.map +0 -1
  857. package/dist/render/mermaid/__tests__/mermaid.test.js +0 -74
  858. package/dist/render/mermaid/__tests__/mermaid.test.js.map +0 -1
  859. package/dist/storage/__tests__/analysis-tables-migration.test.d.ts +0 -2
  860. package/dist/storage/__tests__/analysis-tables-migration.test.d.ts.map +0 -1
  861. package/dist/storage/__tests__/analysis-tables-migration.test.js +0 -44
  862. package/dist/storage/__tests__/analysis-tables-migration.test.js.map +0 -1
  863. package/dist/storage/__tests__/graph-store.test.d.ts +0 -2
  864. package/dist/storage/__tests__/graph-store.test.d.ts.map +0 -1
  865. package/dist/storage/__tests__/graph-store.test.js +0 -145
  866. package/dist/storage/__tests__/graph-store.test.js.map +0 -1
  867. package/dist/storage/__tests__/identifier.test.d.ts +0 -2
  868. package/dist/storage/__tests__/identifier.test.d.ts.map +0 -1
  869. package/dist/storage/__tests__/identifier.test.js +0 -35
  870. package/dist/storage/__tests__/identifier.test.js.map +0 -1
  871. package/dist/storage/__tests__/load-better-sqlite3.test.d.ts +0 -2
  872. package/dist/storage/__tests__/load-better-sqlite3.test.d.ts.map +0 -1
  873. package/dist/storage/__tests__/load-better-sqlite3.test.js +0 -65
  874. package/dist/storage/__tests__/load-better-sqlite3.test.js.map +0 -1
  875. package/dist/storage/__tests__/migrations.test.d.ts +0 -2
  876. package/dist/storage/__tests__/migrations.test.d.ts.map +0 -1
  877. package/dist/storage/__tests__/migrations.test.js +0 -93
  878. package/dist/storage/__tests__/migrations.test.js.map +0 -1
  879. package/dist/storage/__tests__/perf-50k.test.d.ts +0 -2
  880. package/dist/storage/__tests__/perf-50k.test.d.ts.map +0 -1
  881. package/dist/storage/__tests__/perf-50k.test.js +0 -67
  882. package/dist/storage/__tests__/perf-50k.test.js.map +0 -1
  883. package/dist/storage/__tests__/rename-stability.test.d.ts +0 -2
  884. package/dist/storage/__tests__/rename-stability.test.d.ts.map +0 -1
  885. package/dist/storage/__tests__/rename-stability.test.js +0 -135
  886. package/dist/storage/__tests__/rename-stability.test.js.map +0 -1
  887. package/dist/storage/__tests__/snapshot-store.test.d.ts +0 -2
  888. package/dist/storage/__tests__/snapshot-store.test.d.ts.map +0 -1
  889. package/dist/storage/__tests__/snapshot-store.test.js +0 -117
  890. package/dist/storage/__tests__/snapshot-store.test.js.map +0 -1
  891. package/dist/storage/__tests__/snippets.test.d.ts +0 -2
  892. package/dist/storage/__tests__/snippets.test.d.ts.map +0 -1
  893. package/dist/storage/__tests__/snippets.test.js +0 -88
  894. package/dist/storage/__tests__/snippets.test.js.map +0 -1
  895. package/dist/storage/__tests__/sync-generation.test.d.ts +0 -2
  896. package/dist/storage/__tests__/sync-generation.test.d.ts.map +0 -1
  897. package/dist/storage/__tests__/sync-generation.test.js +0 -159
  898. package/dist/storage/__tests__/sync-generation.test.js.map +0 -1
  899. package/dist/storage/__tests__/vector-store-load-failure.test.d.ts +0 -2
  900. package/dist/storage/__tests__/vector-store-load-failure.test.d.ts.map +0 -1
  901. package/dist/storage/__tests__/vector-store-load-failure.test.js +0 -42
  902. package/dist/storage/__tests__/vector-store-load-failure.test.js.map +0 -1
  903. package/dist/storage/__tests__/vector-store.test.d.ts +0 -2
  904. package/dist/storage/__tests__/vector-store.test.d.ts.map +0 -1
  905. package/dist/storage/__tests__/vector-store.test.js +0 -87
  906. package/dist/storage/__tests__/vector-store.test.js.map +0 -1
  907. package/dist/telemetry/__tests__/event-schema.test.d.ts +0 -2
  908. package/dist/telemetry/__tests__/event-schema.test.d.ts.map +0 -1
  909. package/dist/telemetry/__tests__/event-schema.test.js +0 -56
  910. package/dist/telemetry/__tests__/event-schema.test.js.map +0 -1
  911. package/dist/telemetry/__tests__/machine-id.test.d.ts +0 -2
  912. package/dist/telemetry/__tests__/machine-id.test.d.ts.map +0 -1
  913. package/dist/telemetry/__tests__/machine-id.test.js +0 -33
  914. package/dist/telemetry/__tests__/machine-id.test.js.map +0 -1
  915. package/dist/telemetry/__tests__/pipeline.test.d.ts +0 -2
  916. package/dist/telemetry/__tests__/pipeline.test.d.ts.map +0 -1
  917. package/dist/telemetry/__tests__/pipeline.test.js +0 -68
  918. package/dist/telemetry/__tests__/pipeline.test.js.map +0 -1
  919. package/dist/telemetry/__tests__/sanitizer.test.d.ts +0 -2
  920. package/dist/telemetry/__tests__/sanitizer.test.d.ts.map +0 -1
  921. package/dist/telemetry/__tests__/sanitizer.test.js +0 -143
  922. package/dist/telemetry/__tests__/sanitizer.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"audit-graph.js","sourceRoot":"","sources":["../../src/analyze/audit-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit-graph.js","sourceRoot":"","sources":["../../src/analyze/audit-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import type { OrgId } from "@ryanstark24/sfgraph-shared";
2
+ import type { GraphStore } from "../storage/interfaces.js";
3
+ /**
4
+ * Change scoping for the change tools (point_in_time_diff, what_broke): which
5
+ * node labels are *components* (units of code, declarative logic, schema or
6
+ * integration endpoints that a change can break or be broken by) and which are
7
+ * *records / configuration* (data rows, access and UI configuration, labels,
8
+ * diagnostics). Record/config rows are never dropped: the tools return them in
9
+ * a separate `nonComponent*` bucket and list them under their own heading.
10
+ *
11
+ * The split follows the label taxonomy of the parsers, not any case data:
12
+ * - every label a dedicated parser emits is listed below on one side, with
13
+ * the reason it is on that side;
14
+ * - every other label comes from the opaque fallback (`OpaqueNodeParser`),
15
+ * which labels a long-tail metadata member or a Vlocity DataPack record
16
+ * with its raw type name (EntityFilter, VlocityPicklist, ...). No such type
17
+ * has a parser of its own, so none is a parsed component: unknown labels are
18
+ * record/config (`changeScopeOfLabel`).
19
+ *
20
+ * Member labels (ApexMethod, FlowVersion, LWCBundle's LWC pairing) are
21
+ * components; they roll up to their owner (`changeUnitOf`).
22
+ */
23
+ export declare const COMPONENT_LABEL_REASONS: Readonly<Record<string, string>>;
24
+ export declare const RECORD_CONFIG_LABEL_REASONS: Readonly<Record<string, string>>;
25
+ export declare const COMPONENT_LABELS: ReadonlySet<string>;
26
+ /** Labels listed as record/config; any label not in COMPONENT_LABELS is too. */
27
+ export declare const RECORD_CONFIG_LABELS: ReadonlySet<string>;
28
+ export type ChangeScope = "component" | "record-config";
29
+ /** `component` for a COMPONENT_LABELS label, else `record-config` (listed
30
+ * record/config labels and every opaque-fallback label). */
31
+ export declare function changeScopeOfLabel(label: string): ChangeScope;
32
+ /**
33
+ * The component a qname folds into by name grammar alone, for rows that have
34
+ * no live containment edge (a removed member): an ApexMethod into its
35
+ * ApexClass, a FlowVersion into its Flow, an LWCBundle into its same-name
36
+ * LWC (the traversal rules of containment.ts). Else `qname` itself.
37
+ */
38
+ export declare function componentByName(qname: string): string;
39
+ /**
40
+ * The component unit of a changed row: containment edges first
41
+ * (`componentOf`), then the name grammar (`componentByName`) for a row with
42
+ * no live edge (removed) and for a bundle folding into its LWC.
43
+ */
44
+ export declare function changeUnitOf(store: GraphStore, orgId: OrgId, qname: string): string;
45
+ /** The change scope of a unit qname (by its label prefix). */
46
+ export declare function changeScopeOf(unit: string, fallbackLabel?: string): ChangeScope;
47
+ export interface ChangeBuckets {
48
+ added: string[];
49
+ removed: string[];
50
+ changed: string[];
51
+ }
52
+ export interface ScopedNodeDiff {
53
+ /** Component units (members rolled up), each list sorted by code point. */
54
+ component: ChangeBuckets;
55
+ /** Record/config units, same shape. */
56
+ nonComponent: ChangeBuckets;
57
+ }
58
+ /**
59
+ * A node-level diff folded to change units and split by change scope.
60
+ * A unit takes the bucket of its own row when that row is in the diff (a new
61
+ * class with its methods is `added`); a unit reached only through members (a
62
+ * method body or a FlowVersion changed, a method removed) existed before and
63
+ * after, so it is `changed`. Units are compared without case (qnames are
64
+ * NOCASE in the store) and keep the first spelling seen.
65
+ */
66
+ export declare function scopeNodeDiff(store: GraphStore, orgId: OrgId, diff: {
67
+ added: ReadonlyArray<{
68
+ qualifiedName: string;
69
+ label?: string;
70
+ }>;
71
+ removed: ReadonlyArray<{
72
+ qualifiedName: string;
73
+ label?: string;
74
+ }>;
75
+ changed: ReadonlyArray<{
76
+ after: {
77
+ qualifiedName: string;
78
+ label?: string;
79
+ };
80
+ }>;
81
+ }): ScopedNodeDiff;
82
+ //# sourceMappingURL=component-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-scope.d.ts","sourceRoot":"","sources":["../../src/analyze/component-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2CpE,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BxE,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAiD,CAAC;AAEnG,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAEpD,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;AAExD;6DAC6D;AAC7D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE7D;AAqBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnF;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW,CAE/E;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,SAAS,EAAE,aAAa,CAAC;IACzB,uCAAuC;IACvC,YAAY,EAAE,aAAa,CAAC;CAC7B;AAID;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE;IACJ,KAAK,EAAE,aAAa,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,OAAO,EAAE,aAAa,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,OAAO,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC9E,GACA,cAAc,CAyChB"}
@@ -0,0 +1,207 @@
1
+ import { TRAVERSAL_CONTAINMENT_RULES, componentOf } from "./containment.js";
2
+ import { codePointCompare } from "./pseudo-endpoints.js";
3
+ /**
4
+ * Change scoping for the change tools (point_in_time_diff, what_broke): which
5
+ * node labels are *components* (units of code, declarative logic, schema or
6
+ * integration endpoints that a change can break or be broken by) and which are
7
+ * *records / configuration* (data rows, access and UI configuration, labels,
8
+ * diagnostics). Record/config rows are never dropped: the tools return them in
9
+ * a separate `nonComponent*` bucket and list them under their own heading.
10
+ *
11
+ * The split follows the label taxonomy of the parsers, not any case data:
12
+ * - every label a dedicated parser emits is listed below on one side, with
13
+ * the reason it is on that side;
14
+ * - every other label comes from the opaque fallback (`OpaqueNodeParser`),
15
+ * which labels a long-tail metadata member or a Vlocity DataPack record
16
+ * with its raw type name (EntityFilter, VlocityPicklist, ...). No such type
17
+ * has a parser of its own, so none is a parsed component: unknown labels are
18
+ * record/config (`changeScopeOfLabel`).
19
+ *
20
+ * Member labels (ApexMethod, FlowVersion, LWCBundle's LWC pairing) are
21
+ * components; they roll up to their owner (`changeUnitOf`).
22
+ */
23
+ export const COMPONENT_LABEL_REASONS = {
24
+ // Code.
25
+ ApexClass: "Apex source code",
26
+ ApexTrigger: "Apex source code",
27
+ ApexInterface: "Apex source code (an interface type)",
28
+ ApexMethod: "member of an ApexClass (rolls up to the class)",
29
+ TestMethod: "member of a test ApexClass (rolls up to the class)",
30
+ ApexPage: "Visualforce page markup and controller binding",
31
+ ApexComponent: "Visualforce component markup",
32
+ LWC: "Lightning web component source",
33
+ LWCBundle: "the LWC's own bundle (folds into its same-name LWC)",
34
+ AuraComponent: "Aura component source",
35
+ // Declarative logic.
36
+ Flow: "declarative automation",
37
+ FlowVersion: "member of a Flow (rolls up to the Flow)",
38
+ Workflow: "declarative automation (workflow rules container)",
39
+ WorkflowRule: "declarative automation",
40
+ WorkflowAlert: "declarative automation action of a Workflow",
41
+ ApprovalProcess: "declarative automation",
42
+ ValidationRule: "declarative logic on an object (a formula)",
43
+ DuplicateRule: "declarative logic on an object",
44
+ MatchingRule: "declarative logic on an object",
45
+ GenAiPlanner: "agent logic definition",
46
+ GenAiPlugin: "agent logic definition",
47
+ // OmniStudio / Vlocity components (dedicated parsers).
48
+ OmniScript: "OmniStudio script (dedicated parser)",
49
+ IntegrationProcedure: "OmniStudio integration procedure (dedicated parser)",
50
+ DataRaptor: "OmniStudio data mapper (dedicated parser)",
51
+ VlocityCard: "OmniStudio card (dedicated parser)",
52
+ OmniProcess: "OmniStudio standard-runtime script/procedure (dedicated parser)",
53
+ OmniIntegrationProcedure: "OmniStudio standard-runtime procedure (dedicated parser)",
54
+ OmniDataTransform: "OmniStudio standard-runtime data mapper (dedicated parser)",
55
+ OmniUiCard: "OmniStudio standard-runtime card (dedicated parser)",
56
+ // Schema.
57
+ CustomObject: "schema: an object definition",
58
+ CustomField: "schema: a field definition",
59
+ CustomSetting: "schema: a custom setting type definition (not its records)",
60
+ CustomMetadataType: "schema: a custom metadata type definition (not its records)",
61
+ PlatformEvent: "schema: a platform event definition",
62
+ // Integration endpoints.
63
+ NamedCredential: "integration endpoint definition",
64
+ ExternalCredential: "integration endpoint authentication definition",
65
+ ExternalServiceRegistration: "integration endpoint (OpenAPI) definition",
66
+ };
67
+ export const RECORD_CONFIG_LABEL_REASONS = {
68
+ // Records (data rows, not definitions).
69
+ CustomMetadataRecord: "a record of a custom metadata type (data)",
70
+ // Access configuration.
71
+ Profile: "access configuration",
72
+ PermissionSet: "access configuration",
73
+ PermissionSetGroup: "access configuration",
74
+ SharingRule: "access configuration",
75
+ Role: "access configuration",
76
+ Group: "access configuration",
77
+ Queue: "access / routing configuration",
78
+ // UI configuration.
79
+ Layout: "UI configuration",
80
+ FlexiPage: "UI configuration",
81
+ CustomTab: "UI configuration",
82
+ RecordType: "UI / picklist configuration of an object (no logic, no schema of its own)",
83
+ Network: "site configuration",
84
+ // Content, analytics and setup.
85
+ CustomLabel: "translatable text",
86
+ StaticResource: "file asset (no parsed logic)",
87
+ EmailTemplate: "content",
88
+ Report: "analytics configuration",
89
+ Dashboard: "analytics configuration",
90
+ ConnectedApp: "authentication configuration",
91
+ RemoteSiteSetting: "endpoint allowlist entry",
92
+ // Diagnostics.
93
+ ParseError: "parser diagnostic, not metadata",
94
+ OpaqueMetadata: "opaque fallback node (no dedicated parser)",
95
+ };
96
+ export const COMPONENT_LABELS = new Set(Object.keys(COMPONENT_LABEL_REASONS));
97
+ /** Labels listed as record/config; any label not in COMPONENT_LABELS is too. */
98
+ export const RECORD_CONFIG_LABELS = new Set(Object.keys(RECORD_CONFIG_LABEL_REASONS));
99
+ /** `component` for a COMPONENT_LABELS label, else `record-config` (listed
100
+ * record/config labels and every opaque-fallback label). */
101
+ export function changeScopeOfLabel(label) {
102
+ return COMPONENT_LABELS.has(label) ? "component" : "record-config";
103
+ }
104
+ const labelOfQ = (q) => {
105
+ const i = q.indexOf(":");
106
+ return i > 0 ? q.slice(0, i) : "";
107
+ };
108
+ /** Owner name of a member name, by the member's qualified-name grammar. */
109
+ const OWNER_NAME_OF = {
110
+ // `ApexMethod:Cls.method(2)` (TestMethod nodes use the same qname form).
111
+ ApexMethod: (n) => {
112
+ const m = /^(.+)\.[^.()]+\(\d*\)$/.exec(n);
113
+ return m?.[1] ?? null;
114
+ },
115
+ // `FlowVersion:My_Flow.v12`.
116
+ FlowVersion: (n) => {
117
+ const m = /^(.+)\.v\d+$/.exec(n);
118
+ return m?.[1] ?? null;
119
+ },
120
+ };
121
+ /**
122
+ * The component a qname folds into by name grammar alone, for rows that have
123
+ * no live containment edge (a removed member): an ApexMethod into its
124
+ * ApexClass, a FlowVersion into its Flow, an LWCBundle into its same-name
125
+ * LWC (the traversal rules of containment.ts). Else `qname` itself.
126
+ */
127
+ export function componentByName(qname) {
128
+ const label = labelOfQ(qname);
129
+ const name = qname.slice(qname.indexOf(":") + 1);
130
+ for (const r of TRAVERSAL_CONTAINMENT_RULES) {
131
+ if (r.row !== "member" && r.memberLabel === label) {
132
+ const owner = OWNER_NAME_OF[label]?.(name);
133
+ if (owner)
134
+ return `${r.ownerLabel}:${owner}`;
135
+ }
136
+ if (r.row === "member" && r.sameName && r.ownerLabel === label) {
137
+ return `${r.memberLabel}:${name}`;
138
+ }
139
+ }
140
+ return qname;
141
+ }
142
+ /**
143
+ * The component unit of a changed row: containment edges first
144
+ * (`componentOf`), then the name grammar (`componentByName`) for a row with
145
+ * no live edge (removed) and for a bundle folding into its LWC.
146
+ */
147
+ export function changeUnitOf(store, orgId, qname) {
148
+ const viaEdges = String(componentOf(store, orgId, qname));
149
+ return viaEdges !== qname ? viaEdges : componentByName(qname);
150
+ }
151
+ /** The change scope of a unit qname (by its label prefix). */
152
+ export function changeScopeOf(unit, fallbackLabel) {
153
+ return changeScopeOfLabel(labelOfQ(unit) || fallbackLabel || "");
154
+ }
155
+ /**
156
+ * A node-level diff folded to change units and split by change scope.
157
+ * A unit takes the bucket of its own row when that row is in the diff (a new
158
+ * class with its methods is `added`); a unit reached only through members (a
159
+ * method body or a FlowVersion changed, a method removed) existed before and
160
+ * after, so it is `changed`. Units are compared without case (qnames are
161
+ * NOCASE in the store) and keep the first spelling seen.
162
+ */
163
+ export function scopeNodeDiff(store, orgId, diff) {
164
+ const rows = [
165
+ ...diff.added.map((x) => ({
166
+ q: String(x.qualifiedName),
167
+ label: x.label,
168
+ bucket: "added",
169
+ })),
170
+ ...diff.removed.map((x) => ({
171
+ q: String(x.qualifiedName),
172
+ label: x.label,
173
+ bucket: "removed",
174
+ })),
175
+ ...diff.changed.map((c) => ({
176
+ q: String(c.after.qualifiedName),
177
+ label: c.after.label,
178
+ bucket: "changed",
179
+ })),
180
+ ];
181
+ const ownBucket = new Map();
182
+ for (const r of rows)
183
+ ownBucket.set(r.q.toLowerCase(), r.bucket);
184
+ const units = new Map();
185
+ for (const r of rows) {
186
+ const unit = changeUnitOf(store, orgId, r.q);
187
+ const key = unit.toLowerCase();
188
+ if (!units.has(key))
189
+ units.set(key, { unit, label: unit === r.q ? r.label : undefined });
190
+ }
191
+ const out = {
192
+ component: { added: [], removed: [], changed: [] },
193
+ nonComponent: { added: [], removed: [], changed: [] },
194
+ };
195
+ for (const [key, { unit, label }] of units) {
196
+ const bucket = ownBucket.get(key) ?? "changed";
197
+ const side = changeScopeOf(unit, label) === "component" ? out.component : out.nonComponent;
198
+ side[bucket].push(unit);
199
+ }
200
+ for (const side of [out.component, out.nonComponent]) {
201
+ side.added.sort(codePointCompare);
202
+ side.removed.sort(codePointCompare);
203
+ side.changed.sort(codePointCompare);
204
+ }
205
+ return out;
206
+ }
207
+ //# sourceMappingURL=component-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-scope.js","sourceRoot":"","sources":["../../src/analyze/component-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { OrgId, QualifiedName } from "@ryanstark24/sfgraph-shared";
2
+ import { type RelType } from "../domain/index.js";
3
+ import type { GraphStore } from "../storage/interfaces.js";
4
+ /**
5
+ * Member containment: an owner node contains member nodes that are only
6
+ * addressable parts of it (an ApexClass contains its ApexMethods via
7
+ * `CONTAINS_METHOD`). Every analysis applies these rules:
8
+ *
9
+ * 1. A reference to a member is a reference to its owner. An LWC that
10
+ * imports `ApexMethod:Svc.search(1)` depends on `ApexClass:Svc`, and keeps
11
+ * the class alive in the dead-code audit.
12
+ * 2. The containment edge itself (owner -> member) is structure, not usage.
13
+ * 3. Rule 1 does not run backwards: a member depends on its own callers and
14
+ * on references to its owner itself (type usage, `new Svc()`, static refs
15
+ * to the class), never on the callers of its sibling members.
16
+ *
17
+ * Lookups query only the containment rel tables, never every edge table.
18
+ */
19
+ export declare const MEMBER_CONTAINMENT_RELTYPES: ReadonlyArray<RelType>;
20
+ /** True for an owner -> member containment edge. */
21
+ export declare function isMemberContainmentEdge(e: {
22
+ relType: unknown;
23
+ }): boolean;
24
+ /** Members `owner` contains (destinations of its member-containment edges). */
25
+ export declare function listMembers(store: GraphStore, orgId: OrgId, owner: QualifiedName): QualifiedName[];
26
+ /**
27
+ * `listMembers` for many owners from one read per containment rel type
28
+ * (`listEdgesFromAny`, NOCASE like listEdgesFrom), or per-owner reads when the
29
+ * store lacks it. Each owner gets the members its own `listMembers` would,
30
+ * in the same order.
31
+ */
32
+ export declare function membersReader(store: GraphStore, orgId: OrgId, owners: readonly QualifiedName[]): (owner: QualifiedName) => QualifiedName[];
33
+ /** The owner containing `member`, or null when it is not a member. */
34
+ export declare function ownerOf(store: GraphStore, orgId: OrgId, member: QualifiedName): QualifiedName | null;
35
+ /**
36
+ * Traversal containment (trace_*, wip_impact, flow map): an owner and its
37
+ * members are one component, so following containment costs no hop and the
38
+ * pair is listed as one row. Keyed on rel type AND both labels, so e.g.
39
+ * `Workflow -CONTAINS-> WorkflowAlert` is not folded.
40
+ *
41
+ * `row` says which side stands for the pair in a listing:
42
+ * - `both`: owner and members are listed (Apex: the class plus its methods,
43
+ * method rows being the class roll-up);
44
+ * - `owner`: members fold into the owner row (a Flow and every FlowVersion
45
+ * the graph holds for it; there is no active-version or status check, so
46
+ * a stale version the graph still holds is folded and traversed too);
47
+ * - `member`: the owner folds into the member row (an LWCBundle into its LWC).
48
+ *
49
+ * `memberScoped`: a member *seed* stays member-scoped upstream (rule 3 above);
50
+ * only ApexMethod has siblings to keep apart.
51
+ *
52
+ * `sameName`: the pair only counts when owner and member have the same name
53
+ * (an LWCBundle and its own LWC; mirrors dead-code `isOwnBundleEdge`).
54
+ *
55
+ * Rules never chain: no label is the member of one rule and the owner of
56
+ * another, so a fold is always one step.
57
+ */
58
+ export interface TraversalContainmentRule {
59
+ relType: RelType;
60
+ ownerLabel: string;
61
+ memberLabel: string;
62
+ row: "both" | "owner" | "member";
63
+ memberScoped: boolean;
64
+ sameName?: boolean;
65
+ }
66
+ export declare const TRAVERSAL_CONTAINMENT_RULES: ReadonlyArray<TraversalContainmentRule>;
67
+ /** The traversal containment rule `e` is an instance of, or null. */
68
+ export declare function traversalContainmentRule(e: {
69
+ relType: unknown;
70
+ srcQualifiedName: string;
71
+ dstQualifiedName: string;
72
+ }): TraversalContainmentRule | null;
73
+ /** Members of `owner` under the traversal rules (one indexed query at most). */
74
+ export declare function traversalMembers(store: GraphStore, orgId: OrgId, owner: QualifiedName): {
75
+ members: QualifiedName[];
76
+ rule: TraversalContainmentRule | null;
77
+ };
78
+ /** The owner of `member` under the traversal rules, or null. */
79
+ export declare function traversalOwner(store: GraphStore, orgId: OrgId, member: QualifiedName): {
80
+ owner: QualifiedName;
81
+ rule: TraversalContainmentRule;
82
+ } | null;
83
+ /**
84
+ * The component a qname belongs to, for component-level listings and
85
+ * coverage: a member folds into its owner (an ApexMethod into its ApexClass,
86
+ * a FlowVersion into its Flow) unless its rule lists the member as the row
87
+ * (`row: "member"`, an LWCBundle's LWC). Falls back to plain member
88
+ * containment for owners outside the traversal rules; else `qname` itself.
89
+ */
90
+ export declare function componentOf(store: GraphStore, orgId: OrgId, qname: QualifiedName): QualifiedName;
91
+ //# sourceMappingURL=containment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containment.d.ts","sourceRoot":"","sources":["../../src/analyze/containment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B,EAAE,aAAa,CAAC,OAAO,CAA+B,CAAC;AAI/F,oDAAoD;AACpD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAExE;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,GACnB,aAAa,EAAE,CAQjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,SAAS,aAAa,EAAE,GAC/B,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,EAAE,CAuB3C;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CACrB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,GACpB,aAAa,GAAG,IAAI,CAOtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,2BAA2B,EAAE,aAAa,CAAC,wBAAwB,CAuB/E,CAAC;AAUF,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,CAAC,EAAE;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,wBAAwB,GAAG,IAAI,CAelC;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,GACnB;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAAA;CAAE,CAmBrE;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,GACpB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,wBAAwB,CAAA;CAAE,GAAG,IAAI,CAkBjE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,CAIhG"}
@@ -0,0 +1,175 @@
1
+ import { REL_TYPES } from "../domain/index.js";
2
+ /**
3
+ * Member containment: an owner node contains member nodes that are only
4
+ * addressable parts of it (an ApexClass contains its ApexMethods via
5
+ * `CONTAINS_METHOD`). Every analysis applies these rules:
6
+ *
7
+ * 1. A reference to a member is a reference to its owner. An LWC that
8
+ * imports `ApexMethod:Svc.search(1)` depends on `ApexClass:Svc`, and keeps
9
+ * the class alive in the dead-code audit.
10
+ * 2. The containment edge itself (owner -> member) is structure, not usage.
11
+ * 3. Rule 1 does not run backwards: a member depends on its own callers and
12
+ * on references to its owner itself (type usage, `new Svc()`, static refs
13
+ * to the class), never on the callers of its sibling members.
14
+ *
15
+ * Lookups query only the containment rel tables, never every edge table.
16
+ */
17
+ export const MEMBER_CONTAINMENT_RELTYPES = [REL_TYPES.CONTAINS_METHOD];
18
+ const CONTAINMENT_SET = new Set(MEMBER_CONTAINMENT_RELTYPES);
19
+ /** True for an owner -> member containment edge. */
20
+ export function isMemberContainmentEdge(e) {
21
+ return CONTAINMENT_SET.has(String(e.relType));
22
+ }
23
+ /** Members `owner` contains (destinations of its member-containment edges). */
24
+ export function listMembers(store, orgId, owner) {
25
+ const out = [];
26
+ for (const rel of MEMBER_CONTAINMENT_RELTYPES) {
27
+ for (const e of store.listEdgesFrom(orgId, owner, rel)) {
28
+ if (e.dstQualifiedName !== owner)
29
+ out.push(e.dstQualifiedName);
30
+ }
31
+ }
32
+ return out;
33
+ }
34
+ /**
35
+ * `listMembers` for many owners from one read per containment rel type
36
+ * (`listEdgesFromAny`, NOCASE like listEdgesFrom), or per-owner reads when the
37
+ * store lacks it. Each owner gets the members its own `listMembers` would,
38
+ * in the same order.
39
+ */
40
+ export function membersReader(store, orgId, owners) {
41
+ if (typeof store.listEdgesFromAny !== "function") {
42
+ return (owner) => listMembers(store, orgId, owner);
43
+ }
44
+ const fold = (s) => s.replace(/[A-Z]/g, (c) => c.toLowerCase());
45
+ const uniq = new Set(owners.map(String));
46
+ const perRel = MEMBER_CONTAINMENT_RELTYPES.map((rel) => {
47
+ const bySrc = new Map();
48
+ for (const e of store.listEdgesFromAny?.(orgId, uniq, rel) ?? []) {
49
+ const k = fold(String(e.srcQualifiedName));
50
+ const list = bySrc.get(k);
51
+ if (list)
52
+ list.push(e.dstQualifiedName);
53
+ else
54
+ bySrc.set(k, [e.dstQualifiedName]);
55
+ }
56
+ return bySrc;
57
+ });
58
+ return (owner) => {
59
+ const out = [];
60
+ for (const bySrc of perRel) {
61
+ for (const dst of bySrc.get(fold(String(owner))) ?? [])
62
+ if (dst !== owner)
63
+ out.push(dst);
64
+ }
65
+ return out;
66
+ };
67
+ }
68
+ /** The owner containing `member`, or null when it is not a member. */
69
+ export function ownerOf(store, orgId, member) {
70
+ for (const rel of MEMBER_CONTAINMENT_RELTYPES) {
71
+ for (const e of store.listEdgesTo(orgId, member, rel)) {
72
+ if (e.srcQualifiedName !== member)
73
+ return e.srcQualifiedName;
74
+ }
75
+ }
76
+ return null;
77
+ }
78
+ export const TRAVERSAL_CONTAINMENT_RULES = [
79
+ {
80
+ relType: REL_TYPES.CONTAINS_METHOD,
81
+ ownerLabel: "ApexClass",
82
+ memberLabel: "ApexMethod",
83
+ row: "both",
84
+ memberScoped: true,
85
+ },
86
+ {
87
+ relType: REL_TYPES.CONTAINS,
88
+ ownerLabel: "Flow",
89
+ memberLabel: "FlowVersion",
90
+ row: "owner",
91
+ memberScoped: false,
92
+ },
93
+ {
94
+ relType: REL_TYPES.CONTAINS_COMPONENT,
95
+ ownerLabel: "LWCBundle",
96
+ memberLabel: "LWC",
97
+ row: "member",
98
+ memberScoped: false,
99
+ sameName: true,
100
+ },
101
+ ];
102
+ const labelOf = (q) => {
103
+ const i = q.indexOf(":");
104
+ return i > 0 ? q.slice(0, i) : "";
105
+ };
106
+ const nameOfQ = (q) => q.slice(q.indexOf(":") + 1);
107
+ const namesMatch = (r, owner, member) => !r.sameName || nameOfQ(owner) === nameOfQ(member);
108
+ /** The traversal containment rule `e` is an instance of, or null. */
109
+ export function traversalContainmentRule(e) {
110
+ const rel = String(e.relType);
111
+ const src = labelOf(e.srcQualifiedName);
112
+ const dst = labelOf(e.dstQualifiedName);
113
+ for (const r of TRAVERSAL_CONTAINMENT_RULES) {
114
+ if (r.relType === rel &&
115
+ r.ownerLabel === src &&
116
+ r.memberLabel === dst &&
117
+ namesMatch(r, e.srcQualifiedName, e.dstQualifiedName)) {
118
+ return r;
119
+ }
120
+ }
121
+ return null;
122
+ }
123
+ /** Members of `owner` under the traversal rules (one indexed query at most). */
124
+ export function traversalMembers(store, orgId, owner) {
125
+ const label = labelOf(owner);
126
+ for (const r of TRAVERSAL_CONTAINMENT_RULES) {
127
+ if (r.ownerLabel !== label)
128
+ continue;
129
+ const members = [];
130
+ for (const e of store.listEdgesFrom(orgId, owner, r.relType)) {
131
+ if (e.dstQualifiedName !== owner &&
132
+ labelOf(e.dstQualifiedName) === r.memberLabel &&
133
+ namesMatch(r, owner, e.dstQualifiedName)) {
134
+ members.push(e.dstQualifiedName);
135
+ }
136
+ }
137
+ // Sorted: edge listings have no ORDER BY (review M7).
138
+ members.sort();
139
+ return { members, rule: r };
140
+ }
141
+ return { members: [], rule: null };
142
+ }
143
+ /** The owner of `member` under the traversal rules, or null. */
144
+ export function traversalOwner(store, orgId, member) {
145
+ const label = labelOf(member);
146
+ for (const r of TRAVERSAL_CONTAINMENT_RULES) {
147
+ if (r.memberLabel !== label)
148
+ continue;
149
+ let owner = null;
150
+ for (const e of store.listEdgesTo(orgId, member, r.relType)) {
151
+ if (e.srcQualifiedName !== member &&
152
+ labelOf(e.srcQualifiedName) === r.ownerLabel &&
153
+ namesMatch(r, e.srcQualifiedName, member) &&
154
+ (owner === null || e.srcQualifiedName < owner)) {
155
+ owner = e.srcQualifiedName;
156
+ }
157
+ }
158
+ return owner === null ? null : { owner, rule: r };
159
+ }
160
+ return null;
161
+ }
162
+ /**
163
+ * The component a qname belongs to, for component-level listings and
164
+ * coverage: a member folds into its owner (an ApexMethod into its ApexClass,
165
+ * a FlowVersion into its Flow) unless its rule lists the member as the row
166
+ * (`row: "member"`, an LWCBundle's LWC). Falls back to plain member
167
+ * containment for owners outside the traversal rules; else `qname` itself.
168
+ */
169
+ export function componentOf(store, orgId, qname) {
170
+ const t = traversalOwner(store, orgId, qname);
171
+ if (t)
172
+ return t.rule.row === "member" ? qname : t.owner;
173
+ return ownerOf(store, orgId, qname) ?? qname;
174
+ }
175
+ //# sourceMappingURL=containment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containment.js","sourceRoot":"","sources":["../../src/analyze/containment.ts"],"names":[],"mappings":"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"}