@jterrats/smart-deployment 1.0.5 → 1.1.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 (259) hide show
  1. package/README.md +3 -2
  2. package/lib/ai/wave-validation-prompt.d.ts +2 -0
  3. package/lib/ai/wave-validation-prompt.js +56 -0
  4. package/lib/ai/wave-validation-prompt.js.map +1 -0
  5. package/lib/ai/wave-validation-report.d.ts +2 -0
  6. package/lib/ai/wave-validation-report.js +96 -0
  7. package/lib/ai/wave-validation-report.js.map +1 -0
  8. package/lib/ai/wave-validation-response-parser.d.ts +8 -0
  9. package/lib/ai/wave-validation-response-parser.js +112 -0
  10. package/lib/ai/wave-validation-response-parser.js.map +1 -0
  11. package/lib/ai/wave-validation-result-synthesis.d.ts +6 -0
  12. package/lib/ai/wave-validation-result-synthesis.js +49 -0
  13. package/lib/ai/wave-validation-result-synthesis.js.map +1 -0
  14. package/lib/ai/wave-validation-service.d.ts +1 -55
  15. package/lib/ai/wave-validation-service.js +11 -359
  16. package/lib/ai/wave-validation-service.js.map +1 -1
  17. package/lib/ai/wave-validation-transport.d.ts +7 -0
  18. package/lib/ai/wave-validation-transport.js +10 -0
  19. package/lib/ai/wave-validation-transport.js.map +1 -0
  20. package/lib/analysis/analysis-reporter.d.ts +29 -0
  21. package/lib/analysis/analysis-reporter.js +84 -1
  22. package/lib/analysis/analysis-reporter.js.map +1 -1
  23. package/lib/analysis/analyze-context-service.d.ts +1 -1
  24. package/lib/analysis/analyze-context-service.js +2 -0
  25. package/lib/analysis/analyze-context-service.js.map +1 -1
  26. package/lib/analysis/project-analysis-service.d.ts +2 -0
  27. package/lib/analysis/project-analysis-service.js +2 -0
  28. package/lib/analysis/project-analysis-service.js.map +1 -1
  29. package/lib/commands/start.d.ts +1 -0
  30. package/lib/commands/start.js +14 -1
  31. package/lib/commands/start.js.map +1 -1
  32. package/lib/commands/status.d.ts +2 -0
  33. package/lib/commands/status.js +1 -0
  34. package/lib/commands/status.js.map +1 -1
  35. package/lib/commands/validate.d.ts +3 -3
  36. package/lib/commands/validate.js +4 -4
  37. package/lib/commands/validate.js.map +1 -1
  38. package/lib/constants/api-version.d.ts +2 -2
  39. package/lib/constants/api-version.js +2 -2
  40. package/lib/constants/deployment-order.js +11 -8
  41. package/lib/constants/deployment-order.js.map +1 -1
  42. package/lib/dependencies/circular-dependency-detector.d.ts +1 -31
  43. package/lib/dependencies/circular-dependency-detector.js +7 -156
  44. package/lib/dependencies/circular-dependency-detector.js.map +1 -1
  45. package/lib/dependencies/cycle-break-suggestions.d.ts +3 -0
  46. package/lib/dependencies/cycle-break-suggestions.js +63 -0
  47. package/lib/dependencies/cycle-break-suggestions.js.map +1 -0
  48. package/lib/dependencies/cycle-discovery.d.ts +16 -0
  49. package/lib/dependencies/cycle-discovery.js +70 -0
  50. package/lib/dependencies/cycle-discovery.js.map +1 -0
  51. package/lib/dependencies/dependency-graph-builder.d.ts +0 -65
  52. package/lib/dependencies/dependency-graph-builder.js +19 -233
  53. package/lib/dependencies/dependency-graph-builder.js.map +1 -1
  54. package/lib/dependencies/dependency-graph-intake.d.ts +17 -0
  55. package/lib/dependencies/dependency-graph-intake.js +20 -0
  56. package/lib/dependencies/dependency-graph-intake.js.map +1 -0
  57. package/lib/dependencies/dependency-graph-stats.d.ts +4 -0
  58. package/lib/dependencies/dependency-graph-stats.js +82 -0
  59. package/lib/dependencies/dependency-graph-stats.js.map +1 -0
  60. package/lib/dependencies/dependency-graph-validation.d.ts +16 -0
  61. package/lib/dependencies/dependency-graph-validation.js +78 -0
  62. package/lib/dependencies/dependency-graph-validation.js.map +1 -0
  63. package/lib/dependencies/dependency-impact-analyzer.d.ts +1 -22
  64. package/lib/dependencies/dependency-impact-analyzer.js +12 -110
  65. package/lib/dependencies/dependency-impact-analyzer.js.map +1 -1
  66. package/lib/dependencies/dependency-impact-scoring.d.ts +5 -0
  67. package/lib/dependencies/dependency-impact-scoring.js +24 -0
  68. package/lib/dependencies/dependency-impact-scoring.js.map +1 -0
  69. package/lib/dependencies/dependency-impact-traversal.d.ts +18 -0
  70. package/lib/dependencies/dependency-impact-traversal.js +74 -0
  71. package/lib/dependencies/dependency-impact-traversal.js.map +1 -0
  72. package/lib/dependencies/dependency-resolution-classifier.d.ts +19 -0
  73. package/lib/dependencies/dependency-resolution-classifier.js +67 -0
  74. package/lib/dependencies/dependency-resolution-classifier.js.map +1 -0
  75. package/lib/dependencies/dependency-resolver.d.ts +1 -48
  76. package/lib/dependencies/dependency-resolver.js +12 -181
  77. package/lib/dependencies/dependency-resolver.js.map +1 -1
  78. package/lib/dependencies/dynamic-query-dependency-references.d.ts +3 -0
  79. package/lib/dependencies/dynamic-query-dependency-references.js +41 -0
  80. package/lib/dependencies/dynamic-query-dependency-references.js.map +1 -0
  81. package/lib/dependencies/topological-dependency-sorter.d.ts +10 -0
  82. package/lib/dependencies/topological-dependency-sorter.js +84 -0
  83. package/lib/dependencies/topological-dependency-sorter.js.map +1 -0
  84. package/lib/deployment/cycle-remediation-runner.d.ts +1 -0
  85. package/lib/deployment/cycle-remediation-runner.js +5 -1
  86. package/lib/deployment/cycle-remediation-runner.js.map +1 -1
  87. package/lib/deployment/deployment-runner.d.ts +3 -1
  88. package/lib/deployment/deployment-runner.js +6 -1
  89. package/lib/deployment/deployment-runner.js.map +1 -1
  90. package/lib/deployment/deployment-status-service.d.ts +2 -0
  91. package/lib/deployment/deployment-status-service.js +2 -0
  92. package/lib/deployment/deployment-status-service.js.map +1 -1
  93. package/lib/deployment/deployment-validation-service.js +1 -1
  94. package/lib/deployment/deployment-validation-service.js.map +1 -1
  95. package/lib/deployment/dynamic-query-target-validator.d.ts +24 -0
  96. package/lib/deployment/dynamic-query-target-validator.js +65 -0
  97. package/lib/deployment/dynamic-query-target-validator.js.map +1 -0
  98. package/lib/deployment/sf-cli-integration.d.ts +1 -0
  99. package/lib/deployment/sf-cli-integration.js +1 -1
  100. package/lib/deployment/sf-cli-integration.js.map +1 -1
  101. package/lib/deployment/sf-cli-metadata-lookup.d.ts +4 -0
  102. package/lib/deployment/sf-cli-metadata-lookup.js +26 -0
  103. package/lib/deployment/sf-cli-metadata-lookup.js.map +1 -0
  104. package/lib/deployment/start-execution-service.d.ts +5 -0
  105. package/lib/deployment/start-execution-service.js +26 -6
  106. package/lib/deployment/start-execution-service.js.map +1 -1
  107. package/lib/deployment/wave-graph-state.d.ts +6 -0
  108. package/lib/deployment/wave-graph-state.js +89 -0
  109. package/lib/deployment/wave-graph-state.js.map +1 -0
  110. package/lib/deployment/wave-manifest-service.d.ts +1 -0
  111. package/lib/deployment/wave-manifest-service.js +1 -1
  112. package/lib/deployment/wave-manifest-service.js.map +1 -1
  113. package/lib/errors/deployment-error.js +1 -1
  114. package/lib/errors/deployment-error.js.map +1 -1
  115. package/lib/parsers/apex-class-dependencies.d.ts +4 -0
  116. package/lib/parsers/apex-class-dependencies.js +122 -0
  117. package/lib/parsers/apex-class-dependencies.js.map +1 -0
  118. package/lib/parsers/apex-class-lexical.d.ts +3 -0
  119. package/lib/parsers/apex-class-lexical.js +101 -0
  120. package/lib/parsers/apex-class-lexical.js.map +1 -0
  121. package/lib/parsers/apex-class-names.d.ts +18 -0
  122. package/lib/parsers/apex-class-names.js +93 -0
  123. package/lib/parsers/apex-class-names.js.map +1 -0
  124. package/lib/parsers/apex-class-parser-model.d.ts +59 -0
  125. package/lib/parsers/apex-class-parser-model.js +2 -0
  126. package/lib/parsers/apex-class-parser-model.js.map +1 -0
  127. package/lib/parsers/apex-class-parser.d.ts +3 -29
  128. package/lib/parsers/apex-class-parser.js +10 -395
  129. package/lib/parsers/apex-class-parser.js.map +1 -1
  130. package/lib/parsers/apex-class-symbols.d.ts +2 -0
  131. package/lib/parsers/apex-class-symbols.js +61 -0
  132. package/lib/parsers/apex-class-symbols.js.map +1 -0
  133. package/lib/parsers/apex-dynamic-query-analysis.d.ts +2 -0
  134. package/lib/parsers/apex-dynamic-query-analysis.js +150 -0
  135. package/lib/parsers/apex-dynamic-query-analysis.js.map +1 -0
  136. package/lib/parsers/custom-metadata-dynamic-query-analysis.d.ts +2 -0
  137. package/lib/parsers/custom-metadata-dynamic-query-analysis.js +50 -0
  138. package/lib/parsers/custom-metadata-dynamic-query-analysis.js.map +1 -0
  139. package/lib/parsers/custom-metadata-parser.d.ts +2 -0
  140. package/lib/parsers/custom-metadata-parser.js +3 -0
  141. package/lib/parsers/custom-metadata-parser.js.map +1 -1
  142. package/lib/parsers/custom-object-dependency-builder.d.ts +3 -0
  143. package/lib/parsers/custom-object-dependency-builder.js +103 -0
  144. package/lib/parsers/custom-object-dependency-builder.js.map +1 -0
  145. package/lib/parsers/custom-object-parser.js +1 -208
  146. package/lib/parsers/custom-object-parser.js.map +1 -1
  147. package/lib/parsers/custom-object-reference-helpers.d.ts +4 -0
  148. package/lib/parsers/custom-object-reference-helpers.js +92 -0
  149. package/lib/parsers/custom-object-reference-helpers.js.map +1 -0
  150. package/lib/parsers/dynamic-query-reference.d.ts +16 -0
  151. package/lib/parsers/dynamic-query-reference.js +65 -0
  152. package/lib/parsers/dynamic-query-reference.js.map +1 -0
  153. package/lib/parsers/layout-action-analysis.d.ts +6 -0
  154. package/lib/parsers/layout-action-analysis.js +36 -0
  155. package/lib/parsers/layout-action-analysis.js.map +1 -0
  156. package/lib/parsers/layout-parser.js +4 -272
  157. package/lib/parsers/layout-parser.js.map +1 -1
  158. package/lib/parsers/layout-reference-analysis.d.ts +9 -0
  159. package/lib/parsers/layout-reference-analysis.js +70 -0
  160. package/lib/parsers/layout-reference-analysis.js.map +1 -0
  161. package/lib/parsers/layout-result-assembly.d.ts +5 -0
  162. package/lib/parsers/layout-result-assembly.js +35 -0
  163. package/lib/parsers/layout-result-assembly.js.map +1 -0
  164. package/lib/parsers/layout-section-analysis.d.ts +7 -0
  165. package/lib/parsers/layout-section-analysis.js +9 -0
  166. package/lib/parsers/layout-section-analysis.js.map +1 -0
  167. package/lib/parsers/lwc-code-analysis.d.ts +10 -0
  168. package/lib/parsers/lwc-code-analysis.js +161 -0
  169. package/lib/parsers/lwc-code-analysis.js.map +1 -0
  170. package/lib/parsers/lwc-metadata-analysis.d.ts +6 -0
  171. package/lib/parsers/lwc-metadata-analysis.js +112 -0
  172. package/lib/parsers/lwc-metadata-analysis.js.map +1 -0
  173. package/lib/parsers/lwc-parser.d.ts +3 -27
  174. package/lib/parsers/lwc-parser.js +6 -377
  175. package/lib/parsers/lwc-parser.js.map +1 -1
  176. package/lib/parsers/lwc-result-assembly.d.ts +4 -0
  177. package/lib/parsers/lwc-result-assembly.js +47 -0
  178. package/lib/parsers/lwc-result-assembly.js.map +1 -0
  179. package/lib/presentation/status-command-presenter.d.ts +1 -0
  180. package/lib/presentation/status-command-presenter.js +20 -0
  181. package/lib/presentation/status-command-presenter.js.map +1 -1
  182. package/lib/scanner/forceignore-parser.d.ts +1 -0
  183. package/lib/scanner/forceignore-parser.js +14 -3
  184. package/lib/scanner/forceignore-parser.js.map +1 -1
  185. package/lib/scanner/structure-validator.js +1 -1
  186. package/lib/services/metadata-scanner-service.d.ts +2 -0
  187. package/lib/services/metadata-scanner-service.js +9 -2
  188. package/lib/services/metadata-scanner-service.js.map +1 -1
  189. package/lib/services/scanners/additional-metadata-scanner.d.ts +2 -0
  190. package/lib/services/scanners/additional-metadata-scanner.js +183 -0
  191. package/lib/services/scanners/additional-metadata-scanner.js.map +1 -0
  192. package/lib/services/scanners/automation-ai-metadata-scanner.d.ts +1 -0
  193. package/lib/services/scanners/automation-ai-metadata-scanner.js +11 -0
  194. package/lib/services/scanners/automation-ai-metadata-scanner.js.map +1 -1
  195. package/lib/services/scanners/code-metadata-scanner.js +14 -1
  196. package/lib/services/scanners/code-metadata-scanner.js.map +1 -1
  197. package/lib/services/scanners/data-metadata-scanner.js +24 -8
  198. package/lib/services/scanners/data-metadata-scanner.js.map +1 -1
  199. package/lib/types/metadata.d.ts +1 -1
  200. package/lib/utils/cache-entry-serializer.d.ts +7 -0
  201. package/lib/utils/cache-entry-serializer.js +15 -0
  202. package/lib/utils/cache-entry-serializer.js.map +1 -0
  203. package/lib/utils/cache-expiry-policy.d.ts +7 -0
  204. package/lib/utils/cache-expiry-policy.js +34 -0
  205. package/lib/utils/cache-expiry-policy.js.map +1 -0
  206. package/lib/utils/cache-key-derivation.d.ts +11 -0
  207. package/lib/utils/cache-key-derivation.js +28 -0
  208. package/lib/utils/cache-key-derivation.js.map +1 -0
  209. package/lib/utils/cache-lock-lifecycle.d.ts +15 -0
  210. package/lib/utils/cache-lock-lifecycle.js +84 -0
  211. package/lib/utils/cache-lock-lifecycle.js.map +1 -0
  212. package/lib/utils/cache-logger.d.ts +8 -0
  213. package/lib/utils/cache-logger.js +19 -0
  214. package/lib/utils/cache-logger.js.map +1 -0
  215. package/lib/utils/cache-manager.d.ts +1 -2
  216. package/lib/utils/cache-manager.js +7 -253
  217. package/lib/utils/cache-manager.js.map +1 -1
  218. package/lib/utils/cache-storage.d.ts +20 -0
  219. package/lib/utils/cache-storage.js +83 -0
  220. package/lib/utils/cache-storage.js.map +1 -0
  221. package/lib/validators/xml-metadata-validator.js +1 -1
  222. package/lib/waves/priority-wave-generator.js +8 -2
  223. package/lib/waves/priority-wave-generator.js.map +1 -1
  224. package/lib/waves/test-optimizer-discovery.d.ts +12 -0
  225. package/lib/waves/test-optimizer-discovery.js +46 -0
  226. package/lib/waves/test-optimizer-discovery.js.map +1 -0
  227. package/lib/waves/test-optimizer-matching.d.ts +6 -0
  228. package/lib/waves/test-optimizer-matching.js +43 -0
  229. package/lib/waves/test-optimizer-matching.js.map +1 -0
  230. package/lib/waves/test-optimizer-model.d.ts +92 -0
  231. package/lib/waves/test-optimizer-model.js +2 -0
  232. package/lib/waves/test-optimizer-model.js.map +1 -0
  233. package/lib/waves/test-optimizer-scoring.d.ts +11 -0
  234. package/lib/waves/test-optimizer-scoring.js +53 -0
  235. package/lib/waves/test-optimizer-scoring.js.map +1 -0
  236. package/lib/waves/test-optimizer.d.ts +2 -102
  237. package/lib/waves/test-optimizer.js +9 -154
  238. package/lib/waves/test-optimizer.js.map +1 -1
  239. package/lib/waves/wave-builder.d.ts +0 -11
  240. package/lib/waves/wave-builder.js +19 -193
  241. package/lib/waves/wave-builder.js.map +1 -1
  242. package/lib/waves/wave-graph.d.ts +25 -0
  243. package/lib/waves/wave-graph.js +138 -0
  244. package/lib/waves/wave-graph.js.map +1 -0
  245. package/lib/waves/wave-metadata.d.ts +4 -0
  246. package/lib/waves/wave-metadata.js +36 -0
  247. package/lib/waves/wave-metadata.js.map +1 -0
  248. package/lib/waves/wave-priority-policy.d.ts +5 -0
  249. package/lib/waves/wave-priority-policy.js +83 -0
  250. package/lib/waves/wave-priority-policy.js.map +1 -0
  251. package/lib/waves/wave-topology.d.ts +28 -0
  252. package/lib/waves/wave-topology.js +65 -0
  253. package/lib/waves/wave-topology.js.map +1 -0
  254. package/messages/start.json +5 -5
  255. package/messages/validate.json +1 -1
  256. package/npm-shrinkwrap.json +342 -751
  257. package/oclif.lock +83 -262
  258. package/oclif.manifest.json +7 -7
  259. package/package.json +6 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apex-dynamic-query-analysis.js","sourceRoot":"","sources":["../../src/parsers/apex-dynamic-query-analysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type DynamicQueryReference } from './dynamic-query-reference.js';
