@jterrats/smart-deployment 1.0.3 → 1.0.4

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 (257) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +6 -0
  3. package/lib/ai/wave-validation-service.d.ts +21 -0
  4. package/lib/ai/wave-validation-service.js +189 -114
  5. package/lib/ai/wave-validation-service.js.map +1 -1
  6. package/lib/analysis/analysis-reporter.d.ts +12 -0
  7. package/lib/analysis/analysis-reporter.js +61 -0
  8. package/lib/analysis/analysis-reporter.js.map +1 -1
  9. package/lib/analysis/analyze-artifact-service.d.ts +25 -0
  10. package/lib/analysis/analyze-artifact-service.js +50 -0
  11. package/lib/analysis/analyze-artifact-service.js.map +1 -0
  12. package/lib/analysis/analyze-context-service.d.ts +25 -0
  13. package/lib/analysis/analyze-context-service.js +28 -0
  14. package/lib/analysis/analyze-context-service.js.map +1 -0
  15. package/lib/analysis/project-analysis-service.d.ts +48 -0
  16. package/lib/analysis/project-analysis-service.js +134 -0
  17. package/lib/analysis/project-analysis-service.js.map +1 -0
  18. package/lib/commands/analyze.d.ts +0 -2
  19. package/lib/commands/analyze.js +31 -162
  20. package/lib/commands/analyze.js.map +1 -1
  21. package/lib/commands/config.d.ts +0 -4
  22. package/lib/commands/config.js +25 -95
  23. package/lib/commands/config.js.map +1 -1
  24. package/lib/commands/resume.js +6 -16
  25. package/lib/commands/resume.js.map +1 -1
  26. package/lib/commands/start.d.ts +0 -11
  27. package/lib/commands/start.js +38 -550
  28. package/lib/commands/start.js.map +1 -1
  29. package/lib/commands/status.js +36 -12
  30. package/lib/commands/status.js.map +1 -1
  31. package/lib/commands/validate.d.ts +3 -0
  32. package/lib/commands/validate.js +5 -7
  33. package/lib/commands/validate.js.map +1 -1
  34. package/lib/config/config-mutation-service.d.ts +21 -0
  35. package/lib/config/config-mutation-service.js +61 -0
  36. package/lib/config/config-mutation-service.js.map +1 -0
  37. package/lib/dependencies/circular-dependency-detector.d.ts +5 -0
  38. package/lib/dependencies/circular-dependency-detector.js +67 -72
  39. package/lib/dependencies/circular-dependency-detector.js.map +1 -1
  40. package/lib/dependencies/dependency-depth-calculator.d.ts +28 -0
  41. package/lib/dependencies/dependency-depth-calculator.js +86 -39
  42. package/lib/dependencies/dependency-depth-calculator.js.map +1 -1
  43. package/lib/dependencies/dependency-graph-builder.d.ts +45 -13
  44. package/lib/dependencies/dependency-graph-builder.js +228 -123
  45. package/lib/dependencies/dependency-graph-builder.js.map +1 -1
  46. package/lib/dependencies/dependency-impact-analyzer.d.ts +13 -0
  47. package/lib/dependencies/dependency-impact-analyzer.js +146 -102
  48. package/lib/dependencies/dependency-impact-analyzer.js.map +1 -1
  49. package/lib/dependencies/dependency-merger.d.ts +10 -0
  50. package/lib/dependencies/dependency-merger.js +123 -61
  51. package/lib/dependencies/dependency-merger.js.map +1 -1
  52. package/lib/dependencies/dependency-resolver.d.ts +34 -9
  53. package/lib/dependencies/dependency-resolver.js +181 -112
  54. package/lib/dependencies/dependency-resolver.js.map +1 -1
  55. package/lib/dependencies/dependency-semantics.d.ts +20 -0
  56. package/lib/dependencies/dependency-semantics.js +55 -0
  57. package/lib/dependencies/dependency-semantics.js.map +1 -0
  58. package/lib/dependencies/graph-visualizer.d.ts +6 -1
  59. package/lib/dependencies/graph-visualizer.js +38 -4
  60. package/lib/dependencies/graph-visualizer.js.map +1 -1
  61. package/lib/dependencies/heuristic-inference.d.ts +2 -53
  62. package/lib/dependencies/heuristic-inference.js +8 -317
  63. package/lib/dependencies/heuristic-inference.js.map +1 -1
  64. package/lib/dependencies/heuristic-patterns.d.ts +14 -0
  65. package/lib/dependencies/heuristic-patterns.js +247 -0
  66. package/lib/dependencies/heuristic-patterns.js.map +1 -0
  67. package/lib/deployment/cycle-remediation-runner.d.ts +36 -0
  68. package/lib/deployment/cycle-remediation-runner.js +262 -0
  69. package/lib/deployment/cycle-remediation-runner.js.map +1 -0
  70. package/lib/deployment/deployment-context-service.d.ts +24 -0
  71. package/lib/deployment/deployment-context-service.js +17 -0
  72. package/lib/deployment/deployment-context-service.js.map +1 -0
  73. package/lib/deployment/deployment-runner.d.ts +37 -0
  74. package/lib/deployment/deployment-runner.js +94 -0
  75. package/lib/deployment/deployment-runner.js.map +1 -0
  76. package/lib/deployment/deployment-status-service.d.ts +5 -0
  77. package/lib/deployment/deployment-status-service.js +39 -18
  78. package/lib/deployment/deployment-status-service.js.map +1 -1
  79. package/lib/deployment/deployment-validation-service.d.ts +5 -2
  80. package/lib/deployment/deployment-validation-service.js +48 -45
  81. package/lib/deployment/deployment-validation-service.js.map +1 -1
  82. package/lib/deployment/resume-deployment-service.d.ts +14 -0
  83. package/lib/deployment/resume-deployment-service.js +25 -0
  84. package/lib/deployment/resume-deployment-service.js.map +1 -0
  85. package/lib/deployment/start-execution-service.d.ts +44 -0
  86. package/lib/deployment/start-execution-service.js +94 -0
  87. package/lib/deployment/start-execution-service.js.map +1 -0
  88. package/lib/deployment/test-executor.d.ts +60 -1
  89. package/lib/deployment/test-executor.js +180 -12
  90. package/lib/deployment/test-executor.js.map +1 -1
  91. package/lib/deployment/test-plan-service.d.ts +8 -0
  92. package/lib/deployment/test-plan-service.js +26 -0
  93. package/lib/deployment/test-plan-service.js.map +1 -0
  94. package/lib/deployment/wave-manifest-service.d.ts +11 -0
  95. package/lib/deployment/wave-manifest-service.js +41 -0
  96. package/lib/deployment/wave-manifest-service.js.map +1 -0
  97. package/lib/parsers/apex-class-parser.js +180 -98
  98. package/lib/parsers/apex-class-parser.js.map +1 -1
  99. package/lib/parsers/apex-trigger-parser.js +56 -7
  100. package/lib/parsers/apex-trigger-parser.js.map +1 -1
  101. package/lib/parsers/aura-parser.js +2 -2
  102. package/lib/parsers/aura-parser.js.map +1 -1
  103. package/lib/parsers/bot-parser.js +31 -4
  104. package/lib/parsers/bot-parser.js.map +1 -1
  105. package/lib/parsers/custom-metadata-parser.js +37 -3
  106. package/lib/parsers/custom-metadata-parser.js.map +1 -1
  107. package/lib/parsers/custom-object-parser.js +284 -150
  108. package/lib/parsers/custom-object-parser.js.map +1 -1
  109. package/lib/parsers/email-template-parser.js +115 -58
  110. package/lib/parsers/email-template-parser.js.map +1 -1
  111. package/lib/parsers/flexipage-parser.js +41 -16
  112. package/lib/parsers/flexipage-parser.js.map +1 -1
  113. package/lib/parsers/flow-parser.js +73 -63
  114. package/lib/parsers/flow-parser.js.map +1 -1
  115. package/lib/parsers/genai-prompt-parser.js +16 -4
  116. package/lib/parsers/genai-prompt-parser.js.map +1 -1
  117. package/lib/parsers/layout-parser.d.ts +11 -0
  118. package/lib/parsers/layout-parser.js +143 -68
  119. package/lib/parsers/layout-parser.js.map +1 -1
  120. package/lib/parsers/lwc-parser.d.ts +0 -9
  121. package/lib/parsers/lwc-parser.js +245 -100
  122. package/lib/parsers/lwc-parser.js.map +1 -1
  123. package/lib/parsers/parser-utils.d.ts +3 -0
  124. package/lib/parsers/parser-utils.js +16 -0
  125. package/lib/parsers/parser-utils.js.map +1 -0
  126. package/lib/parsers/permission-set-parser.d.ts +6 -0
  127. package/lib/parsers/permission-set-parser.js +31 -40
  128. package/lib/parsers/permission-set-parser.js.map +1 -1
  129. package/lib/parsers/profile-parser.d.ts +13 -0
  130. package/lib/parsers/profile-parser.js +39 -34
  131. package/lib/parsers/profile-parser.js.map +1 -1
  132. package/lib/parsers/visualforce-parser.js +2 -1
  133. package/lib/parsers/visualforce-parser.js.map +1 -1
  134. package/lib/presentation/analyze-command-presenter.d.ts +10 -0
  135. package/lib/presentation/analyze-command-presenter.js +30 -0
  136. package/lib/presentation/analyze-command-presenter.js.map +1 -0
  137. package/lib/presentation/config-command-presenter.d.ts +15 -0
  138. package/lib/presentation/config-command-presenter.js +50 -0
  139. package/lib/presentation/config-command-presenter.js.map +1 -0
  140. package/lib/presentation/project-analysis-presenter.d.ts +9 -0
  141. package/lib/presentation/project-analysis-presenter.js +9 -0
  142. package/lib/presentation/project-analysis-presenter.js.map +1 -0
  143. package/lib/presentation/resume-command-presenter.d.ts +7 -0
  144. package/lib/presentation/resume-command-presenter.js +12 -0
  145. package/lib/presentation/resume-command-presenter.js.map +1 -0
  146. package/lib/presentation/start-command-presenter.d.ts +15 -0
  147. package/lib/presentation/start-command-presenter.js +29 -0
  148. package/lib/presentation/start-command-presenter.js.map +1 -0
  149. package/lib/presentation/status-command-presenter.d.ts +7 -0
  150. package/lib/presentation/status-command-presenter.js +16 -0
  151. package/lib/presentation/status-command-presenter.js.map +1 -0
  152. package/lib/presentation/validate-command-presenter.d.ts +9 -0
  153. package/lib/presentation/validate-command-presenter.js +50 -0
  154. package/lib/presentation/validate-command-presenter.js.map +1 -0
  155. package/lib/services/metadata-scanner-service.d.ts +8 -12
  156. package/lib/services/metadata-scanner-service.js +55 -533
  157. package/lib/services/metadata-scanner-service.js.map +1 -1
  158. package/lib/services/scanners/automation-ai-metadata-scanner.d.ts +4 -0
  159. package/lib/services/scanners/automation-ai-metadata-scanner.js +61 -0
  160. package/lib/services/scanners/automation-ai-metadata-scanner.js.map +1 -0
  161. package/lib/services/scanners/code-metadata-scanner.d.ts +23 -0
  162. package/lib/services/scanners/code-metadata-scanner.js +149 -0
  163. package/lib/services/scanners/code-metadata-scanner.js.map +1 -0
  164. package/lib/services/scanners/data-metadata-scanner.d.ts +3 -0
  165. package/lib/services/scanners/data-metadata-scanner.js +82 -0
  166. package/lib/services/scanners/data-metadata-scanner.js.map +1 -0
  167. package/lib/services/scanners/experience-metadata-scanner.d.ts +5 -0
  168. package/lib/services/scanners/experience-metadata-scanner.js +123 -0
  169. package/lib/services/scanners/experience-metadata-scanner.js.map +1 -0
  170. package/lib/services/scanners/scanner-runtime.d.ts +11 -0
  171. package/lib/services/scanners/scanner-runtime.js +115 -0
  172. package/lib/services/scanners/scanner-runtime.js.map +1 -0
  173. package/lib/services/scanners/security-metadata-scanner.d.ts +3 -0
  174. package/lib/services/scanners/security-metadata-scanner.js +71 -0
  175. package/lib/services/scanners/security-metadata-scanner.js.map +1 -0
  176. package/lib/types/dependency.d.ts +11 -1
  177. package/lib/types/metadata.d.ts +17 -0
  178. package/lib/types/salesforce/flow/actions.d.ts +108 -0
  179. package/lib/types/salesforce/flow/actions.js +2 -0
  180. package/lib/types/salesforce/flow/actions.js.map +1 -0
  181. package/lib/types/salesforce/flow/common.d.ts +36 -0
  182. package/lib/types/salesforce/flow/common.js +5 -0
  183. package/lib/types/salesforce/flow/common.js.map +1 -0
  184. package/lib/types/salesforce/flow/metadata.d.ts +37 -0
  185. package/lib/types/salesforce/flow/metadata.js +2 -0
  186. package/lib/types/salesforce/flow/metadata.js.map +1 -0
  187. package/lib/types/salesforce/flow/records.d.ts +38 -0
  188. package/lib/types/salesforce/flow/records.js +2 -0
  189. package/lib/types/salesforce/flow/records.js.map +1 -0
  190. package/lib/types/salesforce/flow/resources.d.ts +44 -0
  191. package/lib/types/salesforce/flow/resources.js +2 -0
  192. package/lib/types/salesforce/flow/resources.js.map +1 -0
  193. package/lib/types/salesforce/flow/screens.d.ts +56 -0
  194. package/lib/types/salesforce/flow/screens.js +2 -0
  195. package/lib/types/salesforce/flow/screens.js.map +1 -0
  196. package/lib/types/salesforce/flow/start.d.ts +24 -0
  197. package/lib/types/salesforce/flow/start.js +2 -0
  198. package/lib/types/salesforce/flow/start.js.map +1 -0
  199. package/lib/types/salesforce/flow.d.ts +9 -514
  200. package/lib/types/salesforce/flow.js +1 -1
  201. package/lib/types/salesforce/object/core.d.ts +68 -0
  202. package/lib/types/salesforce/object/core.js +5 -0
  203. package/lib/types/salesforce/object/core.js.map +1 -0
  204. package/lib/types/salesforce/object/field.d.ts +155 -0
  205. package/lib/types/salesforce/object/field.js +5 -0
  206. package/lib/types/salesforce/object/field.js.map +1 -0
  207. package/lib/types/salesforce/object/filter.d.ts +16 -0
  208. package/lib/types/salesforce/object/filter.js +5 -0
  209. package/lib/types/salesforce/object/filter.js.map +1 -0
  210. package/lib/types/salesforce/object/policy.d.ts +27 -0
  211. package/lib/types/salesforce/object/policy.js +5 -0
  212. package/lib/types/salesforce/object/policy.js.map +1 -0
  213. package/lib/types/salesforce/object/record.d.ts +44 -0
  214. package/lib/types/salesforce/object/record.js +5 -0
  215. package/lib/types/salesforce/object/record.js.map +1 -0
  216. package/lib/types/salesforce/object/view.d.ts +71 -0
  217. package/lib/types/salesforce/object/view.js +5 -0
  218. package/lib/types/salesforce/object/view.js.map +1 -0
  219. package/lib/types/salesforce/object/weblink.d.ts +70 -0
  220. package/lib/types/salesforce/object/weblink.js +5 -0
  221. package/lib/types/salesforce/object/weblink.js.map +1 -0
  222. package/lib/types/salesforce/object.d.ts +7 -423
  223. package/lib/types/salesforce/object.js +7 -1
  224. package/lib/types/salesforce/object.js.map +1 -1
  225. package/lib/utils/cache-manager.d.ts +16 -15
  226. package/lib/utils/cache-manager.js +290 -188
  227. package/lib/utils/cache-manager.js.map +1 -1
  228. package/lib/utils/logger.d.ts +8 -0
  229. package/lib/utils/logger.js +82 -69
  230. package/lib/utils/logger.js.map +1 -1
  231. package/lib/validators/xml/xml-reference-rules.d.ts +3 -0
  232. package/lib/validators/xml/xml-reference-rules.js +173 -0
  233. package/lib/validators/xml/xml-reference-rules.js.map +1 -0
  234. package/lib/validators/xml/xml-report-formatter.d.ts +2 -0
  235. package/lib/validators/xml/xml-report-formatter.js +47 -0
  236. package/lib/validators/xml/xml-report-formatter.js.map +1 -0
  237. package/lib/validators/xml/xml-schema-rules.d.ts +3 -0
  238. package/lib/validators/xml/xml-schema-rules.js +75 -0
  239. package/lib/validators/xml/xml-schema-rules.js.map +1 -0
  240. package/lib/validators/xml/xml-validation-types.d.ts +25 -0
  241. package/lib/validators/xml/xml-validation-types.js +2 -0
  242. package/lib/validators/xml/xml-validation-types.js.map +1 -0
  243. package/lib/validators/xml-metadata-validator.d.ts +2 -63
  244. package/lib/validators/xml-metadata-validator.js +7 -338
  245. package/lib/validators/xml-metadata-validator.js.map +1 -1
  246. package/lib/waves/test-optimizer.d.ts +13 -0
  247. package/lib/waves/test-optimizer.js +124 -63
  248. package/lib/waves/test-optimizer.js.map +1 -1
  249. package/lib/waves/wave-builder.d.ts +17 -21
  250. package/lib/waves/wave-builder.js +199 -135
  251. package/lib/waves/wave-builder.js.map +1 -1
  252. package/lib/waves/wave-splitter.d.ts +12 -8
  253. package/lib/waves/wave-splitter.js +156 -115
  254. package/lib/waves/wave-splitter.js.map +1 -1
  255. package/npm-shrinkwrap.json +2 -2
  256. package/oclif.manifest.json +1 -1
  257. package/package.json +1 -1
