@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,118 @@
1
+ import { Messages } from '@salesforce/core';
2
+ import type { CreateResult } from '../../operations/DefinitionCreateOperation.js';
3
+ import type { SummaryEntry } from './command-display.js';
4
+ /**
5
+ * Callback result shape from the operation's onObjectComplete callback.
6
+ * Captures per-object status for post-execution rendering.
7
+ */
8
+ export type CallbackResult = {
9
+ objectName: string;
10
+ objectLabel?: string;
11
+ status: 'success' | 'skip' | 'fail' | 'preview';
12
+ type?: 'metadata' | 'historical' | 'comparative' | 'outcome';
13
+ definitionKey?: string;
14
+ category?: string;
15
+ timeCategory?: string;
16
+ segmentCategory?: string;
17
+ fieldCount?: number;
18
+ };
19
+ /**
20
+ * Returns column definitions for the definition results table.
21
+ */
22
+ export declare function getTableColumns(): Array<{
23
+ key: string;
24
+ name: string;
25
+ }>;
26
+ /**
27
+ * Builds table data rows from callback results for table rendering.
28
+ *
29
+ * @param results - The callback results to render
30
+ * @param recordCounts - Optional record counts by object name
31
+ * @returns Array of row data records
32
+ */
33
+ export declare function buildTableData(results: Array<{
34
+ objectName: string;
35
+ objectLabel?: string;
36
+ type?: string;
37
+ category?: string;
38
+ timeCategory?: string;
39
+ segmentCategory?: string;
40
+ }>, recordCounts?: Map<string, number>): Array<Record<string, string>>;
41
+ /**
42
+ * Displays the Org Context section using the shared renderOrgContext utility.
43
+ *
44
+ * @param log - The logging function
45
+ * @param orgIdentity - The org identity data
46
+ * @param instanceUrl - The org instance URL
47
+ */
48
+ export declare function displayOrgContext(log: (msg: string) => void, orgIdentity: {
49
+ organizationName?: string;
50
+ organizationId: string;
51
+ organizationType?: string;
52
+ isSandbox?: boolean;
53
+ }, instanceUrl?: string): void;
54
+ /**
55
+ * Displays separate Created and Skipped tables, plus summary footer.
56
+ *
57
+ * @param log - The logging function
58
+ * @param warn - The warning function
59
+ * @param callbackResults - The per-object callback results
60
+ * @param data - The operation result data
61
+ * @param dryRun - Whether this is a dry run
62
+ * @param recordCounts - Optional record counts by object name
63
+ */
64
+ export declare function displayResultsTables(log: (msg: string) => void, warn: (msg: string) => void, callbackResults: CallbackResult[], data: CreateResult, dryRun: boolean, recordCounts?: Map<string, number>): void;
65
+ /**
66
+ * Error code to i18n message key mapping for operation errors.
67
+ */
68
+ export declare const ERROR_CODE_MAP: Record<string, string>;
69
+ /**
70
+ * Handles operation failure by translating error codes to user-friendly messages.
71
+ *
72
+ * Returns a structured object indicating the action to take:
73
+ * - `type: 'exit'` — set process.exitCode and return a result
74
+ * - `type: 'error'` — throw via command's this.error()
75
+ *
76
+ * @param result - The failed operation result
77
+ * @param targetOrg - The target org identifier
78
+ * @param dryRun - Whether this is a dry run
79
+ * @param resolveErrorMessage - The error message resolution function from CuneiformCommand
80
+ * @returns An action descriptor for the command to execute
81
+ */
82
+ export declare function resolveOperationFailure(result: {
83
+ success: boolean;
84
+ errorCode?: string;
85
+ message?: string;
86
+ }, targetOrg: string, dryRun: boolean, resolveErrorMessage: (errorCodeMap: Record<string, string>, errorCode: string | undefined, fallbackMessage: string, msgs: Messages<string>) => string): {
87
+ type: 'exit' | 'error';
88
+ result?: {
89
+ success: boolean;
90
+ created: number;
91
+ failed: number;
92
+ skipped: number;
93
+ total: number;
94
+ dryRun: boolean;
95
+ failures: Array<{
96
+ objectName: string;
97
+ error: string;
98
+ errorCode: string;
99
+ }>;
100
+ results: Array<{
101
+ objectName: string;
102
+ status: string;
103
+ }>;
104
+ };
105
+ message?: string;
106
+ code?: string;
107
+ log?: string;
108
+ };
109
+ /**
110
+ * Builds the pre-confirmation summary box entries for the preview stage.
111
+ *
112
+ * @param uniqueObjects - Number of unique objects
113
+ * @param method - The profiling method
114
+ * @param toCreateCount - Number of definitions to create
115
+ * @param toSkipCount - Number of definitions to skip
116
+ * @returns Array of summary entries for renderSummaryBox
117
+ */
118
+ export declare function buildPreConfirmSummary(uniqueObjects: number, method: string, toCreateCount: number, toSkipCount: number): SummaryEntry[];
@@ -0,0 +1,230 @@
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 definition create` 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/definition-create-display
17
+ */
18
+ import { printTable } from '@oclif/table';
19
+ import { Messages } from '@salesforce/core';
20
+ import { OrgInfoService } from '../../services/OrgInfoService.js';
21
+ import { isOrgConnectivityError } from '../../adapters/errors.js';
22
+ import { sectionHeader, renderOrgContext, renderSummaryBox, formatNumber } from './index.js';
23
+ /**
24
+ * Lazily loads messages for the definition.create command.
25
+ * Using a getter to avoid module-level side effects.
26
+ */
27
+ function getMessages() {
28
+ return Messages.loadMessages('@peernova/cuneiform-sf', 'definition.create');
29
+ }
30
+ /**
31
+ * Returns column definitions for the definition results table.
32
+ */
33
+ export function getTableColumns() {
34
+ const messages = getMessages();
35
+ return [
36
+ { key: 'idx', name: '#' },
37
+ { key: 'object', name: messages.getMessage('table.header.object') },
38
+ { key: 'records', name: messages.getMessage('table.header.records') },
39
+ { key: 'type', name: messages.getMessage('table.header.type') },
40
+ { key: 'category', name: messages.getMessage('table.header.category') },
41
+ { key: 'time', name: messages.getMessage('table.header.time') },
42
+ { key: 'segment', name: messages.getMessage('table.header.segment') },
43
+ ];
44
+ }
45
+ /**
46
+ * Builds table data rows from callback results for table rendering.
47
+ *
48
+ * @param results - The callback results to render
49
+ * @param recordCounts - Optional record counts by object name
50
+ * @returns Array of row data records
51
+ */
52
+ export function buildTableData(results, recordCounts) {
53
+ return results.map((r, i) => ({
54
+ idx: String(i + 1),
55
+ object: r.objectLabel ?? r.objectName,
56
+ records: recordCounts?.has(r.objectName) ? formatNumber(recordCounts.get(r.objectName)) : '—',
57
+ type: r.type ? r.type.charAt(0).toUpperCase() + r.type.slice(1) : '',
58
+ category: r.category ?? '',
59
+ time: r.timeCategory ?? '',
60
+ segment: r.segmentCategory ?? '',
61
+ }));
62
+ }
63
+ /**
64
+ * Displays the Org Context section using the shared renderOrgContext utility.
65
+ *
66
+ * @param log - The logging function
67
+ * @param orgIdentity - The org identity data
68
+ * @param instanceUrl - The org instance URL
69
+ */
70
+ export function displayOrgContext(log, orgIdentity, instanceUrl) {
71
+ const messages = getMessages();
72
+ const orgName = orgIdentity.organizationName ?? '(unknown)';
73
+ const orgType = OrgInfoService.classifyOrgType(orgIdentity.isSandbox ?? false, orgIdentity.organizationType);
74
+ log('');
75
+ log(messages.getMessage('output.title', [orgName, orgType]));
76
+ log('');
77
+ log(renderOrgContext({
78
+ orgName: orgIdentity.organizationName,
79
+ orgId: orgIdentity.organizationId,
80
+ instanceUrl: instanceUrl ?? '',
81
+ isSandbox: orgIdentity.isSandbox ?? false,
82
+ }));
83
+ }
84
+ /**
85
+ * Displays separate Created and Skipped tables, plus summary footer.
86
+ *
87
+ * @param log - The logging function
88
+ * @param warn - The warning function
89
+ * @param callbackResults - The per-object callback results
90
+ * @param data - The operation result data
91
+ * @param dryRun - Whether this is a dry run
92
+ * @param recordCounts - Optional record counts by object name
93
+ */
94
+ export function displayResultsTables(log, warn, callbackResults, data, dryRun, recordCounts) {
95
+ const messages = getMessages();
96
+ const created = callbackResults.filter((r) => r.status === 'success' || r.status === 'preview');
97
+ const skipped = callbackResults.filter((r) => r.status === 'skip');
98
+ const failed = callbackResults.filter((r) => r.status === 'fail');
99
+ const columns = getTableColumns();
100
+ // Created table
101
+ if (created.length > 0) {
102
+ const prefix = dryRun
103
+ ? messages.getMessage('output.tablePrefix.preview')
104
+ : messages.getMessage('output.tablePrefix.created');
105
+ log('');
106
+ log(sectionHeader(`${prefix} ${formatNumber(created.length)} ${messages.getMessage('output.definitionsTitle')}`));
107
+ log('');
108
+ printTable({
109
+ data: buildTableData(created, recordCounts),
110
+ columns,
111
+ borderStyle: 'headers-only',
112
+ });
113
+ }
114
+ // Skipped table
115
+ if (skipped.length > 0) {
116
+ log('');
117
+ log(sectionHeader(messages.getMessage('output.skippedExisting', [formatNumber(skipped.length)])));
118
+ log('');
119
+ printTable({
120
+ data: buildTableData(skipped, recordCounts),
121
+ columns,
122
+ borderStyle: 'headers-only',
123
+ });
124
+ }
125
+ // Failed entries
126
+ if (failed.length > 0 || data.failures.length > 0) {
127
+ log('');
128
+ warn(messages.getMessage('output.failedSummary', [String(data.failed)]));
129
+ for (const f of data.failures) {
130
+ log(` ${f.objectName}: ${f.error}`);
131
+ }
132
+ }
133
+ // Summary footer
134
+ const uniqueObjects = new Set(callbackResults.map((r) => r.objectName)).size;
135
+ const summaryEntries = [
136
+ { key: messages.getMessage('output.summaryObjects'), value: formatNumber(uniqueObjects) },
137
+ ];
138
+ if (dryRun) {
139
+ summaryEntries.push({ key: messages.getMessage('output.summaryPreview'), value: formatNumber(created.length) });
140
+ }
141
+ else {
142
+ summaryEntries.push({ key: messages.getMessage('output.summaryCreated'), value: formatNumber(created.length) });
143
+ }
144
+ summaryEntries.push({ key: messages.getMessage('output.summarySkipped'), value: formatNumber(skipped.length) });
145
+ if (!dryRun) {
146
+ summaryEntries.push({ key: messages.getMessage('output.summaryFailed'), value: formatNumber(failed.length) });
147
+ }
148
+ log('');
149
+ log(renderSummaryBox({
150
+ title: messages.getMessage('output.summaryHeader'),
151
+ entries: summaryEntries,
152
+ }));
153
+ }
154
+ /**
155
+ * Error code to i18n message key mapping for operation errors.
156
+ */
157
+ export const ERROR_CODE_MAP = {
158
+ CREATE_FILTER_FAILED: 'errors.filterFailed',
159
+ // CREATE_NO_OBJECTS_FOUND intentionally omitted — operation provides a specific message
160
+ // (e.g., "No objects with outcome fields found...") that is more helpful than the generic
161
+ // i18n fallback. resolveErrorMessage passes result.message through when code is not mapped.
162
+ CREATE_OBJECTS_NOT_FOUND: 'errors.objectsNotFound',
163
+ CREATE_OPERATION_FAILED: 'errors.operationFailed',
164
+ CREATE_NO_PROFILED_OBJECTS: 'errors.noProfiledObjects',
165
+ };
166
+ /**
167
+ * Handles operation failure by translating error codes to user-friendly messages.
168
+ *
169
+ * Returns a structured object indicating the action to take:
170
+ * - `type: 'exit'` — set process.exitCode and return a result
171
+ * - `type: 'error'` — throw via command's this.error()
172
+ *
173
+ * @param result - The failed operation result
174
+ * @param targetOrg - The target org identifier
175
+ * @param dryRun - Whether this is a dry run
176
+ * @param resolveErrorMessage - The error message resolution function from CuneiformCommand
177
+ * @returns An action descriptor for the command to execute
178
+ */
179
+ export function resolveOperationFailure(result, targetOrg, dryRun, resolveErrorMessage) {
180
+ const messages = getMessages();
181
+ if (result.message && isOrgConnectivityError(result.message)) {
182
+ return {
183
+ type: 'error',
184
+ message: messages.getMessage('errors.orgUnreachable', [targetOrg]),
185
+ code: 'ORG_CONNECTION_FAILED',
186
+ };
187
+ }
188
+ if (result.errorCode === 'CREATE_OBJECTS_NOT_FOUND') {
189
+ return {
190
+ type: 'exit',
191
+ log: messages.getMessage('errors.objectsNotFoundDetail'),
192
+ result: { success: false, created: 0, failed: 0, skipped: 0, total: 0, dryRun, failures: [], results: [] },
193
+ };
194
+ }
195
+ const fallbackMessage = result.message ?? messages.getMessage('errors.operationFailed', [result.errorCode ?? 'UNKNOWN']);
196
+ const i18nMessage = resolveErrorMessage(ERROR_CODE_MAP, result.errorCode, fallbackMessage, messages);
197
+ return {
198
+ type: 'error',
199
+ message: i18nMessage,
200
+ code: result.errorCode,
201
+ };
202
+ }
203
+ /**
204
+ * Builds the pre-confirmation summary box entries for the preview stage.
205
+ *
206
+ * @param uniqueObjects - Number of unique objects
207
+ * @param method - The profiling method
208
+ * @param toCreateCount - Number of definitions to create
209
+ * @param toSkipCount - Number of definitions to skip
210
+ * @returns Array of summary entries for renderSummaryBox
211
+ */
212
+ export function buildPreConfirmSummary(uniqueObjects, method, toCreateCount, toSkipCount) {
213
+ const messages = getMessages();
214
+ const entries = [
215
+ { key: messages.getMessage('output.summaryObjects'), value: formatNumber(uniqueObjects) },
216
+ { key: messages.getMessage('output.summaryMethod'), value: method },
217
+ {
218
+ key: messages.getMessage('output.summaryToCreate'),
219
+ value: messages.getMessage('output.summaryToCreateSuffix', [formatNumber(toCreateCount)]),
220
+ },
221
+ ];
222
+ if (toSkipCount > 0) {
223
+ entries.push({
224
+ key: messages.getMessage('output.summaryExisting'),
225
+ value: messages.getMessage('output.summaryExistingSuffix', [formatNumber(toSkipCount)]),
226
+ });
227
+ }
228
+ return entries;
229
+ }
230
+ //# sourceMappingURL=definition-create-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-create-display.js","sourceRoot":"","sources":["../../../src/utils/formatting/definition-create-display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Options for formatting a contextual empty state message.
3
+ */
4
+ export type EmptyStateOptions = {
5
+ /** The entity type that was searched for (e.g., "objects", "fields", "definitions") */
6
+ readonly entityType: string;
7
+ /** Summary of filters that were applied */
8
+ readonly appliedFilters?: readonly string[];
9
+ /** Suggestions to broaden the search */
10
+ readonly suggestions?: readonly string[];
11
+ /** Related commands the user might want to try */
12
+ readonly relatedCommands?: readonly string[];
13
+ };
14
+ /**
15
+ * Formats a contextual empty state message with suggestions.
16
+ *
17
+ * Returns an array of lines to be displayed when a query produces no results.
18
+ * Always starts with a "No {entityType} found" header line. Optional sections
19
+ * for applied filters, suggestions, and related commands are included only
20
+ * when their arrays are non-empty.
21
+ *
22
+ * Each section is separated by a blank line. List items within sections use
23
+ * a 2-space indent with a dash prefix.
24
+ *
25
+ * @param options - Configuration for the empty state message
26
+ * @returns An array of formatted lines for display
27
+ *
28
+ * @example
29
+ * formatEmptyState({ entityType: 'objects' })
30
+ * // ["No objects found matching the specified criteria."]
31
+ *
32
+ * @example
33
+ * formatEmptyState({ entityType: 'objects', appliedFilters: ['filter: custom'], suggestions: ['Try removing the filter'] })
34
+ */
35
+ export declare function formatEmptyState(options: EmptyStateOptions): readonly string[];
@@ -0,0 +1,70 @@
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
+ * Pure empty state formatting utilities for CLI display output.
10
+ *
11
+ * Provides contextual "no results" messages with applied filters,
12
+ * actionable suggestions, and related command references. All functions
13
+ * are pure (no side effects, no external state).
14
+ *
15
+ * @module utils/formatting/empty-states
16
+ */
17
+ /**
18
+ * Indent prefix used for list items (2-space indent + dash + space).
19
+ */
20
+ const BULLET_PREFIX = ' • ';
21
+ /**
22
+ * Formats a contextual empty state message with suggestions.
23
+ *
24
+ * Returns an array of lines to be displayed when a query produces no results.
25
+ * Always starts with a "No {entityType} found" header line. Optional sections
26
+ * for applied filters, suggestions, and related commands are included only
27
+ * when their arrays are non-empty.
28
+ *
29
+ * Each section is separated by a blank line. List items within sections use
30
+ * a 2-space indent with a dash prefix.
31
+ *
32
+ * @param options - Configuration for the empty state message
33
+ * @returns An array of formatted lines for display
34
+ *
35
+ * @example
36
+ * formatEmptyState({ entityType: 'objects' })
37
+ * // ["No objects found matching the specified criteria."]
38
+ *
39
+ * @example
40
+ * formatEmptyState({ entityType: 'objects', appliedFilters: ['filter: custom'], suggestions: ['Try removing the filter'] })
41
+ */
42
+ export function formatEmptyState(options) {
43
+ const { entityType, appliedFilters, suggestions, relatedCommands } = options;
44
+ const lines = [`• No ${entityType} found matching the specified criteria.`];
45
+ appendSection(lines, 'Filters applied:', appliedFilters);
46
+ appendSection(lines, 'Suggestions:', suggestions);
47
+ appendSection(lines, 'Related commands:', relatedCommands);
48
+ return lines;
49
+ }
50
+ /**
51
+ * Appends a labeled section with bullet items to the output lines.
52
+ *
53
+ * Only appends when the items array is defined and non-empty.
54
+ * A blank line is inserted before each section for visual separation.
55
+ *
56
+ * @param lines - The mutable output array to append to
57
+ * @param heading - The section heading text (e.g., "Filters applied:")
58
+ * @param items - The items to display as a bullet list
59
+ */
60
+ function appendSection(lines, heading, items) {
61
+ if (!items || items.length === 0) {
62
+ return;
63
+ }
64
+ lines.push('');
65
+ lines.push(heading);
66
+ for (const item of items) {
67
+ lines.push(`${BULLET_PREFIX}${item}`);
68
+ }
69
+ }
70
+ //# sourceMappingURL=empty-states.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-states.js","sourceRoot":"","sources":["../../../src/utils/formatting/empty-states.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC;AAgB7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAE7E,MAAM,KAAK,GAAa,CAAC,QAAQ,UAAU,yCAAyC,CAAC,CAAC;IAEtF,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACzD,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAClD,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAE3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,KAAe,EAAE,OAAe,EAAE,KAAoC;IAC3F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Options for formatting an error with structured remediation guidance.
3
+ */
4
+ export type ErrorRemediationOptions = {
5
+ /** What happened - the error description. */
6
+ readonly what: string;
7
+ /** Why it happened - root cause or context. */
8
+ readonly why?: string;
9
+ /** How to fix - actionable remediation steps. Can be a single string or an array of numbered steps. */
10
+ readonly fix?: string | readonly string[];
11
+ /** Error code for reference. */
12
+ readonly errorCode?: string;
13
+ /** Documentation link. */
14
+ readonly docsUrl?: string;
15
+ };
16
+ /**
17
+ * Formats an error with structured remediation guidance.
18
+ *
19
+ * Returns a multi-line string with what/why/fix sections following the
20
+ * what/why/fix pattern for CLI error display. Only sections with defined
21
+ * values are included; undefined fields are omitted entirely.
22
+ *
23
+ * @param options - The error remediation options
24
+ * @returns A formatted multi-line string with remediation guidance
25
+ *
26
+ * @example
27
+ * formatErrorWithRemediation({ what: 'Connection failed' })
28
+ * // "Error: Connection failed"
29
+ *
30
+ * @example
31
+ * formatErrorWithRemediation({ what: 'Could not connect.', why: 'Token expired.', fix: ['Run sf org login web'] })
32
+ */
33
+ export declare function formatErrorWithRemediation(options: ErrorRemediationOptions): string;
@@ -0,0 +1,72 @@
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
+ * Pure error formatting utilities for CLI display output.
10
+ *
11
+ * All functions are pure (no side effects, no external state) and return
12
+ * formatted strings with structured remediation guidance (what/why/fix pattern).
13
+ *
14
+ * @module utils/formatting/errors
15
+ */
16
+ /**
17
+ * Prefix for the "what happened" line.
18
+ */
19
+ const ERROR_PREFIX = 'Error: ';
20
+ /**
21
+ * Prefix for numbered fix steps (indent + number + dot + space).
22
+ */
23
+ const STEP_INDENT = ' ';
24
+ /**
25
+ * Formats an error with structured remediation guidance.
26
+ *
27
+ * Returns a multi-line string with what/why/fix sections following the
28
+ * what/why/fix pattern for CLI error display. Only sections with defined
29
+ * values are included; undefined fields are omitted entirely.
30
+ *
31
+ * @param options - The error remediation options
32
+ * @returns A formatted multi-line string with remediation guidance
33
+ *
34
+ * @example
35
+ * formatErrorWithRemediation({ what: 'Connection failed' })
36
+ * // "Error: Connection failed"
37
+ *
38
+ * @example
39
+ * formatErrorWithRemediation({ what: 'Could not connect.', why: 'Token expired.', fix: ['Run sf org login web'] })
40
+ */
41
+ export function formatErrorWithRemediation(options) {
42
+ const sections = [];
43
+ // What: always present (required field)
44
+ sections.push(`${ERROR_PREFIX}${options.what}`);
45
+ // Why: optional root cause
46
+ if (options.why !== undefined) {
47
+ sections.push(`Why: ${options.why}`);
48
+ }
49
+ // Fix: optional remediation (single string or numbered steps)
50
+ if (options.fix !== undefined) {
51
+ if (typeof options.fix === 'string') {
52
+ sections.push(`Fix: ${options.fix}`);
53
+ }
54
+ else if (options.fix.length > 0) {
55
+ const steps = options.fix.map((step, index) => `${STEP_INDENT}${index + 1}. ${step}`);
56
+ sections.push(`Fix:\n${steps.join('\n')}`);
57
+ }
58
+ }
59
+ // Reference: optional error code and/or docs URL
60
+ const referenceParts = [];
61
+ if (options.errorCode !== undefined) {
62
+ referenceParts.push(options.errorCode);
63
+ }
64
+ if (options.docsUrl !== undefined) {
65
+ referenceParts.push(options.docsUrl);
66
+ }
67
+ if (referenceParts.length > 0) {
68
+ sections.push(`Reference: ${referenceParts.join(' | ')}`);
69
+ }
70
+ return sections.join('\n\n');
71
+ }
72
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/formatting/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC;AAkBzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgC;IACzE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhD,2BAA2B;IAC3B,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,WAAW,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtF,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,cAAc,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Utility for converting Salesforce field API type names to user-friendly display labels.
3
+ *
4
+ * @module utils/formatting/field-types
5
+ */
6
+ /**
7
+ * Sentinel value returned when the input field type is empty, null, or undefined.
8
+ */
9
+ export declare const INVALID_DISPLAY = "--";
10
+ /**
11
+ * Converts a Salesforce field API type name to a user-friendly display label.
12
+ *
13
+ * @param fieldType - The Salesforce API field type (e.g., `'string'`, `'reference'`, `'boolean'`).
14
+ * Matching is case-insensitive.
15
+ * @param referenceTo - Optional target object for reference (lookup) fields. When provided and
16
+ * `fieldType` is `'reference'`, the result includes the target object name
17
+ * (e.g., `'Lookup to Account'`).
18
+ * @returns A human-readable label for the field type, or {@link INVALID_DISPLAY} if the input
19
+ * is empty/null/undefined. Unknown types are returned in title case.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * humanizeFieldType('string'); // 'Text'
24
+ * humanizeFieldType('reference', 'Account'); // 'Lookup to Account'
25
+ * humanizeFieldType('reference'); // 'Lookup'
26
+ * humanizeFieldType('BOOLEAN'); // 'Checkbox' (case-insensitive)
27
+ * humanizeFieldType('customtype'); // 'Customtype' (title case fallback)
28
+ * humanizeFieldType(''); // '--'
29
+ * humanizeFieldType(null as unknown as string); // '--'
30
+ * ```
31
+ */
32
+ export declare function humanizeFieldType(fieldType: string, referenceTo?: string | null): string;