@ryanstark24/sfgraph-core 1.1.8 → 1.4.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 (346) hide show
  1. package/dist/analyze/__tests__/audit-graph.test.js +79 -0
  2. package/dist/analyze/__tests__/audit-graph.test.js.map +1 -1
  3. package/dist/analyze/__tests__/edge-filters.test.d.ts +2 -0
  4. package/dist/analyze/__tests__/edge-filters.test.d.ts.map +1 -0
  5. package/dist/analyze/__tests__/edge-filters.test.js +66 -0
  6. package/dist/analyze/__tests__/edge-filters.test.js.map +1 -0
  7. package/dist/analyze/__tests__/find-nodes.test.d.ts +2 -0
  8. package/dist/analyze/__tests__/find-nodes.test.d.ts.map +1 -0
  9. package/dist/analyze/__tests__/find-nodes.test.js +129 -0
  10. package/dist/analyze/__tests__/find-nodes.test.js.map +1 -0
  11. package/dist/analyze/__tests__/findings.test.d.ts +2 -0
  12. package/dist/analyze/__tests__/findings.test.d.ts.map +1 -0
  13. package/dist/analyze/__tests__/findings.test.js +100 -0
  14. package/dist/analyze/__tests__/findings.test.js.map +1 -0
  15. package/dist/analyze/__tests__/governor-risks-detection.test.js +90 -0
  16. package/dist/analyze/__tests__/governor-risks-detection.test.js.map +1 -1
  17. package/dist/analyze/__tests__/security-fls-filter.test.d.ts +2 -0
  18. package/dist/analyze/__tests__/security-fls-filter.test.d.ts.map +1 -0
  19. package/dist/analyze/__tests__/security-fls-filter.test.js +23 -0
  20. package/dist/analyze/__tests__/security-fls-filter.test.js.map +1 -0
  21. package/dist/analyze/audit-graph.d.ts +26 -2
  22. package/dist/analyze/audit-graph.d.ts.map +1 -1
  23. package/dist/analyze/audit-graph.js +52 -5
  24. package/dist/analyze/audit-graph.js.map +1 -1
  25. package/dist/analyze/dependencies.d.ts +2 -2
  26. package/dist/analyze/dependencies.d.ts.map +1 -1
  27. package/dist/analyze/dependencies.js +9 -3
  28. package/dist/analyze/dependencies.js.map +1 -1
  29. package/dist/analyze/dependents.d.ts +6 -1
  30. package/dist/analyze/dependents.d.ts.map +1 -1
  31. package/dist/analyze/dependents.js +12 -2
  32. package/dist/analyze/dependents.js.map +1 -1
  33. package/dist/analyze/edge-filters.d.ts +37 -0
  34. package/dist/analyze/edge-filters.d.ts.map +1 -0
  35. package/dist/analyze/edge-filters.js +51 -0
  36. package/dist/analyze/edge-filters.js.map +1 -0
  37. package/dist/analyze/find-nodes.d.ts +38 -0
  38. package/dist/analyze/find-nodes.d.ts.map +1 -0
  39. package/dist/analyze/find-nodes.js +51 -0
  40. package/dist/analyze/find-nodes.js.map +1 -0
  41. package/dist/analyze/findings.d.ts +86 -0
  42. package/dist/analyze/findings.d.ts.map +1 -0
  43. package/dist/analyze/findings.js +141 -0
  44. package/dist/analyze/findings.js.map +1 -0
  45. package/dist/analyze/index.d.ts +2 -0
  46. package/dist/analyze/index.d.ts.map +1 -1
  47. package/dist/analyze/index.js +2 -0
  48. package/dist/analyze/index.js.map +1 -1
  49. package/dist/analyze/populate.d.ts.map +1 -1
  50. package/dist/analyze/populate.js +55 -10
  51. package/dist/analyze/populate.js.map +1 -1
  52. package/dist/analyze/security.d.ts +15 -0
  53. package/dist/analyze/security.d.ts.map +1 -1
  54. package/dist/analyze/security.js +59 -3
  55. package/dist/analyze/security.js.map +1 -1
  56. package/dist/analyze/wip-impact.d.ts.map +1 -1
  57. package/dist/analyze/wip-impact.js +12 -2
  58. package/dist/analyze/wip-impact.js.map +1 -1
  59. package/dist/domain/edge-fact.d.ts +25 -0
  60. package/dist/domain/edge-fact.d.ts.map +1 -1
  61. package/dist/domain/metadata-category.d.ts +1 -0
  62. package/dist/domain/metadata-category.d.ts.map +1 -1
  63. package/dist/domain/metadata-category.js +1 -0
  64. package/dist/domain/metadata-category.js.map +1 -1
  65. package/dist/domain/rel-types.d.ts +4 -0
  66. package/dist/domain/rel-types.d.ts.map +1 -1
  67. package/dist/domain/rel-types.js +7 -0
  68. package/dist/domain/rel-types.js.map +1 -1
  69. package/dist/embedding/__tests__/embed.test.d.ts +2 -0
  70. package/dist/embedding/__tests__/embed.test.d.ts.map +1 -0
  71. package/dist/embedding/__tests__/embed.test.js +72 -0
  72. package/dist/embedding/__tests__/embed.test.js.map +1 -0
  73. package/dist/embedding/embed.d.ts.map +1 -1
  74. package/dist/embedding/embed.js +14 -1
  75. package/dist/embedding/embed.js.map +1 -1
  76. package/dist/extractors/interfaces/metadata-source.d.ts +11 -0
  77. package/dist/extractors/interfaces/metadata-source.d.ts.map +1 -1
  78. package/dist/extractors/live-org/__tests__/bulk-retrieve.test.js.map +1 -1
  79. package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts +2 -0
  80. package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts.map +1 -0
  81. package/dist/extractors/live-org/__tests__/custom-settings.test.js +79 -0
  82. package/dist/extractors/live-org/__tests__/custom-settings.test.js.map +1 -0
  83. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js +70 -8
  84. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js.map +1 -1
  85. package/dist/extractors/live-org/__tests__/liveness.test.d.ts +2 -0
  86. package/dist/extractors/live-org/__tests__/liveness.test.d.ts.map +1 -0
  87. package/dist/extractors/live-org/__tests__/liveness.test.js +148 -0
  88. package/dist/extractors/live-org/__tests__/liveness.test.js.map +1 -0
  89. package/dist/extractors/live-org/__tests__/mcd-baseline.test.d.ts +2 -0
  90. package/dist/extractors/live-org/__tests__/mcd-baseline.test.d.ts.map +1 -0
  91. package/dist/extractors/live-org/__tests__/mcd-baseline.test.js +177 -0
  92. package/dist/extractors/live-org/__tests__/mcd-baseline.test.js.map +1 -0
  93. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.d.ts +2 -0
  94. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.d.ts.map +1 -0
  95. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js +75 -0
  96. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js.map +1 -0
  97. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.d.ts +2 -0
  98. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.d.ts.map +1 -0
  99. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js +135 -0
  100. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js.map +1 -0
  101. package/dist/extractors/live-org/__tests__/pools.test.js +4 -1
  102. package/dist/extractors/live-org/__tests__/pools.test.js.map +1 -1
  103. package/dist/extractors/live-org/__tests__/rate-limit.test.js +1 -6
  104. package/dist/extractors/live-org/__tests__/rate-limit.test.js.map +1 -1
  105. package/dist/extractors/live-org/__tests__/soql-rebatch.test.d.ts +2 -0
  106. package/dist/extractors/live-org/__tests__/soql-rebatch.test.d.ts.map +1 -0
  107. package/dist/extractors/live-org/__tests__/soql-rebatch.test.js +118 -0
  108. package/dist/extractors/live-org/__tests__/soql-rebatch.test.js.map +1 -0
  109. package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts +2 -0
  110. package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts.map +1 -0
  111. package/dist/extractors/live-org/__tests__/stop-waiting.test.js +243 -0
  112. package/dist/extractors/live-org/__tests__/stop-waiting.test.js.map +1 -0
  113. package/dist/extractors/live-org/__tests__/vlocity-runner.test.js +27 -0
  114. package/dist/extractors/live-org/__tests__/vlocity-runner.test.js.map +1 -1
  115. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts +2 -0
  116. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts.map +1 -0
  117. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js +40 -0
  118. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js.map +1 -0
  119. package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts +2 -0
  120. package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts.map +1 -0
  121. package/dist/extractors/live-org/__tests__/wedge-isolation.test.js +270 -0
  122. package/dist/extractors/live-org/__tests__/wedge-isolation.test.js.map +1 -0
  123. package/dist/extractors/live-org/bulk-retrieve.d.ts +176 -0
  124. package/dist/extractors/live-org/bulk-retrieve.d.ts.map +1 -1
  125. package/dist/extractors/live-org/bulk-retrieve.js +509 -71
  126. package/dist/extractors/live-org/bulk-retrieve.js.map +1 -1
  127. package/dist/extractors/live-org/capabilities.d.ts.map +1 -1
  128. package/dist/extractors/live-org/capabilities.js.map +1 -1
  129. package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts +2 -0
  130. package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts.map +1 -0
  131. package/dist/extractors/live-org/extractors/__tests__/apex.test.js +73 -0
  132. package/dist/extractors/live-org/extractors/__tests__/apex.test.js.map +1 -0
  133. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts +2 -0
  134. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts.map +1 -0
  135. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js +183 -0
  136. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js.map +1 -0
  137. package/dist/extractors/live-org/extractors/apex.d.ts.map +1 -1
  138. package/dist/extractors/live-org/extractors/apex.js +76 -51
  139. package/dist/extractors/live-org/extractors/apex.js.map +1 -1
  140. package/dist/extractors/live-org/extractors/custom-settings.d.ts +3 -0
  141. package/dist/extractors/live-org/extractors/custom-settings.d.ts.map +1 -0
  142. package/dist/extractors/live-org/extractors/custom-settings.js +66 -0
  143. package/dist/extractors/live-org/extractors/custom-settings.js.map +1 -0
  144. package/dist/extractors/live-org/extractors/flow.d.ts.map +1 -1
  145. package/dist/extractors/live-org/extractors/flow.js.map +1 -1
  146. package/dist/extractors/live-org/extractors/generic-metadata.d.ts.map +1 -1
  147. package/dist/extractors/live-org/extractors/generic-metadata.js.map +1 -1
  148. package/dist/extractors/live-org/extractors/generic-sobject.js.map +1 -1
  149. package/dist/extractors/live-org/extractors/lwc.d.ts.map +1 -1
  150. package/dist/extractors/live-org/extractors/lwc.js +81 -41
  151. package/dist/extractors/live-org/extractors/lwc.js.map +1 -1
  152. package/dist/extractors/live-org/extractors/mcd-baseline.d.ts +60 -0
  153. package/dist/extractors/live-org/extractors/mcd-baseline.d.ts.map +1 -0
  154. package/dist/extractors/live-org/extractors/mcd-baseline.js +118 -0
  155. package/dist/extractors/live-org/extractors/mcd-baseline.js.map +1 -0
  156. package/dist/extractors/live-org/extractors/object.d.ts.map +1 -1
  157. package/dist/extractors/live-org/extractors/object.js.map +1 -1
  158. package/dist/extractors/live-org/extractors/omnistudio-retrieve.d.ts +23 -0
  159. package/dist/extractors/live-org/extractors/omnistudio-retrieve.d.ts.map +1 -0
  160. package/dist/extractors/live-org/extractors/omnistudio-retrieve.js +172 -0
  161. package/dist/extractors/live-org/extractors/omnistudio-retrieve.js.map +1 -0
  162. package/dist/extractors/live-org/extractors/omnistudio.d.ts +8 -1
  163. package/dist/extractors/live-org/extractors/omnistudio.d.ts.map +1 -1
  164. package/dist/extractors/live-org/extractors/omnistudio.js +59 -6
  165. package/dist/extractors/live-org/extractors/omnistudio.js.map +1 -1
  166. package/dist/extractors/live-org/rate-limit.d.ts +98 -15
  167. package/dist/extractors/live-org/rate-limit.d.ts.map +1 -1
  168. package/dist/extractors/live-org/rate-limit.js +278 -41
  169. package/dist/extractors/live-org/rate-limit.js.map +1 -1
  170. package/dist/extractors/live-org/vlocity/runner.d.ts +1 -1
  171. package/dist/extractors/live-org/vlocity/runner.d.ts.map +1 -1
  172. package/dist/extractors/live-org/vlocity/runner.js +49 -14
  173. package/dist/extractors/live-org/vlocity/runner.js.map +1 -1
  174. package/dist/index.d.ts +1 -0
  175. package/dist/index.d.ts.map +1 -1
  176. package/dist/index.js +1 -0
  177. package/dist/index.js.map +1 -1
  178. package/dist/ingest/__tests__/config-values.test.d.ts +2 -0
  179. package/dist/ingest/__tests__/config-values.test.d.ts.map +1 -0
  180. package/dist/ingest/__tests__/config-values.test.js +65 -0
  181. package/dist/ingest/__tests__/config-values.test.js.map +1 -0
  182. package/dist/ingest/__tests__/full-sync-deletion.test.js +11 -4
  183. package/dist/ingest/__tests__/full-sync-deletion.test.js.map +1 -1
  184. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts +10 -0
  185. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts.map +1 -0
  186. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js +251 -0
  187. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js.map +1 -0
  188. package/dist/ingest/__tests__/live-ingest.test.js.map +1 -1
  189. package/dist/ingest/__tests__/multi-org-orchestrator.test.js +3 -0
  190. package/dist/ingest/__tests__/multi-org-orchestrator.test.js.map +1 -1
  191. package/dist/ingest/__tests__/parser-dispatch.test.d.ts +2 -0
  192. package/dist/ingest/__tests__/parser-dispatch.test.d.ts.map +1 -0
  193. package/dist/ingest/__tests__/parser-dispatch.test.js +55 -0
  194. package/dist/ingest/__tests__/parser-dispatch.test.js.map +1 -0
  195. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts +2 -0
  196. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts.map +1 -0
  197. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js +134 -0
  198. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js.map +1 -0
  199. package/dist/ingest/detect-deletions-guard.d.ts +45 -0
  200. package/dist/ingest/detect-deletions-guard.d.ts.map +1 -0
  201. package/dist/ingest/detect-deletions-guard.js +63 -0
  202. package/dist/ingest/detect-deletions-guard.js.map +1 -0
  203. package/dist/ingest/live-ingest.d.ts +86 -0
  204. package/dist/ingest/live-ingest.d.ts.map +1 -1
  205. package/dist/ingest/live-ingest.js +783 -449
  206. package/dist/ingest/live-ingest.js.map +1 -1
  207. package/dist/parsers/__tests__/datatransform-structured.test.d.ts +2 -0
  208. package/dist/parsers/__tests__/datatransform-structured.test.d.ts.map +1 -0
  209. package/dist/parsers/__tests__/datatransform-structured.test.js +147 -0
  210. package/dist/parsers/__tests__/datatransform-structured.test.js.map +1 -0
  211. package/dist/parsers/__tests__/edge-provenance.test.d.ts +2 -0
  212. package/dist/parsers/__tests__/edge-provenance.test.d.ts.map +1 -0
  213. package/dist/parsers/__tests__/edge-provenance.test.js +47 -0
  214. package/dist/parsers/__tests__/edge-provenance.test.js.map +1 -0
  215. package/dist/parsers/__tests__/lwc-bindings.test.js +78 -3
  216. package/dist/parsers/__tests__/lwc-bindings.test.js.map +1 -1
  217. package/dist/parsers/__tests__/mcd-gap-fills.test.d.ts +2 -0
  218. package/dist/parsers/__tests__/mcd-gap-fills.test.d.ts.map +1 -0
  219. package/dist/parsers/__tests__/mcd-gap-fills.test.js +75 -0
  220. package/dist/parsers/__tests__/mcd-gap-fills.test.js.map +1 -0
  221. package/dist/parsers/__tests__/object-inline-fields.test.js +2 -2
  222. package/dist/parsers/__tests__/object-inline-fields.test.js.map +1 -1
  223. package/dist/parsers/__tests__/omnistudio-overlap.test.d.ts +2 -0
  224. package/dist/parsers/__tests__/omnistudio-overlap.test.d.ts.map +1 -0
  225. package/dist/parsers/__tests__/omnistudio-overlap.test.js +163 -0
  226. package/dist/parsers/__tests__/omnistudio-overlap.test.js.map +1 -0
  227. package/dist/parsers/__tests__/omnistudio.golden.test.js +5 -6
  228. package/dist/parsers/__tests__/omnistudio.golden.test.js.map +1 -1
  229. package/dist/parsers/__tests__/reflection-walker.test.d.ts +2 -0
  230. package/dist/parsers/__tests__/reflection-walker.test.d.ts.map +1 -0
  231. package/dist/parsers/__tests__/reflection-walker.test.js +162 -0
  232. package/dist/parsers/__tests__/reflection-walker.test.js.map +1 -0
  233. package/dist/parsers/__tests__/vlocity.golden.test.js +9 -13
  234. package/dist/parsers/__tests__/vlocity.golden.test.js.map +1 -1
  235. package/dist/parsers/apex/__tests__/ast-extractor.test.js +64 -4
  236. package/dist/parsers/apex/__tests__/ast-extractor.test.js.map +1 -1
  237. package/dist/parsers/apex/__tests__/empty-body.test.d.ts +2 -0
  238. package/dist/parsers/apex/__tests__/empty-body.test.d.ts.map +1 -0
  239. package/dist/parsers/apex/__tests__/empty-body.test.js +40 -0
  240. package/dist/parsers/apex/__tests__/empty-body.test.js.map +1 -0
  241. package/dist/parsers/apex/__tests__/is-test-attribute.test.d.ts +2 -0
  242. package/dist/parsers/apex/__tests__/is-test-attribute.test.d.ts.map +1 -0
  243. package/dist/parsers/apex/__tests__/is-test-attribute.test.js +56 -0
  244. package/dist/parsers/apex/__tests__/is-test-attribute.test.js.map +1 -0
  245. package/dist/parsers/apex/__tests__/regex-arg-count.test.d.ts +2 -0
  246. package/dist/parsers/apex/__tests__/regex-arg-count.test.d.ts.map +1 -0
  247. package/dist/parsers/apex/__tests__/regex-arg-count.test.js +82 -0
  248. package/dist/parsers/apex/__tests__/regex-arg-count.test.js.map +1 -0
  249. package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts +2 -0
  250. package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts.map +1 -0
  251. package/dist/parsers/apex/__tests__/regex-inloop.test.js +70 -0
  252. package/dist/parsers/apex/__tests__/regex-inloop.test.js.map +1 -0
  253. package/dist/parsers/apex/arity-resolver.d.ts.map +1 -1
  254. package/dist/parsers/apex/arity-resolver.js.map +1 -1
  255. package/dist/parsers/apex/ast-extractor.d.ts.map +1 -1
  256. package/dist/parsers/apex/ast-extractor.js +33 -1
  257. package/dist/parsers/apex/ast-extractor.js.map +1 -1
  258. package/dist/parsers/apex/class.d.ts.map +1 -1
  259. package/dist/parsers/apex/class.js +162 -5
  260. package/dist/parsers/apex/class.js.map +1 -1
  261. package/dist/parsers/apex/trigger.d.ts.map +1 -1
  262. package/dist/parsers/apex/trigger.js +10 -0
  263. package/dist/parsers/apex/trigger.js.map +1 -1
  264. package/dist/parsers/common.d.ts +4 -1
  265. package/dist/parsers/common.d.ts.map +1 -1
  266. package/dist/parsers/common.js +15 -2
  267. package/dist/parsers/common.js.map +1 -1
  268. package/dist/parsers/flow/__tests__/invocable-resolver.test.js.map +1 -1
  269. package/dist/parsers/flow/invocable-resolver.d.ts.map +1 -1
  270. package/dist/parsers/flow/invocable-resolver.js.map +1 -1
  271. package/dist/parsers/generic/reflection-walker.d.ts +90 -0
  272. package/dist/parsers/generic/reflection-walker.d.ts.map +1 -0
  273. package/dist/parsers/generic/reflection-walker.js +193 -0
  274. package/dist/parsers/generic/reflection-walker.js.map +1 -0
  275. package/dist/parsers/lwc/html-visitor.d.ts.map +1 -1
  276. package/dist/parsers/lwc/html-visitor.js +82 -3
  277. package/dist/parsers/lwc/html-visitor.js.map +1 -1
  278. package/dist/parsers/lwc/js-visitor.d.ts.map +1 -1
  279. package/dist/parsers/lwc/js-visitor.js +6 -2
  280. package/dist/parsers/lwc/js-visitor.js.map +1 -1
  281. package/dist/parsers/object/object.d.ts.map +1 -1
  282. package/dist/parsers/object/object.js +35 -5
  283. package/dist/parsers/object/object.js.map +1 -1
  284. package/dist/parsers/omnistudio/data-transform.d.ts.map +1 -1
  285. package/dist/parsers/omnistudio/data-transform.js +39 -6
  286. package/dist/parsers/omnistudio/data-transform.js.map +1 -1
  287. package/dist/parsers/omnistudio/integration-procedure.d.ts.map +1 -1
  288. package/dist/parsers/omnistudio/integration-procedure.js +3 -2
  289. package/dist/parsers/omnistudio/integration-procedure.js.map +1 -1
  290. package/dist/parsers/omnistudio/overlap-detector.d.ts +50 -0
  291. package/dist/parsers/omnistudio/overlap-detector.d.ts.map +1 -0
  292. package/dist/parsers/omnistudio/overlap-detector.js +122 -0
  293. package/dist/parsers/omnistudio/overlap-detector.js.map +1 -0
  294. package/dist/parsers/omnistudio/process.d.ts.map +1 -1
  295. package/dist/parsers/omnistudio/process.js +3 -2
  296. package/dist/parsers/omnistudio/process.js.map +1 -1
  297. package/dist/parsers/omnistudio/ui-card.d.ts.map +1 -1
  298. package/dist/parsers/omnistudio/ui-card.js +3 -2
  299. package/dist/parsers/omnistudio/ui-card.js.map +1 -1
  300. package/dist/parsers/rules/custom-metadata-type.yml +7 -0
  301. package/dist/parsers/rules/custom-setting.yml +24 -0
  302. package/dist/parsers/vlocity/common.d.ts +16 -0
  303. package/dist/parsers/vlocity/common.d.ts.map +1 -1
  304. package/dist/parsers/vlocity/common.js +62 -0
  305. package/dist/parsers/vlocity/common.js.map +1 -1
  306. package/dist/parsers/vlocity/data-raptor.d.ts.map +1 -1
  307. package/dist/parsers/vlocity/data-raptor.js +43 -14
  308. package/dist/parsers/vlocity/data-raptor.js.map +1 -1
  309. package/dist/render/__tests__/sarif.test.d.ts +2 -0
  310. package/dist/render/__tests__/sarif.test.d.ts.map +1 -0
  311. package/dist/render/__tests__/sarif.test.js +126 -0
  312. package/dist/render/__tests__/sarif.test.js.map +1 -0
  313. package/dist/render/sarif.d.ts +94 -0
  314. package/dist/render/sarif.d.ts.map +1 -0
  315. package/dist/render/sarif.js +131 -0
  316. package/dist/render/sarif.js.map +1 -0
  317. package/dist/storage/__tests__/analysis-tables-migration.test.js +1 -1
  318. package/dist/storage/__tests__/graph-store.test.js +13 -0
  319. package/dist/storage/__tests__/graph-store.test.js.map +1 -1
  320. package/dist/storage/__tests__/migrations.test.js +4 -4
  321. package/dist/storage/__tests__/rename-stability.test.d.ts +2 -0
  322. package/dist/storage/__tests__/rename-stability.test.d.ts.map +1 -0
  323. package/dist/storage/__tests__/rename-stability.test.js +135 -0
  324. package/dist/storage/__tests__/rename-stability.test.js.map +1 -0
  325. package/dist/storage/__tests__/sync-generation.test.d.ts +2 -0
  326. package/dist/storage/__tests__/sync-generation.test.d.ts.map +1 -0
  327. package/dist/storage/__tests__/sync-generation.test.js +159 -0
  328. package/dist/storage/__tests__/sync-generation.test.js.map +1 -0
  329. package/dist/storage/index.d.ts +1 -0
  330. package/dist/storage/index.d.ts.map +1 -1
  331. package/dist/storage/index.js +1 -0
  332. package/dist/storage/index.js.map +1 -1
  333. package/dist/storage/interfaces.d.ts +60 -0
  334. package/dist/storage/interfaces.d.ts.map +1 -1
  335. package/dist/storage/sqlite/graph-store.d.ts +21 -1
  336. package/dist/storage/sqlite/graph-store.d.ts.map +1 -1
  337. package/dist/storage/sqlite/graph-store.js +86 -0
  338. package/dist/storage/sqlite/graph-store.js.map +1 -1
  339. package/dist/storage/sqlite/migrations.d.ts.map +1 -1
  340. package/dist/storage/sqlite/migrations.js +38 -0
  341. package/dist/storage/sqlite/migrations.js.map +1 -1
  342. package/dist/storage/sqlite/rename-stability.d.ts +94 -0
  343. package/dist/storage/sqlite/rename-stability.d.ts.map +1 -0
  344. package/dist/storage/sqlite/rename-stability.js +92 -0
  345. package/dist/storage/sqlite/rename-stability.js.map +1 -0
  346. package/package.json +4 -1
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Canonical finding shape for everything in sfgraph that produces
3
+ * actionable diagnostics: governor-risk scan, security audit, dead-code
4
+ * audit, dangling-edge audit, future rule-engine outputs. Aligned with
5
+ * PMD's rule metadata vocabulary (name / message / description /
6
+ * priority / externalInfoUrl / properties) so the SARIF emitter can
7
+ * map a single shape rather than a switch over every producer.
8
+ *
9
+ * NOTE: the YAML files in parsers/rules/* are NOT lint rules — they're
10
+ * declarative metadata-to-graph extraction shortcuts. The Wave 3 plan's
11
+ * "PMD-aligned YAML rule schema" was a category error from the
12
+ * competitive analysis. The real PMD-aligned schema is this Finding
13
+ * type plus the rule catalog below — the producers stay where they are
14
+ * (analyze/governor.ts, analyze/security.ts, etc.) and emit Findings
15
+ * via the adapters in `findingAdapters` below.
16
+ */
17
+ export const RULE_CATALOG = {
18
+ "governor.soql-in-loop": {
19
+ id: "governor.soql-in-loop",
20
+ name: "SOQL in loop",
21
+ shortDescription: "Apex method executes SOQL inside a loop.",
22
+ fullDescription: "Detected via the `hasSoqlInLoop` attribute set by Apex parsing. Each loop iteration consumes one of the 100 SOQL queries the platform allows per transaction — bulkify by moving the query outside the loop and consuming the results inline.",
23
+ defaultLevel: "error",
24
+ },
25
+ "governor.dml-in-loop": {
26
+ id: "governor.dml-in-loop",
27
+ name: "DML in loop",
28
+ shortDescription: "Apex method executes DML inside a loop.",
29
+ fullDescription: "Detected via the `hasDmlInLoop` attribute set by Apex parsing. Each loop iteration consumes one of the 150 DML statements the platform allows per transaction — bulkify by collecting records into a list and committing once after the loop.",
30
+ defaultLevel: "error",
31
+ },
32
+ "governor.unbounded-query": {
33
+ id: "governor.unbounded-query",
34
+ name: "Unbounded query",
35
+ shortDescription: "Apex method runs SOQL with no LIMIT or WHERE.",
36
+ fullDescription: "Queries without a LIMIT or selective WHERE clause hit the 50,000-row query-row governor on large objects. Add a LIMIT or filter even if the developer believes the underlying data set is small.",
37
+ defaultLevel: "warning",
38
+ },
39
+ "governor.no-bulk": {
40
+ id: "governor.no-bulk",
41
+ name: "Trigger not bulk-safe",
42
+ shortDescription: "Trigger touches a single record per fire — fails on bulk DML.",
43
+ fullDescription: "Bulk DML produces triggers with up to 200 records in `Trigger.new`. Triggers that assume a single record will silently mis-process the other 199 — refactor to iterate over the collection.",
44
+ defaultLevel: "error",
45
+ },
46
+ "security.fls-gap": {
47
+ id: "security.fls-gap",
48
+ name: "Field-level security gap",
49
+ shortDescription: "CustomField has no FLS grant on any profile/permission set.",
50
+ fullDescription: "Fields with no FLS grant are invisible to every user in API and UI alike. Either remove the field if unused or grant access on the appropriate permission set.",
51
+ defaultLevel: "warning",
52
+ },
53
+ "security.sharing-full-access": {
54
+ id: "security.sharing-full-access",
55
+ name: "Object granted full access via sharing",
56
+ shortDescription: "OWD or sharing rule grants Modify All / View All to a broad audience.",
57
+ fullDescription: "Granting full access via OWD or sharing rules bypasses field-level security and CRUD checks. Review whether the audience genuinely needs unrestricted access; prefer scoped permission sets.",
58
+ defaultLevel: "warning",
59
+ },
60
+ "dead-code.unreferenced": {
61
+ id: "dead-code.unreferenced",
62
+ name: "Unreferenced metadata",
63
+ shortDescription: "Node has no incoming edges and is not an obvious entry point.",
64
+ fullDescription: "Apex/LWC/Flow components with no incoming references are candidates for deletion. Note that some entry points (AuraEnabled, REST endpoints, scheduled jobs) are only reachable from outside the org and will show up here legitimately — verify before deleting.",
65
+ defaultLevel: "note",
66
+ },
67
+ "graph.dangling-edge": {
68
+ id: "graph.dangling-edge",
69
+ name: "Dangling edge",
70
+ shortDescription: "Edge points to a destination node that doesn't exist in the graph.",
71
+ fullDescription: "Dangling edges usually indicate ingest gaps (a metadata type that didn't get extracted) or stale references (managed-package targets no longer installed). Investigate which extractor would own the missing dst label.",
72
+ defaultLevel: "note",
73
+ },
74
+ };
75
+ import { findDeadCode } from "./dead-code.js";
76
+ export function governorRisksToFindings(risks) {
77
+ return risks.map((r) => ({
78
+ ruleId: `governor.${r.risk.replace(/_/g, "-")}`,
79
+ message: `${r.qualifiedName}: ${r.evidence}`,
80
+ level: RULE_CATALOG[`governor.${r.risk.replace(/_/g, "-")}`]?.defaultLevel ?? "warning",
81
+ location: { qualifiedName: r.qualifiedName },
82
+ properties: { evidence: r.evidence },
83
+ }));
84
+ }
85
+ export function securityAuditToFindings(audit) {
86
+ const out = [];
87
+ for (const gap of audit.flsGaps) {
88
+ out.push({
89
+ ruleId: "security.fls-gap",
90
+ message: `${gap}: no FLS grant on any profile/permission set`,
91
+ level: "warning",
92
+ location: { qualifiedName: gap },
93
+ });
94
+ }
95
+ for (const obj of audit.sharingFullAccess) {
96
+ out.push({
97
+ ruleId: "security.sharing-full-access",
98
+ message: `${obj}: granted full access via sharing rule or OWD`,
99
+ level: "warning",
100
+ location: { qualifiedName: obj },
101
+ });
102
+ }
103
+ return out;
104
+ }
105
+ export function deadCodeToFindings(nodes) {
106
+ return nodes.map((n) => ({
107
+ ruleId: "dead-code.unreferenced",
108
+ message: `${n.qualifiedName}: no incoming references`,
109
+ level: "note",
110
+ location: {
111
+ qualifiedName: String(n.qualifiedName),
112
+ ...(typeof n.attributes.sourceUri === "string" ? { sourceUri: n.attributes.sourceUri } : {}),
113
+ },
114
+ properties: { label: n.label },
115
+ }));
116
+ }
117
+ export function danglingEdgesToFindings(audit) {
118
+ return audit.sample.map((s) => ({
119
+ ruleId: "graph.dangling-edge",
120
+ message: `${s.src} --${s.rel}--> ${s.dst}: dst node missing`,
121
+ level: "note",
122
+ location: { qualifiedName: s.src },
123
+ properties: { relType: s.rel, danglingDst: s.dst },
124
+ }));
125
+ }
126
+ export function collectFindings(opts) {
127
+ const out = [];
128
+ if (opts.governor)
129
+ out.push(...governorRisksToFindings(opts.governor));
130
+ if (opts.security)
131
+ out.push(...securityAuditToFindings(opts.security));
132
+ if (opts.deadCode)
133
+ out.push(...deadCodeToFindings(opts.deadCode));
134
+ if (opts.dangling)
135
+ out.push(...danglingEdgesToFindings(opts.dangling));
136
+ return out;
137
+ }
138
+ // Re-export findDeadCode reference so callers don't need a separate import
139
+ // when wiring up `collectFindings({ deadCode: findDeadCode(store, orgId), ... })`.
140
+ export { findDeadCode };
141
+ //# sourceMappingURL=findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/analyze/findings.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,6 @@ export * from "./populate.js";
12
12
  export * from "./deployment-manifest/generate.js";
