@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,465 @@
1
+ /*
2
+ * Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
3
+ * PROPRIETARY AND CONFIDENTIAL. Unauthorized copying, modification,
4
+ * or distribution is strictly prohibited. Use is governed by the
5
+ * Master Subscription Agreement (MSA) between PeerNova, Inc. and the
6
+ * licensee. See LICENSE file in the repo root.
7
+ */
8
+ import { createSuccessResult, createFailureResult } from '../models/service-result.js';
9
+ /**
10
+ * Options for the definition purge operation.
11
+ *
12
+ * Selection modes:
13
+ * - `keys` — delete specific definitions by key (exclusive, all other flags ignored)
14
+ * - `all` — fetch all definitions (optionally narrowed by filters)
15
+ * - Filters alone — fetch matching definitions via inclusive AND logic
16
+ *
17
+ * Filters that map to SOQL (server-side): objectNames, pattern, category, status, isActive, method (as type)
18
+ * Filters applied client-side after fetch: filter (standard/custom — derived from __c suffix), namespace (string-prefix on objectName)
19
+ */
20
+ /** Canonical message returned when the user declines the purge confirmation prompt. */
21
+ export const PURGE_CANCELLED_MESSAGE = 'Purge cancelled by user.';
22
+ /**
23
+ * Error codes specific to purge operations.
24
+ */
25
+ export const PurgeErrorCodes = {
26
+ /** No selection criteria provided (no --all, --keys, or filters) */
27
+ NO_SELECTION_CRITERIA: 'PURGE_NO_SELECTION_CRITERIA',
28
+ /** Query for definitions failed */
29
+ QUERY_FAILED: 'PURGE_QUERY_FAILED',
30
+ /** No eligible definitions found */
31
+ NO_ELIGIBLE_DEFINITIONS: 'PURGE_NO_ELIGIBLE_DEFINITIONS',
32
+ /** Delete operation failed */
33
+ DELETE_FAILED: 'PURGE_DELETE_FAILED',
34
+ /** User cancelled the operation */
35
+ USER_CANCELLED: 'PURGE_USER_CANCELLED',
36
+ /** Operation failed unexpectedly */
37
+ OPERATION_FAILED: 'PURGE_OPERATION_FAILED',
38
+ };
39
+ /**
40
+ * Orchestrates purging of profiling definitions.
41
+ *
42
+ * Follows the 4-layer architecture: Command → Operation → Service → API
43
+ * This operation layer handles:
44
+ * 1. Validates selection mode (IDs, --all, or filters)
45
+ * 2. Fetches definitions using getAllDefinitions() with inclusive AND filters
46
+ * 3. Pre-categorizes into deletable vs blocked (by summaries)
47
+ * 4. Applies client-side filters (object type, method)
48
+ * 5. Optionally previews (dry-run) or executes deletion
49
+ * 6. Reports per-definition progress and statistics
50
+ */
51
+ export class DefinitionPurgeOperation {
52
+ definitionService;
53
+ logger;
54
+ constructor(definitionService, logger) {
55
+ this.definitionService = definitionService;
56
+ this.logger = logger;
57
+ }
58
+ /**
59
+ * Checks if any filter flags are specified.
60
+ */
61
+ static hasFilterFlags(options) {
62
+ return (options.objectNames !== undefined ||
63
+ options.filter !== undefined ||
64
+ options.pattern !== undefined ||
65
+ options.method !== undefined ||
66
+ options.category !== undefined ||
67
+ options.status !== undefined ||
68
+ options.namespace !== undefined ||
69
+ options.isActive !== undefined);
70
+ }
71
+ /**
72
+ * Builds GetDefinitionsOptions from purge options (server-side filters only).
73
+ */
74
+ static buildQueryOptions(options) {
75
+ const queryOptions = {};
76
+ if (options.objectNames !== undefined) {
77
+ queryOptions.objectNames = options.objectNames;
78
+ }
79
+ if (options.pattern !== undefined) {
80
+ queryOptions.namePattern = options.pattern;
81
+ }
82
+ if (options.category !== undefined) {
83
+ queryOptions.category = options.category;
84
+ }
85
+ if (options.status !== undefined) {
86
+ queryOptions.status = options.status;
87
+ }
88
+ if (options.isActive !== undefined) {
89
+ queryOptions.isActive = options.isActive;
90
+ }
91
+ if (options.method !== undefined) {
92
+ queryOptions.type = options.method;
93
+ }
94
+ return queryOptions;
95
+ }
96
+ /**
97
+ * Applies client-side filters that can't be expressed in SOQL.
98
+ */
99
+ static applyClientFilters(definitions, options) {
100
+ let filtered = definitions;
101
+ // Filter by object type (standard vs custom)
102
+ if (options.filter !== undefined) {
103
+ filtered = filtered.filter((def) => {
104
+ const isCustom = def.objectName.endsWith('__c');
105
+ return options.filter === 'custom' ? isCustom : !isCustom;
106
+ });
107
+ }
108
+ // Filter by object namespace prefix
109
+ if (options.namespace !== undefined) {
110
+ const nsPrefix = options.namespace.endsWith('__') ? options.namespace : `${options.namespace}__`;
111
+ filtered = filtered.filter((def) => def.objectName.startsWith(nsPrefix));
112
+ }
113
+ // Apply limit (bypassed when --all is specified)
114
+ if (options.limit !== undefined && options.limit > 0 && !options.all) {
115
+ filtered = filtered.slice(0, options.limit);
116
+ }
117
+ return filtered;
118
+ }
119
+ /**
120
+ * Categorizes definitions into deletable and blocked-by-summaries.
121
+ *
122
+ * Definitions can be deleted regardless of profiling status as long as
123
+ * they have no associated summaries.
124
+ */
125
+ static categorize(definitions) {
126
+ const deletable = [];
127
+ const blockedBySummaries = [];
128
+ for (const def of definitions) {
129
+ if (def.hasRelatedSummaries) {
130
+ blockedBySummaries.push(def);
131
+ }
132
+ else {
133
+ deletable.push(def);
134
+ }
135
+ }
136
+ return { deletable, blockedBySummaries };
137
+ }
138
+ /**
139
+ * Maps a definition to a BlockedDefinition for display.
140
+ */
141
+ static toBlockedDefinition(def) {
142
+ return {
143
+ id: def.id,
144
+ key: def.key,
145
+ name: def.name,
146
+ objectName: def.objectName,
147
+ objectLabel: def.objectLabel,
148
+ category: def.category,
149
+ timeCategory: def.timeCategory,
150
+ segmentCategory: def.segmentCategory,
151
+ status: def.status,
152
+ };
153
+ }
154
+ /**
155
+ * Creates the empty result structure.
156
+ */
157
+ static emptyResult() {
158
+ return {
159
+ deleted: 0,
160
+ skipped: 0,
161
+ failed: 0,
162
+ total: 0,
163
+ skipReasons: [],
164
+ failures: [],
165
+ blockedBySummaries: [],
166
+ };
167
+ }
168
+ /**
169
+ * Executes the definition purge operation.
170
+ */
171
+ async execute(options) {
172
+ const startTime = Date.now();
173
+ const emptyResult = DefinitionPurgeOperation.emptyResult();
174
+ try {
175
+ this.logger?.log('Starting definition purge operation');
176
+ const hasKeys = options.keys !== undefined && options.keys.length > 0;
177
+ const hasAll = options.all === true;
178
+ const hasFilters = DefinitionPurgeOperation.hasFilterFlags(options);
179
+ // Key-list mode: exclusive — fetch all, match by key, delete matched
180
+ if (hasKeys) {
181
+ return await this.executeKeyMode(options, startTime);
182
+ }
183
+ // Validation: Must have at least one selection criterion
184
+ if (!hasAll && !hasFilters) {
185
+ return createFailureResult(emptyResult, PurgeErrorCodes.NO_SELECTION_CRITERIA, 'No selection criteria specified. Provide --all, --keys, or filter flags.', { metadata: { duration: Date.now() - startTime } });
186
+ }
187
+ // Filter mode (--all or filter flags)
188
+ return await this.executeFilterMode(options, startTime);
189
+ }
190
+ catch (error) {
191
+ const errorMessage = error instanceof Error ? error.message : String(error);
192
+ this.logger?.log(`Definition purge operation failed: ${errorMessage}`);
193
+ return createFailureResult(emptyResult, PurgeErrorCodes.OPERATION_FAILED, errorMessage, {
194
+ metadata: { duration: Date.now() - startTime },
195
+ });
196
+ }
197
+ }
198
+ /**
199
+ * Executes purge in key-list mode.
200
+ * Fetches all definitions, matches by key, ignores all other flags.
201
+ */
202
+ async executeKeyMode(options, startTime) {
203
+ const keys = options.keys;
204
+ const keySet = new Set(keys);
205
+ this.logger?.log(`Fetching definitions to match keys: ${keys.join(', ')}`);
206
+ const queryResult = await this.definitionService.getAllDefinitions({});
207
+ if (!queryResult.success) {
208
+ return createFailureResult(DefinitionPurgeOperation.emptyResult(), PurgeErrorCodes.QUERY_FAILED, queryResult.message, { metadata: { duration: Date.now() - startTime } });
209
+ }
210
+ const matched = queryResult.data.filter((def) => keySet.has(def.key));
211
+ const matchedKeys = new Set(matched.map((def) => def.key));
212
+ const unmatchedKeys = keys.filter((k) => !matchedKeys.has(k));
213
+ const maxMatchedLabel = matched.reduce((max, def) => Math.max(max, def.name.length), 0);
214
+ options.onDefinitionsFound?.(matched.length, maxMatchedLabel);
215
+ if (matched.length === 0) {
216
+ return createFailureResult(DefinitionPurgeOperation.emptyResult(), PurgeErrorCodes.NO_ELIGIBLE_DEFINITIONS, `No definitions found matching keys: ${keys.join(', ')}`, { metadata: { duration: Date.now() - startTime } });
217
+ }
218
+ const warnings = unmatchedKeys.length > 0 ? [`Keys not found: ${unmatchedKeys.join(', ')}`] : undefined;
219
+ // Pre-categorize matched definitions
220
+ const { deletable, blockedBySummaries } = DefinitionPurgeOperation.categorize(matched);
221
+ const deletableInfo = deletable.map((def) => DefinitionPurgeOperation.toBlockedDefinition(def));
222
+ const blockedBySummariesInfo = blockedBySummaries.map((def) => DefinitionPurgeOperation.toBlockedDefinition(def));
223
+ // Invoke preview callback for user confirmation (unless dry-run or no-prompt)
224
+ if (options.onPreviewReady && !options.dryRun && !options.noPrompt) {
225
+ const proceed = await options.onPreviewReady({
226
+ deletable: deletableInfo,
227
+ blockedBySummaries: blockedBySummariesInfo,
228
+ total: matched.length,
229
+ });
230
+ if (!proceed) {
231
+ return createSuccessResult({
232
+ ...DefinitionPurgeOperation.emptyResult(),
233
+ total: matched.length,
234
+ blockedBySummaries: blockedBySummariesInfo,
235
+ }, {
236
+ message: PURGE_CANCELLED_MESSAGE,
237
+ warnings,
238
+ metadata: { duration: Date.now() - startTime },
239
+ });
240
+ }
241
+ }
242
+ // Dry-run mode
243
+ if (options.dryRun) {
244
+ const preview = {
245
+ deletable: deletable.length,
246
+ blockedBySummaries: blockedBySummaries.length,
247
+ definitions: [
248
+ ...deletable.map((def) => ({
249
+ id: def.id,
250
+ key: def.key,
251
+ name: def.name,
252
+ objectName: def.objectName,
253
+ status: def.status,
254
+ action: 'delete',
255
+ })),
256
+ ...blockedBySummaries.map((def) => ({
257
+ id: def.id,
258
+ key: def.key,
259
+ name: def.name,
260
+ objectName: def.objectName,
261
+ status: def.status,
262
+ action: 'skip',
263
+ reason: 'has_summaries',
264
+ })),
265
+ ],
266
+ };
267
+ return createSuccessResult({
268
+ ...DefinitionPurgeOperation.emptyResult(),
269
+ deleted: deletable.length,
270
+ total: matched.length,
271
+ dryRun: true,
272
+ preview,
273
+ blockedBySummaries: blockedBySummariesInfo,
274
+ }, {
275
+ message: `Dry-run: ${deletable.length} deletable, ${blockedBySummaries.length} blocked by summaries`,
276
+ warnings,
277
+ metadata: { duration: Date.now() - startTime },
278
+ });
279
+ }
280
+ // No deletable definitions
281
+ if (deletable.length === 0) {
282
+ return createSuccessResult({
283
+ ...DefinitionPurgeOperation.emptyResult(),
284
+ total: matched.length,
285
+ skipped: matched.length,
286
+ blockedBySummaries: blockedBySummariesInfo,
287
+ }, {
288
+ message: 'Purged 0 profiling definitions',
289
+ warnings,
290
+ metadata: { duration: Date.now() - startTime },
291
+ });
292
+ }
293
+ // Execute deletion
294
+ const idsToDelete = deletable.map((def) => def.id);
295
+ const deleteResult = await this.definitionService.deleteDefinitions(idsToDelete, {
296
+ onProgress: options.onProgress,
297
+ });
298
+ if (!deleteResult.success) {
299
+ return createFailureResult(DefinitionPurgeOperation.emptyResult(), PurgeErrorCodes.DELETE_FAILED, deleteResult.message, { metadata: { duration: Date.now() - startTime } });
300
+ }
301
+ const { deleted, skipped, failed, skipReasons, failures } = deleteResult.data;
302
+ return createSuccessResult({
303
+ deleted,
304
+ skipped: skipped + blockedBySummaries.length,
305
+ failed,
306
+ total: matched.length,
307
+ skipReasons,
308
+ failures,
309
+ blockedBySummaries: blockedBySummariesInfo,
310
+ }, {
311
+ message: `Purged ${deleted} profiling definitions`,
312
+ warnings,
313
+ metadata: { duration: Date.now() - startTime },
314
+ });
315
+ }
316
+ /**
317
+ * Executes purge in filter mode (--all or filter flags).
318
+ */
319
+ async executeFilterMode(options, startTime) {
320
+ // Build server-side query options
321
+ const queryOptions = DefinitionPurgeOperation.buildQueryOptions(options);
322
+ this.logger?.log('Fetching definitions with filters...');
323
+ const queryResult = await this.definitionService.getAllDefinitions(queryOptions);
324
+ if (!queryResult.success) {
325
+ this.logger?.log(`Definition query failed: ${queryResult.message}`);
326
+ return createFailureResult(DefinitionPurgeOperation.emptyResult(), PurgeErrorCodes.QUERY_FAILED, queryResult.message, { metadata: { duration: Date.now() - startTime } });
327
+ }
328
+ // Apply client-side filters
329
+ const filtered = DefinitionPurgeOperation.applyClientFilters(queryResult.data, options);
330
+ const maxFilteredLabel = filtered.reduce((max, def) => Math.max(max, def.name.length), 0);
331
+ options.onDefinitionsFound?.(filtered.length, maxFilteredLabel);
332
+ if (filtered.length === 0) {
333
+ return createFailureResult(DefinitionPurgeOperation.emptyResult(), PurgeErrorCodes.NO_ELIGIBLE_DEFINITIONS, 'No definitions found matching the specified criteria.', { metadata: { duration: Date.now() - startTime } });
334
+ }
335
+ // Pre-categorize
336
+ const { deletable, blockedBySummaries } = DefinitionPurgeOperation.categorize(filtered);
337
+ const deletableInfo = deletable.map((def) => DefinitionPurgeOperation.toBlockedDefinition(def));
338
+ const blockedBySummariesInfo = blockedBySummaries.map((def) => DefinitionPurgeOperation.toBlockedDefinition(def));
339
+ // Invoke preview callback for user confirmation (unless dry-run or no-prompt)
340
+ if (options.onPreviewReady && !options.dryRun && !options.noPrompt) {
341
+ const proceed = await options.onPreviewReady({
342
+ deletable: deletableInfo,
343
+ blockedBySummaries: blockedBySummariesInfo,
344
+ total: filtered.length,
345
+ });
346
+ if (!proceed) {
347
+ return createSuccessResult({
348
+ ...DefinitionPurgeOperation.emptyResult(),
349
+ total: filtered.length,
350
+ blockedBySummaries: blockedBySummariesInfo,
351
+ }, {
352
+ message: PURGE_CANCELLED_MESSAGE,
353
+ metadata: { duration: Date.now() - startTime },
354
+ });
355
+ }
356
+ }
357
+ // Dry-run mode: return preview without deleting
358
+ if (options.dryRun) {
359
+ const preview = {
360
+ deletable: deletable.length,
361
+ blockedBySummaries: blockedBySummaries.length,
362
+ definitions: [
363
+ ...deletable.map((def) => ({
364
+ id: def.id,
365
+ key: def.key,
366
+ name: def.name,
367
+ objectName: def.objectName,
368
+ status: def.status,
369
+ action: 'delete',
370
+ })),
371
+ ...blockedBySummaries.map((def) => ({
372
+ id: def.id,
373
+ key: def.key,
374
+ name: def.name,
375
+ objectName: def.objectName,
376
+ status: def.status,
377
+ action: 'skip',
378
+ reason: 'has_summaries',
379
+ })),
380
+ ],
381
+ };
382
+ const result = {
383
+ ...DefinitionPurgeOperation.emptyResult(),
384
+ deleted: deletable.length,
385
+ total: filtered.length,
386
+ dryRun: true,
387
+ preview,
388
+ blockedBySummaries: blockedBySummariesInfo,
389
+ };
390
+ return createSuccessResult(result, {
391
+ message: `Dry-run: ${deletable.length} deletable, ${blockedBySummaries.length} blocked by summaries`,
392
+ metadata: { duration: Date.now() - startTime },
393
+ });
394
+ }
395
+ // Emit progress events for pre-categorized blocked definitions
396
+ const totalForProgress = filtered.length;
397
+ let progressIndex = 0;
398
+ for (const def of blockedBySummaries) {
399
+ progressIndex++;
400
+ options.onProgress?.({
401
+ id: def.id,
402
+ key: def.key,
403
+ name: def.name,
404
+ objectName: def.objectName,
405
+ category: def.category,
406
+ timeCategory: def.timeCategory,
407
+ segmentCategory: def.segmentCategory,
408
+ profilingStatus: def.status,
409
+ status: 'skipped',
410
+ reason: 'has_summaries',
411
+ current: progressIndex,
412
+ total: totalForProgress,
413
+ });
414
+ }
415
+ // If no deletable definitions, return early
416
+ if (deletable.length === 0) {
417
+ const result = {
418
+ deleted: 0,
419
+ skipped: blockedBySummaries.length,
420
+ failed: 0,
421
+ total: filtered.length,
422
+ skipReasons: [],
423
+ failures: [],
424
+ blockedBySummaries: blockedBySummariesInfo,
425
+ };
426
+ return createSuccessResult(result, {
427
+ message: 'Purged 0 profiling definitions',
428
+ metadata: { duration: Date.now() - startTime },
429
+ });
430
+ }
431
+ // Execute deletion for eligible definitions
432
+ const idsToDelete = deletable.map((def) => def.id);
433
+ const deleteResult = await this.definitionService.deleteDefinitions(idsToDelete, {
434
+ onProgress: options.onProgress
435
+ ? (event) => {
436
+ // Adjust progress index to account for pre-categorized skips
437
+ options.onProgress({
438
+ ...event,
439
+ current: progressIndex + event.current,
440
+ total: totalForProgress,
441
+ });
442
+ }
443
+ : undefined,
444
+ });
445
+ if (!deleteResult.success) {
446
+ this.logger?.log(`Delete operation failed: ${deleteResult.message}`);
447
+ return createFailureResult(DefinitionPurgeOperation.emptyResult(), PurgeErrorCodes.DELETE_FAILED, deleteResult.message, { metadata: { duration: Date.now() - startTime } });
448
+ }
449
+ const { deleted, skipped, failed, skipReasons, failures } = deleteResult.data;
450
+ const result = {
451
+ deleted,
452
+ skipped: skipped + blockedBySummaries.length,
453
+ failed,
454
+ total: filtered.length,
455
+ skipReasons,
456
+ failures,
457
+ blockedBySummaries: blockedBySummariesInfo,
458
+ };
459
+ return createSuccessResult(result, {
460
+ message: `Purged ${result.deleted} profiling definitions`,
461
+ metadata: { duration: Date.now() - startTime },
462
+ });
463
+ }
464
+ }
465
+ //# sourceMappingURL=DefinitionPurgeOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefinitionPurgeOperation.js","sourceRoot":"","sources":["../../src/operations/DefinitionPurgeOperation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAsB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAY3G;;;;;;;;;;GAUG;AACH,uFAAuF;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AA+IlE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,oEAAoE;IACpE,qBAAqB,EAAE,6BAA6B;IACpD,mCAAmC;IACnC,YAAY,EAAE,oBAAoB;IAClC,oCAAoC;IACpC,uBAAuB,EAAE,+BAA+B;IACxD,8BAA8B;IAC9B,aAAa,EAAE,qBAAqB;IACpC,mCAAmC;IACnC,cAAc,EAAE,sBAAsB;IACtC,oCAAoC;IACpC,gBAAgB,EAAE,wBAAwB;CAClC,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,wBAAwB;IAEhB;IACA;IAFnB,YACmB,iBAA6C,EAC7C,MAAgB;QADhB,sBAAiB,GAAjB,iBAAiB,CAA4B;QAC7C,WAAM,GAAN,MAAM,CAAU;IAChC,CAAC;IAEJ;;OAEG;IACK,MAAM,CAAC,cAAc,CAAC,OAAqB;QACjD,OAAO,CACL,OAAO,CAAC,WAAW,KAAK,SAAS;YACjC,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,OAAO,CAAC,OAAO,KAAK,SAAS;YAC7B,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC9B,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,OAAO,CAAC,QAAQ,KAAK,SAAS,CAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,iBAAiB,CAAC,OAAqB;QACpD,MAAM,YAAY,GAAoD,EAAE,CAAC;QAEzE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,kBAAkB,CAAC,WAAkC,EAAE,OAAqB;QACzF,IAAI,QAAQ,GAAG,WAAW,CAAC;QAE3B,6CAA6C;QAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChD,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC;YACjG,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,iDAAiD;QACjD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,UAAU,CAAC,WAAkC;QAI1D,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,MAAM,kBAAkB,GAA0B,EAAE,CAAC;QAErD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAC5B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,mBAAmB,CAAC,GAAwB;QACzD,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,WAAW;QACxB,OAAO;YACL,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE;YACZ,kBAAkB,EAAE,EAAE;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,OAAqB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,wBAAwB,CAAC,WAAW,EAAE,CAAC;QAE3D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAExD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC;YACpC,MAAM,UAAU,GAAG,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEpE,qEAAqE;YACrE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC;YAED,yDAAyD;YACzD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,OAAO,mBAAmB,CACxB,WAAW,EACX,eAAe,CAAC,qBAAqB,EACrC,0EAA0E,EAC1E,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;YACJ,CAAC;YAED,sCAAsC;YACtC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;YAEvE,OAAO,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,gBAAgB,EAAE,YAAY,EAAE;gBACtF,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,OAAqB,EAAE,SAAiB;QACnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,uCAAuC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEvE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,mBAAmB,CACxB,wBAAwB,CAAC,WAAW,EAAE,EACtC,eAAe,CAAC,YAAY,EAC5B,WAAW,CAAC,OAAO,EACnB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,mBAAmB,CACxB,wBAAwB,CAAC,WAAW,EAAE,EACtC,eAAe,CAAC,uBAAuB,EACvC,uCAAuC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACxD,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExG,qCAAqC;QACrC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAElH,8EAA8E;QAC9E,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;gBAC3C,SAAS,EAAE,aAAa;gBACxB,kBAAkB,EAAE,sBAAsB;gBAC1C,KAAK,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,mBAAmB,CACxB;oBACE,GAAG,wBAAwB,CAAC,WAAW,EAAE;oBACzC,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,kBAAkB,EAAE,sBAAsB;iBAC3C,EACD;oBACE,OAAO,EAAE,uBAAuB;oBAChC,QAAQ;oBACR,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;iBAC/C,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,OAAO,GAAiB;gBAC5B,SAAS,EAAE,SAAS,CAAC,MAAM;gBAC3B,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;gBAC7C,WAAW,EAAE;oBACX,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACzB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,MAAM,EAAE,QAAiB;qBAC1B,CAAC,CAAC;oBACH,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAClC,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,MAAM,EAAE,MAAe;wBACvB,MAAM,EAAE,eAAe;qBACxB,CAAC,CAAC;iBACJ;aACF,CAAC;YAEF,OAAO,mBAAmB,CACxB;gBACE,GAAG,wBAAwB,CAAC,WAAW,EAAE;gBACzC,OAAO,EAAE,SAAS,CAAC,MAAM;gBACzB,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO;gBACP,kBAAkB,EAAE,sBAAsB;aAC3C,EACD;gBACE,OAAO,EAAE,YAAY,SAAS,CAAC,MAAM,eAAe,kBAAkB,CAAC,MAAM,uBAAuB;gBACpG,QAAQ;gBACR,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aAC/C,CACF,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,mBAAmB,CACxB;gBACE,GAAG,wBAAwB,CAAC,WAAW,EAAE;gBACzC,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,kBAAkB,EAAE,sBAAsB;aAC3C,EACD;gBACE,OAAO,EAAE,gCAAgC;gBACzC,QAAQ;gBACR,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aAC/C,CACF,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAC/E,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,mBAAmB,CACxB,wBAAwB,CAAC,WAAW,EAAE,EACtC,eAAe,CAAC,aAAa,EAC7B,YAAY,CAAC,OAAO,EACpB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;QAE9E,OAAO,mBAAmB,CACxB;YACE,OAAO;YACP,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM;YAC5C,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,WAAW;YACX,QAAQ;YACR,kBAAkB,EAAE,sBAAsB;SAC3C,EACD;YACE,OAAO,EAAE,UAAU,OAAO,wBAAwB;YAClD,QAAQ;YACR,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;SAC/C,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAqB,EAAE,SAAiB;QACtE,kCAAkC;QAClC,MAAM,YAAY,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,4BAA4B,WAAW,CAAC,OAAQ,EAAE,CAAC,CAAC;YACrE,OAAO,mBAAmB,CACxB,wBAAwB,CAAC,WAAW,EAAE,EACtC,eAAe,CAAC,YAAY,EAC5B,WAAW,CAAC,OAAO,EACnB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEhE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,mBAAmB,CACxB,wBAAwB,CAAC,WAAW,EAAE,EACtC,eAAe,CAAC,uBAAuB,EACvC,uDAAuD,EACvD,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAExF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAElH,8EAA8E;QAC9E,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;gBAC3C,SAAS,EAAE,aAAa;gBACxB,kBAAkB,EAAE,sBAAsB;gBAC1C,KAAK,EAAE,QAAQ,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,mBAAmB,CACxB;oBACE,GAAG,wBAAwB,CAAC,WAAW,EAAE;oBACzC,KAAK,EAAE,QAAQ,CAAC,MAAM;oBACtB,kBAAkB,EAAE,sBAAsB;iBAC3C,EACD;oBACE,OAAO,EAAE,uBAAuB;oBAChC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;iBAC/C,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,OAAO,GAAiB;gBAC5B,SAAS,EAAE,SAAS,CAAC,MAAM;gBAC3B,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;gBAC7C,WAAW,EAAE;oBACX,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACzB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,MAAM,EAAE,QAAiB;qBAC1B,CAAC,CAAC;oBACH,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAClC,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,MAAM,EAAE,MAAe;wBACvB,MAAM,EAAE,eAAe;qBACxB,CAAC,CAAC;iBACJ;aACF,CAAC;YAEF,MAAM,MAAM,GAAgB;gBAC1B,GAAG,wBAAwB,CAAC,WAAW,EAAE;gBACzC,OAAO,EAAE,SAAS,CAAC,MAAM;gBACzB,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,MAAM,EAAE,IAAI;gBACZ,OAAO;gBACP,kBAAkB,EAAE,sBAAsB;aAC3C,CAAC;YAEF,OAAO,mBAAmB,CAAC,MAAM,EAAE;gBACjC,OAAO,EAAE,YAAY,SAAS,CAAC,MAAM,eAAe,kBAAkB,CAAC,MAAM,uBAAuB;gBACpG,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACrC,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,eAAe,EAAE,GAAG,CAAC,MAAM;gBAC3B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,gBAAgB;aACxB,CAAC,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAgB;gBAC1B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,kBAAkB,CAAC,MAAM;gBAClC,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,EAAE;gBACZ,kBAAkB,EAAE,sBAAsB;aAC3C,CAAC;YAEF,OAAO,mBAAmB,CAAC,MAAM,EAAE;gBACjC,OAAO,EAAE,gCAAgC;gBACzC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAC/E,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC5B,CAAC,CAAC,CAAC,KAAK,EAAQ,EAAE;oBACd,6DAA6D;oBAC7D,OAAO,CAAC,UAAW,CAAC;wBAClB,GAAG,KAAK;wBACR,OAAO,EAAE,aAAa,GAAG,KAAK,CAAC,OAAO;wBACtC,KAAK,EAAE,gBAAgB;qBACxB,CAAC,CAAC;gBACL,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,4BAA4B,YAAY,CAAC,OAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,mBAAmB,CACxB,wBAAwB,CAAC,WAAW,EAAE,EACtC,eAAe,CAAC,aAAa,EAC7B,YAAY,CAAC,OAAO,EACpB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;QAE9E,MAAM,MAAM,GAAgB;YAC1B,OAAO;YACP,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM;YAC5C,MAAM;YACN,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,WAAW;YACX,QAAQ;YACR,kBAAkB,EAAE,sBAAsB;SAC3C,CAAC;QAEF,OAAO,mBAAmB,CAAC,MAAM,EAAE;YACjC,OAAO,EAAE,UAAU,MAAM,CAAC,OAAO,wBAAwB;YACzD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ import type { ServiceResult } from '../models/service-result.js';
2
+ import type { ProfilingDefinitionService, UpdateAttributesInput } from '../services/ProfilingDefinitionService.js';
3
+ /**
4
+ * Options for the definition update operation.
5
+ */
6
+ export type UpdateOptions = {
7
+ /** Salesforce record ID of the definition to update */
8
+ definitionId: string;
9
+ /** Partial attribute set to write — at least one must be supplied */
10
+ attributes: UpdateAttributesInput;
11
+ /** Optional logger for debug output */
12
+ logger?: Console;
13
+ };
14
+ /**
15
+ * Result of a definition update operation.
16
+ */
17
+ export type UpdateResult = {
18
+ /** The Salesforce record ID of the updated definition */
19
+ definitionId: string;
20
+ /** Whether any attributes were written */
21
+ updated: boolean;
22
+ /** Names of the attributes that were written */
23
+ updatedAttributes: string[];
24
+ };
25
+ /**
26
+ * Error codes specific to update operations.
27
+ */
28
+ export declare const UpdateErrorCodes: {
29
+ /** Invalid options provided (missing ID or fields) */
30
+ readonly INVALID_OPTIONS: "UPDATE_INVALID_OPTIONS";
31
+ /** Update operation failed */
32
+ readonly UPDATE_FAILED: "UPDATE_FAILED";
33
+ };
34
+ /**
35
+ * Orchestrates the update of profiling definition metadata attributes.
36
+ *
37
+ * Follows the 4-layer architecture: Command → Operation → Service → API
38
+ * This operation layer handles business logic orchestration while delegating
39
+ * the actual update to ProfilingDefinitionService.
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const operation = new DefinitionUpdateOperation(definitionService);
44
+ * const result = await operation.execute({
45
+ * definitionId: 'a00000000000001AAA',
46
+ * attributes: { name: 'New Name', category: 'Revenue' }
47
+ * });
48
+ * ```
49
+ */
50
+ export declare class DefinitionUpdateOperation {
51
+ private readonly definitionService;
52
+ private readonly logger?;
53
+ /**
54
+ * Creates a new DefinitionUpdateOperation.
55
+ *
56
+ * @param definitionService - The ProfilingDefinitionService instance for executing updates
57
+ * @param logger - Optional logger for debug output
58
+ */
59
+ constructor(definitionService: ProfilingDefinitionService, logger?: Console);
60
+ /**
61
+ * Validates the update options.
62
+ *
63
+ * @param options - The update options to validate
64
+ * @returns Error message if invalid, undefined if valid
65
+ */
66
+ private static validateOptions;
67
+ /**
68
+ * Executes the update operation.
69
+ *
70
+ * Returns a ServiceResult with success=false and one of the following error codes on failure:
71
+ * - INVALID_OPTIONS: Missing ID or no attributes supplied
72
+ * - UPDATE_FAILED: When the underlying service update fails
73
+ *
74
+ * @param options - Update options
75
+ * @returns ServiceResult containing update results or error details
76
+ */
77
+ execute(options: UpdateOptions): Promise<ServiceResult<UpdateResult>>;
78
+ }