@peernova/cuneiform-sf 1.0.2 → 1.0.4-beta.8

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 (494) hide show
  1. package/LICENSE +81 -30
  2. package/README.md +59 -95
  3. package/lib/adapters/connection-facade.d.ts +458 -0
  4. package/lib/adapters/connection-facade.js +379 -0
  5. package/lib/adapters/connection-facade.js.map +1 -0
  6. package/lib/adapters/errors.d.ts +547 -0
  7. package/lib/adapters/errors.js +937 -0
  8. package/lib/adapters/errors.js.map +1 -0
  9. package/lib/adapters/index.d.ts +33 -0
  10. package/lib/adapters/index.js +50 -0
  11. package/lib/adapters/index.js.map +1 -0
  12. package/lib/adapters/lifecycle.d.ts +119 -0
  13. package/lib/adapters/lifecycle.js +94 -0
  14. package/lib/adapters/lifecycle.js.map +1 -0
  15. package/lib/adapters/rest/cache.d.ts +69 -0
  16. package/lib/adapters/rest/cache.js +133 -0
  17. package/lib/adapters/rest/cache.js.map +1 -0
  18. package/lib/adapters/rest/index.d.ts +11 -0
  19. package/lib/adapters/rest/index.js +18 -0
  20. package/lib/adapters/rest/index.js.map +1 -0
  21. package/lib/adapters/rest/profiling-rest-client.d.ts +137 -0
  22. package/lib/adapters/rest/profiling-rest-client.js +115 -0
  23. package/lib/adapters/rest/profiling-rest-client.js.map +1 -0
  24. package/lib/adapters/rest/rest-api-adapter.d.ts +389 -0
  25. package/lib/adapters/rest/rest-api-adapter.js +747 -0
  26. package/lib/adapters/rest/rest-api-adapter.js.map +1 -0
  27. package/lib/adapters/rest/types.d.ts +34 -0
  28. package/lib/adapters/rest/types.js +9 -0
  29. package/lib/adapters/rest/types.js.map +1 -0
  30. package/lib/adapters/retry.d.ts +91 -0
  31. package/lib/adapters/retry.js +215 -0
  32. package/lib/adapters/retry.js.map +1 -0
  33. package/lib/adapters/soql/cuneiform-query-builder.d.ts +391 -0
  34. package/lib/adapters/soql/cuneiform-query-builder.js +559 -0
  35. package/lib/adapters/soql/cuneiform-query-builder.js.map +1 -0
  36. package/lib/adapters/soql/index.d.ts +13 -0
  37. package/lib/adapters/soql/index.js +21 -0
  38. package/lib/adapters/soql/index.js.map +1 -0
  39. package/lib/adapters/soql/soql-query-adapter.d.ts +141 -0
  40. package/lib/adapters/soql/soql-query-adapter.js +259 -0
  41. package/lib/adapters/soql/soql-query-adapter.js.map +1 -0
  42. package/lib/adapters/soql/types.d.ts +37 -0
  43. package/lib/adapters/soql/types.js +19 -0
  44. package/lib/adapters/soql/types.js.map +1 -0
  45. package/lib/adapters/testing/index.d.ts +37 -0
  46. package/lib/adapters/testing/index.js +20 -0
  47. package/lib/adapters/testing/index.js.map +1 -0
  48. package/lib/adapters/testing/mock-connection.d.ts +77 -0
  49. package/lib/adapters/testing/mock-connection.js +207 -0
  50. package/lib/adapters/testing/mock-connection.js.map +1 -0
  51. package/lib/adapters/testing/mock-logger.d.ts +29 -0
  52. package/lib/adapters/testing/mock-logger.js +57 -0
  53. package/lib/adapters/testing/mock-logger.js.map +1 -0
  54. package/lib/adapters/testing/mock-mcp-adapters.d.ts +32 -0
  55. package/lib/adapters/testing/mock-mcp-adapters.js +52 -0
  56. package/lib/adapters/testing/mock-mcp-adapters.js.map +1 -0
  57. package/lib/adapters/testing/mock-oclif-config.d.ts +22 -0
  58. package/lib/adapters/testing/mock-oclif-config.js +90 -0
  59. package/lib/adapters/testing/mock-oclif-config.js.map +1 -0
  60. package/lib/adapters/testing/mock-rest-adapter.d.ts +26 -0
  61. package/lib/adapters/testing/mock-rest-adapter.js +243 -0
  62. package/lib/adapters/testing/mock-rest-adapter.js.map +1 -0
  63. package/lib/adapters/testing/mock-salesforce-connection.d.ts +40 -0
  64. package/lib/adapters/testing/mock-salesforce-connection.js +61 -0
  65. package/lib/adapters/testing/mock-salesforce-connection.js.map +1 -0
  66. package/lib/adapters/testing/mock-soql-adapter.d.ts +30 -0
  67. package/lib/adapters/testing/mock-soql-adapter.js +120 -0
  68. package/lib/adapters/testing/mock-soql-adapter.js.map +1 -0
  69. package/lib/adapters/testing/mock-tooling-adapter.d.ts +24 -0
  70. package/lib/adapters/testing/mock-tooling-adapter.js +163 -0
  71. package/lib/adapters/testing/mock-tooling-adapter.js.map +1 -0
  72. package/lib/adapters/testing/stub-connection.d.ts +93 -0
  73. package/lib/adapters/testing/stub-connection.js +97 -0
  74. package/lib/adapters/testing/stub-connection.js.map +1 -0
  75. package/lib/adapters/testing/stub-rest-adapter.d.ts +52 -0
  76. package/lib/adapters/testing/stub-rest-adapter.js +58 -0
  77. package/lib/adapters/testing/stub-rest-adapter.js.map +1 -0
  78. package/lib/adapters/testing/stub-soql-adapter.d.ts +56 -0
  79. package/lib/adapters/testing/stub-soql-adapter.js +50 -0
  80. package/lib/adapters/testing/stub-soql-adapter.js.map +1 -0
  81. package/lib/adapters/testing/types.d.ts +71 -0
  82. package/lib/adapters/testing/types.js +9 -0
  83. package/lib/adapters/testing/types.js.map +1 -0
  84. package/lib/adapters/tooling/index.d.ts +10 -0
  85. package/lib/adapters/tooling/index.js +17 -0
  86. package/lib/adapters/tooling/index.js.map +1 -0
  87. package/lib/adapters/tooling/tooling-api-adapter.d.ts +157 -0
  88. package/lib/adapters/tooling/tooling-api-adapter.js +339 -0
  89. package/lib/adapters/tooling/tooling-api-adapter.js.map +1 -0
  90. package/lib/adapters/tooling/types.d.ts +81 -0
  91. package/lib/adapters/tooling/types.js +9 -0
  92. package/lib/adapters/tooling/types.js.map +1 -0
  93. package/lib/adapters/types.d.ts +112 -0
  94. package/lib/adapters/types.js +169 -0
  95. package/lib/adapters/types.js.map +1 -0
  96. package/lib/base/cuneiform-command.d.ts +152 -0
  97. package/lib/base/cuneiform-command.js +243 -0
  98. package/lib/base/cuneiform-command.js.map +1 -0
  99. package/lib/commands/cuneiform/compatibility/check.d.ts +43 -0
  100. package/lib/commands/cuneiform/compatibility/check.js +114 -0
  101. package/lib/commands/cuneiform/compatibility/check.js.map +1 -0
  102. package/lib/commands/cuneiform/definition/create.d.ts +119 -0
  103. package/lib/commands/cuneiform/definition/create.js +693 -0
  104. package/lib/commands/cuneiform/definition/create.js.map +1 -0
  105. package/lib/commands/cuneiform/definition/export.d.ts +57 -0
  106. package/lib/commands/cuneiform/definition/export.js +133 -0
  107. package/lib/commands/cuneiform/definition/export.js.map +1 -0
  108. package/lib/commands/cuneiform/definition/get.d.ts +86 -0
  109. package/lib/commands/cuneiform/definition/get.js +270 -0
  110. package/lib/commands/cuneiform/definition/get.js.map +1 -0
  111. package/lib/commands/cuneiform/definition/import.d.ts +54 -0
  112. package/lib/commands/cuneiform/definition/import.js +118 -0
  113. package/lib/commands/cuneiform/definition/import.js.map +1 -0
  114. package/lib/commands/cuneiform/definition/list.d.ts +110 -0
  115. package/lib/commands/cuneiform/definition/list.js +344 -0
  116. package/lib/commands/cuneiform/definition/list.js.map +1 -0
  117. package/lib/commands/cuneiform/definition/purge.d.ts +105 -0
  118. package/lib/commands/cuneiform/definition/purge.js +533 -0
  119. package/lib/commands/cuneiform/definition/purge.js.map +1 -0
  120. package/lib/commands/cuneiform/definition/update.d.ts +58 -0
  121. package/lib/commands/cuneiform/definition/update.js +206 -0
  122. package/lib/commands/cuneiform/definition/update.js.map +1 -0
  123. package/lib/commands/cuneiform/mcp/serve.d.ts +56 -0
  124. package/lib/commands/cuneiform/mcp/serve.js +109 -0
  125. package/lib/commands/cuneiform/mcp/serve.js.map +1 -0
  126. package/lib/commands/cuneiform/object/describe.d.ts +61 -0
  127. package/lib/commands/cuneiform/object/describe.js +461 -0
  128. package/lib/commands/cuneiform/object/describe.js.map +1 -0
  129. package/lib/commands/cuneiform/object/list.d.ts +111 -0
  130. package/lib/commands/cuneiform/object/list.js +239 -0
  131. package/lib/commands/cuneiform/object/list.js.map +1 -0
  132. package/lib/commands/cuneiform/org/details.d.ts +99 -0
  133. package/lib/commands/cuneiform/org/details.js +521 -0
  134. package/lib/commands/cuneiform/org/details.js.map +1 -0
  135. package/lib/commands/cuneiform/org/reset.d.ts +46 -0
  136. package/lib/commands/cuneiform/org/reset.js +135 -0
  137. package/lib/commands/cuneiform/org/reset.js.map +1 -0
  138. package/lib/commands/cuneiform/profile/request/cancel.d.ts +59 -0
  139. package/lib/commands/cuneiform/profile/request/cancel.js +202 -0
  140. package/lib/commands/cuneiform/profile/request/cancel.js.map +1 -0
  141. package/lib/commands/cuneiform/profile/request/delete.d.ts +59 -0
  142. package/lib/commands/cuneiform/profile/request/delete.js +223 -0
  143. package/lib/commands/cuneiform/profile/request/delete.js.map +1 -0
  144. package/lib/commands/cuneiform/profile/request/list.d.ts +35 -0
  145. package/lib/commands/cuneiform/profile/request/list.js +102 -0
  146. package/lib/commands/cuneiform/profile/request/list.js.map +1 -0
  147. package/lib/commands/cuneiform/profile.d.ts +90 -0
  148. package/lib/commands/cuneiform/profile.js +322 -0
  149. package/lib/commands/cuneiform/profile.js.map +1 -0
  150. package/lib/commands/cuneiform/summary/purge.d.ts +77 -0
  151. package/lib/commands/cuneiform/summary/purge.js +429 -0
  152. package/lib/commands/cuneiform/summary/purge.js.map +1 -0
  153. package/lib/commands/cuneiform/summary/reprofile.d.ts +60 -0
  154. package/lib/commands/cuneiform/summary/reprofile.js +236 -0
  155. package/lib/commands/cuneiform/summary/reprofile.js.map +1 -0
  156. package/lib/commands/cuneiform/summary/stop.d.ts +59 -0
  157. package/lib/commands/cuneiform/summary/stop.js +234 -0
  158. package/lib/commands/cuneiform/summary/stop.js.map +1 -0
  159. package/lib/commands/cuneiform/user/details.d.ts +73 -0
  160. package/lib/commands/cuneiform/user/details.js +391 -0
  161. package/lib/commands/cuneiform/user/details.js.map +1 -0
  162. package/lib/constants/index.d.ts +8 -0
  163. package/lib/constants/index.js +16 -0
  164. package/lib/constants/index.js.map +1 -0
  165. package/lib/constants/namespace-constants.d.ts +91 -0
  166. package/lib/constants/namespace-constants.js +211 -0
  167. package/lib/constants/namespace-constants.js.map +1 -0
  168. package/lib/debug/command-debug-proxy.d.ts +101 -0
  169. package/lib/debug/command-debug-proxy.js +171 -0
  170. package/lib/debug/command-debug-proxy.js.map +1 -0
  171. package/lib/debug/debug-logger.d.ts +85 -0
  172. package/lib/debug/debug-logger.js +133 -0
  173. package/lib/debug/debug-logger.js.map +1 -0
  174. package/lib/debug/index.d.ts +12 -0
  175. package/lib/debug/index.js +20 -0
  176. package/lib/debug/index.js.map +1 -0
  177. package/lib/debug/service-debug-proxy.d.ts +30 -0
  178. package/lib/debug/service-debug-proxy.js +102 -0
  179. package/lib/debug/service-debug-proxy.js.map +1 -0
  180. package/lib/hooks/prerun.d.ts +25 -0
  181. package/lib/hooks/prerun.js +47 -0
  182. package/lib/hooks/prerun.js.map +1 -0
  183. package/lib/mcp/config/mcp-config.d.ts +55 -0
  184. package/lib/mcp/config/mcp-config.js +51 -0
  185. package/lib/mcp/config/mcp-config.js.map +1 -0
  186. package/lib/mcp/config/pagination.d.ts +96 -0
  187. package/lib/mcp/config/pagination.js +108 -0
  188. package/lib/mcp/config/pagination.js.map +1 -0
  189. package/lib/mcp/config/system-prompts.d.ts +18 -0
  190. package/lib/mcp/config/system-prompts.js +92 -0
  191. package/lib/mcp/config/system-prompts.js.map +1 -0
  192. package/lib/mcp/errors.d.ts +23 -0
  193. package/lib/mcp/errors.js +27 -0
  194. package/lib/mcp/errors.js.map +1 -0
  195. package/lib/mcp/schemas/input-schemas.d.ts +327 -0
  196. package/lib/mcp/schemas/input-schemas.js +302 -0
  197. package/lib/mcp/schemas/input-schemas.js.map +1 -0
  198. package/lib/mcp/server.d.ts +40 -0
  199. package/lib/mcp/server.js +316 -0
  200. package/lib/mcp/server.js.map +1 -0
  201. package/lib/mcp/tools/contactpoint-tools.d.ts +14 -0
  202. package/lib/mcp/tools/contactpoint-tools.js +34 -0
  203. package/lib/mcp/tools/contactpoint-tools.js.map +1 -0
  204. package/lib/mcp/tools/definition-io-tools.d.ts +19 -0
  205. package/lib/mcp/tools/definition-io-tools.js +152 -0
  206. package/lib/mcp/tools/definition-io-tools.js.map +1 -0
  207. package/lib/mcp/tools/definition-tools.d.ts +51 -0
  208. package/lib/mcp/tools/definition-tools.js +199 -0
  209. package/lib/mcp/tools/definition-tools.js.map +1 -0
  210. package/lib/mcp/tools/index.d.ts +37 -0
  211. package/lib/mcp/tools/index.js +88 -0
  212. package/lib/mcp/tools/index.js.map +1 -0
  213. package/lib/mcp/tools/object-tools.d.ts +22 -0
  214. package/lib/mcp/tools/object-tools.js +306 -0
  215. package/lib/mcp/tools/object-tools.js.map +1 -0
  216. package/lib/mcp/tools/org-tools.d.ts +14 -0
  217. package/lib/mcp/tools/org-tools.js +177 -0
  218. package/lib/mcp/tools/org-tools.js.map +1 -0
  219. package/lib/mcp/tools/profile-tools.d.ts +59 -0
  220. package/lib/mcp/tools/profile-tools.js +213 -0
  221. package/lib/mcp/tools/profile-tools.js.map +1 -0
  222. package/lib/mcp/tools/summary-tools.d.ts +14 -0
  223. package/lib/mcp/tools/summary-tools.js +38 -0
  224. package/lib/mcp/tools/summary-tools.js.map +1 -0
  225. package/lib/mcp/tools/tool-factory.d.ts +63 -0
  226. package/lib/mcp/tools/tool-factory.js +146 -0
  227. package/lib/mcp/tools/tool-factory.js.map +1 -0
  228. package/lib/mcp/tools/user-tools.d.ts +25 -0
  229. package/lib/mcp/tools/user-tools.js +167 -0
  230. package/lib/mcp/tools/user-tools.js.map +1 -0
  231. package/lib/models/date-literal.d.ts +211 -0
  232. package/lib/models/date-literal.js +615 -0
  233. package/lib/models/date-literal.js.map +1 -0
  234. package/lib/models/object-describe-types.d.ts +173 -0
  235. package/lib/models/object-describe-types.js +9 -0
  236. package/lib/models/object-describe-types.js.map +1 -0
  237. package/lib/models/profile-request-types.d.ts +118 -0
  238. package/lib/models/profile-request-types.js +23 -0
  239. package/lib/models/profile-request-types.js.map +1 -0
  240. package/lib/models/profiling-execution-types.d.ts +154 -0
  241. package/lib/models/profiling-execution-types.js +14 -0
  242. package/lib/models/profiling-execution-types.js.map +1 -0
  243. package/lib/models/service-result.d.ts +114 -0
  244. package/lib/models/service-result.js +81 -0
  245. package/lib/models/service-result.js.map +1 -0
  246. package/lib/models/sfdmu-types.d.ts +53 -0
  247. package/lib/models/sfdmu-types.js +23 -0
  248. package/lib/models/sfdmu-types.js.map +1 -0
  249. package/lib/models/status-types.d.ts +38 -0
  250. package/lib/models/status-types.js +12 -0
  251. package/lib/models/status-types.js.map +1 -0
  252. package/lib/models/summary-bulk-types.d.ts +61 -0
  253. package/lib/models/summary-bulk-types.js +23 -0
  254. package/lib/models/summary-bulk-types.js.map +1 -0
  255. package/lib/models/user-details-types.d.ts +163 -0
  256. package/lib/models/user-details-types.js +9 -0
  257. package/lib/models/user-details-types.js.map +1 -0
  258. package/lib/models/year-range.d.ts +78 -0
  259. package/lib/models/year-range.js +153 -0
  260. package/lib/models/year-range.js.map +1 -0
  261. package/lib/operations/CompatibilityCheckOperation.d.ts +62 -0
  262. package/lib/operations/CompatibilityCheckOperation.js +102 -0
  263. package/lib/operations/CompatibilityCheckOperation.js.map +1 -0
  264. package/lib/operations/DefinitionCreateOperation.d.ts +411 -0
  265. package/lib/operations/DefinitionCreateOperation.js +1121 -0
  266. package/lib/operations/DefinitionCreateOperation.js.map +1 -0
  267. package/lib/operations/DefinitionExportOperation.d.ts +155 -0
  268. package/lib/operations/DefinitionExportOperation.js +281 -0
  269. package/lib/operations/DefinitionExportOperation.js.map +1 -0
  270. package/lib/operations/DefinitionImportOperation.d.ts +144 -0
  271. package/lib/operations/DefinitionImportOperation.js +357 -0
  272. package/lib/operations/DefinitionImportOperation.js.map +1 -0
  273. package/lib/operations/DefinitionListOperation.d.ts +66 -0
  274. package/lib/operations/DefinitionListOperation.js +108 -0
  275. package/lib/operations/DefinitionListOperation.js.map +1 -0
  276. package/lib/operations/DefinitionPurgeOperation.d.ts +199 -0
  277. package/lib/operations/DefinitionPurgeOperation.js +465 -0
  278. package/lib/operations/DefinitionPurgeOperation.js.map +1 -0
  279. package/lib/operations/DefinitionUpdateOperation.d.ts +78 -0
  280. package/lib/operations/DefinitionUpdateOperation.js +142 -0
  281. package/lib/operations/DefinitionUpdateOperation.js.map +1 -0
  282. package/lib/operations/OrgDetailsOperation.d.ts +253 -0
  283. package/lib/operations/OrgDetailsOperation.js +456 -0
  284. package/lib/operations/OrgDetailsOperation.js.map +1 -0
  285. package/lib/operations/OrgResetOperation.d.ts +114 -0
  286. package/lib/operations/OrgResetOperation.js +209 -0
  287. package/lib/operations/OrgResetOperation.js.map +1 -0
  288. package/lib/operations/ProfileOperation.d.ts +187 -0
  289. package/lib/operations/ProfileOperation.js +373 -0
  290. package/lib/operations/ProfileOperation.js.map +1 -0
  291. package/lib/operations/ProfileRequestCancelOperation.d.ts +59 -0
  292. package/lib/operations/ProfileRequestCancelOperation.js +137 -0
  293. package/lib/operations/ProfileRequestCancelOperation.js.map +1 -0
  294. package/lib/operations/ProfileRequestDeleteOperation.d.ts +64 -0
  295. package/lib/operations/ProfileRequestDeleteOperation.js +134 -0
  296. package/lib/operations/ProfileRequestDeleteOperation.js.map +1 -0
  297. package/lib/operations/ProfileRequestListOperation.d.ts +39 -0
  298. package/lib/operations/ProfileRequestListOperation.js +61 -0
  299. package/lib/operations/ProfileRequestListOperation.js.map +1 -0
  300. package/lib/operations/SummaryPurgeOperation.d.ts +134 -0
  301. package/lib/operations/SummaryPurgeOperation.js +257 -0
  302. package/lib/operations/SummaryPurgeOperation.js.map +1 -0
  303. package/lib/operations/SummaryReprofileOperation.d.ts +88 -0
  304. package/lib/operations/SummaryReprofileOperation.js +174 -0
  305. package/lib/operations/SummaryReprofileOperation.js.map +1 -0
  306. package/lib/operations/SummaryStopOperation.d.ts +87 -0
  307. package/lib/operations/SummaryStopOperation.js +175 -0
  308. package/lib/operations/SummaryStopOperation.js.map +1 -0
  309. package/lib/services/BulkExecutionService.d.ts +120 -0
  310. package/lib/services/BulkExecutionService.js +535 -0
  311. package/lib/services/BulkExecutionService.js.map +1 -0
  312. package/lib/services/CompatibilityService.d.ts +81 -0
  313. package/lib/services/CompatibilityService.js +118 -0
  314. package/lib/services/CompatibilityService.js.map +1 -0
  315. package/lib/services/ConfigureMode.d.ts +85 -0
  316. package/lib/services/ConfigureMode.js +390 -0
  317. package/lib/services/ConfigureMode.js.map +1 -0
  318. package/lib/services/ContactPointService.d.ts +111 -0
  319. package/lib/services/ContactPointService.js +286 -0
  320. package/lib/services/ContactPointService.js.map +1 -0
  321. package/lib/services/DataAvailabilityService.d.ts +81 -0
  322. package/lib/services/DataAvailabilityService.js +128 -0
  323. package/lib/services/DataAvailabilityService.js.map +1 -0
  324. package/lib/services/DefinitionFieldGenerationService.d.ts +309 -0
  325. package/lib/services/DefinitionFieldGenerationService.js +795 -0
  326. package/lib/services/DefinitionFieldGenerationService.js.map +1 -0
  327. package/lib/services/DefinitionQueryBuilder.d.ts +59 -0
  328. package/lib/services/DefinitionQueryBuilder.js +234 -0
  329. package/lib/services/DefinitionQueryBuilder.js.map +1 -0
  330. package/lib/services/ObjectDescribeService.d.ts +436 -0
  331. package/lib/services/ObjectDescribeService.js +869 -0
  332. package/lib/services/ObjectDescribeService.js.map +1 -0
  333. package/lib/services/ObjectFilteringService.d.ts +400 -0
  334. package/lib/services/ObjectFilteringService.js +878 -0
  335. package/lib/services/ObjectFilteringService.js.map +1 -0
  336. package/lib/services/ObjectListCommandService.d.ts +429 -0
  337. package/lib/services/ObjectListCommandService.js +873 -0
  338. package/lib/services/ObjectListCommandService.js.map +1 -0
  339. package/lib/services/ObjectListService.d.ts +201 -0
  340. package/lib/services/ObjectListService.js +345 -0
  341. package/lib/services/ObjectListService.js.map +1 -0
  342. package/lib/services/OrgInfoService.d.ts +485 -0
  343. package/lib/services/OrgInfoService.js +1122 -0
  344. package/lib/services/OrgInfoService.js.map +1 -0
  345. package/lib/services/PollingService.d.ts +105 -0
  346. package/lib/services/PollingService.js +117 -0
  347. package/lib/services/PollingService.js.map +1 -0
  348. package/lib/services/ProfileRequestService.d.ts +186 -0
  349. package/lib/services/ProfileRequestService.js +555 -0
  350. package/lib/services/ProfileRequestService.js.map +1 -0
  351. package/lib/services/ProfilingDefinitionService.d.ts +535 -0
  352. package/lib/services/ProfilingDefinitionService.js +981 -0
  353. package/lib/services/ProfilingDefinitionService.js.map +1 -0
  354. package/lib/services/ProfilingExecutionService.d.ts +122 -0
  355. package/lib/services/ProfilingExecutionService.js +320 -0
  356. package/lib/services/ProfilingExecutionService.js.map +1 -0
  357. package/lib/services/ProfilingSummaryService.d.ts +292 -0
  358. package/lib/services/ProfilingSummaryService.js +685 -0
  359. package/lib/services/ProfilingSummaryService.js.map +1 -0
  360. package/lib/services/RecordTypeService.d.ts +129 -0
  361. package/lib/services/RecordTypeService.js +284 -0
  362. package/lib/services/RecordTypeService.js.map +1 -0
  363. package/lib/services/SFDMUService.d.ts +133 -0
  364. package/lib/services/SFDMUService.js +295 -0
  365. package/lib/services/SFDMUService.js.map +1 -0
  366. package/lib/services/TabDetectionService.d.ts +105 -0
  367. package/lib/services/TabDetectionService.js +206 -0
  368. package/lib/services/TabDetectionService.js.map +1 -0
  369. package/lib/services/UnconfigureMode.d.ts +74 -0
  370. package/lib/services/UnconfigureMode.js +378 -0
  371. package/lib/services/UnconfigureMode.js.map +1 -0
  372. package/lib/services/UserConfigurationService.d.ts +155 -0
  373. package/lib/services/UserConfigurationService.js +573 -0
  374. package/lib/services/UserConfigurationService.js.map +1 -0
  375. package/lib/services/UserConfigurationTypes.d.ts +181 -0
  376. package/lib/services/UserConfigurationTypes.js +14 -0
  377. package/lib/services/UserConfigurationTypes.js.map +1 -0
  378. package/lib/services/UserReadinessService.d.ts +330 -0
  379. package/lib/services/UserReadinessService.js +831 -0
  380. package/lib/services/UserReadinessService.js.map +1 -0
  381. package/lib/services/constants.d.ts +53 -0
  382. package/lib/services/constants.js +71 -0
  383. package/lib/services/constants.js.map +1 -0
  384. package/lib/services/namespace-constants.d.ts +1 -0
  385. package/lib/services/namespace-constants.js +11 -0
  386. package/lib/services/namespace-constants.js.map +1 -0
  387. package/lib/services/validation.d.ts +47 -0
  388. package/lib/services/validation.js +119 -0
  389. package/lib/services/validation.js.map +1 -0
  390. package/lib/utils/batch-processor.d.ts +13 -0
  391. package/lib/utils/batch-processor.js +39 -0
  392. package/lib/utils/batch-processor.js.map +1 -0
  393. package/lib/utils/formatting/availability-grid.d.ts +81 -0
  394. package/lib/utils/formatting/availability-grid.js +94 -0
  395. package/lib/utils/formatting/availability-grid.js.map +1 -0
  396. package/lib/utils/formatting/business-process-grid.d.ts +51 -0
  397. package/lib/utils/formatting/business-process-grid.js +58 -0
  398. package/lib/utils/formatting/business-process-grid.js.map +1 -0
  399. package/lib/utils/formatting/command-display.d.ts +154 -0
  400. package/lib/utils/formatting/command-display.js +154 -0
  401. package/lib/utils/formatting/command-display.js.map +1 -0
  402. package/lib/utils/formatting/definition-create-display.d.ts +118 -0
  403. package/lib/utils/formatting/definition-create-display.js +231 -0
  404. package/lib/utils/formatting/definition-create-display.js.map +1 -0
  405. package/lib/utils/formatting/empty-states.d.ts +35 -0
  406. package/lib/utils/formatting/empty-states.js +70 -0
  407. package/lib/utils/formatting/empty-states.js.map +1 -0
  408. package/lib/utils/formatting/errors.d.ts +33 -0
  409. package/lib/utils/formatting/errors.js +72 -0
  410. package/lib/utils/formatting/errors.js.map +1 -0
  411. package/lib/utils/formatting/field-types.d.ts +32 -0
  412. package/lib/utils/formatting/field-types.js +88 -0
  413. package/lib/utils/formatting/field-types.js.map +1 -0
  414. package/lib/utils/formatting/index.d.ts +29 -0
  415. package/lib/utils/formatting/index.js +28 -0
  416. package/lib/utils/formatting/index.js.map +1 -0
  417. package/lib/utils/formatting/indicators.d.ts +113 -0
  418. package/lib/utils/formatting/indicators.js +161 -0
  419. package/lib/utils/formatting/indicators.js.map +1 -0
  420. package/lib/utils/formatting/loading-messages.d.ts +37 -0
  421. package/lib/utils/formatting/loading-messages.js +50 -0
  422. package/lib/utils/formatting/loading-messages.js.map +1 -0
  423. package/lib/utils/formatting/namespace-display.d.ts +31 -0
  424. package/lib/utils/formatting/namespace-display.js +64 -0
  425. package/lib/utils/formatting/namespace-display.js.map +1 -0
  426. package/lib/utils/formatting/numbers.d.ts +73 -0
  427. package/lib/utils/formatting/numbers.js +187 -0
  428. package/lib/utils/formatting/numbers.js.map +1 -0
  429. package/lib/utils/formatting/object-describe-display.d.ts +114 -0
  430. package/lib/utils/formatting/object-describe-display.js +440 -0
  431. package/lib/utils/formatting/object-describe-display.js.map +1 -0
  432. package/lib/utils/formatting/object-list-display.d.ts +213 -0
  433. package/lib/utils/formatting/object-list-display.js +672 -0
  434. package/lib/utils/formatting/object-list-display.js.map +1 -0
  435. package/lib/utils/formatting/org-identity.d.ts +15 -0
  436. package/lib/utils/formatting/org-identity.js +28 -0
  437. package/lib/utils/formatting/org-identity.js.map +1 -0
  438. package/lib/utils/formatting/record-age-grid.d.ts +41 -0
  439. package/lib/utils/formatting/record-age-grid.js +56 -0
  440. package/lib/utils/formatting/record-age-grid.js.map +1 -0
  441. package/lib/utils/formatting/sections.d.ts +108 -0
  442. package/lib/utils/formatting/sections.js +150 -0
  443. package/lib/utils/formatting/sections.js.map +1 -0
  444. package/lib/utils/formatting/tables.d.ts +90 -0
  445. package/lib/utils/formatting/tables.js +113 -0
  446. package/lib/utils/formatting/tables.js.map +1 -0
  447. package/lib/utils/formatting/user-details-display.d.ts +101 -0
  448. package/lib/utils/formatting/user-details-display.js +425 -0
  449. package/lib/utils/formatting/user-details-display.js.map +1 -0
  450. package/lib/utils/pagination/index.d.ts +11 -0
  451. package/lib/utils/pagination/index.js +18 -0
  452. package/lib/utils/pagination/index.js.map +1 -0
  453. package/lib/utils/pagination/keypress-reader.d.ts +20 -0
  454. package/lib/utils/pagination/keypress-reader.js +63 -0
  455. package/lib/utils/pagination/keypress-reader.js.map +1 -0
  456. package/lib/utils/pagination/paginate-output.d.ts +48 -0
  457. package/lib/utils/pagination/paginate-output.js +136 -0
  458. package/lib/utils/pagination/paginate-output.js.map +1 -0
  459. package/messages/compatibility.check.md +71 -0
  460. package/messages/cuneiform.access.md +138 -0
  461. package/messages/definition.create.md +511 -0
  462. package/messages/definition.export.md +84 -0
  463. package/messages/definition.get.md +147 -0
  464. package/messages/definition.import.md +65 -0
  465. package/messages/definition.list.md +264 -0
  466. package/messages/definition.purge.md +318 -0
  467. package/messages/definition.update.md +118 -0
  468. package/messages/mcp.serve.md +66 -0
  469. package/messages/object.describe.md +201 -0
  470. package/messages/object.list.md +443 -0
  471. package/messages/org.details.md +386 -0
  472. package/messages/org.reset.md +71 -0
  473. package/messages/profile.md +231 -0
  474. package/messages/profile.request.cancel.md +143 -0
  475. package/messages/profile.request.delete.md +139 -0
  476. package/messages/profile.request.list.md +89 -0
  477. package/messages/summary.purge.md +218 -0
  478. package/messages/summary.reprofile.md +150 -0
  479. package/messages/summary.stop.md +157 -0
  480. package/messages/user.details.md +501 -0
  481. package/oclif.lock +2887 -2149
  482. package/oclif.manifest.json +2813 -31
  483. package/package.json +94 -19
  484. package/lib/commands/cuneiform/about.d.ts +0 -13
  485. package/lib/commands/cuneiform/about.js +0 -26
  486. package/lib/commands/cuneiform/about.js.map +0 -1
  487. package/lib/commands/hello/world.d.ts +0 -14
  488. package/lib/commands/hello/world.js +0 -27
  489. package/lib/commands/hello/world.js.map +0 -1
  490. package/lib/index.d.ts +0 -2
  491. package/lib/index.js +0 -2
  492. package/lib/index.js.map +0 -1
  493. package/messages/cuneiform.about.md +0 -19
  494. package/messages/hello.world.md +0 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfilingSummaryService.js","sourceRoot":"","sources":["../../src/services/ProfilingSummaryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { ISoqlQueryAdapter } from '../adapters/soql/soql-query-adapter.js';
