@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,373 @@
1
+ /*
2
+ * Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
3
+ * PROPRIETARY AND CONFIDENTIAL. Unauthorized copying, modification,
4
+ * or distribution is strictly prohibited. Use is governed by the
5
+ * Master Subscription Agreement (MSA) between PeerNova, Inc. and the
6
+ * licensee. See LICENSE file in the repo root.
7
+ */
8
+ import { createSuccessResult, createFailureResult } from '../models/service-result.js';
9
+ import { validateSalesforceId } from '../services/validation.js';
10
+ /**
11
+ * Error codes specific to profile operations.
12
+ */
13
+ export const ProfileErrorCodes = {
14
+ /** No selection provided (key/id/type) */
15
+ NO_SELECTION: 'PROFILE_NO_SELECTION',
16
+ /** Multiple selection flags provided */
17
+ INVALID_SELECTION: 'PROFILE_INVALID_SELECTION',
18
+ /** Definition not found */
19
+ DEFINITION_NOT_FOUND: 'PROFILE_DEFINITION_NOT_FOUND',
20
+ /** Definition ID has invalid Salesforce ID format */
21
+ INVALID_ID: 'PROFILE_INVALID_ID',
22
+ /** Parallel out of range (1-10) */
23
+ INVALID_PARALLEL: 'PROFILE_INVALID_PARALLEL',
24
+ /** Query for definitions failed */
25
+ QUERY_FAILED: 'PROFILE_QUERY_FAILED',
26
+ /** No definitions found matching filters */
27
+ NO_DEFINITIONS_FOUND: 'PROFILE_NO_DEFINITIONS_FOUND',
28
+ /** Execution failed */
29
+ EXECUTION_FAILED: 'PROFILE_EXECUTION_FAILED',
30
+ /** Operation failed unexpectedly */
31
+ OPERATION_FAILED: 'PROFILE_OPERATION_FAILED',
32
+ };
33
+ /**
34
+ * Error messages for validation error codes.
35
+ */
36
+ const VALIDATION_ERROR_MESSAGES = {
37
+ [ProfileErrorCodes.NO_SELECTION]: 'No selection provided. Specify --key, --id, or --type flag.',
38
+ [ProfileErrorCodes.INVALID_SELECTION]: 'Invalid flag combination. Only one of --key, --id, or --type allowed.',
39
+ [ProfileErrorCodes.INVALID_PARALLEL]: 'Invalid --parallel value. Must be between 1 and 10.',
40
+ };
41
+ /**
42
+ * Orchestrates profiling execution for single and bulk modes.
43
+ *
44
+ * Follows the 4-layer architecture: Command → Operation → Service → API
45
+ * This operation layer handles business logic orchestration:
46
+ * 1. Validates options (must have exactly one of key/id/type)
47
+ * 2. Routes to single or bulk execution
48
+ * 3. Transforms service results to spec-compliant ProfileResult format
49
+ * 4. Handles partial failures (return success if any succeeded)
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const operation = new ProfileOperation(executionService, definitionService);
54
+ *
55
+ * // Single mode
56
+ * const result = await operation.execute({
57
+ * targetOrg: 'myOrg',
58
+ * key: 'PD-0001',
59
+ * });
60
+ *
61
+ * // Bulk mode
62
+ * const result = await operation.execute({
63
+ * targetOrg: 'myOrg',
64
+ * type: 'metadata',
65
+ * parallel: 5,
66
+ * onProgress: (msg) => console.log(msg),
67
+ * });
68
+ * ```
69
+ */
70
+ export class ProfileOperation {
71
+ executionService;
72
+ definitionService;
73
+ logger;
74
+ /**
75
+ * Creates a new ProfileOperation instance.
76
+ *
77
+ * @param executionService - Service for executing and monitoring profiling operations
78
+ * @param definitionService - Service for querying profiling definitions
79
+ * @param logger - Optional logger for debug output
80
+ */
81
+ constructor(executionService, definitionService, logger) {
82
+ this.executionService = executionService;
83
+ this.definitionService = definitionService;
84
+ this.logger = logger;
85
+ }
86
+ /**
87
+ * Validates profile operation options.
88
+ *
89
+ * @param options - The profile options to validate
90
+ * @returns Error code if invalid, undefined if valid
91
+ */
92
+ static validateOptions(options) {
93
+ const selections = [options.keys?.length ? options.keys : undefined, options.definitionId, options.type].filter((v) => v !== undefined);
94
+ if (selections.length === 0) {
95
+ return ProfileErrorCodes.NO_SELECTION;
96
+ }
97
+ if (selections.length > 1) {
98
+ return ProfileErrorCodes.INVALID_SELECTION;
99
+ }
100
+ if (options.parallel !== undefined && (options.parallel < 1 || options.parallel > 10)) {
101
+ return ProfileErrorCodes.INVALID_PARALLEL;
102
+ }
103
+ return undefined;
104
+ }
105
+ /**
106
+ * Creates an empty ProfileResult for failure cases.
107
+ *
108
+ * @param mode - The execution mode
109
+ * @returns Empty ProfileResult
110
+ */
111
+ static createEmptyResult(mode) {
112
+ return {
113
+ mode,
114
+ executions: [],
115
+ summary: {
116
+ total: 0,
117
+ successful: 0,
118
+ failed: 0,
119
+ skipped: 0,
120
+ },
121
+ };
122
+ }
123
+ /**
124
+ * Executes the profile operation.
125
+ *
126
+ * @param options - Profile operation options
127
+ * @returns ServiceResult containing ProfileResult
128
+ */
129
+ async execute(options) {
130
+ const startTime = Date.now();
131
+ try {
132
+ this.logger?.log('Starting profile execution operation');
133
+ // Validate options
134
+ const validationError = ProfileOperation.validateOptions(options);
135
+ if (validationError) {
136
+ const mode = options.type ? 'bulk' : 'single';
137
+ return createFailureResult(ProfileOperation.createEmptyResult(mode), validationError, VALIDATION_ERROR_MESSAGES[validationError] ?? 'Validation failed', { metadata: { duration: Date.now() - startTime } });
138
+ }
139
+ // Route to single or bulk execution
140
+ if (options.keys?.length ?? options.definitionId) {
141
+ return await this.executeSingle(options);
142
+ }
143
+ return await this.executeBulk(options);
144
+ }
145
+ catch (error) {
146
+ const errorMessage = error instanceof Error ? error.message : String(error);
147
+ this.logger?.log(`Profile execution operation failed: ${errorMessage}`);
148
+ const mode = options.type ? 'bulk' : 'single';
149
+ return createFailureResult(ProfileOperation.createEmptyResult(mode), ProfileErrorCodes.OPERATION_FAILED, errorMessage, { metadata: { duration: Date.now() - startTime } });
150
+ }
151
+ }
152
+ /**
153
+ * Executes profiling for a single definition by key or ID.
154
+ *
155
+ * @param options - Profile operation options (key or definitionId must be set)
156
+ * @returns ServiceResult containing ProfileResult
157
+ */
158
+ async executeSingle(options) {
159
+ // Handle multiple keys: iterate and aggregate
160
+ if (options.keys && options.keys.length > 1) {
161
+ return this.executeMultipleKeys(options);
162
+ }
163
+ const startTime = Date.now();
164
+ let definitionId;
165
+ let definitionKey;
166
+ let objectName;
167
+ const singleKey = options.keys?.[0];
168
+ // Resolve by key or by ID
169
+ if (singleKey) {
170
+ const defResult = await this.definitionService.getDefinitionByKey(singleKey);
171
+ if (!defResult.success) {
172
+ return createFailureResult(ProfileOperation.createEmptyResult('single'), ProfileErrorCodes.QUERY_FAILED, defResult.message ?? `Failed to look up definition: ${singleKey}`, { metadata: { duration: Date.now() - startTime } });
173
+ }
174
+ if (defResult.data === null) {
175
+ return createFailureResult(ProfileOperation.createEmptyResult('single'), ProfileErrorCodes.DEFINITION_NOT_FOUND, `Definition not found: ${singleKey}`, { metadata: { duration: Date.now() - startTime } });
176
+ }
177
+ definitionId = defResult.data.id;
178
+ definitionKey = defResult.data.key;
179
+ objectName = defResult.data.objectName;
180
+ }
181
+ else {
182
+ // Validate ID format before making any org API call (prevents timeout on invalid IDs)
183
+ const idFormatError = validateSalesforceId(options.definitionId);
184
+ if (idFormatError) {
185
+ return createFailureResult(ProfileOperation.createEmptyResult('single'), ProfileErrorCodes.INVALID_ID, idFormatError, { metadata: { duration: Date.now() - startTime } });
186
+ }
187
+ // --id mode: look up to get metadata (format valid, now check existence)
188
+ const defResult = await this.definitionService.getDefinitionById(options.definitionId);
189
+ if (!defResult.success) {
190
+ return createFailureResult(ProfileOperation.createEmptyResult('single'), ProfileErrorCodes.QUERY_FAILED, defResult.message ?? `Failed to look up definition: ${options.definitionId}`, { metadata: { duration: Date.now() - startTime } });
191
+ }
192
+ if (defResult.data === null) {
193
+ return createFailureResult(ProfileOperation.createEmptyResult('single'), ProfileErrorCodes.DEFINITION_NOT_FOUND, `Definition not found: ${options.definitionId}`, { metadata: { duration: Date.now() - startTime } });
194
+ }
195
+ definitionId = defResult.data.id;
196
+ definitionKey = defResult.data.key;
197
+ objectName = defResult.data.objectName;
198
+ }
199
+ this.logger?.log(`Executing single profiling for ${definitionKey} (${objectName})`);
200
+ options.onProgress?.(`Executing profiling for ${definitionKey} (${objectName})...`);
201
+ // Execute profiling (skip validation since we already resolved the definition above)
202
+ const execResult = await this.executionService.execute(definitionId, { skipValidation: true });
203
+ if (!execResult.success) {
204
+ const execution = {
205
+ definitionKey,
206
+ definitionId,
207
+ objectName,
208
+ status: 'failed',
209
+ errorMessage: execResult.message,
210
+ errorCode: execResult.errorCode,
211
+ durationMs: Date.now() - startTime,
212
+ };
213
+ return createFailureResult({
214
+ mode: 'single',
215
+ executions: [execution],
216
+ summary: { total: 1, successful: 0, failed: 1, skipped: 0 },
217
+ }, ProfileErrorCodes.EXECUTION_FAILED, execResult.message ?? 'Profiling execution failed', { metadata: { duration: Date.now() - startTime } });
218
+ }
219
+ const requestId = execResult.data;
220
+ const duration = Date.now() - startTime;
221
+ // Fire-and-forget: return immediately with requestId (no polling)
222
+ const execution = {
223
+ definitionKey,
224
+ definitionId,
225
+ objectName,
226
+ status: 'success',
227
+ requestId,
228
+ durationMs: duration,
229
+ };
230
+ const profileResult = {
231
+ mode: 'single',
232
+ executions: [execution],
233
+ summary: {
234
+ total: 1,
235
+ successful: 1,
236
+ failed: 0,
237
+ skipped: 0,
238
+ },
239
+ };
240
+ return createSuccessResult(profileResult, {
241
+ message: 'Profiling request submitted successfully',
242
+ metadata: { duration },
243
+ });
244
+ }
245
+ /**
246
+ * Executes profiling for multiple keys by iterating and aggregating results.
247
+ *
248
+ * @param options - Profile operation options (keys must have 2+ entries)
249
+ * @returns ServiceResult containing aggregated ProfileResult
250
+ */
251
+ async executeMultipleKeys(options) {
252
+ const startTime = Date.now();
253
+ const executions = [];
254
+ let successful = 0;
255
+ let failed = 0;
256
+ for (const key of options.keys) {
257
+ // eslint-disable-next-line no-await-in-loop -- sequential execution: each profiling request must complete before the next to avoid API throttling
258
+ const singleResult = await this.executeSingle({ ...options, keys: [key] });
259
+ executions.push(...singleResult.data.executions);
260
+ successful += singleResult.data.summary.successful;
261
+ failed += singleResult.data.summary.failed;
262
+ }
263
+ const result = {
264
+ mode: 'single',
265
+ executions,
266
+ summary: { total: executions.length, successful, failed, skipped: 0 },
267
+ };
268
+ return successful > 0
269
+ ? createSuccessResult(result, {
270
+ message: `Profiling requests submitted for ${successful} definition(s)`,
271
+ metadata: { duration: Date.now() - startTime },
272
+ })
273
+ : createFailureResult(result, ProfileErrorCodes.EXECUTION_FAILED, `All ${failed} profiling requests failed`, {
274
+ metadata: { duration: Date.now() - startTime },
275
+ });
276
+ }
277
+ /**
278
+ * Executes profiling for multiple definitions matching type and filters.
279
+ *
280
+ * @param options - Profile operation options (type must be set)
281
+ * @returns ServiceResult containing ProfileResult
282
+ */
283
+ async executeBulk(options) {
284
+ const startTime = Date.now();
285
+ // Build query options from CLI flags
286
+ const queryOptions = {
287
+ type: options.type,
288
+ status: options.status,
289
+ category: options.category,
290
+ timeCategory: options.timeCategory,
291
+ segmentCategory: options.segmentCategory,
292
+ limit: options.limit,
293
+ };
294
+ this.logger?.log(`Querying definitions with type=${options.type ?? 'all'}, status=${options.status ?? 'any'}`);
295
+ options.onProgress?.('Finding eligible definitions...');
296
+ const queryResult = await this.definitionService.getDefinitions(queryOptions);
297
+ if (!queryResult.success) {
298
+ return createFailureResult(ProfileOperation.createEmptyResult('bulk'), ProfileErrorCodes.QUERY_FAILED, queryResult.message ?? 'Failed to query definitions', { metadata: { duration: Date.now() - startTime } });
299
+ }
300
+ let definitions = queryResult.data;
301
+ // Apply namespace filter client-side (not supported in SOQL query)
302
+ if (options.namespace !== undefined) {
303
+ const nsPrefix = options.namespace.endsWith('__') ? options.namespace : `${options.namespace}__`;
304
+ definitions = definitions.filter((def) => def.objectName.startsWith(nsPrefix));
305
+ }
306
+ if (definitions.length === 0) {
307
+ return createFailureResult(ProfileOperation.createEmptyResult('bulk'), ProfileErrorCodes.NO_DEFINITIONS_FOUND, 'No definitions found matching filters', { metadata: { duration: Date.now() - startTime } });
308
+ }
309
+ this.logger?.log(`Found ${String(definitions.length)} definitions, executing bulk profiling`);
310
+ options.onProgress?.(`Found ${String(definitions.length)} definitions. Starting bulk execution...`);
311
+ // Build bulk execution options (fire-and-forget: no polling)
312
+ const bulkOptions = {
313
+ parallel: options.parallel ?? 5,
314
+ skipEmpty: options.skipEmpty !== false,
315
+ waitForCompletion: false,
316
+ };
317
+ // Wire progress callback
318
+ const progressCallback = options.onProgress
319
+ ? (progress) => {
320
+ const pct = Math.round(((progress.index + 1) / progress.total) * 100);
321
+ options.onProgress(`[${String(pct)}%] ${progress.message ?? `Processing ${progress.current.key} (${progress.current.objectName})`}`);
322
+ }
323
+ : undefined;
324
+ const bulkResult = await this.executionService.executeBulk(definitions, bulkOptions, progressCallback);
325
+ if (!bulkResult.success) {
326
+ return createFailureResult(ProfileOperation.createEmptyResult('bulk'), ProfileErrorCodes.EXECUTION_FAILED, bulkResult.message ?? 'Bulk execution failed', { metadata: { duration: Date.now() - startTime } });
327
+ }
328
+ // Transform BulkExecutionResult to ProfileResult
329
+ const bulkData = bulkResult.data;
330
+ const executions = bulkData.definitions.map((def) => ({
331
+ definitionKey: def.definition.key,
332
+ definitionId: def.definition.id,
333
+ objectName: def.definition.objectName,
334
+ status: def.status === 'completed'
335
+ ? 'success'
336
+ : def.status === 'skipped'
337
+ ? 'skipped'
338
+ : 'failed',
339
+ requestId: def.requestId,
340
+ errorMessage: def.errorMessage,
341
+ errorCode: def.errorCode,
342
+ skipReason: def.skipReason,
343
+ resolution: def.resolution,
344
+ durationMs: def.durationMs,
345
+ }));
346
+ const profileResult = {
347
+ mode: 'bulk',
348
+ executions,
349
+ summary: {
350
+ total: bulkData.summary.total,
351
+ successful: bulkData.summary.successful,
352
+ failed: bulkData.summary.failed,
353
+ skipped: bulkData.summary.skipped,
354
+ },
355
+ };
356
+ const duration = Date.now() - startTime;
357
+ // Partial failure handling: success if any succeeded
358
+ if (profileResult.summary.successful > 0) {
359
+ return createSuccessResult(profileResult, {
360
+ message: `Completed ${String(profileResult.summary.successful)}/${String(profileResult.summary.total)} executions`,
361
+ warnings: profileResult.summary.failed > 0
362
+ ? [`${String(profileResult.summary.failed)} definition(s) failed to execute`]
363
+ : undefined,
364
+ metadata: { duration },
365
+ });
366
+ }
367
+ // All failed
368
+ return createFailureResult(profileResult, ProfileErrorCodes.EXECUTION_FAILED, 'All executions failed', {
369
+ metadata: { duration },
370
+ });
371
+ }
372
+ }
373
+ //# sourceMappingURL=ProfileOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileOperation.js","sourceRoot":"","sources":["../../src/operations/ProfileOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { type ServiceResult } from '../models/service-result.js';
2
+ import { ProfileRequestService } from '../services/ProfileRequestService.js';
3
+ import type { ProfileRequestCancelResult } from '../models/profile-request-types.js';
4
+ /**
5
+ * Options for the profile request cancel operation.
6
+ */
7
+ export type ProfileRequestCancelOperationOptions = {
8
+ /** Cancel all cancellable requests */
9
+ all?: boolean;
10
+ /** Cancel specific request IDs (mutually exclusive with `all`) */
11
+ requestIds?: string[];
12
+ /** Preview what would be cancelled without executing */
13
+ dryRun?: boolean;
14
+ /** Skip confirmation prompt */
15
+ noPrompt?: boolean;
16
+ /** Callback when cancellable requests are found */
17
+ onCancellableFound?: (count: number) => void;
18
+ /** Callback for user confirmation; return false to abort */
19
+ onConfirm?: (count: number) => Promise<boolean>;
20
+ };
21
+ /**
22
+ * Error codes for profile request cancel operations.
23
+ * Re-exported from ServiceErrorCodes (E4900-E4905) for convenience.
24
+ */
25
+ export declare const ProfileRequestCancelErrorCodes: {
26
+ readonly CANCEL_FAILED: "E4902";
27
+ readonly INVALID_IDS: "E4903";
28
+ readonly NO_CANCELLABLE: "E4904";
29
+ readonly PARTIAL_FAILURE: "E4905";
30
+ };
31
+ /**
32
+ * Orchestrates cancellation of profiling requests.
33
+ *
34
+ * Delegates to ProfileRequestService for the actual cancel logic.
35
+ * Manages user-facing concerns: confirmation prompts, dry-run previews,
36
+ * and timing metadata.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const operation = new ProfileRequestCancelOperation(profileRequestService);
41
+ * const result = await operation.execute({ all: true, dryRun: true });
42
+ * ```
43
+ */
44
+ export declare class ProfileRequestCancelOperation {
45
+ private readonly profileRequestService;
46
+ private readonly logger?;
47
+ constructor(profileRequestService: ProfileRequestService, logger?: Console | undefined);
48
+ /**
49
+ * Creates the empty cancel result structure.
50
+ */
51
+ private static emptyResult;
52
+ /**
53
+ * Executes the profile request cancel operation.
54
+ *
55
+ * @param options - Cancel operation options
56
+ * @returns ServiceResult containing the cancel outcome
57
+ */
58
+ execute(options: ProfileRequestCancelOperationOptions): Promise<ServiceResult<ProfileRequestCancelResult>>;
59
+ }
@@ -0,0 +1,137 @@
1
+ /*
2
+ * Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
3
+ * PROPRIETARY AND CONFIDENTIAL. Unauthorized copying, modification,
4
+ * or distribution is strictly prohibited. Use is governed by the
5
+ * Master Subscription Agreement (MSA) between PeerNova, Inc. and the
6
+ * licensee. See LICENSE file in the repo root.
7
+ */
8
+ import { createSuccessResult, createFailureResult } from '../models/service-result.js';
9
+ import { ServiceErrorCodes } from '../adapters/errors.js';
10
+ /**
11
+ * Error codes for profile request cancel operations.
12
+ * Re-exported from ServiceErrorCodes (E4900-E4905) for convenience.
13
+ */
14
+ export const ProfileRequestCancelErrorCodes = {
15
+ CANCEL_FAILED: ServiceErrorCodes.REQUEST_CANCEL_FAILED,
16
+ INVALID_IDS: ServiceErrorCodes.REQUEST_INVALID_IDS,
17
+ NO_CANCELLABLE: ServiceErrorCodes.REQUEST_NO_CANCELLABLE,
18
+ PARTIAL_FAILURE: ServiceErrorCodes.REQUEST_CANCEL_PARTIAL_FAILURE,
19
+ };
20
+ /**
21
+ * Orchestrates cancellation of profiling requests.
22
+ *
23
+ * Delegates to ProfileRequestService for the actual cancel logic.
24
+ * Manages user-facing concerns: confirmation prompts, dry-run previews,
25
+ * and timing metadata.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const operation = new ProfileRequestCancelOperation(profileRequestService);
30
+ * const result = await operation.execute({ all: true, dryRun: true });
31
+ * ```
32
+ */
33
+ export class ProfileRequestCancelOperation {
34
+ profileRequestService;
35
+ logger;
36
+ constructor(profileRequestService, logger) {
37
+ this.profileRequestService = profileRequestService;
38
+ this.logger = logger;
39
+ }
40
+ /**
41
+ * Creates the empty cancel result structure.
42
+ */
43
+ static emptyResult(dryRun) {
44
+ return {
45
+ cancelled: [],
46
+ failed: [],
47
+ dryRun,
48
+ totalCancellable: 0,
49
+ };
50
+ }
51
+ /**
52
+ * Executes the profile request cancel operation.
53
+ *
54
+ * @param options - Cancel operation options
55
+ * @returns ServiceResult containing the cancel outcome
56
+ */
57
+ async execute(options) {
58
+ const startTime = Date.now();
59
+ const dryRun = options.dryRun ?? false;
60
+ const emptyResult = ProfileRequestCancelOperation.emptyResult(dryRun);
61
+ try {
62
+ this.logger?.log('Starting profile request cancel operation');
63
+ // Validate mutually exclusive options
64
+ const hasAll = options.all === true;
65
+ const hasIds = options.requestIds !== undefined && options.requestIds.length > 0;
66
+ if (hasAll && hasIds) {
67
+ return createFailureResult(emptyResult, ProfileRequestCancelErrorCodes.INVALID_IDS, 'The --all and --request-ids flags are mutually exclusive. Provide one or the other.', { metadata: { duration: Date.now() - startTime } });
68
+ }
69
+ if (!hasAll && !hasIds) {
70
+ return createFailureResult(emptyResult, ProfileRequestCancelErrorCodes.INVALID_IDS, 'You must provide either --all or --request-ids to specify which requests to cancel.', { metadata: { duration: Date.now() - startTime } });
71
+ }
72
+ const serviceOptions = {
73
+ all: options.all,
74
+ requestIds: options.requestIds,
75
+ };
76
+ const needsConfirmation = !dryRun && !options.noPrompt && !!options.onConfirm;
77
+ // Discovery: dry-run first when confirmation is needed, or honour explicit dryRun
78
+ const discoveryResult = await this.profileRequestService.cancelRequests({
79
+ ...serviceOptions,
80
+ dryRun: dryRun || needsConfirmation,
81
+ });
82
+ if (!discoveryResult.success) {
83
+ return createFailureResult(emptyResult, discoveryResult.errorCode ?? ProfileRequestCancelErrorCodes.CANCEL_FAILED, discoveryResult.message ?? 'Cancel operation failed', {
84
+ metadata: { duration: Date.now() - startTime },
85
+ });
86
+ }
87
+ const discoveryData = discoveryResult.data;
88
+ // Notify caller about cancellable requests found
89
+ options.onCancellableFound?.(discoveryData.totalCancellable);
90
+ // Prompt user for confirmation before executing
91
+ if (needsConfirmation) {
92
+ const confirmed = await options.onConfirm(discoveryData.totalCancellable);
93
+ if (!confirmed) {
94
+ this.logger?.log('Cancel operation aborted by user');
95
+ return createSuccessResult({
96
+ ...emptyResult,
97
+ totalCancellable: discoveryData.totalCancellable,
98
+ }, {
99
+ message: 'Cancellation aborted by user.',
100
+ metadata: { duration: Date.now() - startTime, userCancelled: true },
101
+ });
102
+ }
103
+ // User confirmed — execute the actual cancellation
104
+ const executeResult = await this.profileRequestService.cancelRequests({
105
+ ...serviceOptions,
106
+ dryRun: false,
107
+ });
108
+ if (!executeResult.success) {
109
+ return createFailureResult(emptyResult, executeResult.errorCode ?? ProfileRequestCancelErrorCodes.CANCEL_FAILED, executeResult.message ?? 'Cancel operation failed', {
110
+ metadata: { duration: Date.now() - startTime },
111
+ });
112
+ }
113
+ const duration = Date.now() - startTime;
114
+ this.logger?.log(`Cancel operation completed in ${duration}ms`);
115
+ return createSuccessResult(executeResult.data, {
116
+ message: executeResult.message,
117
+ metadata: { duration },
118
+ });
119
+ }
120
+ // No confirmation needed (dryRun or noPrompt) — return discovery result directly
121
+ const duration = Date.now() - startTime;
122
+ this.logger?.log(`Cancel operation completed in ${duration}ms`);
123
+ return createSuccessResult(discoveryData, {
124
+ message: discoveryResult.message,
125
+ metadata: { duration },
126
+ });
127
+ }
128
+ catch (error) {
129
+ const errorMessage = error instanceof Error ? error.message : String(error);
130
+ this.logger?.log(`Cancel operation failed: ${errorMessage}`);
131
+ return createFailureResult(emptyResult, ProfileRequestCancelErrorCodes.CANCEL_FAILED, errorMessage, {
132
+ metadata: { duration: Date.now() - startTime },
133
+ });
134
+ }
135
+ }
136
+ }
137
+ //# sourceMappingURL=ProfileRequestCancelOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileRequestCancelOperation.js","sourceRoot":"","sources":["../../src/operations/ProfileRequestCancelOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { type ServiceResult } from '../models/service-result.js';
2
+ import { ProfileRequestService } from '../services/ProfileRequestService.js';
3
+ import type { ProfileRequestDeleteResult } from '../models/profile-request-types.js';
4
+ /**
5
+ * Options for the profile request delete operation.
6
+ */
7
+ export type ProfileRequestDeleteOperationOptions = {
8
+ /** Delete all deletable requests (canceled or rejected) */
9
+ all?: boolean;
10
+ /** Delete specific request IDs (mutually exclusive with `all`) */
11
+ requestIds?: string[];
12
+ /** Preview what would be deleted without executing */
13
+ dryRun?: boolean;
14
+ /** Skip confirmation prompt */
15
+ noPrompt?: boolean;
16
+ /** Callback when deletable requests are found */
17
+ onDeletableFound?: (count: number) => void;
18
+ /** Callback for user confirmation; return false to abort */
19
+ onConfirm?: (count: number) => Promise<boolean>;
20
+ };
21
+ /**
22
+ * Error codes for profile request delete operations.
23
+ * Re-exported from ServiceErrorCodes for convenience.
24
+ */
25
+ export declare const ProfileRequestDeleteErrorCodes: {
26
+ readonly DELETE_FAILED: "E4906";
27
+ readonly INVALID_IDS: "E4903";
28
+ readonly NO_DELETABLE: "E4908";
29
+ readonly PARTIAL_FAILURE: "E4909";
30
+ };
31
+ /**
32
+ * Orchestrates deletion of profiling requests.
33
+ *
34
+ * Delegates to ProfileRequestService for the actual delete logic.
35
+ * Manages user-facing concerns: confirmation prompts, dry-run previews,
36
+ * and timing metadata.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const operation = new ProfileRequestDeleteOperation(profileRequestService);
41
+ * const result = await operation.execute({ all: true, dryRun: true });
42
+ * ```
43
+ */
44
+ export declare class ProfileRequestDeleteOperation {
45
+ private readonly profileRequestService;
46
+ private readonly logger?;
47
+ constructor(profileRequestService: ProfileRequestService, logger?: Console | undefined);
48
+ /**
49
+ * Creates the empty delete result structure.
50
+ */
51
+ private static emptyResult;
52
+ /**
53
+ * Executes the profile request delete operation.
54
+ *
55
+ * @param options - Delete operation options
56
+ * @returns ServiceResult containing the delete outcome
57
+ */
58
+ execute(options: ProfileRequestDeleteOperationOptions): Promise<ServiceResult<ProfileRequestDeleteResult>>;
59
+ /**
60
+ * Prompts for confirmation then executes the actual deletion.
61
+ * Extracted to keep execute() within cyclomatic complexity limits.
62
+ */
63
+ private executeWithConfirmation;
64
+ }