2
+ export declare function extractCustomMetadataDynamicQueryReferences(recordName: string, values: Readonly<Record<string, unknown>>): DynamicQueryReference[];
@@ -0,0 +1,50 @@
1
+ import { buildFieldListReference, parseSoqlReference } from './dynamic-query-reference.js';
2
+ export function extractCustomMetadataDynamicQueryReferences(recordName, values) {
3
+ const references = [];
4
+ const seen = new Set();
5
+ const objectName = findConfiguredObjectName(values);
6
+ for (const [fieldName, value] of Object.entries(values)) {
7
+ if (typeof value !== 'string') {
8
+ continue;
9
+ }
10
+ const source = { recordName, fieldName };
11
+ const soqlReference = parseSoqlReference(value, 'custom-metadata-value', source);
12
+ if (soqlReference) {
13
+ addUniqueReference(references, seen, soqlReference);
14
+ continue;
15
+ }
16
+ if (isFieldListConfigName(fieldName)) {
17
+ const fieldListReference = buildFieldListReference(objectName, value, 'custom-metadata-value', source);
18
+ if (fieldListReference) {
19
+ addUniqueReference(references, seen, fieldListReference);
20
+ }
21
+ }
22
+ }
23
+ return references;
24
+ }
25
+ function addUniqueReference(references, seen, reference) {
26
+ const key = `${reference.source?.recordName ?? ''}:${reference.source?.fieldName ?? ''}:${reference.objectName ?? ''}:${reference.fieldNames.join(',')}:${reference.rawQuery}`;
27
+ if (seen.has(key)) {
28
+ return;
29
+ }
30
+ seen.add(key);
31
+ references.push(reference);
32
+ }
33
+ function findConfiguredObjectName(values) {
34
+ for (const [fieldName, value] of Object.entries(values)) {
35
+ if (typeof value === 'string' && isObjectConfigName(fieldName) && isObjectApiName(value)) {
36
+ return value;
37
+ }
38
+ }
39
+ return undefined;
40
+ }
41
+ function isObjectConfigName(fieldName) {
42
+ return /(?:^|_)(?:Object|SObject|Entity|TargetObject|ObjectApiName)(?:__c)?$/i.test(fieldName);
43
+ }
44
+ function isFieldListConfigName(fieldName) {
45
+ return /(?:^|_)(?:Fields|FieldList|SelectFields|QueryFields|Columns)(?:__c)?$/i.test(fieldName);
46
+ }
47
+ function isObjectApiName(value) {
48
+ return /^[a-zA-Z][a-zA-Z0-9_]*(?:__c|__mdt)?$/.test(value);
49
+ }
50
+ //# sourceMappingURL=custom-metadata-dynamic-query-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-metadata-dynamic-query-analysis.js","sourceRoot":"","sources":["../../src/parsers/custom-metadata-dynamic-query-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAA8B,MAAM,8BAA8B,CAAC;AAEvH,MAAM,UAAU,2CAA2C,CACzD,UAAkB,EAClB,MAAyC;IAEzC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEpD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;YACvG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAmC,EACnC,IAAiB,EACjB,SAAgC;IAEhC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,IACpF,SAAS,CAAC,UAAU,IAAI,EAC1B,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAyC;IACzE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,OAAO,uEAAuE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,OAAO,wEAAwE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { CustomMetadataType, CustomMetadataField, CustomMetadataRecord as CMDRecord } from '../types/salesforce/custom-metadata.js';
2
+ import type { DynamicQueryReference } from './dynamic-query-reference.js';
2
3
  /**
3
4
  * Custom Metadata dependency types
4
5
  */
