@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,535 @@
1
+ import type { ISoqlQueryAdapter } from '../adapters/soql/soql-query-adapter.js';
2
+ import type { IRestApiAdapter } from '../adapters/rest/rest-api-adapter.js';
3
+ import type { ServiceResult } from '../models/service-result.js';
4
+ /**
5
+ * Valid profiling definition types.
6
+ * Derived from boolean flags - no explicit field exists in Salesforce.
7
+ */
8
+ export type DefinitionType = 'metadata' | 'historical' | 'comparative';
9
+ /**
10
+ * Valid profiling status values.
11
+ * Sourced from Agg_Status__c field.
12
+ */
13
+ export type ProfilingStatus = 'NOT PROFILED' | 'IN PROGRESS' | 'SUCCESS' | 'COMPLETE w/ FAILURES' | 'ERROR';
14
+ /**
15
+ * Represents a Cuneiform profiling definition with mapped field names.
16
+ *
17
+ * Field mappings are based on actual Salesforce schema at:
18
+ * salesforce-isv/src/sfdc/base/main/dataprofiling-lib/objects/Profiling_Definition__c/
19
+ */
20
+ export type ProfilingDefinition = {
21
+ /** The Salesforce record ID */
22
+ id: string;
23
+ /** The unique definition key (e.g., "PD-0001") from standard Name field (AutoNumber) */
24
+ key: string;
25
+ /** The definition name from Prop_Name__c, max 255 chars */
26
+ name: string;
27
+ /** The target Salesforce object API name from Prop_SObjectApiName__c */
28
+ objectName: string;
29
+ /** The target Salesforce object label from Prop_SObjectLabel__c */
30
+ objectLabel?: string;
31
+ /** The definition type (derived from boolean flags, not stored) */
32
+ type: DefinitionType;
33
+ /** The profiling status from Agg_Status__c */
34
+ status: ProfilingStatus;
35
+ /** Optional category from Prop_Category__c, max 255 chars */
36
+ category?: string;
37
+ /** Optional description from Prop_Description__c */
38
+ description?: string;
39
+ /** Whether the definition is active from Prop_IsActive__c */
40
+ isActive: boolean;
41
+ /** Whether Set A is filtered from Prop_IsFiltered_SetA__c */
42
+ isFilteredSetA: boolean;
43
+ /** Whether Set B is filtered from Prop_IsFiltered_SetB__c (indicates comparative type) */
44
+ isFilteredSetB: boolean;
45
+ /** Whether metadata-only profiling from PropFx_IsMetadataProfilingOnly__c (formula) */
46
+ isMetadataOnly: boolean;
47
+ /** Whether profiling all records from PropFx_IsProfilingAllRecords__c (formula) */
48
+ isProfilingAllRecords: boolean;
49
+ /** Whether definition has related Profiling_SObject_Results__c records from PFx_HasRelatedSummaries__c */
50
+ hasRelatedSummaries: boolean;
51
+ /** Time category from Prop_TimeCategory__c (e.g., "2026 vs 2025", "Lifetime", "N/A") */
52
+ timeCategory?: string;
53
+ /** Segment category from Prop_SegmentCategory__c (e.g., record type name, "Comparative", "Historical") */
54
+ segmentCategory?: string;
55
+ /** Last profiled date from PFx_LastDateProfiled__c formula (ISO 8601) */
56
+ lastProfiledDate?: string;
57
+ /** When the record was created (ISO 8601) */
58
+ createdDate?: string;
59
+ /** When the record was last modified (ISO 8601) */
60
+ lastModifiedDate?: string;
61
+ };
62
+ /**
63
+ * Configuration for ProfilingDefinitionService.
64
+ */
65
+ export type IProfilingDefinitionServiceConfig = {
66
+ /** SOQL query adapter for executing queries */
67
+ soqlAdapter: ISoqlQueryAdapter;
68
+ /** Optional REST API adapter for DML operations (create, update, delete) */
69
+ restAdapter?: IRestApiAdapter;
70
+ /** Optional logger for debug output */
71
+ logger?: Console;
72
+ };
73
+ /**
74
+ * Input for creating a profiling definition.
75
+ */
76
+ export type CreateDefinitionInput = {
77
+ /** The definition name (required, max 255 chars) */
78
+ name: string;
79
+ /** The target Salesforce object API name (required) */
80
+ objectName: string;
81
+ /** The profiling method — every definition has exactly one method (no 'all'; expansion happens at the operation layer) */
82
+ method: 'metadata' | 'historical' | 'comparative';
83
+ /** The comparative year — required when method is 'comparative', undefined otherwise */
84
+ comparativeYear?: number;
85
+ /** The historical year — set for year-specific historical definitions (e.g., 2026, 2025). Undefined means "Lifetime". */
86
+ historicalYear?: number;
87
+ /** When true, comparative SetB uses all records before the year (unbounded). When false/undefined, SetB uses previous year only. */
88
+ usePrior?: boolean;
89
+ /** When true, comparative variant is "lifetime vs X": SetA unfiltered, SetB carries the supplied secondary filter. */
90
+ lifetimePrimary?: boolean;
91
+ /** Optional category for grouping (max 255 chars) */
92
+ category?: string;
93
+ /** Optional description */
94
+ description?: string;
95
+ /** Whether the definition is active (default: true) */
96
+ isActive?: boolean;
97
+ /** Whether to exclude value frequency (CRc) from insight groups (default: false) */
98
+ noValueFrequency?: boolean;
99
+ /** Record type name — present only for recordtype method definitions */
100
+ recordTypeName?: string;
101
+ /** The object label (used for server-side name generation via GlobalProfilingService) */
102
+ objectLabel?: string;
103
+ /** The full namespace-qualified object API name (defaults to objectName) */
104
+ objectFullApiName?: string;
105
+ /** Let the server discover profileable fields (default: false) */
106
+ discoverFields?: boolean;
107
+ /** Skip creation if a definition with the same resolved name already exists (default: false) */
108
+ skipExisting?: boolean;
109
+ /** Time category for the definition (e.g., 'Lifetime', '2025') */
110
+ timeCategory?: string;
111
+ /** Segment category for the definition (e.g., 'Historical', 'Comparative', record type name) */
112
+ segmentCategory?: string;
113
+ /** Filter JSON for SetA/SetB population filtering (e.g., outcome-based comparisons). Passed directly to GlobalProfilingService. */
114
+ filterJson?: string;
115
+ };
116
+ /**
117
+ * Result of a failed definition creation.
118
+ */
119
+ export type CreateDefinitionFailure = {
120
+ /** The input that failed */
121
+ input: CreateDefinitionInput;
122
+ /** The error message */
123
+ error: string;
124
+ /** The error code */
125
+ errorCode: string;
126
+ };
127
+ /**
128
+ * Result of bulk definition creation.
129
+ */
130
+ export type CreateDefinitionsResult = {
131
+ /** Successfully created definitions */
132
+ succeeded: ProfilingDefinition[];
133
+ /** Failed creation attempts */
134
+ failed: CreateDefinitionFailure[];
135
+ /** Field counts per definition ID (from ISV response, not stored in DB) */
136
+ fieldCounts?: Record<string, number>;
137
+ };
138
+ /**
139
+ * Partial attributes that can be updated on a profiling definition.
140
+ */
141
+ export type UpdateAttributesInput = {
142
+ /** New definition name (max 255 chars, pnova__Prop_Name__c) */
143
+ name?: string;
144
+ /** New category (max 255 chars, pnova__Prop_Category__c) */
145
+ category?: string;
146
+ /** New time category (max 255 chars, pnova__Prop_TimeCategory__c) */
147
+ timeCategory?: string;
148
+ /** New segment category (max 255 chars, pnova__Prop_SegmentCategory__c) */
149
+ segmentCategory?: string;
150
+ /** New description (max 8192 chars, pnova__Prop_Description__c) */
151
+ description?: string;
152
+ };
153
+ /**
154
+ * Result of updating definition attributes.
155
+ */
156
+ export type UpdateAttributesResult = {
157
+ /** The Salesforce record ID of the updated definition */
158
+ id: string;
159
+ /** Whether any attributes were updated */
160
+ updated: boolean;
161
+ /** Names of the attributes that were written */
162
+ updatedAttributes: string[];
163
+ };
164
+ /**
165
+ * Reason why a definition was skipped during deletion.
166
+ */
167
+ export type DeleteSkipReason = {
168
+ /** The ID of the skipped definition */
169
+ id: string;
170
+ /** The definition name (for display) */
171
+ name?: string;
172
+ /** The reason for skipping */
173
+ reason: string;
174
+ /** The current status if skipped due to status */
175
+ status?: string;
176
+ };
177
+ /**
178
+ * Information about a failed deletion.
179
+ */
180
+ export type DeleteFailure = {
181
+ /** The ID of the definition that failed to delete */
182
+ id: string;
183
+ /** The definition name (for display) */
184
+ name?: string;
185
+ /** The error message */
186
+ error: string;
187
+ };
188
+ /**
189
+ * Progress event emitted per-definition during deletion.
190
+ */
191
+ export type DeleteProgressEvent = {
192
+ /** The definition ID */
193
+ id: string;
194
+ /** The definition key (e.g., PD-0001) */
195
+ key?: string;
196
+ /** The definition name */
197
+ name: string;
198
+ /** The target object API name */
199
+ objectName?: string;
200
+ /** The target object label */
201
+ objectLabel?: string;
202
+ /** Definition category */
203
+ category?: string;
204
+ /** Time category */
205
+ timeCategory?: string;
206
+ /** Segment category */
207
+ segmentCategory?: string;
208
+ /** Profiling status */
209
+ profilingStatus?: string;
210
+ /** The outcome of this definition */
211
+ status: 'deleted' | 'skipped' | 'failed';
212
+ /** Reason for skip or failure */
213
+ reason?: string;
214
+ /** Current progress index (1-based) */
215
+ current: number;
216
+ /** Total definitions to process */
217
+ total: number;
218
+ };
219
+ /**
220
+ * Options for the deleteDefinitions method.
221
+ */
222
+ export type DeleteDefinitionsOptions = {
223
+ /** Optional progress callback invoked per-definition */
224
+ onProgress?: (event: DeleteProgressEvent) => void;
225
+ };
226
+ /**
227
+ * Result of bulk definition deletion.
228
+ */
229
+ export type DeleteDefinitionsResult = {
230
+ /** Count of successfully deleted definitions */
231
+ deleted: number;
232
+ /** Count of definitions skipped (wrong status or has summaries) */
233
+ skipped: number;
234
+ /** Count of definitions that failed to delete */
235
+ failed: number;
236
+ /** Details about why each definition was skipped */
237
+ skipReasons: DeleteSkipReason[];
238
+ /** Details about each deletion failure */
239
+ failures: DeleteFailure[];
240
+ };
241
+ /**
242
+ * Filter and pagination options for querying profiling definitions.
243
+ */
244
+ export type GetDefinitionsOptions = {
245
+ /** Filter by definition type (metadata, historical, comparative) - filtered in SOQL via underlying boolean fields */
246
+ type?: DefinitionType;
247
+ /** Filter by profiling status (NOT PROFILED, IN PROGRESS, SUCCESS, etc.) */
248
+ status?: ProfilingStatus;
249
+ /** Filter by target object API name */
250
+ objectName?: string;
251
+ /** Filter by multiple target object API names (IN clause) — takes precedence over objectName */
252
+ objectNames?: string[];
253
+ /** Filter by definition name pattern using SOQL LIKE (e.g., 'Account%' matches names starting with Account) */
254
+ namePattern?: string;
255
+ /** Filter by definition category (e.g., "Baseline", "Metadata", "Record Types") */
256
+ category?: string;
257
+ /** Filter by time category (e.g., "Lifetime", "2026 vs 2025", "This Year") */
258
+ timeCategory?: string;
259
+ /** Filter by segment category (e.g., "Historical", "Comparative", "Enterprise Sales") */
260
+ segmentCategory?: string;
261
+ /** Filter by active status */
262
+ isActive?: boolean;
263
+ /** Filter by filtered Set B status (for comparative definitions) */
264
+ isFilteredSetB?: boolean;
265
+ /** Maximum number of records to return (1-200, default 50) */
266
+ limit?: number;
267
+ /** Number of records to skip for pagination */
268
+ offset?: number;
269
+ };
270
+ /**
271
+ * Filter options for listing profiling definitions.
272
+ */
273
+ export type DefinitionListFilter = {
274
+ /** Filter by active status: 'active' (isActive=true), 'inactive' (isActive=false), 'all' (no filter) */
275
+ status?: 'active' | 'inactive' | 'all';
276
+ /** Filter by profiling method (derived from boolean flags) */
277
+ method?: 'metadata' | 'historical' | 'comparative';
278
+ /** Filter by target object API names (IN clause) */
279
+ objects?: string[];
280
+ /** Filter by definition name pattern (SOQL LIKE, e.g., 'Account%') */
281
+ pattern?: string;
282
+ /** Filter by category */
283
+ category?: string;
284
+ /** Filter by namespace prefix on object name (LIKE 'namespace__%') */
285
+ namespace?: string;
286
+ };
287
+ /**
288
+ * Pagination options for listing profiling definitions.
289
+ */
290
+ export type DefinitionListPagination = {
291
+ /** Maximum number of records to return (1-200, default 25) */
292
+ limit?: number;
293
+ /** Number of records to skip (default 0) */
294
+ offset?: number;
295
+ };
296
+ /**
297
+ * Sort options for listing profiling definitions.
298
+ */
299
+ export type DefinitionListSort = {
300
+ /** Field to sort by */
301
+ field: 'key' | 'name' | 'objectName' | 'lastProfiledDate';
302
+ /** Sort direction (default 'asc') */
303
+ direction?: 'asc' | 'desc';
304
+ };
305
+ /**
306
+ * Combined options for the listDefinitions method.
307
+ */
308
+ export type DefinitionListOptions = {
309
+ /** Filter criteria */
310
+ filter?: DefinitionListFilter;
311
+ /** Pagination parameters */
312
+ pagination?: DefinitionListPagination;
313
+ /** Sort specification */
314
+ sort?: DefinitionListSort;
315
+ };
316
+ /**
317
+ * Aggregate summary of definitions matching the filter set, computed
318
+ * server-side via SOQL GROUP BY. Bucket counts always reflect the full
319
+ * filtered set, never the paginated page.
320
+ *
321
+ * Status taxonomy (preserved from prior in-memory display logic):
322
+ * profiledCount covers SUCCESS and COMPLETE w/ FAILURES; notProfiledCount
323
+ * covers NOT PROFILED and ERROR; IN PROGRESS and null statuses contribute
324
+ * to totalCount and active/inactive split but not to profiled/notProfiled.
325
+ */
326
+ export type ListSummary = {
327
+ /** Definitions where Prop_IsActive__c is TRUE */
328
+ activeCount: number;
329
+ /** Definitions where Prop_IsActive__c is FALSE */
330
+ inactiveCount: number;
331
+ /** Definitions with status SUCCESS or COMPLETE w/ FAILURES */
332
+ profiledCount: number;
333
+ /** Definitions with status NOT PROFILED or ERROR */
334
+ notProfiledCount: number;
335
+ };
336
+ /**
337
+ * Result of listing profiling definitions.
338
+ */
339
+ export type DefinitionListResult = {
340
+ /** The definitions matching the query (paginated) */
341
+ definitions: ProfilingDefinition[];
342
+ /** Total count of definitions matching the filters (ignoring pagination) */
343
+ totalCount: number;
344
+ /** Aggregate bucket counts across the full filtered set (ignoring pagination) */
345
+ summary: ListSummary;
346
+ };
347
+ export declare class ProfilingDefinitionService {
348
+ private readonly soqlAdapter;
349
+ private readonly restAdapter?;
350
+ private readonly logger?;
351
+ constructor(config: IProfilingDefinitionServiceConfig);
352
+ /**
353
+ * Derives the definition type from boolean flags.
354
+ *
355
+ * Logic:
356
+ * - comparative: isFilteredSetB is true (comparing two data sets)
357
+ * - metadata: isMetadataOnly is true (metadata-only profiling)
358
+ * - historical: default (standard profiling)
359
+ *
360
+ * @param isFilteredSetB - Whether Set B is filtered
361
+ * @param isMetadataOnly - Whether metadata-only profiling
362
+ * @returns The derived definition type
363
+ */
364
+ private static deriveDefinitionType;
365
+ /**
366
+ * Maps a raw Salesforce Profiling_Definition__c record to a ProfilingDefinition.
367
+ *
368
+ * @param record - The raw SOQL query result record
369
+ * @returns Mapped ProfilingDefinition with camelCase field names
370
+ */
371
+ private static mapToProfilingDefinition;
372
+ /**
373
+ * Builds a complete SOQL query string for Profiling_Definition__c using CuneiformQueryBuilder.
374
+ *
375
+ * Type filtering is pushed to SOQL using the underlying boolean fields:
376
+ * - comparative: isFilteredSetB = true
377
+ * - metadata: isMetadataOnly = true AND isFilteredSetB = false
378
+ * - historical: isMetadataOnly = false AND isFilteredSetB = false
379
+ *
380
+ * @param options - The filter and pagination options
381
+ * @returns Complete SOQL query string
382
+ */
383
+ private static buildSoqlQuery;
384
+ private static validateType;
385
+ private static validateStatus;
386
+ private static buildCreateDefinitionRequestBody;
387
+ private static buildListWhereConditions;
388
+ private static applyWhereConditions;
389
+ /**
390
+ * Folds aggregate rows from the GROUP BY query into a totalCount and named
391
+ * bucket counts. Status taxonomy preserves the prior in-memory display logic:
392
+ * profiledCount covers SUCCESS and COMPLETE w/ FAILURES; notProfiledCount
393
+ * covers NOT PROFILED and ERROR; IN PROGRESS and null statuses contribute to
394
+ * totalCount and the active/inactive split but are excluded from
395
+ * profiled/notProfiled.
396
+ */
397
+ private static foldAggregateRows;
398
+ /**
399
+ * Retrieves profiling definitions with optional filtering and pagination.
400
+ *
401
+ * Note: Type filtering is applied client-side after the query since the type
402
+ * is derived from boolean flags (Prop_IsFiltered_SetB__c, PropFx_IsMetadataProfilingOnly__c).
403
+ *
404
+ * @param options - Filter and pagination options
405
+ * @returns ServiceResult containing an array of ProfilingDefinition records
406
+ */
407
+ getDefinitions(options?: GetDefinitionsOptions): Promise<ServiceResult<ProfilingDefinition[]>>;
408
+ /**
409
+ * Retrieves all profiling definitions matching the given filters, with automatic pagination.
410
+ *
411
+ * Fetches pages of MAX_PAGINATION_LIMIT (200) until a short page is returned.
412
+ * The limit and offset options are ignored — pagination is handled internally.
413
+ *
414
+ * @param options - Filter options (limit/offset are overridden)
415
+ * @returns ServiceResult containing all matching ProfilingDefinition records
416
+ */
417
+ getAllDefinitions(options?: Omit<GetDefinitionsOptions, 'limit' | 'offset'>): Promise<ServiceResult<ProfilingDefinition[]>>;
418
+ /**
419
+ * Lists profiling definitions with filtering, pagination, and sorting.
420
+ *
421
+ * Executes two SOQL queries:
422
+ *
423
+ * - An aggregate GROUP BY query over the full filter set (no pagination) that
424
+ * yields totalCount and per-status / per-active bucket counts in one round-trip.
425
+ * - A data query with SELECT, WHERE, ORDER BY, LIMIT, OFFSET for the page.
426
+ *
427
+ * @param options - Filter, pagination, and sort options
428
+ * @returns ServiceResult containing definitions, totalCount, and aggregate summary
429
+ */
430
+ listDefinitions(options: DefinitionListOptions): Promise<ServiceResult<DefinitionListResult>>;
431
+ /**
432
+ * Retrieves a single profiling definition by its Salesforce ID.
433
+ *
434
+ * @param id - The Salesforce record ID (15 or 18 characters)
435
+ * @returns ServiceResult containing the ProfilingDefinition or null if not found
436
+ */
437
+ getDefinitionById(id: string): Promise<ServiceResult<ProfilingDefinition | null>>;
438
+ /**
439
+ * Retrieves a single profiling definition by its definition key (e.g., "PD-0001").
440
+ *
441
+ * The key is stored in the standard Name field as an AutoNumber.
442
+ *
443
+ * @param key - The definition key (e.g., "PD-0001")
444
+ * @returns ServiceResult containing the ProfilingDefinition or null if not found
445
+ */
446
+ getDefinitionByKey(key: string): Promise<ServiceResult<ProfilingDefinition | null>>;
447
+ /**
448
+ * Retrieves multiple profiling definitions by their human-readable keys in a single SOQL query.
449
+ *
450
+ * Replaces the N+1 pattern of calling getDefinitionByKey() per key with a single
451
+ * `WHERE Name IN (...)` query. Returns a Map keyed by the requested key values.
452
+ *
453
+ * @param keys - Array of definition keys (e.g., ['PD-0001', 'PD-0002'])
454
+ * @returns ServiceResult containing a Map of key → ProfilingDefinition (missing keys have null)
455
+ */
456
+ getDefinitionsByKeys(keys: string[]): Promise<ServiceResult<Map<string, ProfilingDefinition | null>>>;
457
+ /**
458
+ * Retrieves profiling definitions filtered by type.
459
+ *
460
+ * Convenience method that delegates to getDefinitions() with the type filter.
461
+ *
462
+ * @param type - The definition type to filter by
463
+ * @param options - Additional filter and pagination options
464
+ * @returns ServiceResult containing an array of ProfilingDefinition records
465
+ */
466
+ getDefinitionsByType(type: DefinitionType, options?: Omit<GetDefinitionsOptions, 'type'>): Promise<ServiceResult<ProfilingDefinition[]>>;
467
+ /**
468
+ * Retrieves profiling definitions filtered by status.
469
+ *
470
+ * Convenience method that delegates to getDefinitions() with the status filter.
471
+ *
472
+ * @param status - The profiling status to filter by
473
+ * @param options - Additional filter and pagination options
474
+ * @returns ServiceResult containing an array of ProfilingDefinition records
475
+ */
476
+ getDefinitionsByStatus(status: ProfilingStatus, options?: Omit<GetDefinitionsOptions, 'status'>): Promise<ServiceResult<ProfilingDefinition[]>>;
477
+ /**
478
+ * Creates a new profiling definition via the Cuneiform REST API.
479
+ *
480
+ * Definition creation is routed through the REST endpoint which enforces
481
+ * server-side permission checks in GlobalProfilingService.
482
+ *
483
+ * @param input - The definition input containing name, objectName, and optional fields
484
+ * @returns ServiceResult containing the created ProfilingDefinition or null on failure
485
+ */
486
+ createDefinition(input: CreateDefinitionInput): Promise<ServiceResult<ProfilingDefinition | null>>;
487
+ /**
488
+ * Creates multiple profiling definitions via the Cuneiform REST API.
489
+ *
490
+ * Each definition is created individually since the REST endpoint
491
+ * currently supports single creation per request.
492
+ *
493
+ * @param inputs - Array of definition inputs (1-10 items)
494
+ * @returns ServiceResult containing succeeded and failed arrays
495
+ */
496
+ createDefinitions(inputs: CreateDefinitionInput[]): Promise<ServiceResult<CreateDefinitionsResult>>;
497
+ /**
498
+ * Updates metadata attributes on a profiling definition.
499
+ *
500
+ * Writes only the supplied attributes; untouched columns are preserved.
501
+ * At least one attribute must be provided.
502
+ *
503
+ * @param definitionId - The Salesforce record ID of the definition to update
504
+ * @param attributes - Partial attribute set to write
505
+ * @returns ServiceResult containing the update result
506
+ */
507
+ updateAttributes(definitionId: string, attributes: UpdateAttributesInput): Promise<ServiceResult<UpdateAttributesResult>>;
508
+ /**
509
+ * Deletes profiling definitions by their Salesforce IDs.
510
+ *
511
+ * Safety checks are applied before deletion:
512
+ * - Definition must exist
513
+ * - Definition must have no associated summaries (hasRelatedSummaries field)
514
+ *
515
+ * Definitions can be deleted regardless of profiling status when no
516
+ * associated summaries exist.
517
+ *
518
+ * Definitions that fail safety checks are skipped with reasons provided.
519
+ *
520
+ * @param ids - Array of Salesforce record IDs to delete (1-200 items)
521
+ * @param options - Optional progress callback and configuration
522
+ * @returns ServiceResult containing deletion counts and skip/failure details
523
+ */
524
+ deleteDefinitions(ids: string[], options?: DeleteDefinitionsOptions): Promise<ServiceResult<DeleteDefinitionsResult>>;
525
+ /**
526
+ * Creates a single definition via the Cuneiform REST API.
527
+ */
528
+ private createDefinitionViaRest;
529
+ /**
530
+ * Creates multiple definitions via the Cuneiform REST API.
531
+ *
532
+ * The REST endpoint supports single creation, so definitions are created sequentially.
533
+ */
534
+ private createDefinitionsViaRest;
535
+ }