13
13
  export * from "./wip-impact.js";
14
14
  export * from "./audit-graph.js";
15
+ export * from "./findings.js";
16
+ export * from "./find-nodes.js";
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -12,4 +12,6 @@ export * from "./populate.js";
12
12
  export * from "./deployment-manifest/generate.js";
13
13
  export * from "./wip-impact.js";
14
14
  export * from "./audit-graph.js";
15
+ export * from "./findings.js";
16
+ export * from "./find-nodes.js";
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/analyze/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGlF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wGAAwG;AACxG,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CA0GR;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CAoCR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CAcR;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CAyBR;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,OAAO,CAAC,cAAc,CAAC,CAMzB"}
1
+ {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/analyze/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,6BAA6B,CAAC;AAGxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGlF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wGAAwG;AACxG,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CA8JR;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CAoCR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CAcR;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,MAAM,CAyBR;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,qBAAqB,GACxB,OAAO,CAAC,cAAc,CAAC,CAMzB"}
@@ -84,29 +84,74 @@ export function populateGovernorRisks(store, orgId, db) {
84
84
  }
85
85
  return out;
86
86
  };
87
+ /**
88
+ * Edge-based detection — the primary path for live-org ingests, where the
89
+ * Apex body is parsed then discarded (node attrs carry no `body`/`source`,
90
+ * so the char-scan above finds nothing). The Apex AST extractor stamps
91
+ * EXECUTES_SOQL / EXECUTES_DML edges with `inLoop: true` when the
92
+ * query/DML sits inside a for/while/do-while body, and records the query
93
+ * text — enough to flag soql_in_loop, dml_in_loop, and unbounded_query
94
+ * straight off the graph. These edges hang off ApexMethod nodes.
95
+ */
96
+ const detectFromEdges = (qname) => {
97
+ const out = [];
98
+ for (const e of store.listEdgesFrom(orgId, qname, REL_TYPES.EXECUTES_SOQL)) {
99
+ const ea = (e.attributes ?? {});
100
+ const query = typeof ea.query === "string" ? ea.query : "";
101
+ if (ea.inLoop === true) {
102
+ out.push({ type: "soql_in_loop", evidence: query || "SOQL in loop", line: -1 });
103
+ }
104
+ // NB: we deliberately do NOT flag "unbounded_query" (no WHERE/LIMIT)
105
+ // from edges. Calibrated against a real org: ~100% of SOQL has no
106
+ // WHERE/LIMIT in the captured query head (legit full reads of small
107
+ // config objects like RecordType / CallCenter), so the heuristic
108
+ // fires on every query and is pure noise. The body-scan path keeps it
109
+ // for filesystem ingests where the full query text is available, but
110
+ // SOQL/DML-in-loop is the high-signal governor risk we surface here.
111
+ }
112
+ for (const e of store.listEdgesFrom(orgId, qname, REL_TYPES.EXECUTES_DML)) {
113
+ const ea = (e.attributes ?? {});
114
+ if (ea.inLoop === true) {
115
+ out.push({ type: "dml_in_loop", evidence: String(e.dstQualifiedName), line: -1 });
116
+ }
117
+ }
118
+ return out;
119
+ };
120
+ const writeRisks = (qname, risks) => {
121
+ const seen = new Set();
122
+ for (const r of risks) {
123
+ const k = `${r.type}|${r.line}|${r.evidence.slice(0, 40)}`;
124
+ if (seen.has(k))
125
+ continue;
126
+ seen.add(k);
127
+ stmt.run(orgId, qname, r.type, r.evidence, r.line, now);
128
+ n += 1;
129
+ }
130
+ };
131
+ // Class / trigger: body char-scan (filesystem ingest) + attribute hints.
87
132
  for (const lbl of [METADATA_CATEGORY.APEX_CLASS, METADATA_CATEGORY.APEX_TRIGGER]) {
88
133
  for (const node of store.listNodesByLabel(orgId, lbl, 10000)) {
89
134
  const a = node.attributes;
90
135
  const body = String(a.source ?? a.body ?? "");
91
136
  const risks = detect(body);
92
- // Attribute hints from earlier phases
93
137
  if (a.hasSoqlInLoop === true) {
94
138
  risks.push({ type: "soql_in_loop", evidence: "attribute hint", line: -1 });
95
139
  }
96
140
  if (a.hasDmlInLoop === true) {
97
141
  risks.push({ type: "dml_in_loop", evidence: "attribute hint", line: -1 });
98
142
  }
99
- const seen = new Set();
100
- for (const r of risks) {
101
- const k = `${r.type}|${r.line}`;
102
- if (seen.has(k))
103
- continue;
104
- seen.add(k);
105
- stmt.run(orgId, node.qualifiedName, r.type, r.evidence, r.line, now);
106
- n += 1;
107
- }
143
+ // Edge-based detection on the class/trigger node itself (regex-mode
144
+ // parser emits SOQL/DML edges at the trigger/class qname).
145
+ risks.push(...detectFromEdges(node.qualifiedName));
146
+ writeRisks(node.qualifiedName, risks);
108
147
  }
109
148
  }