@@ -18,6 +19,7 @@ export type CustomMetadataDependency = {
18
19
  export type CustomMetadataRecord = Omit<CMDRecord, 'values'> & {
19
20
  fullName: string;
20
21
  values: Record<string, unknown>;
22
+ dynamicQueryReferences: DynamicQueryReference[];
21
23
  };
22
24
  /**
23
25
  * Result of parsing a Custom Metadata Type
@@ -1,6 +1,7 @@
1
1
  import { getLogger } from '../utils/logger.js';
2
2
  import { ParsingError } from '../errors/parsing-error.js';
3
3
  import { parseXml } from '../utils/xml.js';
4
+ import { extractCustomMetadataDynamicQueryReferences } from './custom-metadata-dynamic-query-analysis.js';
4
5
  const logger = getLogger('CustomMetadataParser');
5
6
  function extractScalarXmlValue(value) {
6
7
  if (value === null || value === undefined) {
@@ -158,9 +159,11 @@ export async function parseCustomMetadataRecord(recordName, metadataContent) {
158
159
  label,
159
160
  protected: protectedFlag,
160
161
  values,
162
+ dynamicQueryReferences: extractCustomMetadataDynamicQueryReferences(recordName, values),
161
163
  };
162
164
  logger.debug(`Parsed custom metadata record: ${recordName}`, {
163
165
  valuesCount: Object.keys(values).length,
166
+ dynamicQueryReferences: record.dynamicQueryReferences.length,
164
167
  });
165
168
  return record;
166
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-metadata-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-metadata-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-metadata-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-metadata-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CustomField, RecordType, ValidationRule } from '../types/salesforce/object.js';
2
+ import type { CustomObjectDependency } from './custom-object-parser.js';
3
+ export declare function buildDependencies(fields: CustomField[], validationRules: ValidationRule[], recordTypes: RecordType[]): CustomObjectDependency[];
@@ -0,0 +1,103 @@
1
+ import { extractApexReferences, extractCustomFieldReferences, resolveFormulaReferences, } from './custom-object-reference-helpers.js';
2
+ export function buildDependencies(fields, validationRules, recordTypes) {
3
+ return [
4
+ ...extractFieldDependencies(fields),
5
+ ...extractValidationRuleDependencies(validationRules, fields),
6
+ ...extractRecordTypeDependencies(recordTypes),
7
+ ];
8
+ }
9
+ function extractFieldDependencies(fields) {
10
+ const dependencies = [];
11
+ for (const field of fields) {
12
+ dependencies.push(...extractRelationshipFieldDependencies(field));
13
+ dependencies.push(...extractFormulaFieldDependencies(field, fields));
14
+ dependencies.push(...extractSummaryFieldDependencies(field));
15
+ }
16
+ return dependencies;
17
+ }
18
+ function extractRelationshipFieldDependencies(field) {
19
+ if (!field.referenceTo || (field.type !== 'Lookup' && field.type !== 'MasterDetail')) {
20
+ return [];
21
+ }
22
+ return field.referenceTo.map((referencedObject) => ({
23
+ type: field.type === 'MasterDetail' ? 'master_detail_field' : 'lookup_field',
24
+ name: field.fullName,
25
+ referencedObject,
26
+ fieldName: field.fullName,
27
+ }));
28
+ }
29
+ function extractFormulaFieldDependencies(field, fields) {
30
+ if (!field.formula) {
31
+ return [];
32
+ }
33
+ return [
34
+ ...resolveFormulaReferences(field.formula, fields).map((referencedObject) => ({
35
+ type: 'formula_field',
36
+ name: field.fullName,
37
+ referencedObject,
38
+ fieldName: field.fullName,
39
+ })),
40
+ ...extractApexReferences(field.formula).map((apexClass) => ({
41
+ type: 'apex_class',
42
+ name: apexClass,
43
+ fieldName: field.fullName,
44
+ })),
45
+ ...extractCustomFieldReferences(field.formula, fields, field.fullName).map((customFieldRef) => ({
46
+ type: 'custom_field',
47
+ name: customFieldRef,
48
+ fieldName: customFieldRef,
49
+ })),
50
+ ];
51
+ }
52
+ function extractSummaryFieldDependencies(field) {
53
+ if (field.type !== 'Summary') {
54
+ return [];
55
+ }
56
+ const dependencies = [];
57
+ if (field.summaryForeignKey) {
58
+ dependencies.push({
59
+ type: 'custom_field',
60
+ name: field.summaryForeignKey,
61
+ fieldName: field.summaryForeignKey,
62
+ });
63
+ }
64
+ if (field.summarizedField) {
65
+ dependencies.push({
66
+ type: 'custom_field',
67
+ name: field.summarizedField,
68
+ fieldName: field.summarizedField,
69
+ });
70
+ }
71
+ return dependencies;
72
+ }
73
+ function extractValidationRuleDependencies(validationRules, fields) {
74
+ return validationRules.flatMap((rule) => extractValidationRuleDependency(rule, fields));
75
+ }
76
+ function extractValidationRuleDependency(rule, fields) {
77
+ if (!rule.errorConditionFormula) {
78
+ return [];
79
+ }
80
+ return [
81
+ ...resolveFormulaReferences(rule.errorConditionFormula, fields).map((referencedObject) => ({
82
+ type: 'validation_rule',
83
+ name: rule.fullName,
84
+ referencedObject,
85
+ })),
86
+ ...extractApexReferences(rule.errorConditionFormula).map((apexClass) => ({
87
+ type: 'apex_class',
88
+ name: apexClass,
89
+ })),
90
+ ...extractCustomFieldReferences(rule.errorConditionFormula, fields).map((customFieldRef) => ({
91
+ type: 'custom_field',
92
+ name: customFieldRef,
93
+ fieldName: customFieldRef,
94
+ })),
95
+ ];
96
+ }
97
+ function extractRecordTypeDependencies(recordTypes) {
98
+ return recordTypes.map((recordType) => ({
99
+ type: 'record_type',
100
+ name: recordType.fullName,
101
+ }));
102
+ }
103
+ //# sourceMappingURL=custom-object-dependency-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-dependency-builder.js","sourceRoot":"","sources":["../../src/parsers/custom-object-dependency-builder.ts"],"names":[],"mappings":"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"}
@@ -1,112 +1,9 @@
1
1
  import { getLogger } from '../utils/logger.js';
2
2
  import { ParsingError } from '../errors/parsing-error.js';
3
3
  import { parseXml } from '../utils/xml.js';
4
+ import { buildDependencies } from './custom-object-dependency-builder.js';
4
5
  import { normalizeOptionalArray } from './parser-utils.js';
5
6
  const logger = getLogger('CustomObjectParser');
6
- /**
7
- * Extract object references from formula
8
- *
9
- * @ac US-020-AC-3: Extract formula field dependencies
10
- */
11
- function extractFormulaReferences(formula) {
12
- const references = new Set();
13
- // Pattern: ObjectName.FieldName or $ObjectType.ObjectName
14
- const objectPattern = /\b([A-Z][a-zA-Z0-9_]*)\./g;
15
- const matches = formula.matchAll(objectPattern);
16
- for (const match of matches) {
17
- const objectName = match[1];
18
- // Skip common formula functions
19
- if (!['IF', 'AND', 'OR', 'NOT', 'CASE', 'TEXT', 'VALUE', 'DATE', 'DATEVALUE', 'NOW', 'TODAY'].includes(objectName)) {
20
- references.add(objectName);
21
- }
22
- }
23
- // Also check for $ObjectType references
24
- const objectTypePattern = /\$ObjectType\.([a-zA-Z][a-zA-Z0-9_]*)/g;
25
- const objectTypeMatches = formula.matchAll(objectTypePattern);
26
- for (const match of objectTypeMatches) {
27
- references.add(match[1]);
28
- }
29
- return [...references];
30
- }
31
- function sanitizeFormula(formula) {
32
- return formula.replace(/"[^"]*"|'[^']*'/g, ' ');
33
- }
34
- function createRelationshipFieldMap(fields) {
35
- const relationshipFieldMap = new Map();
36
- for (const field of fields) {
37
- if (!field.referenceTo || field.referenceTo.length === 0) {
38
- continue;
39
- }
40
- const keys = new Set();
41
- keys.add(field.fullName);
42
- if (field.fullName.endsWith('__c')) {
43
- keys.add(`${field.fullName.slice(0, -3)}__r`);
44
- }
45
- if (field.relationshipName) {
46
- keys.add(field.relationshipName);
47
- }
48
- for (const key of keys) {
49
- relationshipFieldMap.set(key, {
50
- fieldName: field.fullName,
51
- referencedObjects: field.referenceTo,
52
- });
53
- }
54
- }
55
- return relationshipFieldMap;
56
- }
57
- function resolveFormulaReferences(formula, fields) {
58
- const rawReferences = extractFormulaReferences(formula);
59
- const relationshipFieldMap = createRelationshipFieldMap(fields);
60
- const resolved = new Set();
61
- for (const rawReference of rawReferences) {
62
- const relationship = relationshipFieldMap.get(rawReference);
63
- if (relationship) {
64
- for (const referencedObject of relationship.referencedObjects) {
65
- resolved.add(referencedObject);
66
- }
67
- continue;
68
- }
69
- resolved.add(rawReference);
70
- }
71
- return [...resolved];
72
- }
73
- function extractCustomFieldReferences(formula, fields, currentFieldName) {
74
- const sanitizedFormula = sanitizeFormula(formula);
75
- const customFieldNames = new Set(fields.map((field) => field.fullName));
76
- const relationshipFieldMap = createRelationshipFieldMap(fields);
77
- const references = new Set();
78
- const directFieldPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__c)\b/g;
79
- for (const match of sanitizedFormula.matchAll(directFieldPattern)) {
80
- const fieldName = match[1];
81
- if (fieldName !== currentFieldName && customFieldNames.has(fieldName)) {
82
- references.add(fieldName);
83
- }
84
- }
85
- const relationshipPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__r)\./g;
86
- for (const match of sanitizedFormula.matchAll(relationshipPattern)) {
87
- const relationshipName = match[1];
88
- const fieldReference = relationshipFieldMap.get(relationshipName)?.fieldName;
89
- if (fieldReference && fieldReference !== currentFieldName) {
90
- references.add(fieldReference);
91
- }
92
- }
93
- return [...references];
94
- }
95
- /**
96
- * Extract Apex class references from validation rules
97
- *
98
- * @ac US-020-AC-5: Extract Apex class references in formulas
99
- */
100
- function extractApexReferences(formula) {
101
- const apexClasses = new Set();
102
- // Pattern: ClassName.methodName() or @RemoteAction patterns
103
- const apexPattern = /\b([A-Z][a-zA-Z0-9_]*)\.[a-zA-Z][a-zA-Z0-9_]*\s*\(/g;
104
- const matches = formula.matchAll(apexPattern);
105
- for (const match of matches) {
106
- apexClasses.add(match[1]);
107
- }
108
- return [...apexClasses];
109
- }
110
7
  /**
111
8
  * Extract sharing rules from metadata
112
9
  *
@@ -155,110 +52,6 @@ function extractBaseSections(metadata) {
155
52
  listViews: metadata.listViews ?? [],
156
53
  };
157
54
  }
158
- function extractFieldDependencies(fields) {
159
- const dependencies = [];
160
- for (const field of fields) {
161
- if (field.referenceTo && (field.type === 'Lookup' || field.type === 'MasterDetail')) {
162
- for (const referencedObject of field.referenceTo) {
163
- dependencies.push({
164
- type: field.type === 'MasterDetail' ? 'master_detail_field' : 'lookup_field',
165
- name: field.fullName,
166
- referencedObject,
167
- fieldName: field.fullName,
168
- });
169
- }
170
- }
171
- if (field.formula) {
172
- const formulaRefs = resolveFormulaReferences(field.formula, fields);
173
- for (const referencedObject of formulaRefs) {
174
- dependencies.push({
175
- type: 'formula_field',
176
- name: field.fullName,
177
- referencedObject,
178
- fieldName: field.fullName,
179
- });
180
- }
181
- const apexRefs = extractApexReferences(field.formula);
182
- for (const apexClass of apexRefs) {
183
- dependencies.push({
184
- type: 'apex_class',
185
- name: apexClass,
186
- fieldName: field.fullName,
187
- });
188
- }
189
- const customFieldRefs = extractCustomFieldReferences(field.formula, fields, field.fullName);
190
- for (const customFieldRef of customFieldRefs) {
191
- dependencies.push({
192
- type: 'custom_field',
193
- name: customFieldRef,
194
- fieldName: customFieldRef,
195
- });
196
- }
197
- }
198
- if (field.type === 'Summary') {
199
- if (field.summaryForeignKey) {
200
- dependencies.push({
201
- type: 'custom_field',
202
- name: field.summaryForeignKey,
203
- fieldName: field.summaryForeignKey,
204
- });
205
- }
206
- if (field.summarizedField) {
207
- dependencies.push({
208
- type: 'custom_field',
209
- name: field.summarizedField,
210
- fieldName: field.summarizedField,
211
- });
212
- }
213
- }
214
- }
215
- return dependencies;
216
- }
217
- function extractValidationRuleDependencies(validationRules, fields) {
218
- const dependencies = [];
219
- for (const rule of validationRules) {
220
- if (!rule.errorConditionFormula) {
221
- continue;
222
- }
223
- const formulaRefs = resolveFormulaReferences(rule.errorConditionFormula, fields);
224
- for (const referencedObject of formulaRefs) {
225
- dependencies.push({
226
- type: 'validation_rule',
227
- name: rule.fullName,
228
- referencedObject,
229
- });
230
- }
231
- const apexRefs = extractApexReferences(rule.errorConditionFormula);
232
- for (const apexClass of apexRefs) {
233
- dependencies.push({
234
- type: 'apex_class',
235
- name: apexClass,
236
- });
237
- }
238
- const customFieldRefs = extractCustomFieldReferences(rule.errorConditionFormula, fields);
239
- for (const customFieldRef of customFieldRefs) {
240
- dependencies.push({
241
- type: 'custom_field',
242
- name: customFieldRef,
243
- fieldName: customFieldRef,
244
- });
245
- }
246
- }
247
- return dependencies;
248
- }
249
- function extractRecordTypeDependencies(recordTypes) {
250
- return recordTypes.map((recordType) => ({
251
- type: 'record_type',
252
- name: recordType.fullName,
253
- }));
254
- }
255
- function buildDependencies(fields, validationRules, recordTypes) {
256
- return [
257
- ...extractFieldDependencies(fields),
258
- ...extractValidationRuleDependencies(validationRules, fields),
259
- ...extractRecordTypeDependencies(recordTypes),
260
- ];
261
- }
262
55
  async function parseCustomObjectXml(metadataContent) {
263
56
  const parsed = await parseXml(metadataContent);
264
57
  const parsedRoot = parsed;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-object-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-object-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-object-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-object-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CustomField } from '../types/salesforce/object.js';
2
+ export declare function resolveFormulaReferences(formula: string, fields: CustomField[]): string[];
3
+ export declare function extractCustomFieldReferences(formula: string, fields: CustomField[], currentFieldName?: string): string[];
4
+ export declare function extractApexReferences(formula: string): string[];
@@ -0,0 +1,92 @@
1
+ const FORMULA_FUNCTIONS = ['IF', 'AND', 'OR', 'NOT', 'CASE', 'TEXT', 'VALUE', 'DATE', 'DATEVALUE', 'NOW', 'TODAY'];
2
+ export function resolveFormulaReferences(formula, fields) {
3
+ const rawReferences = extractFormulaReferences(formula);
4
+ const relationshipFieldMap = createRelationshipFieldMap(fields);
5
+ const resolved = new Set();
6
+ for (const rawReference of rawReferences) {
7
+ const relationship = relationshipFieldMap.get(rawReference);
8
+ if (relationship) {
9
+ for (const referencedObject of relationship.referencedObjects) {
10
+ resolved.add(referencedObject);
11
+ }
12
+ continue;
13
+ }
14
+ resolved.add(rawReference);
15
+ }
16
+ return [...resolved];
17
+ }
18
+ export function extractCustomFieldReferences(formula, fields, currentFieldName) {
19
+ const sanitizedFormula = sanitizeFormula(formula);
20
+ const customFieldNames = new Set(fields.map((field) => field.fullName));
21
+ const relationshipFieldMap = createRelationshipFieldMap(fields);
22
+ const references = new Set();
23
+ const directFieldPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__c)\b/g;
24
+ for (const match of sanitizedFormula.matchAll(directFieldPattern)) {
25
+ const fieldName = match[1];
26
+ if (fieldName !== currentFieldName && customFieldNames.has(fieldName)) {
27
+ references.add(fieldName);
28
+ }
29
+ }
30
+ const relationshipPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__r)\./g;
31
+ for (const match of sanitizedFormula.matchAll(relationshipPattern)) {
32
+ const relationshipName = match[1];
33
+ const fieldReference = relationshipFieldMap.get(relationshipName)?.fieldName;
34
+ if (fieldReference && fieldReference !== currentFieldName) {
35
+ references.add(fieldReference);
36
+ }
37
+ }
38
+ return [...references];
39
+ }
40
+ export function extractApexReferences(formula) {
41
+ const apexClasses = new Set();
42
+ const apexPattern = /\b([A-Z][a-zA-Z0-9_]*)\.[a-zA-Z][a-zA-Z0-9_]*\s*\(/g;
43
+ for (const match of formula.matchAll(apexPattern)) {
44
+ apexClasses.add(match[1]);
45
+ }
46
+ return [...apexClasses];
47
+ }
48
+ function extractFormulaReferences(formula) {
49
+ const references = new Set();
50
+ const objectPattern = /\b([A-Z][a-zA-Z0-9_]*)\./g;
51
+ for (const match of formula.matchAll(objectPattern)) {
52
+ const objectName = match[1];
53
+ if (!FORMULA_FUNCTIONS.includes(objectName)) {
54
+ references.add(objectName);
55
+ }
56
+ }
57
+ const objectTypePattern = /\$ObjectType\.([a-zA-Z][a-zA-Z0-9_]*)/g;
58
+ for (const match of formula.matchAll(objectTypePattern)) {
59
+ references.add(match[1]);
60
+ }
61
+ return [...references];
62
+ }
63
+ function sanitizeFormula(formula) {
64
+ return formula.replace(/"[^"]*"|'[^']*'/g, ' ');
65
+ }
66
+ function createRelationshipFieldMap(fields) {
67
+ const relationshipFieldMap = new Map();
68
+ for (const field of fields) {
69
+ if (!field.referenceTo || field.referenceTo.length === 0) {
70
+ continue;
71
+ }
72
+ for (const key of collectRelationshipKeys(field)) {
73
+ relationshipFieldMap.set(key, {
74
+ fieldName: field.fullName,
75
+ referencedObjects: field.referenceTo,
76
+ });
77
+ }
78
+ }
79
+ return relationshipFieldMap;
80
+ }
81
+ function collectRelationshipKeys(field) {
82
+ const keys = new Set();
83
+ keys.add(field.fullName);
84
+ if (field.fullName.endsWith('__c')) {
85
+ keys.add(`${field.fullName.slice(0, -3)}__r`);
86
+ }
87
+ if (field.relationshipName) {
88
+ keys.add(field.relationshipName);
89
+ }
90
+ return keys;
91
+ }
92
+ //# sourceMappingURL=custom-object-reference-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-reference-helpers.js","sourceRoot":"","sources":["../../src/parsers/custom-object-reference-helpers.ts"],"names":[],"mappings":"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"}