@peernova/cuneiform-sf 1.0.2 → 1.0.4-beta.10

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 (488) hide show
  1. package/LICENSE +81 -30
  2. package/README.md +168 -134
  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/lifecycle.d.ts +112 -0
  10. package/lib/adapters/lifecycle.js +94 -0
  11. package/lib/adapters/lifecycle.js.map +1 -0
  12. package/lib/adapters/rest/cache.d.ts +69 -0
  13. package/lib/adapters/rest/cache.js +133 -0
  14. package/lib/adapters/rest/cache.js.map +1 -0
  15. package/lib/adapters/rest/index.d.ts +11 -0
  16. package/lib/adapters/rest/index.js +18 -0
  17. package/lib/adapters/rest/index.js.map +1 -0
  18. package/lib/adapters/rest/profiling-rest-client.d.ts +137 -0
  19. package/lib/adapters/rest/profiling-rest-client.js +115 -0
  20. package/lib/adapters/rest/profiling-rest-client.js.map +1 -0
  21. package/lib/adapters/rest/rest-api-adapter.d.ts +393 -0
  22. package/lib/adapters/rest/rest-api-adapter.js +764 -0
  23. package/lib/adapters/rest/rest-api-adapter.js.map +1 -0
  24. package/lib/adapters/rest/types.d.ts +34 -0
  25. package/lib/adapters/rest/types.js +9 -0
  26. package/lib/adapters/rest/types.js.map +1 -0
  27. package/lib/adapters/retry.d.ts +91 -0
  28. package/lib/adapters/retry.js +215 -0
  29. package/lib/adapters/retry.js.map +1 -0
  30. package/lib/adapters/soql/cuneiform-query-builder.d.ts +418 -0
  31. package/lib/adapters/soql/cuneiform-query-builder.js +606 -0
  32. package/lib/adapters/soql/cuneiform-query-builder.js.map +1 -0
  33. package/lib/adapters/soql/soql-query-adapter.d.ts +141 -0
  34. package/lib/adapters/soql/soql-query-adapter.js +259 -0
  35. package/lib/adapters/soql/soql-query-adapter.js.map +1 -0
  36. package/lib/adapters/soql/types.d.ts +37 -0
  37. package/lib/adapters/soql/types.js +19 -0
  38. package/lib/adapters/soql/types.js.map +1 -0
  39. package/lib/adapters/testing/index.d.ts +37 -0
  40. package/lib/adapters/testing/index.js +20 -0
  41. package/lib/adapters/testing/index.js.map +1 -0
  42. package/lib/adapters/testing/mock-connection.d.ts +77 -0
  43. package/lib/adapters/testing/mock-connection.js +207 -0
  44. package/lib/adapters/testing/mock-connection.js.map +1 -0
  45. package/lib/adapters/testing/mock-logger.d.ts +29 -0
  46. package/lib/adapters/testing/mock-logger.js +57 -0
  47. package/lib/adapters/testing/mock-logger.js.map +1 -0
  48. package/lib/adapters/testing/mock-mcp-adapters.d.ts +32 -0
  49. package/lib/adapters/testing/mock-mcp-adapters.js +52 -0
  50. package/lib/adapters/testing/mock-mcp-adapters.js.map +1 -0
  51. package/lib/adapters/testing/mock-oclif-config.d.ts +22 -0
  52. package/lib/adapters/testing/mock-oclif-config.js +90 -0
  53. package/lib/adapters/testing/mock-oclif-config.js.map +1 -0
  54. package/lib/adapters/testing/mock-rest-adapter.d.ts +26 -0
  55. package/lib/adapters/testing/mock-rest-adapter.js +243 -0
  56. package/lib/adapters/testing/mock-rest-adapter.js.map +1 -0
  57. package/lib/adapters/testing/mock-salesforce-connection.d.ts +40 -0
  58. package/lib/adapters/testing/mock-salesforce-connection.js +61 -0
  59. package/lib/adapters/testing/mock-salesforce-connection.js.map +1 -0
  60. package/lib/adapters/testing/mock-soql-adapter.d.ts +30 -0
  61. package/lib/adapters/testing/mock-soql-adapter.js +120 -0
  62. package/lib/adapters/testing/mock-soql-adapter.js.map +1 -0
  63. package/lib/adapters/testing/mock-tooling-adapter.d.ts +24 -0
  64. package/lib/adapters/testing/mock-tooling-adapter.js +163 -0
  65. package/lib/adapters/testing/mock-tooling-adapter.js.map +1 -0
  66. package/lib/adapters/testing/stub-connection.d.ts +93 -0
  67. package/lib/adapters/testing/stub-connection.js +97 -0
  68. package/lib/adapters/testing/stub-connection.js.map +1 -0
  69. package/lib/adapters/testing/stub-rest-adapter.d.ts +52 -0
  70. package/lib/adapters/testing/stub-rest-adapter.js +58 -0
  71. package/lib/adapters/testing/stub-rest-adapter.js.map +1 -0
  72. package/lib/adapters/testing/stub-soql-adapter.d.ts +56 -0
  73. package/lib/adapters/testing/stub-soql-adapter.js +50 -0
  74. package/lib/adapters/testing/stub-soql-adapter.js.map +1 -0
  75. package/lib/adapters/testing/types.d.ts +71 -0
  76. package/lib/adapters/testing/types.js +9 -0
  77. package/lib/adapters/testing/types.js.map +1 -0
  78. package/lib/adapters/tooling/index.d.ts +10 -0
  79. package/lib/adapters/tooling/index.js +17 -0
  80. package/lib/adapters/tooling/index.js.map +1 -0
  81. package/lib/adapters/tooling/tooling-api-adapter.d.ts +157 -0
  82. package/lib/adapters/tooling/tooling-api-adapter.js +339 -0
  83. package/lib/adapters/tooling/tooling-api-adapter.js.map +1 -0
  84. package/lib/adapters/tooling/types.d.ts +81 -0
  85. package/lib/adapters/tooling/types.js +9 -0
  86. package/lib/adapters/tooling/types.js.map +1 -0
  87. package/lib/adapters/types.d.ts +112 -0
  88. package/lib/adapters/types.js +169 -0
  89. package/lib/adapters/types.js.map +1 -0
  90. package/lib/base/cuneiform-command.d.ts +175 -0
  91. package/lib/base/cuneiform-command.js +326 -0
  92. package/lib/base/cuneiform-command.js.map +1 -0
  93. package/lib/commands/cuneiform/compatibility/check.d.ts +43 -0
  94. package/lib/commands/cuneiform/compatibility/check.js +114 -0
  95. package/lib/commands/cuneiform/compatibility/check.js.map +1 -0
  96. package/lib/commands/cuneiform/definition/create.d.ts +120 -0
  97. package/lib/commands/cuneiform/definition/create.js +737 -0
  98. package/lib/commands/cuneiform/definition/create.js.map +1 -0
  99. package/lib/commands/cuneiform/definition/export.d.ts +57 -0
  100. package/lib/commands/cuneiform/definition/export.js +133 -0
  101. package/lib/commands/cuneiform/definition/export.js.map +1 -0
  102. package/lib/commands/cuneiform/definition/get.d.ts +86 -0
  103. package/lib/commands/cuneiform/definition/get.js +277 -0
  104. package/lib/commands/cuneiform/definition/get.js.map +1 -0
  105. package/lib/commands/cuneiform/definition/import.d.ts +54 -0
  106. package/lib/commands/cuneiform/definition/import.js +118 -0
  107. package/lib/commands/cuneiform/definition/import.js.map +1 -0
  108. package/lib/commands/cuneiform/definition/list.d.ts +110 -0
  109. package/lib/commands/cuneiform/definition/list.js +351 -0
  110. package/lib/commands/cuneiform/definition/list.js.map +1 -0
  111. package/lib/commands/cuneiform/definition/purge.d.ts +109 -0
  112. package/lib/commands/cuneiform/definition/purge.js +578 -0
  113. package/lib/commands/cuneiform/definition/purge.js.map +1 -0
  114. package/lib/commands/cuneiform/definition/update.d.ts +58 -0
  115. package/lib/commands/cuneiform/definition/update.js +209 -0
  116. package/lib/commands/cuneiform/definition/update.js.map +1 -0
  117. package/lib/commands/cuneiform/mcp/serve.d.ts +56 -0
  118. package/lib/commands/cuneiform/mcp/serve.js +109 -0
  119. package/lib/commands/cuneiform/mcp/serve.js.map +1 -0
  120. package/lib/commands/cuneiform/object/describe.d.ts +61 -0
  121. package/lib/commands/cuneiform/object/describe.js +461 -0
  122. package/lib/commands/cuneiform/object/describe.js.map +1 -0
  123. package/lib/commands/cuneiform/object/list.d.ts +123 -0
  124. package/lib/commands/cuneiform/object/list.js +264 -0
  125. package/lib/commands/cuneiform/object/list.js.map +1 -0
  126. package/lib/commands/cuneiform/org/details.d.ts +99 -0
  127. package/lib/commands/cuneiform/org/details.js +521 -0
  128. package/lib/commands/cuneiform/org/details.js.map +1 -0
  129. package/lib/commands/cuneiform/org/reset.d.ts +46 -0
  130. package/lib/commands/cuneiform/org/reset.js +135 -0
  131. package/lib/commands/cuneiform/org/reset.js.map +1 -0
  132. package/lib/commands/cuneiform/profile/request/cancel.d.ts +59 -0
  133. package/lib/commands/cuneiform/profile/request/cancel.js +202 -0
  134. package/lib/commands/cuneiform/profile/request/cancel.js.map +1 -0
  135. package/lib/commands/cuneiform/profile/request/delete.d.ts +59 -0
  136. package/lib/commands/cuneiform/profile/request/delete.js +223 -0
  137. package/lib/commands/cuneiform/profile/request/delete.js.map +1 -0
  138. package/lib/commands/cuneiform/profile/request/list.d.ts +35 -0
  139. package/lib/commands/cuneiform/profile/request/list.js +102 -0
  140. package/lib/commands/cuneiform/profile/request/list.js.map +1 -0
  141. package/lib/commands/cuneiform/profile.d.ts +93 -0
  142. package/lib/commands/cuneiform/profile.js +353 -0
  143. package/lib/commands/cuneiform/profile.js.map +1 -0
  144. package/lib/commands/cuneiform/summary/purge.d.ts +80 -0
  145. package/lib/commands/cuneiform/summary/purge.js +467 -0
  146. package/lib/commands/cuneiform/summary/purge.js.map +1 -0
  147. package/lib/commands/cuneiform/summary/reprofile.d.ts +60 -0
  148. package/lib/commands/cuneiform/summary/reprofile.js +236 -0
  149. package/lib/commands/cuneiform/summary/reprofile.js.map +1 -0
  150. package/lib/commands/cuneiform/summary/stop.d.ts +59 -0
  151. package/lib/commands/cuneiform/summary/stop.js +234 -0
  152. package/lib/commands/cuneiform/summary/stop.js.map +1 -0
  153. package/lib/commands/cuneiform/user/details.d.ts +77 -0
  154. package/lib/commands/cuneiform/user/details.js +414 -0
  155. package/lib/commands/cuneiform/user/details.js.map +1 -0
  156. package/lib/constants/namespace-constants.d.ts +102 -0
  157. package/lib/constants/namespace-constants.js +225 -0
  158. package/lib/constants/namespace-constants.js.map +1 -0
  159. package/lib/debug/command-debug-proxy.d.ts +101 -0
  160. package/lib/debug/command-debug-proxy.js +171 -0
  161. package/lib/debug/command-debug-proxy.js.map +1 -0
  162. package/lib/debug/debug-logger.d.ts +85 -0
  163. package/lib/debug/debug-logger.js +133 -0
  164. package/lib/debug/debug-logger.js.map +1 -0
  165. package/lib/debug/service-debug-proxy.d.ts +30 -0
  166. package/lib/debug/service-debug-proxy.js +102 -0
  167. package/lib/debug/service-debug-proxy.js.map +1 -0
  168. package/lib/hooks/prerun.d.ts +25 -0
  169. package/lib/hooks/prerun.js +47 -0
  170. package/lib/hooks/prerun.js.map +1 -0
  171. package/lib/mcp/config/mcp-config.d.ts +55 -0
  172. package/lib/mcp/config/mcp-config.js +51 -0
  173. package/lib/mcp/config/mcp-config.js.map +1 -0
  174. package/lib/mcp/config/pagination.d.ts +96 -0
  175. package/lib/mcp/config/pagination.js +108 -0
  176. package/lib/mcp/config/pagination.js.map +1 -0
  177. package/lib/mcp/config/system-prompts.d.ts +18 -0
  178. package/lib/mcp/config/system-prompts.js +92 -0
  179. package/lib/mcp/config/system-prompts.js.map +1 -0
  180. package/lib/mcp/errors.d.ts +23 -0
  181. package/lib/mcp/errors.js +27 -0
  182. package/lib/mcp/errors.js.map +1 -0
  183. package/lib/mcp/schemas/input-schemas.d.ts +327 -0
  184. package/lib/mcp/schemas/input-schemas.js +310 -0
  185. package/lib/mcp/schemas/input-schemas.js.map +1 -0
  186. package/lib/mcp/server.d.ts +40 -0
  187. package/lib/mcp/server.js +316 -0
  188. package/lib/mcp/server.js.map +1 -0
  189. package/lib/mcp/tools/contactpoint-tools.d.ts +14 -0
  190. package/lib/mcp/tools/contactpoint-tools.js +34 -0
  191. package/lib/mcp/tools/contactpoint-tools.js.map +1 -0
  192. package/lib/mcp/tools/definition-io-tools.d.ts +19 -0
  193. package/lib/mcp/tools/definition-io-tools.js +152 -0
  194. package/lib/mcp/tools/definition-io-tools.js.map +1 -0
  195. package/lib/mcp/tools/definition-tools.d.ts +51 -0
  196. package/lib/mcp/tools/definition-tools.js +220 -0
  197. package/lib/mcp/tools/definition-tools.js.map +1 -0
  198. package/lib/mcp/tools/index.d.ts +37 -0
  199. package/lib/mcp/tools/index.js +88 -0
  200. package/lib/mcp/tools/index.js.map +1 -0
  201. package/lib/mcp/tools/object-tools.d.ts +22 -0
  202. package/lib/mcp/tools/object-tools.js +327 -0
  203. package/lib/mcp/tools/object-tools.js.map +1 -0
  204. package/lib/mcp/tools/org-tools.d.ts +14 -0
  205. package/lib/mcp/tools/org-tools.js +177 -0
  206. package/lib/mcp/tools/org-tools.js.map +1 -0
  207. package/lib/mcp/tools/profile-tools.d.ts +59 -0
  208. package/lib/mcp/tools/profile-tools.js +213 -0
  209. package/lib/mcp/tools/profile-tools.js.map +1 -0
  210. package/lib/mcp/tools/summary-tools.d.ts +14 -0
  211. package/lib/mcp/tools/summary-tools.js +38 -0
  212. package/lib/mcp/tools/summary-tools.js.map +1 -0
  213. package/lib/mcp/tools/tool-factory.d.ts +63 -0
  214. package/lib/mcp/tools/tool-factory.js +146 -0
  215. package/lib/mcp/tools/tool-factory.js.map +1 -0
  216. package/lib/mcp/tools/user-tools.d.ts +25 -0
  217. package/lib/mcp/tools/user-tools.js +167 -0
  218. package/lib/mcp/tools/user-tools.js.map +1 -0
  219. package/lib/models/cascade-skip-accumulator.d.ts +25 -0
  220. package/lib/models/cascade-skip-accumulator.js +9 -0
  221. package/lib/models/cascade-skip-accumulator.js.map +1 -0
  222. package/lib/models/date-literal.d.ts +280 -0
  223. package/lib/models/date-literal.js +1164 -0
  224. package/lib/models/date-literal.js.map +1 -0
  225. package/lib/models/object-describe-types.d.ts +173 -0
  226. package/lib/models/object-describe-types.js +9 -0
  227. package/lib/models/object-describe-types.js.map +1 -0
  228. package/lib/models/portability-recipe.d.ts +35 -0
  229. package/lib/models/portability-recipe.js +113 -0
  230. package/lib/models/portability-recipe.js.map +1 -0
  231. package/lib/models/profile-request-types.d.ts +118 -0
  232. package/lib/models/profile-request-types.js +23 -0
  233. package/lib/models/profile-request-types.js.map +1 -0
  234. package/lib/models/profiling-execution-types.d.ts +154 -0
  235. package/lib/models/profiling-execution-types.js +14 -0
  236. package/lib/models/profiling-execution-types.js.map +1 -0
  237. package/lib/models/service-result.d.ts +114 -0
  238. package/lib/models/service-result.js +81 -0
  239. package/lib/models/service-result.js.map +1 -0
  240. package/lib/models/sfdmu-types.d.ts +49 -0
  241. package/lib/models/sfdmu-types.js +23 -0
  242. package/lib/models/sfdmu-types.js.map +1 -0
  243. package/lib/models/status-types.d.ts +38 -0
  244. package/lib/models/status-types.js +12 -0
  245. package/lib/models/status-types.js.map +1 -0
  246. package/lib/models/summary-bulk-types.d.ts +61 -0
  247. package/lib/models/summary-bulk-types.js +23 -0
  248. package/lib/models/summary-bulk-types.js.map +1 -0
  249. package/lib/models/user-details-types.d.ts +188 -0
  250. package/lib/models/user-details-types.js +9 -0
  251. package/lib/models/user-details-types.js.map +1 -0
  252. package/lib/models/year-range.d.ts +78 -0
  253. package/lib/models/year-range.js +153 -0
  254. package/lib/models/year-range.js.map +1 -0
  255. package/lib/operations/CompatibilityCheckOperation.d.ts +62 -0
  256. package/lib/operations/CompatibilityCheckOperation.js +102 -0
  257. package/lib/operations/CompatibilityCheckOperation.js.map +1 -0
  258. package/lib/operations/DefinitionCreateOperation.d.ts +427 -0
  259. package/lib/operations/DefinitionCreateOperation.js +1270 -0
  260. package/lib/operations/DefinitionCreateOperation.js.map +1 -0
  261. package/lib/operations/DefinitionExportOperation.d.ts +155 -0
  262. package/lib/operations/DefinitionExportOperation.js +281 -0
  263. package/lib/operations/DefinitionExportOperation.js.map +1 -0
  264. package/lib/operations/DefinitionImportOperation.d.ts +144 -0
  265. package/lib/operations/DefinitionImportOperation.js +357 -0
  266. package/lib/operations/DefinitionImportOperation.js.map +1 -0
  267. package/lib/operations/DefinitionListOperation.d.ts +66 -0
  268. package/lib/operations/DefinitionListOperation.js +108 -0
  269. package/lib/operations/DefinitionListOperation.js.map +1 -0
  270. package/lib/operations/DefinitionPurgeOperation.d.ts +203 -0
  271. package/lib/operations/DefinitionPurgeOperation.js +465 -0
  272. package/lib/operations/DefinitionPurgeOperation.js.map +1 -0
  273. package/lib/operations/DefinitionUpdateOperation.d.ts +78 -0
  274. package/lib/operations/DefinitionUpdateOperation.js +142 -0
  275. package/lib/operations/DefinitionUpdateOperation.js.map +1 -0
  276. package/lib/operations/OrgDetailsOperation.d.ts +253 -0
  277. package/lib/operations/OrgDetailsOperation.js +456 -0
  278. package/lib/operations/OrgDetailsOperation.js.map +1 -0
  279. package/lib/operations/OrgResetOperation.d.ts +114 -0
  280. package/lib/operations/OrgResetOperation.js +209 -0
  281. package/lib/operations/OrgResetOperation.js.map +1 -0
  282. package/lib/operations/ProfileOperation.d.ts +192 -0
  283. package/lib/operations/ProfileOperation.js +371 -0
  284. package/lib/operations/ProfileOperation.js.map +1 -0
  285. package/lib/operations/ProfileRequestCancelOperation.d.ts +59 -0
  286. package/lib/operations/ProfileRequestCancelOperation.js +137 -0
  287. package/lib/operations/ProfileRequestCancelOperation.js.map +1 -0
  288. package/lib/operations/ProfileRequestDeleteOperation.d.ts +64 -0
  289. package/lib/operations/ProfileRequestDeleteOperation.js +134 -0
  290. package/lib/operations/ProfileRequestDeleteOperation.js.map +1 -0
  291. package/lib/operations/ProfileRequestListOperation.d.ts +39 -0
  292. package/lib/operations/ProfileRequestListOperation.js +61 -0
  293. package/lib/operations/ProfileRequestListOperation.js.map +1 -0
  294. package/lib/operations/SummaryPurgeOperation.d.ts +134 -0
  295. package/lib/operations/SummaryPurgeOperation.js +257 -0
  296. package/lib/operations/SummaryPurgeOperation.js.map +1 -0
  297. package/lib/operations/SummaryReprofileOperation.d.ts +88 -0
  298. package/lib/operations/SummaryReprofileOperation.js +174 -0
  299. package/lib/operations/SummaryReprofileOperation.js.map +1 -0
  300. package/lib/operations/SummaryStopOperation.d.ts +87 -0
  301. package/lib/operations/SummaryStopOperation.js +175 -0
  302. package/lib/operations/SummaryStopOperation.js.map +1 -0
  303. package/lib/services/BulkExecutionService.d.ts +120 -0
  304. package/lib/services/BulkExecutionService.js +535 -0
  305. package/lib/services/BulkExecutionService.js.map +1 -0
  306. package/lib/services/CompatibilityService.d.ts +81 -0
  307. package/lib/services/CompatibilityService.js +118 -0
  308. package/lib/services/CompatibilityService.js.map +1 -0
  309. package/lib/services/ConfigureMode.d.ts +98 -0
  310. package/lib/services/ConfigureMode.js +413 -0
  311. package/lib/services/ConfigureMode.js.map +1 -0
  312. package/lib/services/ContactPointService.d.ts +111 -0
  313. package/lib/services/ContactPointService.js +286 -0
  314. package/lib/services/ContactPointService.js.map +1 -0
  315. package/lib/services/DataAvailabilityService.d.ts +81 -0
  316. package/lib/services/DataAvailabilityService.js +128 -0
  317. package/lib/services/DataAvailabilityService.js.map +1 -0
  318. package/lib/services/DefinitionFieldGenerationService.d.ts +357 -0
  319. package/lib/services/DefinitionFieldGenerationService.js +899 -0
  320. package/lib/services/DefinitionFieldGenerationService.js.map +1 -0
  321. package/lib/services/DefinitionQueryBuilder.d.ts +92 -0
  322. package/lib/services/DefinitionQueryBuilder.js +328 -0
  323. package/lib/services/DefinitionQueryBuilder.js.map +1 -0
  324. package/lib/services/ObjectDescribeService.d.ts +436 -0
  325. package/lib/services/ObjectDescribeService.js +881 -0
  326. package/lib/services/ObjectDescribeService.js.map +1 -0
  327. package/lib/services/ObjectFilteringService.d.ts +484 -0
  328. package/lib/services/ObjectFilteringService.js +1080 -0
  329. package/lib/services/ObjectFilteringService.js.map +1 -0
  330. package/lib/services/ObjectListCommandService.d.ts +467 -0
  331. package/lib/services/ObjectListCommandService.js +904 -0
  332. package/lib/services/ObjectListCommandService.js.map +1 -0
  333. package/lib/services/ObjectListService.d.ts +201 -0
  334. package/lib/services/ObjectListService.js +350 -0
  335. package/lib/services/ObjectListService.js.map +1 -0
  336. package/lib/services/OrgInfoService.d.ts +493 -0
  337. package/lib/services/OrgInfoService.js +1142 -0
  338. package/lib/services/OrgInfoService.js.map +1 -0
  339. package/lib/services/PollingService.d.ts +105 -0
  340. package/lib/services/PollingService.js +117 -0
  341. package/lib/services/PollingService.js.map +1 -0
  342. package/lib/services/ProfileRequestService.d.ts +186 -0
  343. package/lib/services/ProfileRequestService.js +555 -0
  344. package/lib/services/ProfileRequestService.js.map +1 -0
  345. package/lib/services/ProfilingDefinitionService.d.ts +575 -0
  346. package/lib/services/ProfilingDefinitionService.js +1029 -0
  347. package/lib/services/ProfilingDefinitionService.js.map +1 -0
  348. package/lib/services/ProfilingExecutionService.d.ts +122 -0
  349. package/lib/services/ProfilingExecutionService.js +320 -0
  350. package/lib/services/ProfilingExecutionService.js.map +1 -0
  351. package/lib/services/ProfilingSummaryService.d.ts +292 -0
  352. package/lib/services/ProfilingSummaryService.js +688 -0
  353. package/lib/services/ProfilingSummaryService.js.map +1 -0
  354. package/lib/services/RecordTypeService.d.ts +129 -0
  355. package/lib/services/RecordTypeService.js +284 -0
  356. package/lib/services/RecordTypeService.js.map +1 -0
  357. package/lib/services/SFDMUService.d.ts +146 -0
  358. package/lib/services/SFDMUService.js +323 -0
  359. package/lib/services/SFDMUService.js.map +1 -0
  360. package/lib/services/TabDetectionService.d.ts +105 -0
  361. package/lib/services/TabDetectionService.js +206 -0
  362. package/lib/services/TabDetectionService.js.map +1 -0
  363. package/lib/services/UnconfigureMode.d.ts +74 -0
  364. package/lib/services/UnconfigureMode.js +378 -0
  365. package/lib/services/UnconfigureMode.js.map +1 -0
  366. package/lib/services/UserConfigurationService.d.ts +158 -0
  367. package/lib/services/UserConfigurationService.js +574 -0
  368. package/lib/services/UserConfigurationService.js.map +1 -0
  369. package/lib/services/UserConfigurationTypes.d.ts +181 -0
  370. package/lib/services/UserConfigurationTypes.js +14 -0
  371. package/lib/services/UserConfigurationTypes.js.map +1 -0
  372. package/lib/services/UserReadinessService.d.ts +347 -0
  373. package/lib/services/UserReadinessService.js +891 -0
  374. package/lib/services/UserReadinessService.js.map +1 -0
  375. package/lib/services/constants.d.ts +54 -0
  376. package/lib/services/constants.js +71 -0
  377. package/lib/services/constants.js.map +1 -0
  378. package/lib/services/namespace-constants.d.ts +1 -0
  379. package/lib/services/namespace-constants.js +11 -0
  380. package/lib/services/namespace-constants.js.map +1 -0
  381. package/lib/services/namespace-filter.d.ts +36 -0
  382. package/lib/services/namespace-filter.js +109 -0
  383. package/lib/services/namespace-filter.js.map +1 -0
  384. package/lib/services/validation.d.ts +47 -0
  385. package/lib/services/validation.js +119 -0
  386. package/lib/services/validation.js.map +1 -0
  387. package/lib/utils/batch-processor.d.ts +13 -0
  388. package/lib/utils/batch-processor.js +39 -0
  389. package/lib/utils/batch-processor.js.map +1 -0
  390. package/lib/utils/formatting/availability-grid.d.ts +81 -0
  391. package/lib/utils/formatting/availability-grid.js +94 -0
  392. package/lib/utils/formatting/availability-grid.js.map +1 -0
  393. package/lib/utils/formatting/business-process-grid.d.ts +51 -0
  394. package/lib/utils/formatting/business-process-grid.js +58 -0
  395. package/lib/utils/formatting/business-process-grid.js.map +1 -0
  396. package/lib/utils/formatting/command-display.d.ts +154 -0
  397. package/lib/utils/formatting/command-display.js +154 -0
  398. package/lib/utils/formatting/command-display.js.map +1 -0
  399. package/lib/utils/formatting/definition-create-display.d.ts +118 -0
  400. package/lib/utils/formatting/definition-create-display.js +230 -0
  401. package/lib/utils/formatting/definition-create-display.js.map +1 -0
  402. package/lib/utils/formatting/empty-states.d.ts +35 -0
  403. package/lib/utils/formatting/empty-states.js +70 -0
  404. package/lib/utils/formatting/empty-states.js.map +1 -0
  405. package/lib/utils/formatting/errors.d.ts +33 -0
  406. package/lib/utils/formatting/errors.js +72 -0
  407. package/lib/utils/formatting/errors.js.map +1 -0
  408. package/lib/utils/formatting/field-types.d.ts +32 -0
  409. package/lib/utils/formatting/field-types.js +88 -0
  410. package/lib/utils/formatting/field-types.js.map +1 -0
  411. package/lib/utils/formatting/index.d.ts +29 -0
  412. package/lib/utils/formatting/index.js +28 -0
  413. package/lib/utils/formatting/index.js.map +1 -0
  414. package/lib/utils/formatting/indicators.d.ts +113 -0
  415. package/lib/utils/formatting/indicators.js +161 -0
  416. package/lib/utils/formatting/indicators.js.map +1 -0
  417. package/lib/utils/formatting/loading-messages.d.ts +37 -0
  418. package/lib/utils/formatting/loading-messages.js +50 -0
  419. package/lib/utils/formatting/loading-messages.js.map +1 -0
  420. package/lib/utils/formatting/namespace-display.d.ts +31 -0
  421. package/lib/utils/formatting/namespace-display.js +64 -0
  422. package/lib/utils/formatting/namespace-display.js.map +1 -0
  423. package/lib/utils/formatting/numbers.d.ts +73 -0
  424. package/lib/utils/formatting/numbers.js +187 -0
  425. package/lib/utils/formatting/numbers.js.map +1 -0
  426. package/lib/utils/formatting/object-describe-display.d.ts +117 -0
  427. package/lib/utils/formatting/object-describe-display.js +447 -0
  428. package/lib/utils/formatting/object-describe-display.js.map +1 -0
  429. package/lib/utils/formatting/object-list-display.d.ts +225 -0
  430. package/lib/utils/formatting/object-list-display.js +718 -0
  431. package/lib/utils/formatting/object-list-display.js.map +1 -0
  432. package/lib/utils/formatting/org-identity.d.ts +15 -0
  433. package/lib/utils/formatting/org-identity.js +28 -0
  434. package/lib/utils/formatting/org-identity.js.map +1 -0
  435. package/lib/utils/formatting/record-age-grid.d.ts +41 -0
  436. package/lib/utils/formatting/record-age-grid.js +56 -0
  437. package/lib/utils/formatting/record-age-grid.js.map +1 -0
  438. package/lib/utils/formatting/sections.d.ts +108 -0
  439. package/lib/utils/formatting/sections.js +150 -0
  440. package/lib/utils/formatting/sections.js.map +1 -0
  441. package/lib/utils/formatting/tables.d.ts +90 -0
  442. package/lib/utils/formatting/tables.js +113 -0
  443. package/lib/utils/formatting/tables.js.map +1 -0
  444. package/lib/utils/formatting/user-details-display.d.ts +101 -0
  445. package/lib/utils/formatting/user-details-display.js +425 -0
  446. package/lib/utils/formatting/user-details-display.js.map +1 -0
  447. package/lib/utils/pagination/keypress-reader.d.ts +20 -0
  448. package/lib/utils/pagination/keypress-reader.js +63 -0
  449. package/lib/utils/pagination/keypress-reader.js.map +1 -0
  450. package/lib/utils/pagination/paginate-output.d.ts +48 -0
  451. package/lib/utils/pagination/paginate-output.js +136 -0
  452. package/lib/utils/pagination/paginate-output.js.map +1 -0
  453. package/messages/compatibility.check.md +71 -0
  454. package/messages/cuneiform.access.md +138 -0
  455. package/messages/definition.create.md +525 -0
  456. package/messages/definition.export.md +84 -0
  457. package/messages/definition.get.md +147 -0
  458. package/messages/definition.import.md +65 -0
  459. package/messages/definition.list.md +264 -0
  460. package/messages/definition.purge.md +330 -0
  461. package/messages/definition.update.md +118 -0
  462. package/messages/mcp.serve.md +66 -0
  463. package/messages/object.describe.md +205 -0
  464. package/messages/object.list.md +463 -0
  465. package/messages/org.details.md +386 -0
  466. package/messages/org.reset.md +71 -0
  467. package/messages/profile.md +243 -0
  468. package/messages/profile.request.cancel.md +143 -0
  469. package/messages/profile.request.delete.md +139 -0
  470. package/messages/profile.request.list.md +89 -0
  471. package/messages/summary.purge.md +218 -0
  472. package/messages/summary.reprofile.md +150 -0
  473. package/messages/summary.stop.md +157 -0
  474. package/messages/user.details.md +501 -0
  475. package/oclif.lock +3267 -2148
  476. package/oclif.manifest.json +2829 -31
  477. package/package.json +104 -18
  478. package/lib/commands/cuneiform/about.d.ts +0 -13
  479. package/lib/commands/cuneiform/about.js +0 -26
  480. package/lib/commands/cuneiform/about.js.map +0 -1
  481. package/lib/commands/hello/world.d.ts +0 -14
  482. package/lib/commands/hello/world.js +0 -27
  483. package/lib/commands/hello/world.js.map +0 -1
  484. package/lib/index.d.ts +0 -2
  485. package/lib/index.js +0 -2
  486. package/lib/index.js.map +0 -1
  487. package/messages/cuneiform.about.md +0 -19
  488. package/messages/hello.world.md +0 -29