149
+ // Method-level edge detection — the live-ingest path (AST parser emits
150
+ // EXECUTES_SOQL/DML edges per method). "ApexMethod" is a raw node label,
151
+ // not a METADATA_CATEGORY member.
152
+ for (const node of store.listNodesByLabel(orgId, "ApexMethod", 50000)) {
153
+ writeRisks(node.qualifiedName, detectFromEdges(node.qualifiedName));
154
+ }
110
155
  return n;
111
156
  }
112
157
  export function populateDeadCodeScores(store, orgId, db) {
@@ -1 +1 @@
1
- {"version":3,"file":"populate.js","sourceRoot":"","sources":["../../src/analyze/populate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"populate.js","sourceRoot":"","sources":["../../src/analyze/populate.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export interface SecurityAudit {
7
7
  grantedBy: string[];
8
8
  }>;
9
9
  flsGaps: string[];
10
+ /** FLS-gap rows suppressed as not-FLS-relevant (CMDT fields + standard
11
+ * system/audit fields). Surfaced so "0 real gaps" is distinguishable from
12
+ * "we hid everything". */
13
+ flsGapsExcluded?: number;
10
14
  /**
11
15
  * True when one of the underlying per-label scans hit
12
16
  * `SECURITY_PER_LABEL_CAP`. When set, results are incomplete and the
@@ -15,11 +19,22 @@ export interface SecurityAudit {
15
19
  truncated?: boolean;
16
20
  }
17
21
  export declare const SECURITY_PER_LABEL_CAP = 5000;
22
+ /**
23
+ * True when a `CustomField:<Object>.<Field>` qname names a field that real
24
+ * field-level security applies to. Excludes:
25
+ * - Custom Metadata Type fields (`__mdt`) — CMDT has no per-field FLS.
26
+ * - Custom Settings-ish / metadata objects and standard system/audit fields.
27
+ * Custom fields (`__c`) on real objects (standard or custom) stay in.
28
+ */
29
+ export declare function isFlsRelevantField(qname: string): boolean;
18
30
  export interface SecurityAuditOptions {
19
31
  /** Restrict the field-access matrix + FLS gaps to fields of this object (qualifiedName prefix, e.g. `CustomObject:Account`). */
20
32
  object?: string;
21
33
  /** Restrict to a single field qualifiedName (e.g. `CustomField:Account.Tier__c`). Implies `object`. */
22
34
  field?: string;
35
+ /** Include not-FLS-relevant fields (CMDT + system/audit) in the gap list.
36
+ * Default false — those are noise for an FLS review. */
37
+ includeNonFlsFields?: boolean;
23
38
  }
24
39
  export declare function securityAudit(store: GraphStore, orgId: OrgId, opts?: SecurityAuditOptions): SecurityAudit;
25
40
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/analyze/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACnC,gIAAgI;IAChI,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,oBAAoB,GAC1B,aAAa,CAyDf"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/analyze/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;+BAE2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,OAAO,CAAC;AA6B3C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAUzD;AAED,MAAM,WAAW,oBAAoB;IACnC,gIAAgI;IAChI,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;6DACyD;IACzD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAiBD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,oBAAoB,GAC1B,aAAa,CAkEf"}
@@ -1,6 +1,53 @@
1
1
  import { METADATA_CATEGORY } from "../domain/metadata-category.js";
2
2
  import { REL_TYPES } from "../domain/rel-types.js";
3
3
  export const SECURITY_PER_LABEL_CAP = 5000;
4
+ /** Standard system / audit field API names. These are never subject to the
5
+ * field-level security a developer cares about — flagging them as "FLS gaps"
6
+ * is pure noise (they dominated the gap list on a real org). */
7
+ const SYSTEM_FIELD_NAMES = new Set([
8
+ "Id",
9
+ "Name",
10
+ "OwnerId",
11
+ "IsDeleted",
12
+ "CreatedById",
13
+ "CreatedDate",
14
+ "LastModifiedById",
15
+ "LastModifiedDate",
16
+ "SystemModstamp",
17
+ "LastViewedDate",
18
+ "LastReferencedDate",
19
+ "LastActivityDate",
20
+ "RecordTypeId",
21
+ "CurrencyIsoCode",
22
+ // Custom Metadata Type built-ins
23
+ "DeveloperName",
24
+ "MasterLabel",
25
+ "Language",
26
+ "NamespacePrefix",
27
+ "Label",
28
+ "QualifiedApiName",
29
+ ]);
30
+ /**
31
+ * True when a `CustomField:<Object>.<Field>` qname names a field that real
32
+ * field-level security applies to. Excludes:
33
+ * - Custom Metadata Type fields (`__mdt`) — CMDT has no per-field FLS.
34
+ * - Custom Settings-ish / metadata objects and standard system/audit fields.
35
+ * Custom fields (`__c`) on real objects (standard or custom) stay in.
36
+ */
37
+ export function isFlsRelevantField(qname) {
38
+ const tail = (qname.includes(":") ? qname.split(":")[1] : qname) ?? qname;
39
+ const dot = tail.indexOf(".");
40
+ if (dot <= 0)
41
+ return false;
42
+ const object = tail.slice(0, dot);
43
+ const field = tail.slice(dot + 1);
44
+ // CMDT and platform-event/big-object metadata don't use developer FLS.
45
+ if (/__(mdt|e|b)$/i.test(object))
46
+ return false;
47
+ if (SYSTEM_FIELD_NAMES.has(field))
48
+ return false;
49
+ return true;
50
+ }
4
51
  function matchesFilter(qname, opts) {
5
52
  if (!opts)
6
53
  return true;
@@ -45,16 +92,24 @@ export function securityAudit(store, orgId, opts) {
45
92
  set.add(n.qualifiedName);
46
93
  }
47
94
  }
48
- // FLS gaps: fields with no grants. Honour the object/field filter.
95
+ // FLS gaps: fields with no grants. Honour the object/field filter, and skip
96
+ // not-FLS-relevant fields (CMDT + system/audit) unless explicitly requested
97
+ // — those dominated the raw list and are never a real FLS finding.
49
98
  const flsGaps = [];
99
+ let flsGapsExcluded = 0;
50
100
  const fields = store.listNodesByLabel(orgId, METADATA_CATEGORY.FIELD, SECURITY_PER_LABEL_CAP);
51
101
  if (fields.length >= SECURITY_PER_LABEL_CAP)
52
102
  truncated = true;
53
103
  for (const n of fields) {
54
104
  if (!matchesFilter(n.qualifiedName, opts))
55
105
  continue;
56
- if (!fieldAccessMatrix.has(n.qualifiedName))
57
- flsGaps.push(n.qualifiedName);
106
+ if (fieldAccessMatrix.has(n.qualifiedName))
107
+ continue;
108
+ if (!opts?.includeNonFlsFields && !isFlsRelevantField(n.qualifiedName)) {
109
+ flsGapsExcluded += 1;
110
+ continue;
111
+ }
112
+ flsGaps.push(n.qualifiedName);
58
113
  }
59
114
  // Filter the matrix too so a narrowed audit returns a narrowed matrix.
60
115
  const filteredMatrix = Array.from(fieldAccessMatrix.entries())
@@ -64,6 +119,7 @@ export function securityAudit(store, orgId, opts) {
64
119
  sharingFullAccess,
65
120
  fieldAccessMatrix: filteredMatrix,
66
121
  flsGaps,
122
+ flsGapsExcluded,
67
123
  truncated,
68
124
  };
69
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/analyze/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/analyze/security.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wip-impact.d.ts","sourceRoot":"","sources":["../../src/analyze/wip-impact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAOjE,OAAO,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwGD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+K/F"}
1
+ {"version":3,"file":"wip-impact.d.ts","sourceRoot":"","sources":["../../src/analyze/wip-impact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAOjE,OAAO,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkHD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+K/F"}
@@ -87,8 +87,18 @@ function adaptParserInput(ref, content) {
87
87
  return { type: "ApprovalProcess", input: { name: ref.memberName, xml: content } };
88
88
  case "DuplicateRule":
89
89
  return { type: "DuplicateRule", input: { name: ref.memberName, xml: content } };
90
- default:
91
- return null;
90
+ default: {
91
+ // Same long-tail fallback as live-ingest: route to a registered
92
+ // rule-based parser when one exists, else the opaque node parser —
93
+ // never drop a member silently.
94
+ if (parserRegistry.for(ref.memberType)) {
95
+ return { type: ref.memberType, input: { name: ref.memberName, xml: content } };
96
+ }
97
+ return {
98
+ type: "OpaqueMetadata",
99
+ input: { metadataType: ref.memberType, name: ref.memberName, raw: content },
100
+ };
101
+ }
92
102
  }
93
103
  }
94
104
  const WIP_COLORS = {
@@ -1 +1 @@
1
- {"version":3,"file":"wip-impact.js","sourceRoot":"","sources":["../../src/analyze/wip-impact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wip-impact.js","sourceRoot":"","sources":["../../src/analyze/wip-impact.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,35 @@
1
1
  import type { OrgId, QualifiedName } from "@ryanstark24/sfgraph-shared";
2
2
  import type { RelType } from "./rel-types.js";
3
+ /**
4
+ * Optional source-location citation attached to an edge. When set, downstream
5
+ * consumers can answer "why does X depend on Y" by pointing at a specific
6
+ * file (and line/column when the parser walked an AST with positions).
7
+ *
8
+ * Stored inside `attributes` rather than as top-level columns so adding
9
+ * provenance doesn't require a schema migration on existing edge tables.
10
+ * Mirrors how nodes carry `attributes.sourceUri` via makeNode in
11
+ * `parsers/common.ts`. See EdgeProvenance type for the read shape.
12
+ */
13
+ export interface EdgeProvenance {
14
+ /** Absolute URI / path of the source artifact the edge was parsed from. */
15
+ sourceUri?: string;
16
+ /** 1-indexed line of the producing token, when the parser had AST positions. */
17
+ line?: number;
18
+ /** 1-indexed column of the producing token. */
19
+ column?: number;
20
+ }
3
21
  export interface EdgeFact {
4
22
  orgId: OrgId;
5
23
  srcQualifiedName: QualifiedName;
6
24
  dstQualifiedName: QualifiedName;
7
25
  relType: RelType;
26
+ /**
27
+ * Edge attributes. Provenance fields `sourceUri`, `line`, `column` may be
28
+ * populated automatically by `makeEdge` (from ParseContext.sourceUri); the
29
+ * EdgeProvenance type documents that subset. Parsers can also write
30
+ * relation-specific attributes (e.g. `dynamic: true`, `signaturesMatch:
31
+ * false`, `source: 'mcd'`).
32
+ */
8
33
  attributes: Record<string, unknown>;
9
34
  firstSeenAt: number;
10
35
  lastSeenAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"edge-fact.d.ts","sourceRoot":"","sources":["../../src/domain/edge-fact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,aAAa,CAAC;IAChC,gBAAgB,EAAE,aAAa,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"edge-fact.d.ts","sourceRoot":"","sources":["../../src/domain/edge-fact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,aAAa,CAAC;IAChC,gBAAgB,EAAE,aAAa,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -18,6 +18,7 @@ export declare const METADATA_CATEGORY: {
18
18
  readonly PLATFORM_EVENT: "PlatformEventChannel";
19
19
  readonly CUSTOM_METADATA: "CustomMetadata";
20
20
  readonly CUSTOM_LABEL: "CustomLabel";
21
+ readonly CUSTOM_SETTING: "CustomSetting";
21
22
  readonly STATIC_RESOURCE: "StaticResource";
22
23
  readonly LAYOUT: "Layout";
23
24
  readonly RECORD_TYPE: "RecordType";
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-category.d.ts","sourceRoot":"","sources":["../../src/domain/metadata-category.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"metadata-category.d.ts","sourceRoot":"","sources":["../../src/domain/metadata-category.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC"}
@@ -18,6 +18,7 @@ export const METADATA_CATEGORY = {
18
18
  PLATFORM_EVENT: "PlatformEventChannel",
19
19
  CUSTOM_METADATA: "CustomMetadata",
20
20
  CUSTOM_LABEL: "CustomLabel",
21
+ CUSTOM_SETTING: "CustomSetting",
21
22
  STATIC_RESOURCE: "StaticResource",
22
23
  LAYOUT: "Layout",
23
24
  RECORD_TYPE: "RecordType",