@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,436 @@
1
+ import type { IRestApiAdapter } from '../adapters/rest/rest-api-adapter.js';
2
+ import type { ISoqlQueryAdapter } from '../adapters/soql/soql-query-adapter.js';
3
+ import type { DescribeSObjectResult, DescribeFieldResult } from '../adapters/connection-facade.js';
4
+ import type { ServiceResult } from '../models/service-result.js';
5
+ import type { RecordTypeService, RecordTypeInfo } from './RecordTypeService.js';
6
+ import type { ProfilingDefinitionService, ProfilingDefinition } from './ProfilingDefinitionService.js';
7
+ import type { ProfilingSummaryService } from './ProfilingSummaryService.js';
8
+ /**
9
+ * Business process information with associated record types and record age distribution.
10
+ * Used by object describe to show per-process record existence grid.
11
+ */
12
+ export type ObjectBusinessProcessInfo = {
13
+ /** BusinessProcess ID */
14
+ id: string;
15
+ /** Process name */
16
+ name: string;
17
+ /** Whether the process is active */
18
+ isActive: boolean;
19
+ /** Number of record types using this process */
20
+ recordTypeCount: number;
21
+ /** Record type IDs using this process */
22
+ recordTypeIds: string[];
23
+ /** Per-process record age distribution (populated after age queries) */
24
+ recordAgeDistribution?: RecordAgeDistribution;
25
+ };
26
+ /**
27
+ * Field classification information derived from describe metadata.
28
+ */
29
+ export type FieldClassification = {
30
+ /** Total number of fields on the object */
31
+ totalFields: number;
32
+ /** Count of custom fields (field.custom === true) */
33
+ customFields: number;
34
+ /** Count of formula fields (field.calculated === true) */
35
+ formulaFields: number;
36
+ /** Count of lookup/reference fields (field.referenceTo?.length > 0) */
37
+ lookupFields: number;
38
+ /** Count of required fields (createable && !nillable && !defaultValue) */
39
+ requiredFields: number;
40
+ /** Count of picklist fields (type === 'picklist' || 'multipicklist') */
41
+ picklistFields: number;
42
+ };
43
+ /**
44
+ * Record age information for the object.
45
+ */
46
+ export type RecordAgeInfo = {
47
+ /** Whether record age information is available */
48
+ available: boolean;
49
+ /** ISO 8601 date of oldest record, if available */
50
+ oldestRecordDate?: string;
51
+ /** ISO 8601 date of newest record, if available */
52
+ newestRecordDate?: string;
53
+ };
54
+ /**
55
+ * Year-level record existence status for a single calendar year.
56
+ */
57
+ export type YearRecordAge = {
58
+ /** The calendar year */
59
+ year: number;
60
+ /** Whether records exist in this year */
61
+ hasRecords: boolean;
62
+ };
63
+ /**
64
+ * Record age distribution showing year-by-year record existence.
65
+ *
66
+ * Array-based structure for extensibility and clean MCP/JSON consumption.
67
+ * Years are ordered newest-first (descending).
68
+ */
69
+ export type RecordAgeDistribution = {
70
+ /** Per-year record existence, ordered newest-first */
71
+ years: YearRecordAge[];
72
+ /** ISO 8601 date of oldest record, or null if none */
73
+ oldestRecordDate: string | null;
74
+ };
75
+ /**
76
+ * Field type distribution entry.
77
+ */
78
+ export type FieldTypeCount = {
79
+ /** The display type (e.g., 'Text', 'Number', 'Lookup') */
80
+ type: string;
81
+ /** Count of fields with this type */
82
+ count: number;
83
+ /** Percentage of total fields (rounded to 1 decimal) */
84
+ percent: number;
85
+ };
86
+ /**
87
+ * Namespace breakdown entry.
88
+ */
89
+ export type NamespaceCount = {
90
+ /** The namespace prefix or null for standard/unpackaged fields */
91
+ namespace: string | null;
92
+ /** Count of fields in this namespace */
93
+ fieldCount: number;
94
+ };
95
+ /**
96
+ * External reference from another object (inbound relationship).
97
+ */
98
+ export type ExternalReference = {
99
+ /** The child object API name that references this object */
100
+ objectName: string;
101
+ /** The field on the child object that holds the reference */
102
+ fieldName: string;
103
+ /** The relationship name for SOQL queries */
104
+ relationshipName: string | null;
105
+ };
106
+ /**
107
+ * Lookup field with target object information.
108
+ */
109
+ export type LookupFieldInfo = {
110
+ /** The lookup field API name */
111
+ fieldName: string;
112
+ /** The field label */
113
+ label: string;
114
+ /** Target object(s) this field references */
115
+ targetObjects: string[];
116
+ /** The relationship name for SOQL traversal */
117
+ relationshipName: string | null;
118
+ };
119
+ /**
120
+ * Relationship summary for an object.
121
+ */
122
+ export type RelationshipSummary = {
123
+ /** Number of objects that reference this object */
124
+ referencedByCount: number;
125
+ /** Details of objects that reference this object (from childRelationships) */
126
+ referencedBy: ExternalReference[];
127
+ /** Lookup fields on this object pointing to other objects */
128
+ lookupFields: LookupFieldInfo[];
129
+ };
130
+ /**
131
+ * Enriched profiling status for the object.
132
+ */
133
+ export type ProfilingStatus = {
134
+ /** Whether profiling definitions exist for this object */
135
+ hasDefinitions: boolean;
136
+ /** Number of profiling definitions for this object */
137
+ definitionCount: number;
138
+ /** List of profiling definitions (if available) */
139
+ definitions?: ProfilingDefinition[];
140
+ /** Most recent profiling summary date, if available */
141
+ lastProfiledDate?: string;
142
+ /** Total summary count across all definitions */
143
+ summaryCount?: number;
144
+ };
145
+ /**
146
+ * Comprehensive object metadata with field analysis and enrichment.
147
+ */
148
+ export type ObjectDescribeResult = {
149
+ /** The object API name */
150
+ objectName: string;
151
+ /** The object label */
152
+ label: string;
153
+ /** The object plural label */
154
+ labelPlural: string;
155
+ /** Whether this is a custom object */
156
+ isCustom: boolean;
157
+ /** Whether the object is queryable */
158
+ isQueryable: boolean;
159
+ /** Whether the object is createable */
160
+ isCreateable: boolean;
161
+ /** Whether the object is updateable */
162
+ isUpdateable: boolean;
163
+ /** Whether the object is deletable */
164
+ isDeletable: boolean;
165
+ /** Whether the object is searchable */
166
+ isSearchable: boolean;
167
+ /** Field classification statistics */
168
+ fieldClassification: FieldClassification;
169
+ /** All fields from the describe result */
170
+ fields: DescribeFieldResult[];
171
+ /** Record type information (enriched if RecordTypeService provided) */
172
+ recordTypes?: RecordTypeInfo[];
173
+ /** Record age information (if queryable) */
174
+ recordAge?: RecordAgeInfo;
175
+ /** Profiling status (enriched if profiling services provided) */
176
+ profilingStatus?: ProfilingStatus;
177
+ /** Relationship summary including external references and lookup fields */
178
+ relationships?: RelationshipSummary;
179
+ /** Whether PersonAccount is enabled (only populated for Account object) */
180
+ isPersonAccountEnabled?: boolean;
181
+ };
182
+ /**
183
+ * Configuration for ObjectDescribeService.
184
+ */
185
+ export type IObjectDescribeServiceConfig = {
186
+ /** REST API adapter for describing objects */
187
+ restApiAdapter: IRestApiAdapter;
188
+ /** SOQL query adapter for record age queries */
189
+ soqlAdapter: ISoqlQueryAdapter;
190
+ /** Optional RecordTypeService for enriching record type information */
191
+ recordTypeService?: RecordTypeService;
192
+ /** Optional ProfilingDefinitionService for enriching profiling status */
193
+ profilingDefinitionService?: ProfilingDefinitionService;
194
+ /** Optional ProfilingSummaryService for enriching summary information */
195
+ profilingSummaryService?: ProfilingSummaryService;
196
+ /** Optional logger for debug output */
197
+ logger?: Console;
198
+ /** Optional REST client for server-side describe via ISV REST API */
199
+ restClient?: import('../adapters/rest/profiling-rest-client.js').ProfilingRestClient;
200
+ };
201
+ /**
202
+ * Service for retrieving comprehensive object metadata with field analysis and profiling status.
203
+ *
204
+ * This service combines REST API describe results with optional enrichment from:
205
+ * - RecordTypeService: Record type information
206
+ * - ProfilingDefinitionService: Existing profiling definitions
207
+ * - ProfilingSummaryService: Profiling summary statistics
208
+ *
209
+ * Object Rejection Rules:
210
+ * - Big Objects (__b suffix) are rejected with E4805
211
+ * - External Objects (__x suffix) are rejected with E4806
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * const service = new ObjectDescribeService({
216
+ * restApiAdapter,
217
+ * soqlAdapter,
218
+ * recordTypeService,
219
+ * profilingDefinitionService,
220
+ * profilingSummaryService,
221
+ * });
222
+ *
223
+ * const result = await service.describeObject('Account');
224
+ * if (result.success) {
225
+ * console.log(`${result.data.objectName}: ${result.data.fieldClassification.totalFields} fields`);
226
+ * }
227
+ * ```
228
+ */
229
+ export declare class ObjectDescribeService {
230
+ /** Lookup table for field type to display category mapping */
231
+ private static readonly FIELD_TYPE_MAP;
232
+ private readonly restApiAdapter;
233
+ private readonly soqlAdapter;
234
+ private readonly recordTypeService?;
235
+ private readonly profilingDefinitionService?;
236
+ private readonly profilingSummaryService?;
237
+ private readonly logger?;
238
+ private readonly restClient?;
239
+ constructor(config: IObjectDescribeServiceConfig);
240
+ /**
241
+ * Calculates field type distribution from an array of fields.
242
+ *
243
+ * @param fields - Array of DescribeFieldResult from object describe
244
+ * @returns ServiceResult containing array of FieldTypeCount sorted by count descending
245
+ */
246
+ static getFieldTypeDistribution(fields: DescribeFieldResult[]): ServiceResult<FieldTypeCount[]>;
247
+ /**
248
+ * Calculates namespace breakdown from an array of fields.
249
+ *
250
+ * @param fields - Array of DescribeFieldResult from object describe
251
+ * @returns ServiceResult containing array of NamespaceCount sorted by fieldCount descending
252
+ */
253
+ static getNamespaceBreakdown(fields: DescribeFieldResult[]): ServiceResult<NamespaceCount[]>;
254
+ /**
255
+ * Extracts external references from childRelationships array.
256
+ *
257
+ * External references represent objects that have lookup/master-detail
258
+ * relationships pointing TO this object.
259
+ *
260
+ * @param describeResult - The describe result containing childRelationships
261
+ * @returns Array of external references sorted alphabetically by object name
262
+ */
263
+ static extractExternalReferences(describeResult: DescribeSObjectResult): ExternalReference[];
264
+ /**
265
+ * Extracts lookup fields from fields array with their target objects.
266
+ *
267
+ * @param fields - Array of field describe results
268
+ * @returns Array of lookup field info sorted alphabetically by field name
269
+ */
270
+ static extractLookupFields(fields: DescribeFieldResult[]): LookupFieldInfo[];
271
+ /**
272
+ * Detects if PersonAccount is enabled for the Account object.
273
+ *
274
+ * PersonAccount is detected by checking for the presence of the IsPersonAccount field,
275
+ * which only exists when PersonAccount is enabled in the org.
276
+ *
277
+ * @param objectName - The object being described
278
+ * @param fields - The fields from the describe result
279
+ * @returns true if PersonAccount is enabled (only for Account object), undefined otherwise
280
+ */
281
+ static detectPersonAccount(objectName: string, fields: DescribeFieldResult[]): boolean | undefined;
282
+ /**
283
+ * Builds a relationship summary from describe result.
284
+ *
285
+ * @param describeResult - The describe result
286
+ * @returns RelationshipSummary with external references and lookup fields
287
+ */
288
+ static buildRelationshipSummary(describeResult: DescribeSObjectResult): RelationshipSummary;
289
+ /** Builds RelationshipSummary from server childRelationships + fields. */
290
+ private static mapServerRelationships;
291
+ /** Maps server profilingStatus block to CLI ProfilingStatus. */
292
+ private static mapServerProfilingStatus;
293
+ /** Maps server recordTypeInfos to CLI RecordTypeInfo[], filtering out Master. */
294
+ private static mapServerRecordTypes;
295
+ /**
296
+ * Maps a Salesforce field type to a display category.
297
+ *
298
+ * @param field - The field describe result
299
+ * @returns Display category string
300
+ */
301
+ private static mapFieldToDisplayType;
302
+ /**
303
+ * Extracts the namespace from a field API name.
304
+ *
305
+ * @param fieldName - The field API name (e.g., 'Name', 'Custom__c', 'pnova__Field__c')
306
+ * @returns The namespace (e.g., 'pnova') or null for standard/unmanaged fields
307
+ */
308
+ private static extractNamespace;
309
+ /**
310
+ * Checks if the object is a Big Object (ends with __b).
311
+ *
312
+ * @param objectName - The object API name
313
+ * @returns true if it's a Big Object
314
+ */
315
+ private static isBigObject;
316
+ /**
317
+ * Checks if the object is an External Object (ends with __x).
318
+ *
319
+ * @param objectName - The object API name
320
+ * @returns true if it's an External Object
321
+ */
322
+ private static isExternalObject;
323
+ /**
324
+ * Classifies fields from a describe result.
325
+ *
326
+ * @param fields - Array of field describe results
327
+ * @returns Field classification statistics
328
+ */
329
+ private static classifyFields;
330
+ /**
331
+ * Maps a DescribeSObjectResult to our ObjectDescribeResult base structure.
332
+ *
333
+ * @param describeResult - The raw describe result from REST API
334
+ * @returns ObjectDescribeResult without enrichment
335
+ */
336
+ private static mapToObjectDescribeResult;
337
+ /**
338
+ * Creates an empty result for failure cases.
339
+ *
340
+ * @param objectName - The object name for the empty result
341
+ * @returns Empty ObjectDescribeResult
342
+ */
343
+ private static createEmptyResult;
344
+ /**
345
+ * Extracts a meaningful message from an unknown error.
346
+ *
347
+ * Handles the edge case where Error instances have an empty message
348
+ * but a meaningful name property (e.g., sinon's rejects behavior).
349
+ *
350
+ * @param error - The error to extract a message from
351
+ * @returns A human-readable error message
352
+ */
353
+ private static getErrorMessage;
354
+ /**
355
+ * Applies RecordTypeId filter to a query builder.
356
+ * Single string uses `=`, array uses `IN`.
357
+ * The builder auto-promotes to first WHERE if no prior condition exists.
358
+ *
359
+ * @param builder - The query builder to modify
360
+ * @param recordTypeIds - Single ID, array of IDs, or undefined (no filter)
361
+ */
362
+ private static applyRecordTypeFilter;
363
+ /**
364
+ * Describes a Salesforce object with comprehensive metadata and optional enrichment.
365
+ *
366
+ * This method:
367
+ * 1. Validates the object name
368
+ * 2. Rejects Big Objects (__b) and External Objects (__x)
369
+ * 3. Retrieves describe metadata via REST API
370
+ * 4. Classifies fields (custom, formula, lookup, required, picklist)
371
+ * 5. Enriches with record types, record age, and profiling status (in parallel)
372
+ *
373
+ * @param objectName - The Salesforce object API name (e.g., 'Account', 'Custom_Object__c')
374
+ * @returns ServiceResult containing the ObjectDescribeResult
375
+ */
376
+ describeObject(objectName: string): Promise<ServiceResult<ObjectDescribeResult>>;
377
+ /**
378
+ * Describes multiple Salesforce objects in parallel.
379
+ *
380
+ * @param objectNames - Array of Salesforce object API names to describe
381
+ * @returns ServiceResult containing array of ObjectDescribeResult (one per successful describe)
382
+ */
383
+ describeMultiple(objectNames: string[]): Promise<ServiceResult<ObjectDescribeResult[]>>;
384
+ /**
385
+ * Retrieves record age distribution for an object showing year-by-year record existence.
386
+ *
387
+ * @param objectName - The Salesforce object API name
388
+ * @param recordTypeIds - Optional RecordTypeId(s) to filter. Single string uses `=`, array uses `IN`.
389
+ * @returns ServiceResult containing RecordAgeDistribution with year-by-year status
390
+ */
391
+ getRecordAgeDistribution(objectName: string, recordTypeIds?: string | string[]): Promise<ServiceResult<RecordAgeDistribution>>;
392
+ /**
393
+ * Retrieves business processes for a specific object with their record type IDs.
394
+ *
395
+ * Only Opportunity, Case, and Lead support business processes. For other objects,
396
+ * returns an empty array without issuing any queries.
397
+ *
398
+ * @param objectName - The Salesforce object API name
399
+ * @param recordTypes - Record types already enriched (used to cross-reference BusinessProcessId)
400
+ * @returns ServiceResult containing array of ObjectBusinessProcessInfo
401
+ */
402
+ getBusinessProcesses(objectName: string, recordTypes: RecordTypeInfo[]): Promise<ServiceResult<ObjectBusinessProcessInfo[]>>;
403
+ /**
404
+ * Delegates object describe to the ISV REST API.
405
+ *
406
+ * @param objectName - The Salesforce object API name to describe
407
+ * @param startTime - Timestamp for duration tracking
408
+ * @returns ServiceResult containing ObjectDescribeResult from REST endpoint
409
+ */
410
+ private describeObjectViaRest;
411
+ /**
412
+ * Falls back to standard REST describe for fields when ISV REST API
413
+ * returns field counts but omits the individual field array.
414
+ *
415
+ * @returns The field array to use (original or fallback)
416
+ */
417
+ private resolveFieldFallback;
418
+ /**
419
+ * Enriches record type information using RecordTypeService.
420
+ * Errors are propagated to the caller for centralized handling.
421
+ *
422
+ * @param objectName - The object API name
423
+ * @returns Array of RecordTypeInfo or undefined if not configured or query fails gracefully
424
+ * @throws Error if service call throws
425
+ */
426
+ private enrichRecordTypes;
427
+ /**
428
+ * Enriches profiling status using ProfilingDefinitionService and ProfilingSummaryService.
429
+ * Errors are propagated to the caller for centralized handling.
430
+ *
431
+ * @param objectName - The object API name
432
+ * @returns ProfilingStatus or undefined if not configured or query fails gracefully
433
+ * @throws Error if service call throws
434
+ */
435
+ private enrichProfilingStatus;
436
+ }