@@ -0,0 +1,447 @@
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
+ * @param expandRelationships - When true, suppresses the "... (N more)" truncation in Relationships and Lookups tables
47
+ */
48
+ export function displayObjectResult(log, result, index, total, expandRelationships = false) {
49
+ const gap = () => logSectionGap(log);
50
+ displayHeader(log, result, index, total);
51
+ gap();
52
+ displaySummarySection(log, result);
53
+ gap();
54
+ displayRecordAgeSection(log, result);
55
+ gap();
56
+ displayRecordTypesSection(log, result);
57
+ gap();
58
+ displayBusinessProcessesSection(log, result);
59
+ gap();
60
+ displayFieldSummarySection(log, result);
61
+ gap();
62
+ displayFieldTypeDistributionSection(log, result);
63
+ gap();
64
+ displayNamespacesSection(log, result);
65
+ gap();
66
+ displayReferencedBySection(log, result, expandRelationships);
67
+ gap();
68
+ displayLookupsSection(log, result, expandRelationships);
69
+ gap();
70
+ displayProfilingStatusSection(log, result);
71
+ gap();
72
+ displayFieldsSection(log, result);
73
+ }
74
+ /**
75
+ * Displays the Org Identity block.
76
+ *
77
+ * @param log - The logging function
78
+ * @param identity - The org identity data from OrgInfoService
79
+ * @param instanceUrl - The Salesforce instance URL
80
+ */
81
+ export function displayOrgIdentity(log, identity, instanceUrl) {
82
+ const msgs = getMessages();
83
+ const orgType = OrgInfoService.classifyOrgType(identity.isSandbox, identity.organizationType);
84
+ log(renderSummaryBox({
85
+ title: msgs.getMessage('output.identity.header'),
86
+ entries: [
87
+ { key: msgs.getMessage('output.identity.orgName'), value: identity.organizationName ?? '(unknown)' },
88
+ { key: msgs.getMessage('output.identity.orgId'), value: identity.organizationId },
89
+ { key: msgs.getMessage('output.identity.instanceUrl'), value: instanceUrl },
90
+ { key: msgs.getMessage('output.identity.orgType'), value: orgType },
91
+ { key: msgs.getMessage('output.identity.edition'), value: identity.organizationType ?? '(unknown)' },
92
+ { key: msgs.getMessage('output.identity.namespace'), value: identity.namespacePrefix ?? 'None' },
93
+ { key: msgs.getMessage('output.identity.username'), value: identity.username },
94
+ ],
95
+ }));
96
+ }
97
+ /**
98
+ * Displays the header for an object result.
99
+ * Only shown when describing multiple objects.
100
+ *
101
+ * @param log - The logging function
102
+ * @param result - The object result data
103
+ * @param index - The 1-based index of this object
104
+ * @param total - The total number of objects
105
+ */
106
+ export function displayHeader(log, result, index, total) {
107
+ if (total > 1) {
108
+ log(sectionSeparator());
109
+ log(`Object ${index} of ${total}: ${result.summary.apiName}`);
110
+ log(sectionSeparator());
111
+ }
112
+ }
113
+ /**
114
+ * Displays the summary section with object metadata.
115
+ *
116
+ * @param log - The logging function
117
+ * @param result - The object result data
118
+ */
119
+ export function displaySummarySection(log, result) {
120
+ const entries = [
121
+ { key: 'API Name', value: result.summary.apiName },
122
+ { key: 'Label', value: result.summary.label },
123
+ { key: 'Plural Label', value: result.summary.labelPlural },
124
+ { key: 'Is Custom', value: booleanDisplay(result.summary.isCustom) },
125
+ { key: 'Namespace', value: formatNamespace(result.summary.namespace, { standardLabel: '(none)' }) },
126
+ {
127
+ key: 'Record Count',
128
+ value: result.summary.recordCount !== null ? formatNumber(result.summary.recordCount) : 'N/A',
129
+ },
130
+ { key: 'Queryable', value: booleanDisplay(result.summary.queryable) },
131
+ { key: 'Profileable', value: booleanDisplay(result.summary.profileable) },
132
+ ];
133
+ if (result.summary.personAccountEnabled !== undefined) {
134
+ entries.push({
135
+ key: 'PersonAccount',
136
+ value: booleanDisplay(result.summary.personAccountEnabled, { style: 'enabledDisabled' }),
137
+ });
138
+ }
139
+ log(renderSummaryBox({ title: 'Summary', entries }));
140
+ }
141
+ /**
142
+ * Displays the record types section with optional per-record-type age distribution.
143
+ *
144
+ * @param log - The logging function
145
+ * @param result - The object result data
146
+ */
147
+ export function displayRecordTypesSection(log, result) {
148
+ const msgs = getMessages();
149
+ if (result.recordTypes.length === 0) {
150
+ return;
151
+ }
152
+ const activeCount = result.recordTypes.filter((rt) => rt.isActive).length;
153
+ log(sectionHeaderWithCount('Record Types', activeCount, 'active'));
154
+ // Check if any record type has age distribution data
155
+ const hasAgeData = result.recordTypes.some((rt) => rt.recordAgeDistribution);
156
+ // Base columns for record types
157
+ const columns = [
158
+ { key: 'name', name: msgs.getMessage('output.table.recordTypes.name') },
159
+ { key: 'developerName', name: msgs.getMessage('output.table.recordTypes.developerName') },
160
+ { key: 'active', name: msgs.getMessage('output.table.recordTypes.active') },
161
+ { key: 'isDefault', name: msgs.getMessage('output.table.recordTypes.default') },
162
+ ];
163
+ // Append year columns if any RT has age data
164
+ if (hasAgeData) {
165
+ const firstWithAge = result.recordTypes.find((rt) => rt.recordAgeDistribution);
166
+ if (firstWithAge?.recordAgeDistribution) {
167
+ const ageColumns = buildRecordAgeColumns(firstWithAge.recordAgeDistribution.years);
168
+ columns.push(...ageColumns);
169
+ }
170
+ }
171
+ // Build row data with merged age columns
172
+ const data = result.recordTypes.map((rt) => {
173
+ const row = {
174
+ name: rt.name,
175
+ developerName: rt.developerName,
176
+ active: booleanDisplay(rt.isActive),
177
+ isDefault: booleanDisplay(rt.isDefault),
178
+ };
179
+ if (hasAgeData && rt.recordAgeDistribution) {
180
+ const ageRow = buildRecordAgeTableData(rt.recordAgeDistribution)[0];
181
+ Object.assign(row, ageRow);
182
+ }
183
+ return row;
184
+ });
185
+ log(makeTable({
186
+ data,
187
+ columns,
188
+ borderStyle: TABLE_BORDER_STYLE,
189
+ }).trimEnd());
190
+ }
191
+ /**
192
+ * Displays the business processes section using the business-process-grid renderer.
193
+ * Hidden when no business processes exist for the object.
194
+ *
195
+ * @param log - The logging function
196
+ * @param result - The object result data
197
+ */
198
+ export function displayBusinessProcessesSection(log, result) {
199
+ if (result.businessProcesses.length === 0) {
200
+ return;
201
+ }
202
+ log(sectionHeaderWithCount('Business Processes', result.businessProcesses.length));
203
+ // Find years from the first process with age data (or fall back to object-level)
204
+ const firstWithAge = result.businessProcesses.find((bp) => bp.recordAgeDistribution);
205
+ const yearsSource = firstWithAge?.recordAgeDistribution?.years ?? result.recordAgeDistribution?.years;
206
+ if (!yearsSource) {
207
+ // No age data available — show minimal table without year columns
208
+ log(makeTable({
209
+ data: result.businessProcesses.map((bp) => ({
210
+ name: bp.name,
211
+ active: bp.isActive ? 'Yes' : 'No',
212
+ recordTypes: String(bp.recordTypeCount),
213
+ })),
214
+ columns: [
215
+ { key: 'name', name: 'Process Name' },
216
+ { key: 'active', name: 'Active' },
217
+ { key: 'recordTypes', name: 'Record Types' },
218
+ ],
219
+ borderStyle: TABLE_BORDER_STYLE,
220
+ }).trimEnd());
221
+ return;
222
+ }
223
+ const columns = buildBusinessProcessColumns(yearsSource);
224
+ const data = buildBusinessProcessTableData(result.businessProcesses, yearsSource);
225
+ log(makeTable({
226
+ data,
227
+ columns,
228
+ borderStyle: TABLE_BORDER_STYLE,
229
+ }).trimEnd());
230
+ }
231
+ /**
232
+ * Displays the field summary section as a summary box.
233
+ *
234
+ * @param log - The logging function
235
+ * @param result - The object result data
236
+ */
237
+ export function displayFieldSummarySection(log, result) {
238
+ log(renderSummaryBox({
239
+ title: 'Field Summary',
240
+ entries: [
241
+ { key: 'Total Fields', value: formatNumber(result.fieldSummary.total) },
242
+ { key: 'Standard Fields', value: formatNumber(result.fieldSummary.standard) },
243
+ { key: 'Custom Fields', value: formatNumber(result.fieldSummary.custom) },
244
+ { key: 'Formula Fields', value: formatNumber(result.fieldSummary.formula) },
245
+ { key: 'Lookup Fields', value: formatNumber(result.fieldSummary.lookup) },
246
+ ],
247
+ }));
248
+ }
249
+ /**
250
+ * Displays the field type distribution table.
251
+ *
252
+ * @param log - The logging function
253
+ * @param result - The object result data
254
+ */
255
+ export function displayFieldTypeDistributionSection(log, result) {
256
+ const msgs = getMessages();
257
+ if (result.fieldTypeDistribution.length === 0) {
258
+ return;
259
+ }
260
+ log(sectionHeader('Field Type Distribution'));
261
+ log(makeTable({
262
+ data: result.fieldTypeDistribution.map((dist) => ({
263
+ type: dist.type,
264
+ count: formatNumber(dist.count),
265
+ percent: formatPercent(dist.percent, 100),
266
+ })),
267
+ columns: [
268
+ { key: 'type', name: msgs.getMessage('output.table.fieldTypes.type') },
269
+ { key: 'count', name: msgs.getMessage('output.table.fieldTypes.count'), horizontalAlignment: 'right' },
270
+ {
271
+ key: 'percent',
272
+ name: msgs.getMessage('output.table.fieldTypes.percent'),
273
+ horizontalAlignment: 'right',
274
+ },
275
+ ],
276
+ borderStyle: TABLE_BORDER_STYLE,
277
+ }).trimEnd());
278
+ }
279
+ /**
280
+ * Displays the namespaces table.
281
+ *
282
+ * @param log - The logging function
283
+ * @param result - The object result data
284
+ */
285
+ export function displayNamespacesSection(log, result) {
286
+ const msgs = getMessages();
287
+ if (result.namespaces.length === 0) {
288
+ return;
289
+ }
290
+ log(sectionHeader('Namespaces'));
291
+ log(makeTable({
292
+ data: result.namespaces.map((ns) => ({
293
+ namespace: formatNamespace(ns.namespace, { standardLabel: '(unmanaged)' }),
294
+ fieldCount: formatNumber(ns.fieldCount),
295
+ })),
296
+ columns: [
297
+ { key: 'namespace', name: msgs.getMessage('output.table.namespaces.namespace') },
298
+ {
299
+ key: 'fieldCount',
300
+ name: msgs.getMessage('output.table.namespaces.fieldCount'),
301
+ horizontalAlignment: 'right',
302
+ },
303
+ ],
304
+ borderStyle: TABLE_BORDER_STYLE,
305
+ }).trimEnd());
306
+ }
307
+ /**
308
+ * Displays the referenced-by relationships section.
309
+ *
310
+ * @param log - The logging function
311
+ * @param result - The object result data
312
+ * @param expandRelationships - When true, all rows are shown; when false, capped at 5 with a truncation line
313
+ */
314
+ export function displayReferencedBySection(log, result, expandRelationships = false) {
315
+ const msgs = getMessages();
316
+ if (result.relationships.referencedByCount === 0) {
317
+ return;
318
+ }
319
+ log(sectionHeaderWithCount('Relationships', result.relationships.referencedByCount));
320
+ const displayRefs = expandRelationships
321
+ ? result.relationships.referencedBy
322
+ : result.relationships.referencedBy.slice(0, 5);
323
+ log(makeTable({
324
+ data: displayRefs.map((ref) => ({
325
+ objectName: ref.objectName,
326
+ fieldName: ref.fieldName,
327
+ })),
328
+ columns: [
329
+ { key: 'objectName', name: msgs.getMessage('output.table.relationships.relatedObject') },
330
+ { key: 'fieldName', name: msgs.getMessage('output.table.relationships.field') },
331
+ ],
332
+ borderStyle: TABLE_BORDER_STYLE,
333
+ }).trimEnd());
334
+ if (!expandRelationships && result.relationships.referencedByCount > 5) {
335
+ log(` ... (${formatNumber(result.relationships.referencedByCount - 5)} more)`);
336
+ }
337
+ }
338
+ /**
339
+ * Displays the lookups section.
340
+ *
341
+ * @param log - The logging function
342
+ * @param result - The object result data
343
+ * @param expandRelationships - When true, all rows are shown; when false, capped at 5 with a truncation line
344
+ */
345
+ export function displayLookupsSection(log, result, expandRelationships = false) {
346
+ const msgs = getMessages();
347
+ if (result.relationships.lookupFields.length === 0) {
348
+ return;
349
+ }
350
+ log(sectionHeaderWithCount('Lookups', result.relationships.lookupFields.length));
351
+ const displayLookups = expandRelationships
352
+ ? result.relationships.lookupFields
353
+ : result.relationships.lookupFields.slice(0, 5);
354
+ log(makeTable({
355
+ data: displayLookups.map((lf) => ({
356
+ fieldName: lf.fieldName,
357
+ targetObject: lf.targetObject,
358
+ })),
359
+ columns: [
360
+ { key: 'fieldName', name: msgs.getMessage('output.table.lookups.lookupField') },
361
+ { key: 'targetObject', name: msgs.getMessage('output.table.lookups.targetObject') },
362
+ ],
363
+ borderStyle: TABLE_BORDER_STYLE,
364
+ }).trimEnd());
365
+ if (!expandRelationships && result.relationships.lookupFields.length > 5) {
366
+ log(` ... (${formatNumber(result.relationships.lookupFields.length - 5)} more)`);
367
+ }
368
+ }
369
+ /**
370
+ * Displays the record age distribution table.
371
+ *
372
+ * @param log - The logging function
373
+ * @param result - The object result data
374
+ */
375
+ export function displayRecordAgeSection(log, result) {
376
+ if (!result.recordAgeDistribution) {
377
+ return;
378
+ }
379
+ const dist = result.recordAgeDistribution;
380
+ if (dist.years.length === 0) {
381
+ return;
382
+ }
383
+ log(sectionHeader('Record Age'));
384
+ log(makeTable({
385
+ data: buildRecordAgeTableData(dist),
386
+ columns: buildRecordAgeColumns(dist.years),
387
+ borderStyle: TABLE_BORDER_STYLE,
388
+ }).trimEnd());
389
+ }
390
+ /**
391
+ * Displays the profiling status section.
392
+ *
393
+ * Shows existing profiling definitions and their last profiled dates.
394
+ * Hidden when no definitions exist for the object.
395
+ *
396
+ * @param log - The logging function
397
+ * @param result - The object result data
398
+ */
399
+ export function displayProfilingStatusSection(log, result) {
400
+ const msgs = getMessages();
401
+ if (result.profilingStatus.definitionCount === 0) {
402
+ return;
403
+ }
404
+ log(sectionHeaderWithCount('Profiling Status', result.profilingStatus.definitionCount));
405
+ log(makeTable({
406
+ data: result.profilingStatus.definitions.map((def) => ({
407
+ name: def.name,
408
+ lastProfiled: def.latestSummaryDate ?? '—',
409
+ })),
410
+ columns: [
411
+ { key: 'name', name: msgs.getMessage('output.table.profilingStatus.name') },
412
+ { key: 'lastProfiled', name: msgs.getMessage('output.table.profilingStatus.lastProfiled') },
413
+ ],
414
+ borderStyle: TABLE_BORDER_STYLE,
415
+ }).trimEnd());
416
+ }
417
+ /**
418
+ * Displays the fields listing table.
419
+ *
420
+ * @param log - The logging function
421
+ * @param result - The object result data
422
+ */
423
+ export function displayFieldsSection(log, result) {
424
+ const msgs = getMessages();
425
+ if (!result.fields || result.fields.length === 0) {
426
+ return;
427
+ }
428
+ log(sectionHeaderWithCount('Fields', result.fields.length, 'total'));
429
+ log(makeTable({
430
+ data: result.fields.map((field) => ({
431
+ apiName: field.apiName,
432
+ label: field.label,
433
+ type: field.type,
434
+ custom: booleanDisplay(field.isCustom),
435
+ namespace: field.namespace ?? '-',
436
+ })),
437
+ columns: [
438
+ { key: 'apiName', name: msgs.getMessage('output.table.fields.apiName') },
439
+ { key: 'label', name: msgs.getMessage('output.table.fields.label') },
440
+ { key: 'type', name: msgs.getMessage('output.table.fields.type') },
441
+ { key: 'custom', name: msgs.getMessage('output.table.fields.custom') },
442
+ { key: 'namespace', name: msgs.getMessage('output.table.fields.namespace') },
443
+ ],
444
+ borderStyle: TABLE_BORDER_STYLE,
445
+ }).trimEnd());
446
+ }
447
+ //# 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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"}