@@ -2,426 +2,10 @@
2
2
  * Type definitions for Salesforce Object metadata
3
3
  * Represents CustomObject and CustomField metadata structures
4
4
  */
5
- import type { Encoding } from './common.js';
6
- /**
7
- * Custom Object metadata (.object-meta.xml)
8
- */
9
- export type CustomObjectMetadata = {
10
- actionOverrides?: ActionOverride[];
11
- allowInChatterGroups?: boolean;
12
- compactLayoutAssignment?: string;
13
- customHelpPage?: string;
14
- deploymentStatus?: DeploymentStatus;
15
- deprecated?: boolean;
16
- description?: string;
17
- enableActivities?: boolean;
18
- enableBulkApi?: boolean;
19
- enableChangeDataCapture?: boolean;
20
- enableEnhancedLookup?: boolean;
21
- enableFeeds?: boolean;
22
- enableHistory?: boolean;
23
- enableReports?: boolean;
24
- enableSearch?: boolean;
25
- enableSharing?: boolean;
26
- enableStreamingApi?: boolean;
27
- externalSharingModel?: SharingModel;
28
- fields?: CustomField[];
29
- fieldSets?: FieldSet[];
30
- gender?: Gender;
31
- household?: boolean;
32
- label: string;
33
- listViews?: ListView[];
34
- nameField?: CustomField;
35
- pluralLabel: string;
36
- recordTypes?: RecordType[];
37
- searchLayouts?: SearchLayouts;
38
- sharingModel?: SharingModel;
39
- sharingReasons?: SharingReason[];
40
- sharingRecalculations?: SharingRecalculation[];
41
- startsWith?: StartsWith;
42
- validationRules?: ValidationRule[];
43
- visibility?: SetupObjectVisibility;
44
- webLinks?: WebLink[];
45
- };
46
- /**
47
- * Deployment status
48
- */
49
- export type DeploymentStatus = 'Deployed' | 'InDevelopment';
50
- /**
51
- * Sharing model
52
- */
53
- export type SharingModel = 'Private' | 'Read' | 'ReadWrite' | 'ReadWriteTransfer' | 'FullAccess' | 'ControlledByParent' | 'ControlledByCampaign' | 'ControlledByLeadOrContact';
54
- /**
55
- * Gender
56
- */
57
- export type Gender = 'Neuter' | 'Masculine' | 'Feminine' | 'AnimateMasculine' | 'ClassI' | 'ClassIII';
58
- /**
59
- * Starts with
60
- */
61
- export type StartsWith = 'Consonant' | 'Vowel' | 'Special';
62
- /**
63
- * Setup object visibility
64
- */
65
- export type SetupObjectVisibility = 'Public' | 'Protected' | 'PackageProtected';
66
- /**
67
- * Action override
68
- */
69
- export type ActionOverride = {
70
- actionName: string;
71
- comment?: string;
72
- content?: string;
73
- formFactor?: FormFactor;
74
- skipRecordTypeSelect?: boolean;
75
- type: ActionOverrideType;
76
- };
77
- /**
78
- * Form factor
79
- */
80
- export type FormFactor = 'Small' | 'Medium' | 'Large';
81
- /**
82
- * Action override type
83
- */
84
- export type ActionOverrideType = 'Default' | 'Standard' | 'Scontrol' | 'Visualforce' | 'Flexipage' | 'LightningComponent';
85
- /**
86
- * Custom Field metadata
87
- */
88
- export type CustomField = {
89
- fullName: string;
90
- label: string;
91
- type: FieldType;
92
- businessOwnerGroup?: string;
93
- businessOwnerUser?: string;
94
- businessStatus?: string;
95
- caseSensitive?: boolean;
96
- complianceGroup?: string;
97
- customDataType?: string;
98
- defaultValue?: string;
99
- deleteConstraint?: DeleteConstraint;
100
- deprecated?: boolean;
101
- description?: string;
102
- displayFormat?: string;
103
- displayLocationInDecimal?: boolean;
104
- encrypted?: boolean;
105
- encryptionScheme?: EncryptionScheme;
106
- externalDeveloperName?: string;
107
- externalId?: boolean;
108
- fieldManageability?: FieldManageability;
109
- formula?: string;
110
- formulaTreatBlanksAs?: TreatBlanksAs;
111
- inlineHelpText?: string;
112
- isAIPredictionField?: boolean;
113
- isConversationIntelligenceField?: boolean;
114
- isFilteringDisabled?: boolean;
115
- isNameField?: boolean;
116
- isSortingDisabled?: boolean;
117
- length?: number;
118
- lookupFilter?: LookupFilter;
119
- maskChar?: MaskChar;
120
- maskType?: MaskType;
121
- metadataRelationshipControllingField?: string;
122
- populateExistingRows?: boolean;
123
- precision?: number;
124
- referenceTo?: string[];
125
- referenceTargetField?: string;
126
- relationshipLabel?: string;
127
- relationshipName?: string;
128
- relationshipOrder?: number;
129
- reparentableMasterDetail?: boolean;
130
- required?: boolean;
131
- scale?: number;
132
- securityClassification?: string;
133
- startingNumber?: number;
134
- stripMarkup?: boolean;
135
- summarizedField?: string;
136
- summaryFilterItems?: FilterItem[];
137
- summaryForeignKey?: string;
138
- summaryOperation?: SummaryOperations;
139
- trackFeedHistory?: boolean;
140
- trackHistory?: boolean;
141
- trackTrending?: boolean;
142
- translateData?: boolean;
143
- unique?: boolean;
144
- valueSet?: ValueSet;
145
- visibleLines?: number;
146
- writeRequiresMasterRead?: boolean;
147
- };
148
- /**
149
- * Field type
150
- */
151
- export type FieldType = 'AutoNumber' | 'Lookup' | 'MasterDetail' | 'MetadataRelationship' | 'Checkbox' | 'Currency' | 'Date' | 'DateTime' | 'Email' | 'EncryptedText' | 'ExternalLookup' | 'IndirectLookup' | 'Number' | 'Percent' | 'Phone' | 'Picklist' | 'MultiselectPicklist' | 'Summary' | 'Text' | 'TextArea' | 'LongTextArea' | 'Html' | 'Url' | 'Hierarchy' | 'File' | 'Location' | 'Time';
152
- /**
153
- * Delete constraint
154
- */
155
- export type DeleteConstraint = 'Cascade' | 'Restrict' | 'SetNull';
156
- /**
157
- * Encryption scheme
158
- */
159
- export type EncryptionScheme = 'None' | 'ProbabilisticEncryption' | 'CaseSensitiveDeterministicEncryption' | 'CaseInsensitiveDeterministicEncryption';
160
- /**
161
- * Field manageability
162
- */
163
- export type FieldManageability = 'DeveloperControlled' | 'SubscriberControlled' | 'Locked';
164
- /**
165
- * Treat blanks as
166
- */
167
- export type TreatBlanksAs = 'BlankAsBlank' | 'BlankAsZero';
168
- /**
169
- * Mask char
170
- */
171
- export type MaskChar = 'asterisk' | 'X';
172
- /**
173
- * Mask type
174
- */
175
- export type MaskType = 'all' | 'creditCard' | 'ssn' | 'lastFour' | 'sin' | 'nino';
176
- /**
177
- * Summary operations
178
- */
179
- export type SummaryOperations = 'count' | 'min' | 'max' | 'sum';
180
- /**
181
- * Lookup filter
182
- */
183
- export type LookupFilter = {
184
- active: boolean;
185
- booleanFilter?: string;
186
- errorMessage?: string;
187
- filterItems?: FilterItem[];
188
- infoMessage?: string;
189
- isOptional: boolean;
190
- };
191
- /**
192
- * Filter item
193
- */
194
- export type FilterItem = {
195
- field: string;
196
- operation: FilterOperation;
197
- value?: string;
198
- valueField?: string;
199
- };
200
- /**
201
- * Filter operation
202
- */
203
- export type FilterOperation = 'equals' | 'notEqual' | 'lessThan' | 'greaterThan' | 'lessOrEqual' | 'greaterOrEqual' | 'contains' | 'notContain' | 'startsWith' | 'includes' | 'excludes' | 'within';
204
- /**
205
- * Value set
206
- */
207
- export type ValueSet = {
208
- controllingField?: string;
209
- restricted?: boolean;
210
- valueSetDefinition?: ValueSetDefinition;
211
- valueSetName?: string;
212
- };
213
- /**
214
- * Value set definition
215
- */
216
- export type ValueSetDefinition = {
217
- sorted: boolean;
218
- value: CustomValue[];
219
- };
220
- /**
221
- * Custom value (picklist value)
222
- */
223
- export type CustomValue = {
224
- fullName: string;
225
- default: boolean;
226
- label: string;
227
- color?: string;
228
- isActive?: boolean;
229
- description?: string;
230
- };
231
- /**
232
- * Field set
233
- */
234
- export type FieldSet = {
235
- fullName: string;
236
- availableFields?: FieldSetItem[];
237
- description?: string;
238
- displayedFields: FieldSetItem[];
239
- label: string;
240
- };
241
- /**
242
- * Field set item
243
- */
244
- export type FieldSetItem = {
245
- field: string;
246
- isFieldManaged?: boolean;
247
- isRequired?: boolean;
248
- };
249
- /**
250
- * List view
251
- */
252
- export type ListView = {
253
- fullName: string;
254
- booleanFilter?: string;
255
- columns: string[];
256
- division?: string;
257
- filterScope: FilterScope;
258
- filters?: ListViewFilter[];
259
- label: string;
260
- language?: string;
261
- queue?: string;
262
- sharedTo?: SharedTo;
263
- };
264
- /**
265
- * Filter scope
266
- */
267
- export type FilterScope = 'Everything' | 'Mine' | 'Queue' | 'Delegated' | 'MyTerritory' | 'MyTeamTerritory' | 'Team' | 'AssignedToMe' | 'MineAndMyGroups';
268
- /**
269
- * List view filter
270
- */
271
- export type ListViewFilter = {
272
- field: string;
273
- operation: FilterOperation;
274
- value?: string;
275
- };
276
- /**
277
- * Shared to
278
- */
279
- export type SharedTo = {
280
- allCustomerPortalUsers?: string;
281
- allInternalUsers?: string;
282
- allPartnerUsers?: string;
283
- channelProgramGroup?: string[];
284
- channelProgramGroups?: string[];
285
- group?: string[];
286
- groups?: string[];
287
- managerSubordinates?: string[];
288
- managers?: string[];
289
- portalRole?: string[];
290
- portalRoleAndSubordinates?: string[];
291
- queue?: string[];
292
- role?: string[];
293
- roleAndSubordinates?: string[];
294
- roleAndSubordinatesInternal?: string[];
295
- roles?: string[];
296
- rolesAndSubordinates?: string[];
297
- territories?: string[];
298
- territoriesAndSubordinates?: string[];
299
- territory?: string[];
300
- territoryAndSubordinates?: string[];
301
- };
302
- /**
303
- * Record type
304
- */
305
- export type RecordType = {
306
- fullName: string;
307
- active: boolean;
308
- businessProcess?: string;
309
- compactLayoutAssignment?: string;
310
- description?: string;
311
- label: string;
312
- picklistValues?: RecordTypePicklistValue[];
313
- };
314
- /**
315
- * Record type picklist value
316
- */
317
- export type RecordTypePicklistValue = {
318
- picklist: string;
319
- values: PicklistValue[];
320
- };
321
- /**
322
- * Picklist value
323
- */
324
- export type PicklistValue = {
325
- fullName: string;
326
- default: boolean;
327
- allowEmail?: boolean;
328
- closed?: boolean;
329
- controllingFieldValues?: string[];
330
- converted?: boolean;
331
- cssExposed?: boolean;
332
- forecastCategory?: ForecastCategories;
333
- highPriority?: boolean;
334
- probability?: number;
335
- reverseRole?: string;
336
- reviewed?: boolean;
337
- won?: boolean;
338
- };
339
- /**
340
- * Forecast categories
341
- */
342
- export type ForecastCategories = 'Omitted' | 'Pipeline' | 'BestCase' | 'Forecast' | 'Closed';
343
- /**
344
- * Search layouts
345
- */
346
- export type SearchLayouts = {
347
- customTabListAdditionalFields?: string[];
348
- excludedStandardButtons?: string[];
349
- listViewButtons?: string[];
350
- lookupDialogsAdditionalFields?: string[];
351
- lookupFilterFields?: string[];
352
- lookupPhoneDialogsAdditionalFields?: string[];
353
- searchFilterFields?: string[];
354
- searchResultsAdditionalFields?: string[];
355
- searchResultsCustomButtons?: string[];
356
- };
357
- /**
358
- * Sharing reason
359
- */
360
- export type SharingReason = {
361
- fullName: string;
362
- label: string;
363
- };
364
- /**
365
- * Sharing recalculation
366
- */
367
- export type SharingRecalculation = {
368
- className: string;
369
- };
370
- /**
371
- * Validation rule
372
- */
373
- export type ValidationRule = {
374
- fullName: string;
375
- active: boolean;
376
- description?: string;
377
- errorConditionFormula: string;
378
- errorDisplayField?: string;
379
- errorMessage: string;
380
- };
381
- /**
382
- * Web link
383
- */
384
- export type WebLink = {
385
- fullName: string;
386
- availability: WebLinkAvailability;
387
- description?: string;
388
- displayType: WebLinkDisplayType;
389
- encodingKey?: Encoding;
390
- hasMenubar?: boolean;
391
- hasScrollbars?: boolean;
392
- hasToolbar?: boolean;
393
- height?: number;
394
- isResizable?: boolean;
395
- linkType: WebLinkType;
396
- masterLabel?: string;
397
- openType: WebLinkWindowType;
398
- page?: string;
399
- position?: WebLinkPosition;
400
- protected: boolean;
401
- requireRowSelection?: boolean;
402
- scontrol?: string;
403
- showsLocation?: boolean;
404
- showsStatus?: boolean;
405
- url?: string;
406
- width?: number;
407
- };
408
- /**
409
- * Web link availability
410
- */
411
- export type WebLinkAvailability = 'online' | 'offline';
412
- /**
413
- * Web link display type
414
- */
415
- export type WebLinkDisplayType = 'link' | 'button' | 'massActionButton';
416
- /**
417
- * Web link type
418
- */
419
- export type WebLinkType = 'url' | 'sControl' | 'javascript' | 'page' | 'flow';
420
- /**
421
- * Web link window type
422
- */
423
- export type WebLinkWindowType = 'newWindow' | 'sidebar' | 'noSidebar' | 'replace' | 'onClickJavaScript';
424
- /**
425
- * Web link position
426
- */
427
- export type WebLinkPosition = 'fullScreen' | 'none' | 'topLeft';
5
+ export * from './object/core.js';
6
+ export * from './object/field.js';
7
+ export * from './object/filter.js';
8
+ export * from './object/view.js';
9
+ export * from './object/record.js';
10
+ export * from './object/policy.js';
11
+ export * from './object/weblink.js';
@@ -2,5 +2,11 @@
2
2
  * Type definitions for Salesforce Object metadata
