@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,440 @@
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
+ * Display formatting functions for the `sf cuneiform object describe` command.
10
+ *
11
+ * Extracted from the command class to keep the command as a thin orchestration
12
+ * shell. All functions are pure (no `this` references) and accept a `log`
13
+ * callback for output. Functions compose primitives from the shared formatting
14
+ * barrel (`utils/formatting/index.ts`).
15
+ *
16
+ * @module utils/formatting/object-describe-display
17
+ */
18
+ import { makeTable } from '@oclif/table';
19
+ import { Messages } from '@salesforce/core';
20
+ import { OrgInfoService } from '../../services/OrgInfoService.js';
21
+ import { buildRecordAgeColumns, buildRecordAgeTableData } from './record-age-grid.js';
22
+ import { buildBusinessProcessColumns, buildBusinessProcessTableData } from './business-process-grid.js';
23
+ import { sectionHeader, sectionHeaderWithCount, sectionSeparator, formatNumber, formatPercent, booleanDisplay, formatNamespace, renderSummaryBox, logSectionGap, } from './index.js';
24
+ /**
25
+ * Default border style for all tables rendered by this module.
26
+ */
27
+ const TABLE_BORDER_STYLE = 'headers-only';
28
+ /**
29
+ * Lazily loads messages for the object.describe command.
30
+ * Using a getter to avoid module-level side effects.
31
+ */
32
+ function getMessages() {
33
+ return Messages.loadMessages('@peernova/cuneiform-sf', 'object.describe');
34
+ }
35
+ /**
36
+ * Displays a single object result in table format.
37
+ *
38
+ * Orchestrates all display sub-sections: header, summary, record age,
39
+ * record types, business processes, field summary, field type distribution,
40
+ * namespaces, relationships, lookups, and fields.
41
+ *
42
+ * @param log - The logging function (typically `this.log.bind(this)`)
43
+ * @param result - The object result data to display
44
+ * @param index - The 1-based index of this object in the results
45
+ * @param total - The total number of objects being described
46
+ */
47
+ export function displayObjectResult(log, result, index, total) {
48
+ const gap = () => logSectionGap(log);
49
+ displayHeader(log, result, index, total);
50
+ gap();
51
+ displaySummarySection(log, result);
52
+ gap();
53
+ displayRecordAgeSection(log, result);
54
+ gap();
55
+ displayRecordTypesSection(log, result);
56
+ gap();
57
+ displayBusinessProcessesSection(log, result);
58
+ gap();
59
+ displayFieldSummarySection(log, result);
60
+ gap();
61
+ displayFieldTypeDistributionSection(log, result);
62
+ gap();
63
+ displayNamespacesSection(log, result);
64
+ gap();
65
+ displayReferencedBySection(log, result);
66
+ gap();
67
+ displayLookupsSection(log, result);
68
+ gap();
69
+ displayProfilingStatusSection(log, result);
70
+ gap();
71
+ displayFieldsSection(log, result);
72
+ }
73
+ /**
74
+ * Displays the Org Identity block.
75
+ *
76
+ * @param log - The logging function
77
+ * @param identity - The org identity data from OrgInfoService
78
+ * @param instanceUrl - The Salesforce instance URL
79
+ */
80
+ export function displayOrgIdentity(log, identity, instanceUrl) {
81
+ const msgs = getMessages();
82
+ const orgType = OrgInfoService.classifyOrgType(identity.isSandbox, identity.organizationType);
83
+ log(renderSummaryBox({
84
+ title: msgs.getMessage('output.identity.header'),
85
+ entries: [
86
+ { key: msgs.getMessage('output.identity.orgName'), value: identity.organizationName ?? '(unknown)' },
87
+ { key: msgs.getMessage('output.identity.orgId'), value: identity.organizationId },
88
+ { key: msgs.getMessage('output.identity.instanceUrl'), value: instanceUrl },
89
+ { key: msgs.getMessage('output.identity.orgType'), value: orgType },
90
+ { key: msgs.getMessage('output.identity.edition'), value: identity.organizationType ?? '(unknown)' },
91
+ { key: msgs.getMessage('output.identity.namespace'), value: identity.namespacePrefix ?? 'None' },
92
+ { key: msgs.getMessage('output.identity.username'), value: identity.username },
93
+ ],
94
+ }));
95
+ }
96
+ /**
97
+ * Displays the header for an object result.
98
+ * Only shown when describing multiple objects.
99
+ *
100
+ * @param log - The logging function
101
+ * @param result - The object result data
102
+ * @param index - The 1-based index of this object
103
+ * @param total - The total number of objects
104
+ */
105
+ export function displayHeader(log, result, index, total) {
106
+ if (total > 1) {
107
+ log(sectionSeparator());
108
+ log(`Object ${index} of ${total}: ${result.summary.apiName}`);
109
+ log(sectionSeparator());
110
+ }
111
+ }
112
+ /**
113
+ * Displays the summary section with object metadata.
114
+ *
115
+ * @param log - The logging function
116
+ * @param result - The object result data
117
+ */
118
+ export function displaySummarySection(log, result) {
119
+ const entries = [
120
+ { key: 'API Name', value: result.summary.apiName },
121
+ { key: 'Label', value: result.summary.label },
122
+ { key: 'Plural Label', value: result.summary.labelPlural },
123
+ { key: 'Is Custom', value: booleanDisplay(result.summary.isCustom) },
124
+ { key: 'Namespace', value: formatNamespace(result.summary.namespace, { standardLabel: '(none)' }) },
125
+ {
126
+ key: 'Record Count',
127
+ value: result.summary.recordCount !== null ? formatNumber(result.summary.recordCount) : 'N/A',
128
+ },
129
+ { key: 'Queryable', value: booleanDisplay(result.summary.queryable) },
130
+ { key: 'Profileable', value: booleanDisplay(result.summary.profileable) },
131
+ ];
132
+ if (result.summary.personAccountEnabled !== undefined) {
133
+ entries.push({
134
+ key: 'PersonAccount',
135
+ value: booleanDisplay(result.summary.personAccountEnabled, { style: 'enabledDisabled' }),
136
+ });
137
+ }
138
+ log(renderSummaryBox({ title: 'Summary', entries }));
139
+ }
140
+ /**
141
+ * Displays the record types section with optional per-record-type age distribution.
142
+ *
143
+ * @param log - The logging function
144
+ * @param result - The object result data
145
+ */
146
+ export function displayRecordTypesSection(log, result) {
147
+ const msgs = getMessages();
148
+ if (result.recordTypes.length === 0) {
149
+ return;
150
+ }
151
+ const activeCount = result.recordTypes.filter((rt) => rt.isActive).length;
152
+ log(sectionHeaderWithCount('Record Types', activeCount, 'active'));
153
+ // Check if any record type has age distribution data
154
+ const hasAgeData = result.recordTypes.some((rt) => rt.recordAgeDistribution);
155
+ // Base columns for record types
156
+ const columns = [
157
+ { key: 'name', name: msgs.getMessage('output.table.recordTypes.name') },
158
+ { key: 'developerName', name: msgs.getMessage('output.table.recordTypes.developerName') },
159
+ { key: 'active', name: msgs.getMessage('output.table.recordTypes.active') },
160
+ { key: 'isDefault', name: msgs.getMessage('output.table.recordTypes.default') },
161
+ ];
162
+ // Append year columns if any RT has age data
163
+ if (hasAgeData) {
164
+ const firstWithAge = result.recordTypes.find((rt) => rt.recordAgeDistribution);
165
+ if (firstWithAge?.recordAgeDistribution) {
166
+ const ageColumns = buildRecordAgeColumns(firstWithAge.recordAgeDistribution.years);
167
+ columns.push(...ageColumns);
168
+ }
169
+ }
170
+ // Build row data with merged age columns
171
+ const data = result.recordTypes.map((rt) => {
172
+ const row = {
173
+ name: rt.name,
174
+ developerName: rt.developerName,
175
+ active: booleanDisplay(rt.isActive),
176
+ isDefault: booleanDisplay(rt.isDefault),
177
+ };
178
+ if (hasAgeData && rt.recordAgeDistribution) {
179
+ const ageRow = buildRecordAgeTableData(rt.recordAgeDistribution)[0];
180
+ Object.assign(row, ageRow);
181
+ }
182
+ return row;
183
+ });
184
+ log(makeTable({
185
+ data,
186
+ columns,
187
+ borderStyle: TABLE_BORDER_STYLE,
188
+ }).trimEnd());
189
+ }
190
+ /**
191
+ * Displays the business processes section using the business-process-grid renderer.
192
+ * Hidden when no business processes exist for the object.
193
+ *
194
+ * @param log - The logging function
195
+ * @param result - The object result data
196
+ */
197
+ export function displayBusinessProcessesSection(log, result) {
198
+ if (result.businessProcesses.length === 0) {
199
+ return;
200
+ }
201
+ log(sectionHeaderWithCount('Business Processes', result.businessProcesses.length));
202
+ // Find years from the first process with age data (or fall back to object-level)
203
+ const firstWithAge = result.businessProcesses.find((bp) => bp.recordAgeDistribution);
204
+ const yearsSource = firstWithAge?.recordAgeDistribution?.years ?? result.recordAgeDistribution?.years;
205
+ if (!yearsSource) {
206
+ // No age data available — show minimal table without year columns
207
+ log(makeTable({
208
+ data: result.businessProcesses.map((bp) => ({
209
+ name: bp.name,
210
+ active: bp.isActive ? 'Yes' : 'No',
211
+ recordTypes: String(bp.recordTypeCount),
212
+ })),
213
+ columns: [
214
+ { key: 'name', name: 'Process Name' },
215
+ { key: 'active', name: 'Active' },
216
+ { key: 'recordTypes', name: 'Record Types' },
217
+ ],
218
+ borderStyle: TABLE_BORDER_STYLE,
219
+ }).trimEnd());
220
+ return;
221
+ }
222
+ const columns = buildBusinessProcessColumns(yearsSource);
223
+ const data = buildBusinessProcessTableData(result.businessProcesses, yearsSource);
224
+ log(makeTable({
225
+ data,
226
+ columns,
227
+ borderStyle: TABLE_BORDER_STYLE,
228
+ }).trimEnd());
229
+ }
230
+ /**
231
+ * Displays the field summary section as a summary box.
232
+ *
233
+ * @param log - The logging function
234
+ * @param result - The object result data
235
+ */
236
+ export function displayFieldSummarySection(log, result) {
237
+ log(renderSummaryBox({
238
+ title: 'Field Summary',
239
+ entries: [
240
+ { key: 'Total Fields', value: formatNumber(result.fieldSummary.total) },
241
+ { key: 'Standard Fields', value: formatNumber(result.fieldSummary.standard) },
242
+ { key: 'Custom Fields', value: formatNumber(result.fieldSummary.custom) },
243
+ { key: 'Formula Fields', value: formatNumber(result.fieldSummary.formula) },
244
+ { key: 'Lookup Fields', value: formatNumber(result.fieldSummary.lookup) },
245
+ ],
246
+ }));
247
+ }
248
+ /**
249
+ * Displays the field type distribution table.
250
+ *
251
+ * @param log - The logging function
252
+ * @param result - The object result data
253
+ */
254
+ export function displayFieldTypeDistributionSection(log, result) {
255
+ const msgs = getMessages();
256
+ if (result.fieldTypeDistribution.length === 0) {
257
+ return;
258
+ }
259
+ log(sectionHeader('Field Type Distribution'));
260
+ log(makeTable({
261
+ data: result.fieldTypeDistribution.map((dist) => ({
262
+ type: dist.type,
263
+ count: formatNumber(dist.count),
264
+ percent: formatPercent(dist.percent, 100),
265
+ })),
266
+ columns: [
267
+ { key: 'type', name: msgs.getMessage('output.table.fieldTypes.type') },
268
+ { key: 'count', name: msgs.getMessage('output.table.fieldTypes.count'), horizontalAlignment: 'right' },
269
+ {
270
+ key: 'percent',
271
+ name: msgs.getMessage('output.table.fieldTypes.percent'),
272
+ horizontalAlignment: 'right',
273
+ },
274
+ ],
275
+ borderStyle: TABLE_BORDER_STYLE,
276
+ }).trimEnd());
277
+ }
278
+ /**
279
+ * Displays the namespaces table.
280
+ *
281
+ * @param log - The logging function
282
+ * @param result - The object result data
283
+ */
284
+ export function displayNamespacesSection(log, result) {
285
+ const msgs = getMessages();
286
+ if (result.namespaces.length === 0) {
287
+ return;
288
+ }
289
+ log(sectionHeader('Namespaces'));
290
+ log(makeTable({
291
+ data: result.namespaces.map((ns) => ({
292
+ namespace: formatNamespace(ns.namespace, { standardLabel: '(unmanaged)' }),
293
+ fieldCount: formatNumber(ns.fieldCount),
294
+ })),
295
+ columns: [
296
+ { key: 'namespace', name: msgs.getMessage('output.table.namespaces.namespace') },
297
+ {
298
+ key: 'fieldCount',
299
+ name: msgs.getMessage('output.table.namespaces.fieldCount'),
300
+ horizontalAlignment: 'right',
301
+ },
302
+ ],
303
+ borderStyle: TABLE_BORDER_STYLE,
304
+ }).trimEnd());
305
+ }
306
+ /**
307
+ * Displays the referenced-by relationships section.
308
+ *
309
+ * @param log - The logging function
310
+ * @param result - The object result data
311
+ */
312
+ export function displayReferencedBySection(log, result) {
313
+ const msgs = getMessages();
314
+ if (result.relationships.referencedByCount === 0) {
315
+ return;
316
+ }
317
+ log(sectionHeaderWithCount('Relationships', result.relationships.referencedByCount));
318
+ const displayRefs = result.relationships.referencedBy.slice(0, 5);
319
+ log(makeTable({
320
+ data: displayRefs.map((ref) => ({
321
+ objectName: ref.objectName,
322
+ fieldName: ref.fieldName,
323
+ })),
324
+ columns: [
325
+ { key: 'objectName', name: msgs.getMessage('output.table.relationships.relatedObject') },
326
+ { key: 'fieldName', name: msgs.getMessage('output.table.relationships.field') },
327
+ ],
328
+ borderStyle: TABLE_BORDER_STYLE,
329
+ }).trimEnd());
330
+ if (result.relationships.referencedByCount > 5) {
331
+ log(` ... (${formatNumber(result.relationships.referencedByCount - 5)} more)`);
332
+ }
333
+ }
334
+ /**
335
+ * Displays the lookups section.
336
+ *
337
+ * @param log - The logging function
338
+ * @param result - The object result data
339
+ */
340
+ export function displayLookupsSection(log, result) {
341
+ const msgs = getMessages();
342
+ if (result.relationships.lookupFields.length === 0) {
343
+ return;
344
+ }
345
+ log(sectionHeaderWithCount('Lookups', result.relationships.lookupFields.length));
346
+ const displayLookups = result.relationships.lookupFields.slice(0, 5);
347
+ log(makeTable({
348
+ data: displayLookups.map((lf) => ({
349
+ fieldName: lf.fieldName,
350
+ targetObject: lf.targetObject,
351
+ })),
352
+ columns: [
353
+ { key: 'fieldName', name: msgs.getMessage('output.table.lookups.lookupField') },
354
+ { key: 'targetObject', name: msgs.getMessage('output.table.lookups.targetObject') },
355
+ ],
356
+ borderStyle: TABLE_BORDER_STYLE,
357
+ }).trimEnd());
358
+ if (result.relationships.lookupFields.length > 5) {
359
+ log(` ... (${formatNumber(result.relationships.lookupFields.length - 5)} more)`);
360
+ }
361
+ }
362
+ /**
363
+ * Displays the record age distribution table.
364
+ *
365
+ * @param log - The logging function
366
+ * @param result - The object result data
367
+ */
368
+ export function displayRecordAgeSection(log, result) {
369
+ if (!result.recordAgeDistribution) {
370
+ return;
371
+ }
372
+ const dist = result.recordAgeDistribution;
373
+ if (dist.years.length === 0) {
374
+ return;
375
+ }
376
+ log(sectionHeader('Record Age'));
377
+ log(makeTable({
378
+ data: buildRecordAgeTableData(dist),
379
+ columns: buildRecordAgeColumns(dist.years),
380
+ borderStyle: TABLE_BORDER_STYLE,
381
+ }).trimEnd());
382
+ }
383
+ /**
384
+ * Displays the profiling status section.
385
+ *
386
+ * Shows existing profiling definitions and their last profiled dates.
387
+ * Hidden when no definitions exist for the object.
388
+ *
389
+ * @param log - The logging function
390
+ * @param result - The object result data
391
+ */
392
+ export function displayProfilingStatusSection(log, result) {
393
+ const msgs = getMessages();
394
+ if (result.profilingStatus.definitionCount === 0) {
395
+ return;
396
+ }
397
+ log(sectionHeaderWithCount('Profiling Status', result.profilingStatus.definitionCount));
398
+ log(makeTable({
399
+ data: result.profilingStatus.definitions.map((def) => ({
400
+ name: def.name,
401
+ lastProfiled: def.latestSummaryDate ?? '—',
402
+ })),
403
+ columns: [
404
+ { key: 'name', name: msgs.getMessage('output.table.profilingStatus.name') },
405
+ { key: 'lastProfiled', name: msgs.getMessage('output.table.profilingStatus.lastProfiled') },
406
+ ],
407
+ borderStyle: TABLE_BORDER_STYLE,
408
+ }).trimEnd());
409
+ }
410
+ /**
411
+ * Displays the fields listing table.
412
+ *
413
+ * @param log - The logging function
414
+ * @param result - The object result data
415
+ */
416
+ export function displayFieldsSection(log, result) {
417
+ const msgs = getMessages();
418
+ if (!result.fields || result.fields.length === 0) {
419
+ return;
420
+ }
421
+ log(sectionHeaderWithCount('Fields', result.fields.length, 'total'));
422
+ log(makeTable({
423
+ data: result.fields.map((field) => ({
424
+ apiName: field.apiName,
425
+ label: field.label,
426
+ type: field.type,
427
+ custom: booleanDisplay(field.isCustom),
428
+ namespace: field.namespace ?? '-',
429
+ })),
430
+ columns: [
431
+ { key: 'apiName', name: msgs.getMessage('output.table.fields.apiName') },
432
+ { key: 'label', name: msgs.getMessage('output.table.fields.label') },
433
+ { key: 'type', name: msgs.getMessage('output.table.fields.type') },
434
+ { key: 'custom', name: msgs.getMessage('output.table.fields.custom') },
435
+ { key: 'namespace', name: msgs.getMessage('output.table.fields.namespace') },
436
+ ],
437
+ borderStyle: TABLE_BORDER_STYLE,
438
+ }).trimEnd());
439
+ }
440
+ //# sourceMappingURL=object-describe-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-describe-display.js","sourceRoot":"","sources":["../../../src/utils/formatting/object-describe-display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ import type { ObjectListResult, ObjectListItem, ObjectListSummary, NamespaceCount } from '../../services/ObjectListCommandService.js';
2
+ import { type OrgIdentity } from '../../services/OrgInfoService.js';
3
+ /**
4
+ * Enrichment flag configuration for conditional table columns.
5
+ */
6
+ export type EnrichmentFlags = {
7
+ readonly withFields: boolean;
8
+ readonly withRecordTypes: boolean;
9
+ readonly withBusinessProcess: boolean;
10
+ readonly withReferences: boolean;
11
+ readonly withContactPoints: boolean;
12
+ };
13
+ /**
14
+ * Pre-computed column widths for right-alignment of numeric columns.
15
+ */
16
+ export type ColumnWidths = {
17
+ readonly records: number;
18
+ readonly recordTypes: number;
19
+ readonly businessProcess: number;
20
+ readonly totalFields: number;
21
+ readonly custom: number;
22
+ readonly reference: number;
23
+ readonly cpTotal: number;
24
+ readonly cpEmail: number;
25
+ readonly cpPhone: number;
26
+ readonly cpUrl: number;
27
+ };
28
+ /**
29
+ * Contact point category totals across all objects.
30
+ */
31
+ export type CpCategoryTotals = {
32
+ readonly email: number;
33
+ readonly phone: number;
34
+ readonly url: number;
35
+ };
36
+ /**
37
+ * Computes per-category contact point totals across all objects.
38
+ *
39
+ * @param objects - The object list items to aggregate
40
+ * @returns Totals for email, phone, and URL contact point fields
41
+ */
42
+ export declare function computeCpCategoryTotals(objects: ObjectListItem[]): CpCategoryTotals;
43
+ /**
44
+ * Displays the complete object list results in table format.
45
+ *
46
+ * Orchestrates all display sub-sections: org identity, active filters,
47
+ * summary box, namespace distribution, object table, and next steps.
48
+ *
49
+ * @param log - The logging function (typically `this.log.bind(this)`)
50
+ * @param data - The ObjectListResult from the service
51
+ * @param orgIdentity - The org identity data (optional)
52
+ * @param instanceUrl - The org instance URL (optional)
53
+ * @param username - The target org username for Next Steps commands
54
+ */
55
+ export declare function displayResults(log: (msg: string) => void, data: ObjectListResult, orgIdentity?: OrgIdentity, instanceUrl?: string, username?: string): void;
56
+ /**
57
+ * Displays the namespace distribution table.
58
+ *
59
+ * @param log - The logging function
60
+ * @param namespaceCounts - The namespace counts from the summary
61
+ */
62
+ export declare function displayNamespaceDistribution(log: (msg: string) => void, namespaceCounts: NamespaceCount[]): void;
63
+ /**
64
+ * Displays the objects table with enrichment columns, or empty state if no objects match.
65
+ *
66
+ * @param log - The logging function
67
+ * @param data - The full ObjectListResult (for filters and summary)
68
+ * @param objects - The sorted objects to display
69
+ */
70
+ export declare function displayObjectsTable(log: (msg: string) => void, data: ObjectListResult, objects: ObjectListItem[]): void;
71
+ /**
72
+ * Displays contact point field details (email, phone, URL field names) for each object
73
+ * that has at least one contact point field, rendered as a sub-section after the main table.
74
+ *
75
+ * @param log - The logging function
76
+ * @param objects - The objects to display contact points for
77
+ */
78
+ export declare function displayContactPointDetails(log: (msg: string) => void, objects: ObjectListItem[]): void;
79
+ /**
80
+ * Builds separator and total rows for the objects table.
81
+ *
82
+ * @param summary - The object list summary with aggregate counts
83
+ * @param colWidths - Pre-computed column widths
84
+ * @param enrichmentFlags - Active enrichment flags
85
+ * @param cpTotals - Contact point category totals
86
+ * @returns Separator and total row data
87
+ */
88
+ export declare function buildTotalRows(summary: ObjectListSummary, colWidths: ColumnWidths, enrichmentFlags: EnrichmentFlags, cpTotals: CpCategoryTotals): {
89
+ separatorRow: Record<string, string>;
90
+ totalRow: Record<string, string>;
91
+ };
92
+ /**
93
+ * Pre-computes column widths for right-alignment of numeric columns.
94
+ * Includes summary totals in the max width calculation to prevent
95
+ * alignment drift when a total value is wider than any data value.
96
+ *
97
+ * @param objects - The objects to compute widths for
98
+ * @param enrichmentFlags - Active enrichment flags
99
+ * @param summary - The summary with aggregate totals
100
+ * @param cpTotals - Contact point category totals
101
+ * @returns Pre-computed column widths
102
+ */
103
+ export declare function computeColWidths(objects: ObjectListItem[], enrichmentFlags: EnrichmentFlags, summary: ObjectListSummary, cpTotals: CpCategoryTotals): ColumnWidths;
104
+ /**
105
+ * Formats a single object row for the table display, including optional enrichment columns.
106
+ *
107
+ * @param obj - The object list item to format
108
+ * @param colWidths - Pre-computed column widths for right-alignment
109
+ * @param enrichmentFlags - Active enrichment flags for conditional columns
110
+ * @returns A record of column key to formatted string value
111
+ */
112
+ export declare function formatObjectRow(obj: ObjectListItem, colWidths: ColumnWidths, enrichmentFlags?: EnrichmentFlags): Record<string, string>;
113
+ /**
114
+ * Gets table column definitions, including optional enrichment columns.
115
+ * Numeric columns use horizontalAlignment: 'right' for consistent rendering.
116
+ *
117
+ * @param enrichmentFlags - Active enrichment flags for conditional columns
118
+ * @returns Array of column definitions for makeTable
119
+ */
120
+ export declare function getTableColumns(enrichmentFlags?: EnrichmentFlags): Array<{
121
+ key: string;
122
+ name: string;
123
+ horizontalAlignment?: 'left' | 'right';
124
+ }>;
125
+ /**
126
+ * Builds a list of human-readable descriptions for active filters.
127
+ *
128
+ * @param filters - The applied filter options from the service result
129
+ * @returns Array of filter description strings (empty if no filters active)
130
+ */
131
+ export declare function getActiveFilters(filters: ObjectListResult['filters']): string[];
132
+ /**
133
+ * Returns active filters ordered by selectivity (most restrictive first).
134
+ * Used in empty state display to help users identify which filter to relax.
135
+ *
136
+ * @param filters - The applied filter options from the service result
137
+ * @returns Array of filter flag strings ordered by selectivity
138
+ */
139
+ export declare function getSelectiveFilters(filters: ObjectListResult['filters']): string[];
140
+ /**
141
+ * Builds the command result for JSON output.
142
+ *
143
+ * @param data - The ObjectListResult from the service
144
+ * @param flags - The parsed command flags
145
+ * @param orgIdentity - The org identity data (optional)
146
+ * @param instanceUrl - The org instance URL (optional)
147
+ * @param metadata - Service metadata with duration
148
+ * @returns ObjectListCommandResult for JSON output
149
+ */
150
+ export declare function buildCommandResult(data: ObjectListResult, flags: {
151
+ object?: string;
152
+ filter: 'all' | 'standard' | 'custom';
153
+ namespace?: string;
154
+ pattern?: string;
155
+ 'with-records': boolean;
156
+ 'without-records': boolean;
157
+ 'with-owner': boolean;
158
+ 'with-record-types': boolean;
159
+ 'with-business-process': boolean;
160
+ 'with-fields': boolean;
161
+ 'with-references': boolean;
162
+ 'with-contact-points': boolean;
163
+ classification: 'customer' | 'internal' | 'all';
164
+ 'min-records'?: number;
165
+ sort: 'name' | 'recordCount' | 'label';
166
+ limit?: number;
167
+ }, orgIdentity?: OrgIdentity, instanceUrl?: string, metadata?: {
168
+ duration?: number;
169
+ }): {
170
+ success: boolean;
171
+ orgIdentity?: {
172
+ orgId: string;
173
+ orgName: string;
174
+ orgType: string;
175
+ isSandbox: boolean;
176
+ instanceUrl: string;
177
+ username: string;
178
+ namespacePrefix?: string;
179
+ };
180
+ summary: ObjectListSummary;
181
+ filters: {
182
+ object?: string;
183
+ filter?: string;
184
+ namespace?: string;
185
+ pattern?: string;
186
+ withRecords?: boolean;
187
+ withoutRecords?: boolean;
188
+ withOwner?: boolean;
189
+ withRecordTypes?: boolean;
190
+ withBusinessProcess?: boolean;
191
+ includeFieldCounts?: boolean;
192
+ includeReferences?: boolean;
193
+ withContactPoints?: boolean;
194
+ classification?: 'customer' | 'internal' | 'all';
195
+ minRecords?: number;
196
+ sort?: string;
197
+ limit?: number;
198
+ };
199
+ objects: ObjectListItem[];
200
+ metadata?: {
201
+ duration?: number;
202
+ };
203
+ };
204
+ /**
205
+ * Displays contextual next steps based on the objects in the result.
206
+ * Suggests object describe commands for meaningful objects and
207
+ * always ends with the definition create command.
208
+ *
209
+ * @param log - The logging function
210
+ * @param objects - The object list items
211
+ * @param username - The target org username for command examples
212
+ */
213
+ export declare function displayNextSteps(log: (msg: string) => void, objects: ObjectListItem[], username?: string): void;