2
+ import type { ServiceResult } from '../models/service-result.js';
3
+ /**
4
+ * Represents a Salesforce RecordType with formatted reference information.
5
+ */
6
+ export type RecordTypeInfo = {
7
+ /** The RecordType ID */
8
+ id: string;
9
+ /** The RecordType display name */
10
+ name: string;
11
+ /** The RecordType developer name (API name) */
12
+ developerName: string;
13
+ /** The SObject type this RecordType belongs to */
14
+ sobjectType: string;
15
+ /** Whether this is a Person Account record type */
16
+ isPersonType: boolean;
17
+ /** Whether this RecordType is active */
18
+ isActive: boolean;
19
+ /** Whether this is the default RecordType */
20
+ isDefault: boolean;
21
+ /** Formatted reference string, e.g. 'Case.Support' or 'PersonAccount.Patient' */
22
+ formattedReference: string;
23
+ /** The associated BusinessProcess ID (only for Opportunity, Case, Lead) */
24
+ businessProcessId?: string;
25
+ };
26
+ /**
27
+ * Record type distribution entry with count.
28
+ */
29
+ export type RecordTypeDistribution = {
30
+ /** The RecordType ID */
31
+ readonly recordTypeId: string;
32
+ /** The RecordType developer name */
33
+ readonly developerName: string;
34
+ /** The RecordType display name */
35
+ readonly name: string;
36
+ /** Number of records with this record type */
37
+ readonly recordCount: number;
38
+ /** Percentage of total records (0-100) */
39
+ readonly percentage: number;
40
+ };
41
+ /**
42
+ * Configuration for RecordTypeService.
43
+ */
44
+ export type IRecordTypeServiceConfig = {
45
+ /** SOQL query adapter for executing queries */
46
+ soqlAdapter: ISoqlQueryAdapter;
47
+ /** Optional logger for debug output */
48
+ logger?: Console;
49
+ };
50
+ /**
51
+ * Domain service for retrieving Salesforce RecordType information.
52
+ *
53
+ * Provides methods to query record types for a given SObject, with support
54
+ * for filtering active record types and formatting PersonAccount references.
55
+ *
56
+ * @design
57
+ * **IsPersonType Fallback**: The `IsPersonType` field only exists on RecordType
58
+ * when Person Accounts are enabled in the target org. To support both configurations,
59
+ * queries first try with IsPersonType and fall back to exclude it on INVALID_FIELD
60
+ * errors. This ensures cross-org compatibility without requiring org introspection.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const service = new RecordTypeService({ soqlAdapter });
65
+ * const result = await service.getRecordTypes('Account');
66
+ * if (result.success) {
67
+ * result.data.forEach(rt => console.log(rt.formattedReference));
68
+ * }
69
+ * ```
70
+ */
71
+ export declare class RecordTypeService {
72
+ private readonly soqlAdapter;
73
+ private readonly logger?;
74
+ constructor(config: IRecordTypeServiceConfig);
75
+ /**
76
+ * Formats a record type reference string.
77
+ *
78
+ * Uses PersonAccount as the object prefix when IsPersonType is true,
79
+ * otherwise uses the SobjectType.
80
+ *
81
+ * @param recordType - The RecordTypeInfo to format
82
+ * @returns Formatted reference string (e.g., 'Case.Support', 'PersonAccount.Patient')
83
+ */
84
+ static formatRecordTypeReference(recordType: RecordTypeInfo): string;
85
+ /**
86
+ * Maps a raw Salesforce RecordType record to a RecordTypeInfo.
87
+ *
88
+ * @param record - The raw SOQL query result record
89
+ * @returns Mapped RecordTypeInfo with formatted reference
90
+ */
91
+ private static mapToRecordTypeInfo;
92
+ /**
93
+ * Retrieves all record types for the specified SObject.
94
+ *
95
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
96
+ * @returns ServiceResult containing an array of RecordTypeInfo, or empty array if none exist
97
+ */
98
+ getRecordTypes(objectName: string): Promise<ServiceResult<RecordTypeInfo[]>>;
99
+ /**
100
+ * Retrieves record count distribution across record types for an object.
101
+ *
102
+ * Queries the actual object records grouped by RecordTypeId, then enriches
103
+ * with record type metadata (names, developer names).
104
+ *
105
+ * @param objectName - The Salesforce object API name
106
+ * @returns ServiceResult containing array of RecordTypeDistribution
107
+ */
108
+ getRecordTypeDistribution(objectName: string): Promise<ServiceResult<RecordTypeDistribution[]>>;
109
+ /**
110
+ * Retrieves only active record types for the specified SObject.
111
+ *
112
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
113
+ * @returns ServiceResult containing an array of active RecordTypeInfo
114
+ */
115
+ getActiveRecordTypes(objectName: string): Promise<ServiceResult<RecordTypeInfo[]>>;
116
+ /**
117
+ * Retrieves record types for the specified SObject filtered by activity status.
118
+ *
119
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
120
+ * @param status - Filter: 'active' (default), 'all', or 'inactive'
121
+ * @returns ServiceResult containing an array of filtered RecordTypeInfo
122
+ */
123
+ getRecordTypesByStatus(objectName: string, status?: 'active' | 'all' | 'inactive'): Promise<ServiceResult<RecordTypeInfo[]>>;
124
+ /**
125
+ * Executes the RecordType SOQL query, falling back to exclude IsPersonType
126
+ * when Person Accounts are not enabled in the target org.
127
+ */
128
+ private queryRecordTypes;
129
+ }
@@ -0,0 +1,284 @@
1
+ /*
2
+ * Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
3
+ * PROPRIETARY AND CONFIDENTIAL. Unauthorized copying, modification,
4
+ * or distribution is strictly prohibited. Use is governed by the
5
+ * Master Subscription Agreement (MSA) between PeerNova, Inc. and the
6
+ * licensee. See LICENSE file in the repo root.
7
+ */
8
+ import { createSuccessResult, createFailureResult } from '../models/service-result.js';
9
+ import { ServiceErrorCodes } from '../adapters/errors.js';
10
+ import { CuneiformQueryBuilder } from '../adapters/soql/cuneiform-query-builder.js';
11
+ import { validateObjectName, validateRequiredString } from './validation.js';
12
+ /**
13
+ * Domain service for retrieving Salesforce RecordType information.
14
+ *
15
+ * Provides methods to query record types for a given SObject, with support
16
+ * for filtering active record types and formatting PersonAccount references.
17
+ *
18
+ * @design
19
+ * **IsPersonType Fallback**: The `IsPersonType` field only exists on RecordType
20
+ * when Person Accounts are enabled in the target org. To support both configurations,
21
+ * queries first try with IsPersonType and fall back to exclude it on INVALID_FIELD
22
+ * errors. This ensures cross-org compatibility without requiring org introspection.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const service = new RecordTypeService({ soqlAdapter });
27
+ * const result = await service.getRecordTypes('Account');
28
+ * if (result.success) {
29
+ * result.data.forEach(rt => console.log(rt.formattedReference));
30
+ * }
31
+ * ```
32
+ */
33
+ export class RecordTypeService {
34
+ soqlAdapter;
35
+ logger;
36
+ constructor(config) {
37
+ this.soqlAdapter = config.soqlAdapter;
38
+ this.logger = config.logger;
39
+ }
40
+ /**
41
+ * Formats a record type reference string.
42
+ *
43
+ * Uses PersonAccount as the object prefix when IsPersonType is true,
44
+ * otherwise uses the SobjectType.
45
+ *
46
+ * @param recordType - The RecordTypeInfo to format
47
+ * @returns Formatted reference string (e.g., 'Case.Support', 'PersonAccount.Patient')
48
+ */
49
+ static formatRecordTypeReference(recordType) {
50
+ const objectPrefix = recordType.isPersonType ? 'PersonAccount' : recordType.sobjectType;
51
+ return `${objectPrefix}.${recordType.developerName}`;
52
+ }
53
+ /**
54
+ * Maps a raw Salesforce RecordType record to a RecordTypeInfo.
55
+ *
56
+ * @param record - The raw SOQL query result record
57
+ * @returns Mapped RecordTypeInfo with formatted reference
58
+ */
59
+ static mapToRecordTypeInfo(record) {
60
+ const isPersonType = record.IsPersonType ?? false;
61
+ const objectPrefix = isPersonType ? 'PersonAccount' : record.SobjectType;
62
+ return {
63
+ id: record.Id,
64
+ name: record.Name,
65
+ developerName: record.DeveloperName,
66
+ sobjectType: record.SobjectType,
67
+ isPersonType,
68
+ isActive: record.IsActive,
69
+ // 'Master' is Salesforce's reserved DeveloperName for the default record type
70
+ isDefault: record.DeveloperName === 'Master',
71
+ formattedReference: `${objectPrefix}.${record.DeveloperName}`,
72
+ businessProcessId: record.BusinessProcessId ?? undefined,
73
+ };
74
+ }
75
+ /**
76
+ * Retrieves all record types for the specified SObject.
77
+ *
78
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
79
+ * @returns ServiceResult containing an array of RecordTypeInfo, or empty array if none exist
80
+ */
81
+ async getRecordTypes(objectName) {
82
+ const startTime = Date.now();
83
+ const emptyResult = [];
84
+ // Validate required
85
+ const requiredError = validateRequiredString(objectName, 'Object name');
86
+ if (requiredError) {
87
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_OBJECT_NAME_REQUIRED, requiredError, {
88
+ metadata: { duration: Date.now() - startTime },
89
+ });
90
+ }
91
+ // Validate format
92
+ const formatError = validateObjectName(objectName);
93
+ if (formatError) {
94
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_INVALID_OBJECT_NAME, formatError, {
95
+ metadata: { duration: Date.now() - startTime },
96
+ });
97
+ }
98
+ try {
99
+ const queryResult = await this.queryRecordTypes(objectName);
100
+ if (!queryResult.success) {
101
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, queryResult.message ?? 'Record type query failed', { metadata: { duration: Date.now() - startTime } });
102
+ }
103
+ const recordTypes = queryResult.data.records.map((record) => RecordTypeService.mapToRecordTypeInfo(record));
104
+ const duration = Date.now() - startTime;
105
+ this.logger?.log(`Found ${recordTypes.length} record types for ${objectName}`);
106
+ return createSuccessResult(recordTypes, {
107
+ message: `Found ${recordTypes.length} record types for ${objectName}`,
108
+ metadata: { duration },
109
+ });
110
+ }
111
+ catch (error) {
112
+ const errorMessage = error instanceof Error ? error.message : String(error);
113
+ this.logger?.log(`Record type query failed: ${errorMessage}`);
114
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, errorMessage, {
115
+ metadata: { duration: Date.now() - startTime },
116
+ });
117
+ }
118
+ }
119
+ /**
120
+ * Retrieves record count distribution across record types for an object.
121
+ *
122
+ * Queries the actual object records grouped by RecordTypeId, then enriches
123
+ * with record type metadata (names, developer names).
124
+ *
125
+ * @param objectName - The Salesforce object API name
126
+ * @returns ServiceResult containing array of RecordTypeDistribution
127
+ */
128
+ async getRecordTypeDistribution(objectName) {
129
+ const startTime = Date.now();
130
+ const emptyResult = [];
131
+ // Validate required
132
+ const requiredError = validateRequiredString(objectName, 'Object name');
133
+ if (requiredError) {
134
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_OBJECT_NAME_REQUIRED, requiredError, {
135
+ metadata: { duration: Date.now() - startTime },
136
+ });
137
+ }
138
+ // Validate format
139
+ const formatError = validateObjectName(objectName);
140
+ if (formatError) {
141
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_INVALID_OBJECT_NAME, formatError, {
142
+ metadata: { duration: Date.now() - startTime },
143
+ });
144
+ }
145
+ try {
146
+ // Step 1: Get existing record types for metadata enrichment
147
+ const recordTypesResult = await this.getRecordTypes(objectName);
148
+ if (!recordTypesResult.success) {
149
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, recordTypesResult.message ?? 'Record type query failed', {
150
+ metadata: { duration: Date.now() - startTime },
151
+ });
152
+ }
153
+ // If no record types exist, return empty array
154
+ if (recordTypesResult.data.length === 0) {
155
+ return createSuccessResult(emptyResult, {
156
+ message: `No record types found for ${objectName}`,
157
+ metadata: { duration: Date.now() - startTime },
158
+ });
159
+ }
160
+ // Step 2: Query record counts grouped by RecordTypeId
161
+ const countSoql = new CuneiformQueryBuilder()
162
+ .select(['RecordTypeId', 'COUNT(Id) cnt'])
163
+ .from(objectName)
164
+ .groupBy(['RecordTypeId'])
165
+ .toSOQL();
166
+ const countResult = await this.soqlAdapter.query(countSoql);
167
+ if (!countResult.success) {
168
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, countResult.message ?? 'Record count query failed', {
169
+ metadata: { duration: Date.now() - startTime },
170
+ });
171
+ }
172
+ // Step 3: Compute total and build distribution
173
+ const countRecords = countResult.data.records;
174
+ const total = countRecords.reduce((sum, record) => sum + record.cnt, 0);
175
+ // Build a lookup map from record type ID to metadata
176
+ const recordTypeMap = new Map();
177
+ for (const rt of recordTypesResult.data) {
178
+ recordTypeMap.set(rt.id, rt);
179
+ }
180
+ // Step 4: Enrich with record type names and compute percentages
181
+ const distribution = countRecords
182
+ .map((record) => {
183
+ const rtInfo = recordTypeMap.get(record.RecordTypeId);
184
+ return {
185
+ recordTypeId: record.RecordTypeId,
186
+ developerName: rtInfo?.developerName ?? 'Unknown',
187
+ name: rtInfo?.name ?? 'Unknown',
188
+ recordCount: record.cnt,
189
+ percentage: total > 0 ? Math.round((record.cnt / total) * 10_000) / 100 : 0,
190
+ };
191
+ })
192
+ // Step 5: Sort by recordCount descending
193
+ .sort((a, b) => b.recordCount - a.recordCount);
194
+ const duration = Date.now() - startTime;
195
+ this.logger?.log(`Found ${distribution.length} record type distributions for ${objectName}`);
196
+ return createSuccessResult(distribution, {
197
+ message: `Found ${distribution.length} record type distributions for ${objectName}`,
198
+ metadata: { duration },
199
+ });
200
+ }
201
+ catch (error) {
202
+ const errorMessage = error instanceof Error ? error.message : String(error);
203
+ this.logger?.log(`Record type distribution query failed: ${errorMessage}`);
204
+ return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, errorMessage, {
205
+ metadata: { duration: Date.now() - startTime },
206
+ });
207
+ }
208
+ }
209
+ /**
210
+ * Retrieves only active record types for the specified SObject.
211
+ *
212
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
213
+ * @returns ServiceResult containing an array of active RecordTypeInfo
214
+ */
215
+ async getActiveRecordTypes(objectName) {
216
+ return this.getRecordTypesByStatus(objectName, 'active');
217
+ }
218
+ /**
219
+ * Retrieves record types for the specified SObject filtered by activity status.
220
+ *
221
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
222
+ * @param status - Filter: 'active' (default), 'all', or 'inactive'
223
+ * @returns ServiceResult containing an array of filtered RecordTypeInfo
224
+ */
225
+ async getRecordTypesByStatus(objectName, status = 'active') {
226
+ const result = await this.getRecordTypes(objectName);
227
+ if (!result.success) {
228
+ return result;
229
+ }
230
+ let filtered;
231
+ let label;
232
+ switch (status) {
233
+ case 'all':
234
+ filtered = result.data;
235
+ label = 'total';
236
+ break;
237
+ case 'inactive':
238
+ filtered = result.data.filter((rt) => !rt.isActive);
239
+ label = 'inactive';
240
+ break;
241
+ default:
242
+ filtered = result.data.filter((rt) => rt.isActive);
243
+ label = 'active';
244
+ break;
245
+ }
246
+ return createSuccessResult(filtered, {
247
+ message: `Found ${filtered.length} ${label} record types for ${objectName}`,
248
+ metadata: result.metadata,
249
+ });
250
+ }
251
+ /**
252
+ * Executes the RecordType SOQL query, falling back to exclude IsPersonType
253
+ * when Person Accounts are not enabled in the target org.
254
+ */
255
+ async queryRecordTypes(objectName) {
256
+ const baseFields = ['Id', 'Name', 'DeveloperName', 'SobjectType', 'IsActive', 'BusinessProcessId'];
257
+ // Try with IsPersonType first (available when Person Accounts are enabled)
258
+ const fullSoql = new CuneiformQueryBuilder()
259
+ .select([...baseFields, 'IsPersonType'])
260
+ .from('RecordType')
261
+ .where('SobjectType', '=', objectName)
262
+ .orderBy('Name', 'ASC')
263
+ .toSOQL();
264
+ this.logger?.log(`Querying record types for: ${objectName}`);
265
+ const fullResult = await this.soqlAdapter.query(fullSoql);
266
+ if (fullResult.success) {
267
+ return fullResult;
268
+ }
269
+ // If the query failed due to IsPersonType not existing, retry without it
270
+ const errorMsg = fullResult.message ?? '';
271
+ if (errorMsg.includes('INVALID_FIELD') || errorMsg.includes('IsPersonType')) {
272
+ this.logger?.log('IsPersonType not available — retrying without Person Account field');
273
+ const fallbackSoql = new CuneiformQueryBuilder()
274
+ .select(baseFields)
275
+ .from('RecordType')
276
+ .where('SobjectType', '=', objectName)
277
+ .orderBy('Name', 'ASC')
278
+ .toSOQL();
279
+ return this.soqlAdapter.query(fallbackSoql);
280
+ }
281
+ return fullResult;
282
+ }
283
+ }
284
+ //# sourceMappingURL=RecordTypeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordTypeService.js","sourceRoot":"","sources":["../../src/services/RecordTypeService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { type ExecFileOptions } from 'node:child_process';
2
+ import { type ISFDMUOptions, type ISFDMUResult, type ServiceResult } from '../models/sfdmu-types.js';
3
+ /**
4
+ * Type for the promisified execFile function.
5
+ */
6
+ export type ExecFileAsyncFn = (file: string, args: string[], options: ExecFileOptions) => Promise<{
7
+ stdout: string;
8
+ stderr: string;
9
+ }>;
10
+ /**
11
+ * Configuration options for SFDMUService.
12
+ */
13
+ export type ISFDMUServiceConfig = {
14
+ /** Optional logger for debug output */
15
+ logger?: Console;
16
+ /** Optional execFile function for testing (dependency injection) */
17
+ execFileAsync?: ExecFileAsyncFn;
18
+ /** Override platform detection (for testing) */
19
+ platform?: NodeJS.Platform;
20
+ };
21
+ /**
22
+ * Service for executing SFDMU (Salesforce Data Move Utility) operations.
23
+ *
24
+ * This service provides:
25
+ * - Runtime verification that SFDMU is installed
26
+ * - Secure shell execution using execFile (prevents command injection)
27
+ * - Cross-platform support (Windows/Unix)
28
+ * - Configurable timeout and buffer sizes
29
+ * - Result parsing for record counts and errors
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const service = new SFDMUService();
34
+ * await service.verifyInstallation();
35
+ * const result = await service.runExport({
36
+ * configPath: './export.json',
37
+ * sourceOrg: 'myOrg'
38
+ * });
39
+ * ```
40
+ */
41
+ export declare class SFDMUService {
42
+ /** Default timeout for SFDMU operations (5 minutes) */
43
+ static readonly DEFAULT_TIMEOUT = 300000;
44
+ /** Default max buffer size for stdout/stderr (10MB) */
45
+ static readonly DEFAULT_MAX_BUFFER: number;
46
+ /** The sf CLI binary name (platform-specific) */
47
+ private readonly sfBinary;
48
+ /** Logger instance */
49
+ private readonly logger?;
50
+ /** Injected execFile function */
51
+ private readonly execFileAsync;
52
+ /**
53
+ * Creates a new SFDMUService instance.
54
+ *
55
+ * @param config - Optional configuration including logger and test dependencies
56
+ */
57
+ constructor(config?: ISFDMUServiceConfig);
58
+ /**
59
+ * Builds command line arguments for SFDMU execution.
60
+ *
61
+ * @param options - Operation options
62
+ * @param operation - The operation type
63
+ * @returns Array of command line arguments
64
+ */
65
+ private static buildArgs;
66
+ /**
67
+ * Parses record count from SFDMU stdout output.
68
+ *
69
+ * SFDMU (Salesforce Data Move Utility) outputs record counts in several formats
70
+ * depending on the operation type and verbosity level:
71
+ * - Summary lines: "Total: 100 records" — single authoritative count, checked first
72
+ * - Per-batch lines: "Processed 8 records" repeated per batch — summed to get total
73
+ * - Alternate phrasing: "100 records processed"
74
+ *
75
+ * Per-batch counts must be summed: SFDMU emits "Processed N records" once per batch
76
+ * (CLI-3140), so taking only the first match caps the reported count at the batch size.
77
+ *
78
+ * Tested against SFDMU v4.x output. If patterns fail to match, returns undefined
79
+ * (graceful degradation — record count is informational, not required).
80
+ *
81
+ * @param stdout - Standard output from SFDMU execution
82
+ * @returns Parsed record count or undefined if no pattern matched
83
+ */
84
+ private static parseRecordCount;
85
+ /**
86
+ * Parses error messages from SFDMU stderr output.
87
+ *
88
+ * @param stderr - Standard error from SFDMU
89
+ * @returns Array of error messages
90
+ */
91
+ private static parseErrors;
92
+ /**
93
+ * Parses warning messages from SFDMU stderr output.
94
+ *
95
+ * @param stderr - Standard error from SFDMU
96
+ * @returns Array of warning messages
97
+ */
98
+ private static parseWarnings;
99
+ /**
100
+ * Returns the sf binary name being used (for testing/debugging).
101
+ */
102
+ getSfBinary(): string;
103
+ /**
104
+ * Verifies that SFDMU is installed and available.
105
+ *
106
+ * @returns Promise that resolves when SFDMU installation is verified
107
+ * @throws SfError with code 'SFCLINotFound' if Salesforce CLI is not installed
108
+ * @throws SfError with code from SFDMUErrorCodes.NOT_INSTALLED if SFDMU plugin is missing
109
+ */
110
+ verifyInstallation(): Promise<void>;
111
+ /**
112
+ * Executes an SFDMU export operation.
113
+ *
114
+ * @param options - Export options including config path and source org
115
+ * @returns ServiceResult containing the execution result
116
+ */
117
+ runExport(options: ISFDMUOptions): Promise<ServiceResult<ISFDMUResult>>;
118
+ /**
119
+ * Executes an SFDMU import operation.
120
+ *
121
+ * @param options - Import options including config path and target org
122
+ * @returns ServiceResult containing the execution result
123
+ */
124
+ runImport(options: ISFDMUOptions): Promise<ServiceResult<ISFDMUResult>>;
125
+ /**
126
+ * Executes an SFDMU operation (export or import).
127
+ *
128
+ * @param options - Operation options
129
+ * @param operation - The operation type ('export' or 'import')
130
+ * @returns ServiceResult containing the execution result
131
+ */
132
+ private executeOperation;
133
+ }