@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,391 @@
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 { Flags } from '@salesforce/sf-plugins-core';
9
+ import { Messages, SfError } from '@salesforce/core';
10
+ import { CuneiformCommand, createAdapterStack } from '../../../base/cuneiform-command.js';
11
+ import { createConnectionFacade } from '../../../adapters/connection-facade.js';
12
+ import { UserReadinessService, REQUIRED_PERMISSION_SETS, REQUIRED_PERMISSION_SET_LABELS, } from '../../../services/UserReadinessService.js';
13
+ import { UserConfigurationService } from '../../../services/UserConfigurationService.js';
14
+ import { OrgInfoService } from '../../../services/OrgInfoService.js';
15
+ import { ProfilingRestClient } from '../../../adapters/rest/profiling-rest-client.js';
16
+ import { ServiceErrorCodes } from '../../../adapters/errors.js';
17
+ import { CUNEIFORM_NAMESPACE } from '../../../services/namespace-constants.js';
18
+ import { displayOutput } from '../../../utils/formatting/user-details-display.js';
19
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
20
+ const messages = Messages.loadMessages('@peernova/cuneiform-sf', 'user.details');
21
+ const accessMessages = Messages.loadMessages('@peernova/cuneiform-sf', 'cuneiform.access');
22
+ /**
23
+ * Displays authenticated user context and Cuneiform readiness status.
24
+ *
25
+ * Use this command to:
26
+ * - Verify user identity (ID, username, email, profile, role)
27
+ * - Check required Cuneiform permission set assignments
28
+ * - Validate Configuration Profile settings for API-only profiling
29
+ * - Diagnose readiness issues before running other Cuneiform commands
30
+ *
31
+ * @example
32
+ * ```bash
33
+ * # Display user details and readiness status
34
+ * sf cuneiform user details --target-org myOrg
35
+ *
36
+ * # Output as JSON for programmatic use
37
+ * sf cuneiform user details --target-org myOrg --json
38
+ * ```
39
+ */
40
+ // eslint-disable-next-line sf-plugin/only-extend-SfCommand -- CuneiformCommand extends SfCommand with shared access gate logic
41
+ export default class Details extends CuneiformCommand {
42
+ static summary = messages.getMessage('summary');
43
+ static description = messages.getMessage('description');
44
+ static examples = messages.getMessages('examples');
45
+ // eslint-disable-next-line sf-plugin/spread-base-flags -- CuneiformCommand has no additional flags to spread
46
+ static flags = {
47
+ 'target-org': Flags.requiredOrg({
48
+ summary: messages.getMessage('flags.target-org.summary'),
49
+ char: 'o',
50
+ required: true,
51
+ }),
52
+ 'api-version': Flags.orgApiVersion({
53
+ summary: messages.getMessage('flags.api-version.summary'),
54
+ }),
55
+ configure: Flags.boolean({
56
+ summary: messages.getMessage('flags.configure.summary'),
57
+ char: 'c',
58
+ default: false,
59
+ exclusive: ['unconfigure'],
60
+ }),
61
+ unconfigure: Flags.boolean({
62
+ summary: messages.getMessage('flags.unconfigure.summary'),
63
+ hidden: true,
64
+ default: false,
65
+ exclusive: ['configure', 'dry-run'],
66
+ }),
67
+ 'dry-run': Flags.boolean({
68
+ summary: messages.getMessage('flags.dry-run.summary'),
69
+ char: 'd',
70
+ default: false,
71
+ }),
72
+ };
73
+ static skipAccessGate = true;
74
+ /**
75
+ * Builds the command result from service data.
76
+ */
77
+ static buildResult(userInfo, readiness, orgIdentity, instanceUrl) {
78
+ const ADMIN_PS = REQUIRED_PERMISSION_SETS[0];
79
+ const adminAssignment = readiness.permissionSets.assignments.find((a) => a.name === ADMIN_PS);
80
+ const hasAdminAccess = readiness.isCuneiformInstalled && (adminAssignment?.isAssigned ?? false);
81
+ // Build permission set results
82
+ const permissionSets = REQUIRED_PERMISSION_SETS.map((name) => {
83
+ const assignment = readiness.permissionSets.assignments.find((a) => a.name === name);
84
+ return {
85
+ apiName: `${CUNEIFORM_NAMESPACE}__${name}`,
86
+ label: assignment?.label ?? REQUIRED_PERMISSION_SET_LABELS[name] ?? name,
87
+ isAssigned: assignment?.isAssigned ?? false,
88
+ isRequired: readiness.permissionSets.missingRequired.includes(name),
89
+ };
90
+ });
91
+ // Build config profile result
92
+ const configProfile = {
93
+ isConfigured: readiness.configProfile.isConfigured,
94
+ profileLabel: readiness.configProfile.profileLabel ?? null,
95
+ apiOnlyProfilingEnabled: readiness.configProfile.isConfigured
96
+ ? readiness.configProfile.apiOnlyProfilingEnabled ?? null
97
+ : null,
98
+ selfRegistrationEnabled: readiness.configProfile.isConfigured
99
+ ? readiness.configProfile.selfRegistrationEnabled ?? null
100
+ : null,
101
+ };
102
+ // Build structured resolution guidance (extracted to reduce buildResult complexity)
103
+ const resolutionGuidance = Details.buildResolutionGuidance(readiness);
104
+ // Append no-config-profile guidance last (after permission and config checks)
105
+ if (readiness.isCuneiformInstalled && !readiness.configProfile.isConfigured) {
106
+ resolutionGuidance.push({
107
+ issue: messages.getMessage('guidance.noConfigProfile'),
108
+ action: messages.getMessage('guidance.noConfigProfileAction'),
109
+ persona: 'admin',
110
+ });
111
+ }
112
+ // Build org context
113
+ const orgContext = {
114
+ orgName: orgIdentity?.organizationName ?? '(unknown)',
115
+ orgId: orgIdentity?.organizationId ?? '(unknown)',
116
+ instanceUrl,
117
+ isSandbox: orgIdentity?.isSandbox ?? false,
118
+ orgType: orgIdentity?.organizationType ?? '(unknown)',
119
+ };
120
+ // Build links
121
+ const links = {
122
+ installationGuide: messages.getMessage('links.installationGuideUrl'),
123
+ documentation: messages.getMessage('links.verificationDocsUrl'),
124
+ };
125
+ return {
126
+ orgContext,
127
+ user: {
128
+ id: userInfo.id,
129
+ username: userInfo.username,
130
+ email: userInfo.email,
131
+ profileName: userInfo.profileName,
132
+ roleName: userInfo.roleName,
133
+ },
134
+ prerequisites: {
135
+ cuneiformInstalled: readiness.isCuneiformInstalled,
136
+ adminAccessAssigned: hasAdminAccess,
137
+ allPassed: readiness.isCuneiformInstalled && hasAdminAccess,
138
+ },
139
+ readiness: {
140
+ isReady: readiness.isReady,
141
+ permissionSets,
142
+ configProfile,
143
+ },
144
+ resolutionGuidance,
145
+ links,
146
+ };
147
+ }
148
+ /**
149
+ * Builds resolution guidance items from readiness state.
150
+ * Extracted from buildResult to reduce cyclomatic complexity.
151
+ */
152
+ static buildResolutionGuidance(readiness) {
153
+ const guidance = [];
154
+ if (!readiness.isCuneiformInstalled) {
155
+ guidance.push({
156
+ issue: messages.getMessage('guidance.cuneiformNotInstalled'),
157
+ action: messages.getMessage('guidance.cuneiformNotInstalledAction'),
158
+ persona: 'admin',
159
+ });
160
+ return guidance;
161
+ }
162
+ if (readiness.permissionSets.missingRequired.length > 0) {
163
+ const labels = readiness.permissionSets.missingRequired.map((name) => REQUIRED_PERMISSION_SET_LABELS[name] ?? name);
164
+ if (labels.length === 1) {
165
+ guidance.push({
166
+ issue: messages.getMessage('guidance.missingPermissionSet', [labels[0]]),
167
+ action: messages.getMessage('guidance.missingPermissionSetAction'),
168
+ persona: 'admin',
169
+ });
170
+ }
171
+ else {
172
+ guidance.push({
173
+ issue: messages.getMessage('guidance.missingPermissionSets'),
174
+ detail: labels,
175
+ action: messages.getMessage('guidance.missingPermissionSetsAction'),
176
+ persona: 'admin',
177
+ });
178
+ }
179
+ }
180
+ if (readiness.configProfile.isConfigured && readiness.configProfile.apiOnlyProfilingEnabled === false) {
181
+ guidance.push({
182
+ issue: messages.getMessage('guidance.apiOnlyProfilingDisabled'),
183
+ action: messages.getMessage('guidance.apiOnlyProfilingDisabledAction'),
184
+ persona: 'admin',
185
+ });
186
+ }
187
+ // Only surface self-registration guidance when Admin PS is assigned —
188
+ // if the user isn't an administrator, self-registration isn't relevant yet.
189
+ const hasAdminPSAssigned = readiness.permissionSets.assignments.some((a) => a.name === 'Cuneiform_for_CRM_PRO_Administrative_User' && a.isAssigned);
190
+ if (hasAdminPSAssigned &&
191
+ readiness.configProfile.isConfigured &&
192
+ readiness.configProfile.selfRegistrationEnabled === false) {
193
+ guidance.push({
194
+ issue: messages.getMessage('guidance.selfRegistrationDisabled'),
195
+ action: messages.getMessage('guidance.selfRegistrationDisabledAction'),
196
+ persona: 'admin',
197
+ });
198
+ }
199
+ return guidance;
200
+ }
201
+ /**
202
+ * Maps the service-level UserConfigurationResult to the command-level ConfigurationResult.
203
+ */
204
+ static mapConfigurationResult(serviceResult, isDryRun) {
205
+ const actions = serviceResult.actions.map((action) => ({
206
+ type: action.type,
207
+ target: action.target,
208
+ targetLabel: action.targetLabel ?? action.target,
209
+ status: isDryRun ? 'planned' : action.status,
210
+ message: action.message,
211
+ }));
212
+ // Extract deployment job ID from action details
213
+ const deployAction = serviceResult.actions.find((a) => a.type === 'enableApiOnlyProfiling' && a.details?.jobId);
214
+ return {
215
+ dryRun: isDryRun,
216
+ actions,
217
+ summary: {
218
+ changesRequired: serviceResult.summary.changesRequired,
219
+ changesApplied: serviceResult.summary.changesApplied,
220
+ changesFailed: serviceResult.summary.changesFailed,
221
+ },
222
+ deploymentJobId: deployAction?.details?.jobId,
223
+ };
224
+ }
225
+ /**
226
+ * Executes the user details command.
227
+ *
228
+ * @returns UserDetailsResult with user identity and readiness status
229
+ */
230
+ async run() {
231
+ const { flags } = await this.parse(Details);
232
+ // --dry-run implies --configure
233
+ const shouldConfigure = flags.configure || flags['dry-run'];
234
+ const shouldUnconfigure = flags.unconfigure;
235
+ const isDryRun = flags['dry-run'];
236
+ const connection = flags['target-org'].getConnection(flags['api-version']);
237
+ const orgIdentifier = flags['target-org'].getUsername() ?? 'unknown';
238
+ const facade = createConnectionFacade(connection);
239
+ const userId = await this.connectToOrg(facade, orgIdentifier);
240
+ const { soqlAdapter, restAdapter } = createAdapterStack(facade);
241
+ const restClient = new ProfilingRestClient(restAdapter);
242
+ const userReadinessService = new UserReadinessService({ soqlAdapter, restClient });
243
+ const orgData = await this.fetchOrgData(facade, soqlAdapter, userReadinessService, userId, orgIdentifier);
244
+ const { userInfo, orgIdentity } = orgData;
245
+ let { readiness } = orgData;
246
+ // Build diagnostic result
247
+ const result = Details.buildResult(userInfo, readiness, orgIdentity, facade.instanceUrl ?? '');
248
+ // Environment gate: block configure/unconfigure in production orgs
249
+ if ((shouldConfigure || shouldUnconfigure) && orgIdentity) {
250
+ const orgType = OrgInfoService.classifyOrgType(orgIdentity.isSandbox, orgIdentity.organizationType);
251
+ if (!UserReadinessService.isConfigureAllowed(orgType)) {
252
+ const sfError = new SfError(accessMessages.getMessage('error.environmentConfigureBlocked'));
253
+ sfError.code = ServiceErrorCodes.ENVIRONMENT_CONFIGURE_BLOCKED;
254
+ throw sfError;
255
+ }
256
+ }
257
+ // Run configuration or unconfiguration if requested
258
+ if (shouldConfigure) {
259
+ const configData = await this.runConfigurePhase(result, facade, soqlAdapter, restAdapter, userReadinessService, userId, isDryRun);
260
+ result.configuration = Details.mapConfigurationResult(configData, isDryRun);
261
+ if (!isDryRun && configData.summary.changesApplied > 0) {
262
+ // Refetch readiness to show post-change state (Rec #1)
263
+ const updatedReadiness = await userReadinessService.checkReadiness(userId);
264
+ if (updatedReadiness.success) {
265
+ readiness = updatedReadiness.data;
266
+ const updatedResult = Details.buildResult(userInfo, readiness, orgIdentity, facade.instanceUrl ?? '');
267
+ result.readiness = updatedResult.readiness;
268
+ result.resolutionGuidance = updatedResult.resolutionGuidance;
269
+ result.links = updatedResult.links;
270
+ }
271
+ }
272
+ }
273
+ if (shouldUnconfigure) {
274
+ const unconfigData = await this.runUnconfigurePhase(result, facade, soqlAdapter, restAdapter, userReadinessService, userId);
275
+ result.configuration = Details.mapConfigurationResult(unconfigData, false);
276
+ if (unconfigData.summary.changesApplied > 0) {
277
+ // Refetch readiness to show post-change state (Rec #1)
278
+ const updatedReadiness = await userReadinessService.checkReadiness(userId);
279
+ if (updatedReadiness.success) {
280
+ readiness = updatedReadiness.data;
281
+ const updatedResult = Details.buildResult(userInfo, readiness, orgIdentity, facade.instanceUrl ?? '');
282
+ result.readiness = updatedResult.readiness;
283
+ result.resolutionGuidance = updatedResult.resolutionGuidance;
284
+ result.links = updatedResult.links;
285
+ }
286
+ }
287
+ }
288
+ // Display human-readable output (delegated to display module)
289
+ displayOutput(this.log.bind(this), userInfo, readiness, result);
290
+ return result;
291
+ }
292
+ /**
293
+ * Establishes connection to the Salesforce org and retrieves the current user ID.
294
+ * Wraps the identity call with a user-friendly error message on failure.
295
+ */
296
+ async connectToOrg(facade, orgIdentifier) {
297
+ try {
298
+ const identity = await facade.identity();
299
+ return identity.user_id;
300
+ }
301
+ catch (error) {
302
+ const detail = error instanceof Error ? error.message : String(error);
303
+ this.error(messages.getMessage('errors.orgConnectionFailed', [orgIdentifier, orgIdentifier]) + `\n\nDetail: ${detail}`, { code: 'E2001' });
304
+ }
305
+ }
306
+ /**
307
+ * Fetches org identity, user info, and readiness in parallel.
308
+ * Wraps the API calls with a user-friendly error message on failure.
309
+ */
310
+ async fetchOrgData(facade, soqlAdapter, userReadinessService, userId, orgIdentifier) {
311
+ const orgInfoService = new OrgInfoService({ connectionFacade: facade, soqlAdapter });
312
+ this.spinner.start(messages.getMessage('info.fetchingOrgData'));
313
+ let orgIdentityResult;
314
+ let userInfoResult;
315
+ let readinessResult;
316
+ try {
317
+ [orgIdentityResult, userInfoResult, readinessResult] = await Promise.all([
318
+ orgInfoService.getOrgIdentity(),
319
+ userReadinessService.getUserInfo(userId),
320
+ userReadinessService.checkReadiness(userId),
321
+ ]);
322
+ }
323
+ catch (error) {
324
+ this.spinner.stop();
325
+ const detail = error instanceof Error ? error.message : String(error);
326
+ this.error(messages.getMessage('errors.orgApiFailed', [orgIdentifier, orgIdentifier, orgIdentifier]) +
327
+ `\n\nDetail: ${detail}`, { code: 'E3001' });
328
+ }
329
+ this.spinner.stop();
330
+ if (!userInfoResult.success) {
331
+ this.error(userInfoResult.message ?? messages.getMessage('errors.userInfoFailed'), {
332
+ code: userInfoResult.errorCode,
333
+ });
334
+ }
335
+ if (!readinessResult.success) {
336
+ this.error(readinessResult.message ?? messages.getMessage('errors.readinessFailed'), {
337
+ code: readinessResult.errorCode,
338
+ });
339
+ }
340
+ return {
341
+ userInfo: userInfoResult.data,
342
+ readiness: readinessResult.data,
343
+ orgIdentity: orgIdentityResult.success ? orgIdentityResult.data : undefined,
344
+ };
345
+ }
346
+ /**
347
+ * Runs the --configure phase: assigns permission sets and enables API-only profiling.
348
+ */
349
+ async runConfigurePhase(result, _facade, soqlAdapter, restAdapter, userReadinessService, userId, isDryRun) {
350
+ if (!result.prerequisites.cuneiformInstalled) {
351
+ this.error(messages.getMessage('errors.cuneiformNotInstalled'));
352
+ }
353
+ const configService = new UserConfigurationService({
354
+ soqlAdapter,
355
+ restApiAdapter: restAdapter,
356
+ userReadinessService,
357
+ });
358
+ this.spinner.start(isDryRun ? messages.getMessage('info.dryRunStart') : messages.getMessage('info.configureStart'));
359
+ const configResult = await configService.configure(userId, { dryRun: isDryRun });
360
+ this.spinner.stop();
361
+ if (!configResult.success) {
362
+ this.error(configResult.message ?? messages.getMessage('errors.configurationFailed'), {
363
+ code: configResult.errorCode,
364
+ });
365
+ }
366
+ return configResult.data;
367
+ }
368
+ /**
369
+ * Runs the --unconfigure phase: unassigns permission sets and disables API-only profiling.
370
+ */
371
+ async runUnconfigurePhase(result, _facade, soqlAdapter, restAdapter, userReadinessService, userId) {
372
+ if (!result.prerequisites.cuneiformInstalled) {
373
+ this.error(messages.getMessage('errors.cuneiformNotInstalled'));
374
+ }
375
+ const configService = new UserConfigurationService({
376
+ soqlAdapter,
377
+ restApiAdapter: restAdapter,
378
+ userReadinessService,
379
+ });
380
+ this.spinner.start(messages.getMessage('info.unconfigureStart'));
381
+ const unconfigResult = await configService.unconfigure(userId);
382
+ this.spinner.stop();
383
+ if (!unconfigResult.success) {
384
+ this.error(unconfigResult.message ?? messages.getMessage('errors.configurationFailed'), {
385
+ code: unconfigResult.errorCode,
386
+ });
387
+ }
388
+ return unconfigResult.data;
389
+ }
390
+ }
391
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/commands/cuneiform/user/details.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared constants barrel export.
3
+ *
4
+ * This directory provides layer-independent constants that can be imported
5
+ * by any architectural layer (commands, operations, services, adapters)
6
+ * without creating cross-layer dependency violations.
7
+ */
8
+ export { CUNEIFORM_NAMESPACE, CUNEIFORM_NAMESPACE_PREFIX, NAMESPACE_PRODUCT_MAP, CLOUD_NAMESPACE_MAP, getProductName, isCuneiformNamespace, extractNamespaces, categorizeNamespace, type NamespaceCategory, } from './namespace-constants.js';
@@ -0,0 +1,16 @@
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
+ /**
9
+ * Shared constants barrel export.
10
+ *
11
+ * This directory provides layer-independent constants that can be imported
12
+ * by any architectural layer (commands, operations, services, adapters)
13
+ * without creating cross-layer dependency violations.
14
+ */
15
+ export { CUNEIFORM_NAMESPACE, CUNEIFORM_NAMESPACE_PREFIX, NAMESPACE_PRODUCT_MAP, CLOUD_NAMESPACE_MAP, getProductName, isCuneiformNamespace, extractNamespaces, categorizeNamespace, } from './namespace-constants.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Mapping of Salesforce namespace prefixes to product names.
3
+ *
4
+ * This map enables identification of installed Salesforce products by their
5
+ * namespace prefix. Managed packages use namespace prefixes on custom objects
6
+ * (e.g., `SBQQ__Quote__c` indicates Salesforce CPQ is installed).
7
+ *
8
+ * @see docs/knowledge/salesforce/namespaces.md for comprehensive documentation
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const namespace = 'SBQQ__';
13
+ * const product = NAMESPACE_PRODUCT_MAP[namespace];
14
+ * console.log(product); // 'Salesforce CPQ'
15
+ * ```
16
+ */
17
+ export declare const NAMESPACE_PRODUCT_MAP: Readonly<Record<string, string>>;
18
+ /**
19
+ * Namespace-to-cloud name mapping for package-based cloud detection.
20
+ * Keys are namespace prefixes without trailing underscores.
21
+ */
22
+ export declare const CLOUD_NAMESPACE_MAP: Readonly<Record<string, string>>;
23
+ /**
24
+ * The namespace prefix used by Cuneiform for CRM.
25
+ */
26
+ export declare const CUNEIFORM_NAMESPACE: "pnova";
27
+ /**
28
+ * The namespace prefix with trailing underscores (for object/field references).
29
+ */
30
+ export declare const CUNEIFORM_NAMESPACE_PREFIX: "pnova__";
31
+ /**
32
+ * Gets the product name for a given namespace prefix.
33
+ *
34
+ * @param namespace - The namespace prefix (with or without trailing underscores)
35
+ * @returns The product name or undefined if not found
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * getProductName('SBQQ__'); // 'Salesforce CPQ'
40
+ * getProductName('SBQQ'); // 'Salesforce CPQ' (normalizes input)
41
+ * getProductName('Unknown__'); // undefined
42
+ * ```
43
+ */
44
+ export declare function getProductName(namespace: string): string | undefined;
45
+ /**
46
+ * Checks if a namespace belongs to Cuneiform.
47
+ *
48
+ * @param namespace - The namespace to check
49
+ * @returns True if the namespace is Cuneiform's namespace
50
+ */
51
+ export declare function isCuneiformNamespace(namespace: string): boolean;
52
+ /**
53
+ * Extracts unique namespaces from a list of object API names.
54
+ *
55
+ * @param objectNames - Array of Salesforce object API names
56
+ * @returns Array of unique namespace prefixes found
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * extractNamespaces(['SBQQ__Quote__c', 'Account', 'npsp__Donation__c']);
61
+ * // Returns: ['SBQQ__', 'npsp__']
62
+ * ```
63
+ */
64
+ export declare function extractNamespaces(objectNames: string[]): string[];
65
+ /**
66
+ * Classification categories for Salesforce namespace prefixes.
67
+ *
68
+ * - `standard` - No namespace (platform-native objects like Account, Contact)
69
+ * - `industry` - Salesforce Industry Cloud namespaces (Health Cloud, FSC, etc.)
70
+ * - `managed` - Known managed packages (CPQ, NPSP, Cuneiform, etc.)
71
+ * - `custom` - Unknown/unrecognized namespace prefixes
72
+ */
73
+ export type NamespaceCategory = 'standard' | 'industry' | 'managed' | 'custom';
74
+ /**
75
+ * Categorizes a Salesforce namespace prefix into one of four categories:
76
+ * standard, industry, managed, or custom.
77
+ *
78
+ * @param namespace - The namespace prefix (with or without trailing underscores).
79
+ * Null, undefined, or empty string indicates a standard (platform-native) object.
80
+ * @returns The category classification for the namespace
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * categorizeNamespace(null); // 'standard'
85
+ * categorizeNamespace(''); // 'standard'
86
+ * categorizeNamespace('FinServ__'); // 'industry'
87
+ * categorizeNamespace('SBQQ__'); // 'managed'
88
+ * categorizeNamespace('MyCustomPkg__'); // 'custom'
89
+ * ```
90
+ */
91
+ export declare function categorizeNamespace(namespace: string | null | undefined): NamespaceCategory;