3
3
  * Represents CustomObject and CustomField metadata structures
4
4
  */
5
- export {};
5
+ export * from './object/core.js';
6
+ export * from './object/field.js';
7
+ export * from './object/filter.js';
8
+ export * from './object/view.js';
9
+ export * from './object/record.js';
10
+ export * from './object/policy.js';
11
+ export * from './object/weblink.js';
6
12
  //# sourceMappingURL=object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/types/salesforce/object.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/types/salesforce/object.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -33,6 +33,11 @@ export type CacheConfig = {
33
33
  /** Enable file locking to prevent concurrent access */
34
34
  enableLocking: boolean;
35
35
  };
36
+ type LockInfo = {
37
+ pid: number;
38
+ timestamp: string;
39
+ hostname: string;
40
+ };
36
41
  /**
37
42
  * Singleton Cache Manager with TTL, persistence, and locking
38
43
  *
@@ -49,11 +54,14 @@ export type CacheConfig = {
49
54
  */
50
55
  export declare class CacheManager {
51
56
  private static instance;
52
- private static lockFilePath;
53
57
  private cache;
54
58
  private config;
55
59
  private stats;
56
- private lockFileHandle;
60
+ private readonly storage;
61
+ private readonly expiryPolicy;
62
+ private readonly lockLifecycle;
63
+ private readonly keyDerivation;
64
+ private readonly serializer;
57
65
  /**
58
66
  * Private constructor - use getInstance() instead
59
67
  * Singleton pattern prevents multiple instances
@@ -82,11 +90,7 @@ export declare class CacheManager {
82
90
  /**
83
91
  * Check if another instance is running for the same org
84
92
  */
85
- isLocked(orgAlias: string): Promise<false | {
86
- pid: number;
87
- timestamp: string;
88
- hostname: string;
89
- }>;
93
+ isLocked(orgAlias: string): Promise<false | LockInfo>;
90
94
  /**
91
95
  * Get value from cache
92
96
  */
@@ -135,6 +139,10 @@ export declare class CacheManager {
135
139
  * Evict oldest entry (LRU-like)
136
140
  */
137
141
  private evictOldest;
142
+ private deleteFromMemory;
143
+ private deleteManyFromMemory;
144
+ private recordHit;
145
+ private recordMiss;
138
146
  /**
139
147
  * Update hit rate calculation
140
148
  */
@@ -143,16 +151,9 @@ export declare class CacheManager {
143
151
  * Estimate memory size
144
152
  */
145
153
  private updateMemorySize;
146
- /**
147
- * Persist entry to disk
148
- */
149
- private persistEntry;
150
- /**
151
- * Delete persisted entry
152
- */
153
- private deletePersistedEntry;
154
154
  }
155
155
  /**
156
156
  * Get default cache instance (singleton)
157
157
  */
158
158
  export declare function getCacheManager(config?: Partial<CacheConfig>): CacheManager;
159
+ export {};