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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/LICENSE +81 -30
  2. package/README.md +59 -95
  3. package/lib/adapters/connection-facade.d.ts +458 -0
  4. package/lib/adapters/connection-facade.js +379 -0
  5. package/lib/adapters/connection-facade.js.map +1 -0
  6. package/lib/adapters/errors.d.ts +547 -0
  7. package/lib/adapters/errors.js +937 -0
  8. package/lib/adapters/errors.js.map +1 -0
  9. package/lib/adapters/index.d.ts +33 -0
  10. package/lib/adapters/index.js +50 -0
  11. package/lib/adapters/index.js.map +1 -0
  12. package/lib/adapters/lifecycle.d.ts +119 -0
  13. package/lib/adapters/lifecycle.js +94 -0
  14. package/lib/adapters/lifecycle.js.map +1 -0
  15. package/lib/adapters/rest/cache.d.ts +69 -0
  16. package/lib/adapters/rest/cache.js +133 -0
  17. package/lib/adapters/rest/cache.js.map +1 -0
  18. package/lib/adapters/rest/index.d.ts +11 -0
  19. package/lib/adapters/rest/index.js +18 -0
  20. package/lib/adapters/rest/index.js.map +1 -0
  21. package/lib/adapters/rest/profiling-rest-client.d.ts +137 -0
  22. package/lib/adapters/rest/profiling-rest-client.js +115 -0
  23. package/lib/adapters/rest/profiling-rest-client.js.map +1 -0
  24. package/lib/adapters/rest/rest-api-adapter.d.ts +389 -0
  25. package/lib/adapters/rest/rest-api-adapter.js +747 -0
  26. package/lib/adapters/rest/rest-api-adapter.js.map +1 -0
  27. package/lib/adapters/rest/types.d.ts +34 -0
  28. package/lib/adapters/rest/types.js +9 -0
  29. package/lib/adapters/rest/types.js.map +1 -0
  30. package/lib/adapters/retry.d.ts +91 -0
  31. package/lib/adapters/retry.js +215 -0
  32. package/lib/adapters/retry.js.map +1 -0
  33. package/lib/adapters/soql/cuneiform-query-builder.d.ts +391 -0
  34. package/lib/adapters/soql/cuneiform-query-builder.js +559 -0
  35. package/lib/adapters/soql/cuneiform-query-builder.js.map +1 -0
  36. package/lib/adapters/soql/index.d.ts +13 -0
  37. package/lib/adapters/soql/index.js +21 -0
  38. package/lib/adapters/soql/index.js.map +1 -0
  39. package/lib/adapters/soql/soql-query-adapter.d.ts +141 -0
  40. package/lib/adapters/soql/soql-query-adapter.js +259 -0
  41. package/lib/adapters/soql/soql-query-adapter.js.map +1 -0
  42. package/lib/adapters/soql/types.d.ts +37 -0
  43. package/lib/adapters/soql/types.js +19 -0
  44. package/lib/adapters/soql/types.js.map +1 -0
  45. package/lib/adapters/testing/index.d.ts +37 -0
  46. package/lib/adapters/testing/index.js +20 -0
  47. package/lib/adapters/testing/index.js.map +1 -0
  48. package/lib/adapters/testing/mock-connection.d.ts +77 -0
  49. package/lib/adapters/testing/mock-connection.js +207 -0
  50. package/lib/adapters/testing/mock-connection.js.map +1 -0
  51. package/lib/adapters/testing/mock-logger.d.ts +29 -0
  52. package/lib/adapters/testing/mock-logger.js +57 -0
  53. package/lib/adapters/testing/mock-logger.js.map +1 -0
  54. package/lib/adapters/testing/mock-mcp-adapters.d.ts +32 -0
  55. package/lib/adapters/testing/mock-mcp-adapters.js +52 -0
  56. package/lib/adapters/testing/mock-mcp-adapters.js.map +1 -0
  57. package/lib/adapters/testing/mock-oclif-config.d.ts +22 -0
  58. package/lib/adapters/testing/mock-oclif-config.js +90 -0
  59. package/lib/adapters/testing/mock-oclif-config.js.map +1 -0
  60. package/lib/adapters/testing/mock-rest-adapter.d.ts +26 -0
  61. package/lib/adapters/testing/mock-rest-adapter.js +243 -0
  62. package/lib/adapters/testing/mock-rest-adapter.js.map +1 -0
  63. package/lib/adapters/testing/mock-salesforce-connection.d.ts +40 -0
  64. package/lib/adapters/testing/mock-salesforce-connection.js +61 -0
  65. package/lib/adapters/testing/mock-salesforce-connection.js.map +1 -0
  66. package/lib/adapters/testing/mock-soql-adapter.d.ts +30 -0
  67. package/lib/adapters/testing/mock-soql-adapter.js +120 -0
  68. package/lib/adapters/testing/mock-soql-adapter.js.map +1 -0
  69. package/lib/adapters/testing/mock-tooling-adapter.d.ts +24 -0
  70. package/lib/adapters/testing/mock-tooling-adapter.js +163 -0
  71. package/lib/adapters/testing/mock-tooling-adapter.js.map +1 -0
  72. package/lib/adapters/testing/stub-connection.d.ts +93 -0
  73. package/lib/adapters/testing/stub-connection.js +97 -0
  74. package/lib/adapters/testing/stub-connection.js.map +1 -0
  75. package/lib/adapters/testing/stub-rest-adapter.d.ts +52 -0
  76. package/lib/adapters/testing/stub-rest-adapter.js +58 -0
  77. package/lib/adapters/testing/stub-rest-adapter.js.map +1 -0
  78. package/lib/adapters/testing/stub-soql-adapter.d.ts +56 -0
  79. package/lib/adapters/testing/stub-soql-adapter.js +50 -0
  80. package/lib/adapters/testing/stub-soql-adapter.js.map +1 -0
  81. package/lib/adapters/testing/types.d.ts +71 -0
  82. package/lib/adapters/testing/types.js +9 -0
  83. package/lib/adapters/testing/types.js.map +1 -0
  84. package/lib/adapters/tooling/index.d.ts +10 -0
  85. package/lib/adapters/tooling/index.js +17 -0
  86. package/lib/adapters/tooling/index.js.map +1 -0
  87. package/lib/adapters/tooling/tooling-api-adapter.d.ts +157 -0
  88. package/lib/adapters/tooling/tooling-api-adapter.js +339 -0
  89. package/lib/adapters/tooling/tooling-api-adapter.js.map +1 -0
  90. package/lib/adapters/tooling/types.d.ts +81 -0
  91. package/lib/adapters/tooling/types.js +9 -0
  92. package/lib/adapters/tooling/types.js.map +1 -0
  93. package/lib/adapters/types.d.ts +112 -0
  94. package/lib/adapters/types.js +169 -0
  95. package/lib/adapters/types.js.map +1 -0
  96. package/lib/base/cuneiform-command.d.ts +152 -0
  97. package/lib/base/cuneiform-command.js +243 -0
  98. package/lib/base/cuneiform-command.js.map +1 -0
  99. package/lib/commands/cuneiform/compatibility/check.d.ts +43 -0
  100. package/lib/commands/cuneiform/compatibility/check.js +114 -0
  101. package/lib/commands/cuneiform/compatibility/check.js.map +1 -0
  102. package/lib/commands/cuneiform/definition/create.d.ts +119 -0
  103. package/lib/commands/cuneiform/definition/create.js +693 -0
  104. package/lib/commands/cuneiform/definition/create.js.map +1 -0
  105. package/lib/commands/cuneiform/definition/export.d.ts +57 -0
  106. package/lib/commands/cuneiform/definition/export.js +133 -0
  107. package/lib/commands/cuneiform/definition/export.js.map +1 -0
  108. package/lib/commands/cuneiform/definition/get.d.ts +86 -0
  109. package/lib/commands/cuneiform/definition/get.js +270 -0
  110. package/lib/commands/cuneiform/definition/get.js.map +1 -0
  111. package/lib/commands/cuneiform/definition/import.d.ts +54 -0
  112. package/lib/commands/cuneiform/definition/import.js +118 -0
  113. package/lib/commands/cuneiform/definition/import.js.map +1 -0
  114. package/lib/commands/cuneiform/definition/list.d.ts +110 -0
  115. package/lib/commands/cuneiform/definition/list.js +344 -0
  116. package/lib/commands/cuneiform/definition/list.js.map +1 -0
  117. package/lib/commands/cuneiform/definition/purge.d.ts +105 -0
  118. package/lib/commands/cuneiform/definition/purge.js +533 -0
  119. package/lib/commands/cuneiform/definition/purge.js.map +1 -0
  120. package/lib/commands/cuneiform/definition/update.d.ts +58 -0
  121. package/lib/commands/cuneiform/definition/update.js +206 -0
  122. package/lib/commands/cuneiform/definition/update.js.map +1 -0
  123. package/lib/commands/cuneiform/mcp/serve.d.ts +56 -0
  124. package/lib/commands/cuneiform/mcp/serve.js +109 -0
  125. package/lib/commands/cuneiform/mcp/serve.js.map +1 -0
  126. package/lib/commands/cuneiform/object/describe.d.ts +61 -0
  127. package/lib/commands/cuneiform/object/describe.js +461 -0
  128. package/lib/commands/cuneiform/object/describe.js.map +1 -0
  129. package/lib/commands/cuneiform/object/list.d.ts +111 -0
  130. package/lib/commands/cuneiform/object/list.js +239 -0
  131. package/lib/commands/cuneiform/object/list.js.map +1 -0
  132. package/lib/commands/cuneiform/org/details.d.ts +99 -0
  133. package/lib/commands/cuneiform/org/details.js +521 -0
  134. package/lib/commands/cuneiform/org/details.js.map +1 -0
  135. package/lib/commands/cuneiform/org/reset.d.ts +46 -0
  136. package/lib/commands/cuneiform/org/reset.js +135 -0
  137. package/lib/commands/cuneiform/org/reset.js.map +1 -0
  138. package/lib/commands/cuneiform/profile/request/cancel.d.ts +59 -0
  139. package/lib/commands/cuneiform/profile/request/cancel.js +202 -0
  140. package/lib/commands/cuneiform/profile/request/cancel.js.map +1 -0
  141. package/lib/commands/cuneiform/profile/request/delete.d.ts +59 -0
  142. package/lib/commands/cuneiform/profile/request/delete.js +223 -0
  143. package/lib/commands/cuneiform/profile/request/delete.js.map +1 -0
  144. package/lib/commands/cuneiform/profile/request/list.d.ts +35 -0
  145. package/lib/commands/cuneiform/profile/request/list.js +102 -0
  146. package/lib/commands/cuneiform/profile/request/list.js.map +1 -0
  147. package/lib/commands/cuneiform/profile.d.ts +90 -0
  148. package/lib/commands/cuneiform/profile.js +322 -0
  149. package/lib/commands/cuneiform/profile.js.map +1 -0
  150. package/lib/commands/cuneiform/summary/purge.d.ts +77 -0
  151. package/lib/commands/cuneiform/summary/purge.js +429 -0
  152. package/lib/commands/cuneiform/summary/purge.js.map +1 -0
  153. package/lib/commands/cuneiform/summary/reprofile.d.ts +60 -0
  154. package/lib/commands/cuneiform/summary/reprofile.js +236 -0
  155. package/lib/commands/cuneiform/summary/reprofile.js.map +1 -0
  156. package/lib/commands/cuneiform/summary/stop.d.ts +59 -0
  157. package/lib/commands/cuneiform/summary/stop.js +234 -0
  158. package/lib/commands/cuneiform/summary/stop.js.map +1 -0
  159. package/lib/commands/cuneiform/user/details.d.ts +73 -0
  160. package/lib/commands/cuneiform/user/details.js +391 -0
  161. package/lib/commands/cuneiform/user/details.js.map +1 -0
  162. package/lib/constants/index.d.ts +8 -0
  163. package/lib/constants/index.js +16 -0
  164. package/lib/constants/index.js.map +1 -0
  165. package/lib/constants/namespace-constants.d.ts +91 -0
  166. package/lib/constants/namespace-constants.js +211 -0
  167. package/lib/constants/namespace-constants.js.map +1 -0
  168. package/lib/debug/command-debug-proxy.d.ts +101 -0
  169. package/lib/debug/command-debug-proxy.js +171 -0
  170. package/lib/debug/command-debug-proxy.js.map +1 -0
  171. package/lib/debug/debug-logger.d.ts +85 -0
  172. package/lib/debug/debug-logger.js +133 -0
  173. package/lib/debug/debug-logger.js.map +1 -0
  174. package/lib/debug/index.d.ts +12 -0
  175. package/lib/debug/index.js +20 -0
  176. package/lib/debug/index.js.map +1 -0
  177. package/lib/debug/service-debug-proxy.d.ts +30 -0
  178. package/lib/debug/service-debug-proxy.js +102 -0
  179. package/lib/debug/service-debug-proxy.js.map +1 -0
  180. package/lib/hooks/prerun.d.ts +25 -0
  181. package/lib/hooks/prerun.js +47 -0
  182. package/lib/hooks/prerun.js.map +1 -0
  183. package/lib/mcp/config/mcp-config.d.ts +55 -0
  184. package/lib/mcp/config/mcp-config.js +51 -0
  185. package/lib/mcp/config/mcp-config.js.map +1 -0
  186. package/lib/mcp/config/pagination.d.ts +96 -0
  187. package/lib/mcp/config/pagination.js +108 -0
  188. package/lib/mcp/config/pagination.js.map +1 -0
  189. package/lib/mcp/config/system-prompts.d.ts +18 -0
  190. package/lib/mcp/config/system-prompts.js +92 -0
  191. package/lib/mcp/config/system-prompts.js.map +1 -0
  192. package/lib/mcp/errors.d.ts +23 -0
  193. package/lib/mcp/errors.js +27 -0
  194. package/lib/mcp/errors.js.map +1 -0
  195. package/lib/mcp/schemas/input-schemas.d.ts +327 -0
  196. package/lib/mcp/schemas/input-schemas.js +302 -0
  197. package/lib/mcp/schemas/input-schemas.js.map +1 -0
  198. package/lib/mcp/server.d.ts +40 -0
  199. package/lib/mcp/server.js +316 -0
  200. package/lib/mcp/server.js.map +1 -0
  201. package/lib/mcp/tools/contactpoint-tools.d.ts +14 -0
  202. package/lib/mcp/tools/contactpoint-tools.js +34 -0
  203. package/lib/mcp/tools/contactpoint-tools.js.map +1 -0
  204. package/lib/mcp/tools/definition-io-tools.d.ts +19 -0
  205. package/lib/mcp/tools/definition-io-tools.js +152 -0
  206. package/lib/mcp/tools/definition-io-tools.js.map +1 -0
  207. package/lib/mcp/tools/definition-tools.d.ts +51 -0
  208. package/lib/mcp/tools/definition-tools.js +199 -0
  209. package/lib/mcp/tools/definition-tools.js.map +1 -0
  210. package/lib/mcp/tools/index.d.ts +37 -0
  211. package/lib/mcp/tools/index.js +88 -0
  212. package/lib/mcp/tools/index.js.map +1 -0
  213. package/lib/mcp/tools/object-tools.d.ts +22 -0
  214. package/lib/mcp/tools/object-tools.js +306 -0
  215. package/lib/mcp/tools/object-tools.js.map +1 -0
  216. package/lib/mcp/tools/org-tools.d.ts +14 -0
  217. package/lib/mcp/tools/org-tools.js +177 -0
  218. package/lib/mcp/tools/org-tools.js.map +1 -0
  219. package/lib/mcp/tools/profile-tools.d.ts +59 -0
  220. package/lib/mcp/tools/profile-tools.js +213 -0
  221. package/lib/mcp/tools/profile-tools.js.map +1 -0
  222. package/lib/mcp/tools/summary-tools.d.ts +14 -0
  223. package/lib/mcp/tools/summary-tools.js +38 -0
  224. package/lib/mcp/tools/summary-tools.js.map +1 -0
  225. package/lib/mcp/tools/tool-factory.d.ts +63 -0
  226. package/lib/mcp/tools/tool-factory.js +146 -0
  227. package/lib/mcp/tools/tool-factory.js.map +1 -0
  228. package/lib/mcp/tools/user-tools.d.ts +25 -0
  229. package/lib/mcp/tools/user-tools.js +167 -0
  230. package/lib/mcp/tools/user-tools.js.map +1 -0
  231. package/lib/models/date-literal.d.ts +211 -0
  232. package/lib/models/date-literal.js +615 -0
  233. package/lib/models/date-literal.js.map +1 -0
  234. package/lib/models/object-describe-types.d.ts +173 -0
  235. package/lib/models/object-describe-types.js +9 -0
  236. package/lib/models/object-describe-types.js.map +1 -0
  237. package/lib/models/profile-request-types.d.ts +118 -0
  238. package/lib/models/profile-request-types.js +23 -0
  239. package/lib/models/profile-request-types.js.map +1 -0
  240. package/lib/models/profiling-execution-types.d.ts +154 -0
  241. package/lib/models/profiling-execution-types.js +14 -0
  242. package/lib/models/profiling-execution-types.js.map +1 -0
  243. package/lib/models/service-result.d.ts +114 -0
  244. package/lib/models/service-result.js +81 -0
  245. package/lib/models/service-result.js.map +1 -0
  246. package/lib/models/sfdmu-types.d.ts +53 -0
  247. package/lib/models/sfdmu-types.js +23 -0
  248. package/lib/models/sfdmu-types.js.map +1 -0
  249. package/lib/models/status-types.d.ts +38 -0
  250. package/lib/models/status-types.js +12 -0
  251. package/lib/models/status-types.js.map +1 -0
  252. package/lib/models/summary-bulk-types.d.ts +61 -0
  253. package/lib/models/summary-bulk-types.js +23 -0
  254. package/lib/models/summary-bulk-types.js.map +1 -0
  255. package/lib/models/user-details-types.d.ts +163 -0
  256. package/lib/models/user-details-types.js +9 -0
  257. package/lib/models/user-details-types.js.map +1 -0
  258. package/lib/models/year-range.d.ts +78 -0
  259. package/lib/models/year-range.js +153 -0
  260. package/lib/models/year-range.js.map +1 -0
  261. package/lib/operations/CompatibilityCheckOperation.d.ts +62 -0
  262. package/lib/operations/CompatibilityCheckOperation.js +102 -0
  263. package/lib/operations/CompatibilityCheckOperation.js.map +1 -0
  264. package/lib/operations/DefinitionCreateOperation.d.ts +411 -0
  265. package/lib/operations/DefinitionCreateOperation.js +1121 -0
  266. package/lib/operations/DefinitionCreateOperation.js.map +1 -0
  267. package/lib/operations/DefinitionExportOperation.d.ts +155 -0
  268. package/lib/operations/DefinitionExportOperation.js +281 -0
  269. package/lib/operations/DefinitionExportOperation.js.map +1 -0
  270. package/lib/operations/DefinitionImportOperation.d.ts +144 -0
  271. package/lib/operations/DefinitionImportOperation.js +357 -0
  272. package/lib/operations/DefinitionImportOperation.js.map +1 -0
  273. package/lib/operations/DefinitionListOperation.d.ts +66 -0
  274. package/lib/operations/DefinitionListOperation.js +108 -0
  275. package/lib/operations/DefinitionListOperation.js.map +1 -0
  276. package/lib/operations/DefinitionPurgeOperation.d.ts +199 -0
  277. package/lib/operations/DefinitionPurgeOperation.js +465 -0
  278. package/lib/operations/DefinitionPurgeOperation.js.map +1 -0
  279. package/lib/operations/DefinitionUpdateOperation.d.ts +78 -0
  280. package/lib/operations/DefinitionUpdateOperation.js +142 -0
  281. package/lib/operations/DefinitionUpdateOperation.js.map +1 -0
  282. package/lib/operations/OrgDetailsOperation.d.ts +253 -0
  283. package/lib/operations/OrgDetailsOperation.js +456 -0
  284. package/lib/operations/OrgDetailsOperation.js.map +1 -0
  285. package/lib/operations/OrgResetOperation.d.ts +114 -0
  286. package/lib/operations/OrgResetOperation.js +209 -0
  287. package/lib/operations/OrgResetOperation.js.map +1 -0
  288. package/lib/operations/ProfileOperation.d.ts +187 -0
  289. package/lib/operations/ProfileOperation.js +373 -0
  290. package/lib/operations/ProfileOperation.js.map +1 -0
  291. package/lib/operations/ProfileRequestCancelOperation.d.ts +59 -0
  292. package/lib/operations/ProfileRequestCancelOperation.js +137 -0
  293. package/lib/operations/ProfileRequestCancelOperation.js.map +1 -0
  294. package/lib/operations/ProfileRequestDeleteOperation.d.ts +64 -0
  295. package/lib/operations/ProfileRequestDeleteOperation.js +134 -0
  296. package/lib/operations/ProfileRequestDeleteOperation.js.map +1 -0
  297. package/lib/operations/ProfileRequestListOperation.d.ts +39 -0
  298. package/lib/operations/ProfileRequestListOperation.js +61 -0
  299. package/lib/operations/ProfileRequestListOperation.js.map +1 -0
  300. package/lib/operations/SummaryPurgeOperation.d.ts +134 -0
  301. package/lib/operations/SummaryPurgeOperation.js +257 -0
  302. package/lib/operations/SummaryPurgeOperation.js.map +1 -0
  303. package/lib/operations/SummaryReprofileOperation.d.ts +88 -0
  304. package/lib/operations/SummaryReprofileOperation.js +174 -0
  305. package/lib/operations/SummaryReprofileOperation.js.map +1 -0
  306. package/lib/operations/SummaryStopOperation.d.ts +87 -0
  307. package/lib/operations/SummaryStopOperation.js +175 -0
  308. package/lib/operations/SummaryStopOperation.js.map +1 -0
  309. package/lib/services/BulkExecutionService.d.ts +120 -0
  310. package/lib/services/BulkExecutionService.js +535 -0
  311. package/lib/services/BulkExecutionService.js.map +1 -0
  312. package/lib/services/CompatibilityService.d.ts +81 -0
  313. package/lib/services/CompatibilityService.js +118 -0
  314. package/lib/services/CompatibilityService.js.map +1 -0
  315. package/lib/services/ConfigureMode.d.ts +85 -0
  316. package/lib/services/ConfigureMode.js +390 -0
  317. package/lib/services/ConfigureMode.js.map +1 -0
  318. package/lib/services/ContactPointService.d.ts +111 -0
  319. package/lib/services/ContactPointService.js +286 -0
  320. package/lib/services/ContactPointService.js.map +1 -0
  321. package/lib/services/DataAvailabilityService.d.ts +81 -0
  322. package/lib/services/DataAvailabilityService.js +128 -0
  323. package/lib/services/DataAvailabilityService.js.map +1 -0
  324. package/lib/services/DefinitionFieldGenerationService.d.ts +309 -0
  325. package/lib/services/DefinitionFieldGenerationService.js +795 -0
  326. package/lib/services/DefinitionFieldGenerationService.js.map +1 -0
  327. package/lib/services/DefinitionQueryBuilder.d.ts +59 -0
  328. package/lib/services/DefinitionQueryBuilder.js +234 -0
  329. package/lib/services/DefinitionQueryBuilder.js.map +1 -0
  330. package/lib/services/ObjectDescribeService.d.ts +436 -0
  331. package/lib/services/ObjectDescribeService.js +869 -0
  332. package/lib/services/ObjectDescribeService.js.map +1 -0
  333. package/lib/services/ObjectFilteringService.d.ts +400 -0
  334. package/lib/services/ObjectFilteringService.js +878 -0
  335. package/lib/services/ObjectFilteringService.js.map +1 -0
  336. package/lib/services/ObjectListCommandService.d.ts +429 -0
  337. package/lib/services/ObjectListCommandService.js +873 -0
  338. package/lib/services/ObjectListCommandService.js.map +1 -0
  339. package/lib/services/ObjectListService.d.ts +201 -0
  340. package/lib/services/ObjectListService.js +345 -0
  341. package/lib/services/ObjectListService.js.map +1 -0
  342. package/lib/services/OrgInfoService.d.ts +485 -0
  343. package/lib/services/OrgInfoService.js +1122 -0
  344. package/lib/services/OrgInfoService.js.map +1 -0
  345. package/lib/services/PollingService.d.ts +105 -0
  346. package/lib/services/PollingService.js +117 -0
  347. package/lib/services/PollingService.js.map +1 -0
  348. package/lib/services/ProfileRequestService.d.ts +186 -0
  349. package/lib/services/ProfileRequestService.js +555 -0
  350. package/lib/services/ProfileRequestService.js.map +1 -0
  351. package/lib/services/ProfilingDefinitionService.d.ts +535 -0
  352. package/lib/services/ProfilingDefinitionService.js +981 -0
  353. package/lib/services/ProfilingDefinitionService.js.map +1 -0
  354. package/lib/services/ProfilingExecutionService.d.ts +122 -0
  355. package/lib/services/ProfilingExecutionService.js +320 -0
  356. package/lib/services/ProfilingExecutionService.js.map +1 -0
  357. package/lib/services/ProfilingSummaryService.d.ts +292 -0
  358. package/lib/services/ProfilingSummaryService.js +685 -0
  359. package/lib/services/ProfilingSummaryService.js.map +1 -0
  360. package/lib/services/RecordTypeService.d.ts +129 -0
  361. package/lib/services/RecordTypeService.js +284 -0
  362. package/lib/services/RecordTypeService.js.map +1 -0
  363. package/lib/services/SFDMUService.d.ts +133 -0
  364. package/lib/services/SFDMUService.js +295 -0
  365. package/lib/services/SFDMUService.js.map +1 -0
  366. package/lib/services/TabDetectionService.d.ts +105 -0
  367. package/lib/services/TabDetectionService.js +206 -0
  368. package/lib/services/TabDetectionService.js.map +1 -0
  369. package/lib/services/UnconfigureMode.d.ts +74 -0
  370. package/lib/services/UnconfigureMode.js +378 -0
  371. package/lib/services/UnconfigureMode.js.map +1 -0
  372. package/lib/services/UserConfigurationService.d.ts +155 -0
  373. package/lib/services/UserConfigurationService.js +573 -0
  374. package/lib/services/UserConfigurationService.js.map +1 -0
  375. package/lib/services/UserConfigurationTypes.d.ts +181 -0
  376. package/lib/services/UserConfigurationTypes.js +14 -0
  377. package/lib/services/UserConfigurationTypes.js.map +1 -0
  378. package/lib/services/UserReadinessService.d.ts +330 -0
  379. package/lib/services/UserReadinessService.js +831 -0
  380. package/lib/services/UserReadinessService.js.map +1 -0
  381. package/lib/services/constants.d.ts +53 -0
  382. package/lib/services/constants.js +71 -0
  383. package/lib/services/constants.js.map +1 -0
  384. package/lib/services/namespace-constants.d.ts +1 -0
  385. package/lib/services/namespace-constants.js +11 -0
  386. package/lib/services/namespace-constants.js.map +1 -0
  387. package/lib/services/validation.d.ts +47 -0
  388. package/lib/services/validation.js +119 -0
  389. package/lib/services/validation.js.map +1 -0
  390. package/lib/utils/batch-processor.d.ts +13 -0
  391. package/lib/utils/batch-processor.js +39 -0
  392. package/lib/utils/batch-processor.js.map +1 -0
  393. package/lib/utils/formatting/availability-grid.d.ts +81 -0
  394. package/lib/utils/formatting/availability-grid.js +94 -0
  395. package/lib/utils/formatting/availability-grid.js.map +1 -0
  396. package/lib/utils/formatting/business-process-grid.d.ts +51 -0
  397. package/lib/utils/formatting/business-process-grid.js +58 -0
  398. package/lib/utils/formatting/business-process-grid.js.map +1 -0
  399. package/lib/utils/formatting/command-display.d.ts +154 -0
  400. package/lib/utils/formatting/command-display.js +154 -0
  401. package/lib/utils/formatting/command-display.js.map +1 -0
  402. package/lib/utils/formatting/definition-create-display.d.ts +118 -0
  403. package/lib/utils/formatting/definition-create-display.js +231 -0
  404. package/lib/utils/formatting/definition-create-display.js.map +1 -0
  405. package/lib/utils/formatting/empty-states.d.ts +35 -0
  406. package/lib/utils/formatting/empty-states.js +70 -0
  407. package/lib/utils/formatting/empty-states.js.map +1 -0
  408. package/lib/utils/formatting/errors.d.ts +33 -0
  409. package/lib/utils/formatting/errors.js +72 -0
  410. package/lib/utils/formatting/errors.js.map +1 -0
  411. package/lib/utils/formatting/field-types.d.ts +32 -0
  412. package/lib/utils/formatting/field-types.js +88 -0
  413. package/lib/utils/formatting/field-types.js.map +1 -0
  414. package/lib/utils/formatting/index.d.ts +29 -0
  415. package/lib/utils/formatting/index.js +28 -0
  416. package/lib/utils/formatting/index.js.map +1 -0
  417. package/lib/utils/formatting/indicators.d.ts +113 -0
  418. package/lib/utils/formatting/indicators.js +161 -0
  419. package/lib/utils/formatting/indicators.js.map +1 -0
  420. package/lib/utils/formatting/loading-messages.d.ts +37 -0
  421. package/lib/utils/formatting/loading-messages.js +50 -0
  422. package/lib/utils/formatting/loading-messages.js.map +1 -0
  423. package/lib/utils/formatting/namespace-display.d.ts +31 -0
  424. package/lib/utils/formatting/namespace-display.js +64 -0
  425. package/lib/utils/formatting/namespace-display.js.map +1 -0
  426. package/lib/utils/formatting/numbers.d.ts +73 -0
  427. package/lib/utils/formatting/numbers.js +187 -0
  428. package/lib/utils/formatting/numbers.js.map +1 -0
  429. package/lib/utils/formatting/object-describe-display.d.ts +114 -0
  430. package/lib/utils/formatting/object-describe-display.js +440 -0
  431. package/lib/utils/formatting/object-describe-display.js.map +1 -0
  432. package/lib/utils/formatting/object-list-display.d.ts +213 -0
  433. package/lib/utils/formatting/object-list-display.js +672 -0
  434. package/lib/utils/formatting/object-list-display.js.map +1 -0
  435. package/lib/utils/formatting/org-identity.d.ts +15 -0
  436. package/lib/utils/formatting/org-identity.js +28 -0
  437. package/lib/utils/formatting/org-identity.js.map +1 -0
  438. package/lib/utils/formatting/record-age-grid.d.ts +41 -0
  439. package/lib/utils/formatting/record-age-grid.js +56 -0
  440. package/lib/utils/formatting/record-age-grid.js.map +1 -0
  441. package/lib/utils/formatting/sections.d.ts +108 -0
  442. package/lib/utils/formatting/sections.js +150 -0
  443. package/lib/utils/formatting/sections.js.map +1 -0
  444. package/lib/utils/formatting/tables.d.ts +90 -0
  445. package/lib/utils/formatting/tables.js +113 -0
  446. package/lib/utils/formatting/tables.js.map +1 -0
  447. package/lib/utils/formatting/user-details-display.d.ts +101 -0
  448. package/lib/utils/formatting/user-details-display.js +425 -0
  449. package/lib/utils/formatting/user-details-display.js.map +1 -0
  450. package/lib/utils/pagination/index.d.ts +11 -0
  451. package/lib/utils/pagination/index.js +18 -0
  452. package/lib/utils/pagination/index.js.map +1 -0
  453. package/lib/utils/pagination/keypress-reader.d.ts +20 -0
  454. package/lib/utils/pagination/keypress-reader.js +63 -0
  455. package/lib/utils/pagination/keypress-reader.js.map +1 -0
  456. package/lib/utils/pagination/paginate-output.d.ts +48 -0
  457. package/lib/utils/pagination/paginate-output.js +136 -0
  458. package/lib/utils/pagination/paginate-output.js.map +1 -0
  459. package/messages/compatibility.check.md +71 -0
  460. package/messages/cuneiform.access.md +138 -0
  461. package/messages/definition.create.md +511 -0
  462. package/messages/definition.export.md +84 -0
  463. package/messages/definition.get.md +147 -0
  464. package/messages/definition.import.md +65 -0
  465. package/messages/definition.list.md +264 -0
  466. package/messages/definition.purge.md +318 -0
  467. package/messages/definition.update.md +118 -0
  468. package/messages/mcp.serve.md +66 -0
  469. package/messages/object.describe.md +201 -0
  470. package/messages/object.list.md +443 -0
  471. package/messages/org.details.md +386 -0
  472. package/messages/org.reset.md +71 -0
  473. package/messages/profile.md +231 -0
  474. package/messages/profile.request.cancel.md +143 -0
  475. package/messages/profile.request.delete.md +139 -0
  476. package/messages/profile.request.list.md +89 -0
  477. package/messages/summary.purge.md +218 -0
  478. package/messages/summary.reprofile.md +150 -0
  479. package/messages/summary.stop.md +157 -0
  480. package/messages/user.details.md +501 -0
  481. package/oclif.lock +2887 -2149
  482. package/oclif.manifest.json +2813 -31
  483. package/package.json +94 -19
  484. package/lib/commands/cuneiform/about.d.ts +0 -13
  485. package/lib/commands/cuneiform/about.js +0 -26
  486. package/lib/commands/cuneiform/about.js.map +0 -1
  487. package/lib/commands/hello/world.d.ts +0 -14
  488. package/lib/commands/hello/world.js +0 -27
  489. package/lib/commands/hello/world.js.map +0 -1
  490. package/lib/index.d.ts +0 -2
  491. package/lib/index.js +0 -2
  492. package/lib/index.js.map +0 -1
  493. package/messages/cuneiform.about.md +0 -19
  494. package/messages/hello.world.md +0 -29
@@ -0,0 +1,9 @@
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
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/testing/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tooling API adapter for Salesforce metadata operations.
3
+ *
4
+ * Provides the ToolingApiAdapter for querying metadata objects like
5
+ * CustomField, ValidationRule, and TabDefinition.
6
+ *
7
+ * @module adapters/tooling
8
+ */
9
+ export { ToolingApiAdapter, type IToolingApiAdapter } from './tooling-api-adapter.js';
10
+ export type { ToolingApiAdapterConfig, CustomField, ValidationRule, TabDefinition } from './types.js';
@@ -0,0 +1,17 @@
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
+ * Tooling API adapter for Salesforce metadata operations.
10
+ *
11
+ * Provides the ToolingApiAdapter for querying metadata objects like
12
+ * CustomField, ValidationRule, and TabDefinition.
13
+ *
14
+ * @module adapters/tooling
15
+ */
16
+ export { ToolingApiAdapter } from './tooling-api-adapter.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/tooling/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAA2B,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,157 @@
1
+ import type { IConnectionFacade, QueryResult } from '../connection-facade.js';
2
+ import type { ServiceResult } from '../../models/service-result.js';
3
+ import type { ToolingApiAdapterConfig, CustomField, ValidationRule, TabDefinition } from './types.js';
4
+ /**
5
+ * Interface for Tooling API operations.
6
+ *
7
+ * Provides methods for querying Salesforce metadata via the Tooling API.
8
+ */
9
+ export type IToolingApiAdapter = {
10
+ /**
11
+ * Executes a Tooling API SOQL query.
12
+ *
13
+ * @template T The type of records being queried
14
+ * @param soql - The SOQL query string
15
+ * @returns ServiceResult containing query results (first page only)
16
+ */
17
+ query<T>(soql: string): Promise<ServiceResult<QueryResult<T>>>;
18
+ /**
19
+ * Executes a Tooling API SOQL query and fetches all pages.
20
+ *
21
+ * @template T The type of records being queried
22
+ * @param soql - The SOQL query string
23
+ * @returns ServiceResult containing all records
24
+ */
25
+ queryAll<T>(soql: string): Promise<ServiceResult<QueryResult<T>>>;
26
+ /**
27
+ * Queries custom fields for a specific object.
28
+ *
29
+ * @param objectName - The API name of the object
30
+ * @returns ServiceResult containing custom field metadata
31
+ */
32
+ queryCustomFields(objectName: string): Promise<ServiceResult<CustomField[]>>;
33
+ /**
34
+ * Queries validation rules for a specific object.
35
+ *
36
+ * @param objectName - The API name of the object
37
+ * @returns ServiceResult containing validation rule metadata
38
+ */
39
+ queryValidationRules(objectName: string): Promise<ServiceResult<ValidationRule[]>>;
40
+ /**
41
+ * Queries all tab definitions.
42
+ *
43
+ * @returns ServiceResult containing tab definitions
44
+ */
45
+ queryTabs(): Promise<ServiceResult<TabDefinition[]>>;
46
+ /**
47
+ * Queries a tab definition for a specific object.
48
+ *
49
+ * More efficient than queryTabs() when checking a single object,
50
+ * as it uses a WHERE clause to filter server-side.
51
+ *
52
+ * @param objectName - The API name of the object to check
53
+ * @returns ServiceResult containing the TabDefinition or null if no tab exists
54
+ */
55
+ queryTabByObject(objectName: string): Promise<ServiceResult<TabDefinition | null>>;
56
+ };
57
+ /**
58
+ * Adapter for Tooling API operations against Salesforce.
59
+ *
60
+ * Provides methods for querying metadata such as custom fields,
61
+ * validation rules, and tab definitions.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const adapter = new ToolingApiAdapter(connectionFacade);
66
+ *
67
+ * // Query custom fields
68
+ * const fields = await adapter.queryCustomFields('Account');
69
+ *
70
+ * // Query validation rules
71
+ * const rules = await adapter.queryValidationRules('Contact');
72
+ *
73
+ * // Query all tabs
74
+ * const tabs = await adapter.queryTabs();
75
+ *
76
+ * // Query tab for specific object (more efficient for single lookups)
77
+ * const accountTab = await adapter.queryTabByObject('Account');
78
+ *
79
+ * // Custom Tooling API query
80
+ * const result = await adapter.query<ApexClass>('SELECT Id, Name FROM ApexClass LIMIT 10');
81
+ * ```
82
+ */
83
+ export declare class ToolingApiAdapter implements IToolingApiAdapter {
84
+ private readonly connection;
85
+ private readonly logger?;
86
+ private readonly lifecycle;
87
+ private readonly retryConfig?;
88
+ /**
89
+ * Creates a new ToolingApiAdapter.
90
+ *
91
+ * @param connection - The connection facade to use for API calls
92
+ * @param config - Optional configuration
93
+ */
94
+ constructor(connection: IConnectionFacade, config?: ToolingApiAdapterConfig);
95
+ /**
96
+ * Executes a Tooling API SOQL query (first page only).
97
+ *
98
+ * @template T The type of records being queried
99
+ * @param soql - The SOQL query string
100
+ * @returns ServiceResult containing query results
101
+ */
102
+ query<T>(soql: string): Promise<ServiceResult<QueryResult<T>>>;
103
+ /**
104
+ * Executes a Tooling API SOQL query and fetches all pages.
105
+ *
106
+ * Use this method when you need all records from a query that may
107
+ * return more than 2000 records.
108
+ *
109
+ * @template T The type of records being queried
110
+ * @param soql - The SOQL query string
111
+ * @returns ServiceResult containing all records
112
+ */
113
+ queryAll<T>(soql: string): Promise<ServiceResult<QueryResult<T>>>;
114
+ /**
115
+ * Queries custom fields for a specific object.
116
+ *
117
+ * @param objectName - The API name of the object
118
+ * @returns ServiceResult containing custom field metadata
119
+ */
120
+ queryCustomFields(objectName: string): Promise<ServiceResult<CustomField[]>>;
121
+ /**
122
+ * Queries validation rules for a specific object.
123
+ *
124
+ * @param objectName - The API name of the object
125
+ * @returns ServiceResult containing validation rule metadata
126
+ */
127
+ queryValidationRules(objectName: string): Promise<ServiceResult<ValidationRule[]>>;
128
+ /**
129
+ * Queries all tab definitions.
130
+ *
131
+ * @returns ServiceResult containing tab definitions
132
+ */
133
+ queryTabs(): Promise<ServiceResult<TabDefinition[]>>;
134
+ /**
135
+ * Queries a tab definition for a specific object.
136
+ *
137
+ * More efficient than queryTabs() for single-object lookups because it filters
138
+ * server-side with a WHERE clause rather than fetching all tabs.
139
+ *
140
+ * @param objectName - The API name of the object to check
141
+ * @returns ServiceResult containing the TabDefinition or null if no tab exists
142
+ */
143
+ queryTabByObject(objectName: string): Promise<ServiceResult<TabDefinition | null>>;
144
+ /**
145
+ * Handles errors and maps them to appropriate error codes.
146
+ *
147
+ * Accepts SfError, jsforce errors, or unknown error types. Extracts Salesforce
148
+ * error codes when available and maps them to adapter-specific error codes.
149
+ *
150
+ * @param error - The caught error (SfError, jsforce error, or unknown)
151
+ * @param startTime - The operation start time for duration calculation
152
+ * @param emptyResult - The empty result to return on failure
153
+ * @param context - Optional context for logging (e.g., "custom fields for Account")
154
+ * @returns ServiceResult with success=false and mapped error code
155
+ */
156
+ private handleError;
157
+ }
@@ -0,0 +1,339 @@
1
+ /*
2
+ * Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
3
+ * PROPRIETARY AND CONFIDENTIAL. Unauthorized copying, modification,
4
+ * or distribution is strictly prohibited. Use is governed by the
5
+ * Master Subscription Agreement (MSA) between PeerNova, Inc. and the
6
+ * licensee. See LICENSE file in the repo root.
7
+ */
8
+ import { createSuccessResult, createFailureResult } from '../../models/service-result.js';
9
+ import { AdapterErrorCodes, mapSalesforceError, extractSalesforceErrorCode, sanitizeSoqlIdentifier, escapeSoqlString, } from '../errors.js';
10
+ import { createLifecycleEmitter } from '../lifecycle.js';
11
+ import { withRetry } from '../retry.js';
12
+ import { warnApiVersion } from '../types.js';
13
+ import { CuneiformQueryBuilder } from '../soql/cuneiform-query-builder.js';
14
+ /**
15
+ * Adapter for Tooling API operations against Salesforce.
16
+ *
17
+ * Provides methods for querying metadata such as custom fields,
18
+ * validation rules, and tab definitions.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const adapter = new ToolingApiAdapter(connectionFacade);
23
+ *
24
+ * // Query custom fields
25
+ * const fields = await adapter.queryCustomFields('Account');
26
+ *
27
+ * // Query validation rules
28
+ * const rules = await adapter.queryValidationRules('Contact');
29
+ *
30
+ * // Query all tabs
31
+ * const tabs = await adapter.queryTabs();
32
+ *
33
+ * // Query tab for specific object (more efficient for single lookups)
34
+ * const accountTab = await adapter.queryTabByObject('Account');
35
+ *
36
+ * // Custom Tooling API query
37
+ * const result = await adapter.query<ApexClass>('SELECT Id, Name FROM ApexClass LIMIT 10');
38
+ * ```
39
+ */
40
+ export class ToolingApiAdapter {
41
+ connection;
42
+ logger;
43
+ lifecycle;
44
+ retryConfig;
45
+ /**
46
+ * Creates a new ToolingApiAdapter.
47
+ *
48
+ * @param connection - The connection facade to use for API calls
49
+ * @param config - Optional configuration
50
+ */
51
+ constructor(connection, config) {
52
+ this.connection = connection;
53
+ this.logger = config?.logger;
54
+ this.lifecycle = createLifecycleEmitter('tooling', config?.emitLifecycleEvents ?? false);
55
+ this.retryConfig = config?.retry;
56
+ // Warn if API version is below recommended minimum
57
+ warnApiVersion(connection.version, 'ToolingApiAdapter', this.logger);
58
+ }
59
+ /**
60
+ * Executes a Tooling API SOQL query (first page only).
61
+ *
62
+ * @template T The type of records being queried
63
+ * @param soql - The SOQL query string
64
+ * @returns ServiceResult containing query results
65
+ */
66
+ async query(soql) {
67
+ const startTime = Date.now();
68
+ const emptyResult = { done: true, totalSize: 0, records: [] };
69
+ try {
70
+ this.logger?.log(`Executing Tooling API query: ${soql.substring(0, 100)}...`);
71
+ await this.lifecycle.start('query', { soqlLength: soql.length });
72
+ const executeQuery = () => this.connection.tooling.query(soql);
73
+ const result = this.retryConfig ? await withRetry(executeQuery, this.retryConfig) : await executeQuery();
74
+ const duration = Date.now() - startTime;
75
+ this.logger?.log(`Tooling query returned ${result.records.length} of ${result.totalSize} records`);
76
+ await this.lifecycle.complete('query', startTime, { recordCount: result.records.length });
77
+ return createSuccessResult(result, {
78
+ message: `Tooling query returned ${result.records.length} records`,
79
+ metadata: { duration },
80
+ });
81
+ }
82
+ catch (error) {
83
+ const errorMessage = error instanceof Error ? error.message : String(error);
84
+ await this.lifecycle.error('query', startTime, errorMessage);
85
+ return this.handleError(error, startTime, emptyResult);
86
+ }
87
+ }
88
+ /**
89
+ * Executes a Tooling API SOQL query and fetches all pages.
90
+ *
91
+ * Use this method when you need all records from a query that may
92
+ * return more than 2000 records.
93
+ *
94
+ * @template T The type of records being queried
95
+ * @param soql - The SOQL query string
96
+ * @returns ServiceResult containing all records
97
+ */
98
+ async queryAll(soql) {
99
+ const startTime = Date.now();
100
+ const emptyResult = { done: true, totalSize: 0, records: [] };
101
+ try {
102
+ this.logger?.log(`Executing Tooling API queryAll: ${soql.substring(0, 100)}...`);
103
+ const allRecords = [];
104
+ let pagesFetched = 1; // Count actual API calls, starting with initial query
105
+ // Initial query with retry
106
+ const executeInitialQuery = () => this.connection.tooling.query(soql);
107
+ let result = this.retryConfig
108
+ ? await withRetry(executeInitialQuery, this.retryConfig)
109
+ : await executeInitialQuery();
110
+ allRecords.push(...result.records);
111
+ const totalSize = result.totalSize;
112
+ // Fetch additional pages if needed, with retry on each page
113
+ /* eslint-disable no-await-in-loop -- Intentional: pagination requires sequential API calls */
114
+ while (!result.done && result.nextRecordsUrl) {
115
+ // Capture locator for closure
116
+ const locator = result.nextRecordsUrl;
117
+ const executeQueryMore = () => this.connection.tooling.queryMore(locator);
118
+ result = this.retryConfig ? await withRetry(executeQueryMore, this.retryConfig) : await executeQueryMore();
119
+ allRecords.push(...result.records);
120
+ pagesFetched++; // Count each queryMore call
121
+ this.logger?.log(`Fetched ${allRecords.length} of ${totalSize} records`);
122
+ }
123
+ /* eslint-enable no-await-in-loop */
124
+ const duration = Date.now() - startTime;
125
+ this.logger?.log(`Tooling queryAll returned ${allRecords.length} records`);
126
+ const finalResult = {
127
+ done: true,
128
+ totalSize,
129
+ records: allRecords,
130
+ };
131
+ return createSuccessResult(finalResult, {
132
+ message: `Tooling query returned ${allRecords.length} records`,
133
+ metadata: { duration, pagesFetched },
134
+ });
135
+ }
136
+ catch (error) {
137
+ return this.handleError(error, startTime, emptyResult);
138
+ }
139
+ }
140
+ /**
141
+ * Queries custom fields for a specific object.
142
+ *
143
+ * @param objectName - The API name of the object
144
+ * @returns ServiceResult containing custom field metadata
145
+ */
146
+ async queryCustomFields(objectName) {
147
+ const startTime = Date.now();
148
+ try {
149
+ this.logger?.log(`Querying custom fields for: ${objectName}`);
150
+ await this.lifecycle.start('queryCustomFields', { objectName });
151
+ // Validate object name to prevent SOQL injection
152
+ const sanitizedObjectName = sanitizeSoqlIdentifier(objectName);
153
+ const soql = CuneiformQueryBuilder.create()
154
+ .select(['Id', 'DeveloperName', 'TableEnumOrId', 'FullName', 'Metadata'])
155
+ .from('CustomField')
156
+ .where('TableEnumOrId', '=', sanitizedObjectName)
157
+ .orderBy('DeveloperName', 'ASC')
158
+ .toSOQL();
159
+ const executeQuery = () => this.connection.tooling.query(soql);
160
+ const result = this.retryConfig ? await withRetry(executeQuery, this.retryConfig) : await executeQuery();
161
+ const duration = Date.now() - startTime;
162
+ this.logger?.log(`Found ${result.records.length} custom fields for ${objectName}`);
163
+ await this.lifecycle.complete('queryCustomFields', startTime, { objectName, fieldCount: result.records.length });
164
+ return createSuccessResult(result.records, {
165
+ message: `Found ${result.records.length} custom fields for ${objectName}`,
166
+ metadata: { duration },
167
+ });
168
+ }
169
+ catch (error) {
170
+ const errorMessage = error instanceof Error ? error.message : String(error);
171
+ await this.lifecycle.error('queryCustomFields', startTime, errorMessage, { objectName });
172
+ return this.handleError(error, startTime, [], `custom fields for ${objectName}`);
173
+ }
174
+ }
175
+ /**
176
+ * Queries validation rules for a specific object.
177
+ *
178
+ * @param objectName - The API name of the object
179
+ * @returns ServiceResult containing validation rule metadata
180
+ */
181
+ async queryValidationRules(objectName) {
182
+ const startTime = Date.now();
183
+ try {
184
+ this.logger?.log(`Querying validation rules for: ${objectName}`);
185
+ await this.lifecycle.start('queryValidationRules', { objectName });
186
+ // Validate object name to prevent SOQL injection
187
+ const sanitizedObjectName = sanitizeSoqlIdentifier(objectName);
188
+ // First get the EntityDefinition ID for the object
189
+ const entityQuery = CuneiformQueryBuilder.create()
190
+ .select(['Id'])
191
+ .from('EntityDefinition')
192
+ .where('QualifiedApiName', '=', sanitizedObjectName)
193
+ .limit(1)
194
+ .toSOQL();
195
+ const executeEntityQuery = () => this.connection.tooling.query(entityQuery);
196
+ const entityResult = this.retryConfig
197
+ ? await withRetry(executeEntityQuery, this.retryConfig)
198
+ : await executeEntityQuery();
199
+ if (!entityResult?.records || entityResult.records.length === 0) {
200
+ const duration = Date.now() - startTime;
201
+ this.logger?.log(`Object not found when querying validation rules: ${objectName}`);
202
+ await this.lifecycle.complete('queryValidationRules', startTime, { objectName, ruleCount: 0, notFound: true });
203
+ return createFailureResult([], AdapterErrorCodes.METADATA_NOT_FOUND, `Object '${objectName}' not found`, { metadata: { duration } });
204
+ }
205
+ const entityId = entityResult.records[0].Id;
206
+ // Escape entityId to prevent SOQL injection (CuneiformQueryBuilder handles string escaping internally)
207
+ const escapedEntityId = escapeSoqlString(entityId);
208
+ const soql = CuneiformQueryBuilder.create()
209
+ .select(['Id', 'ValidationName', 'EntityDefinitionId', 'Active', 'ErrorMessage'])
210
+ .from('ValidationRule')
211
+ .where('EntityDefinitionId', '=', escapedEntityId)
212
+ .orderBy('ValidationName', 'ASC')
213
+ .toSOQL();
214
+ const executeQuery = () => this.connection.tooling.query(soql);
215
+ const result = this.retryConfig ? await withRetry(executeQuery, this.retryConfig) : await executeQuery();
216
+ const duration = Date.now() - startTime;
217
+ this.logger?.log(`Found ${result.records.length} validation rules for ${objectName}`);
218
+ await this.lifecycle.complete('queryValidationRules', startTime, {
219
+ objectName,
220
+ ruleCount: result.records.length,
221
+ });
222
+ return createSuccessResult(result.records, {
223
+ message: `Found ${result.records.length} validation rules for ${objectName}`,
224
+ metadata: { duration },
225
+ });
226
+ }
227
+ catch (error) {
228
+ const errorMessage = error instanceof Error ? error.message : String(error);
229
+ await this.lifecycle.error('queryValidationRules', startTime, errorMessage, { objectName });
230
+ return this.handleError(error, startTime, [], `validation rules for ${objectName}`);
231
+ }
232
+ }
233
+ /**
234
+ * Queries all tab definitions.
235
+ *
236
+ * @returns ServiceResult containing tab definitions
237
+ */
238
+ async queryTabs() {
239
+ const startTime = Date.now();
240
+ try {
241
+ this.logger?.log('Querying tab definitions');
242
+ await this.lifecycle.start('queryTabs', {});
243
+ const soql = CuneiformQueryBuilder.create()
244
+ .select(['Id', 'Name', 'SobjectName', 'IsCustom'])
245
+ .from('TabDefinition')
246
+ .orderBy('Name', 'ASC')
247
+ .toSOQL();
248
+ const executeQuery = () => this.connection.tooling.query(soql);
249
+ const result = this.retryConfig ? await withRetry(executeQuery, this.retryConfig) : await executeQuery();
250
+ const duration = Date.now() - startTime;
251
+ this.logger?.log(`Found ${result.records.length} tab definitions`);
252
+ await this.lifecycle.complete('queryTabs', startTime, { tabCount: result.records.length });
253
+ return createSuccessResult(result.records, {
254
+ message: `Found ${result.records.length} tab definitions`,
255
+ metadata: { duration },
256
+ });
257
+ }
258
+ catch (error) {
259
+ const errorMessage = error instanceof Error ? error.message : String(error);
260
+ await this.lifecycle.error('queryTabs', startTime, errorMessage);
261
+ return this.handleError(error, startTime, [], 'tabs');
262
+ }
263
+ }
264
+ /**
265
+ * Queries a tab definition for a specific object.
266
+ *
267
+ * More efficient than queryTabs() for single-object lookups because it filters
268
+ * server-side with a WHERE clause rather than fetching all tabs.
269
+ *
270
+ * @param objectName - The API name of the object to check
271
+ * @returns ServiceResult containing the TabDefinition or null if no tab exists
272
+ */
273
+ async queryTabByObject(objectName) {
274
+ const startTime = Date.now();
275
+ try {
276
+ this.logger?.log(`Querying tab for object: ${objectName}`);
277
+ await this.lifecycle.start('queryTabByObject', { objectName });
278
+ // Validate object name to prevent SOQL injection
279
+ const sanitizedObjectName = sanitizeSoqlIdentifier(objectName);
280
+ const soql = CuneiformQueryBuilder.create()
281
+ .select(['Id', 'Name', 'SobjectName', 'IsCustom'])
282
+ .from('TabDefinition')
283
+ .where('SobjectName', '=', sanitizedObjectName)
284
+ .limit(1)
285
+ .toSOQL();
286
+ const executeQuery = () => this.connection.tooling.query(soql);
287
+ const result = this.retryConfig ? await withRetry(executeQuery, this.retryConfig) : await executeQuery();
288
+ const duration = Date.now() - startTime;
289
+ if (result.records.length === 0) {
290
+ this.logger?.log(`No tab found for object: ${objectName}`);
291
+ await this.lifecycle.complete('queryTabByObject', startTime, { objectName, found: false });
292
+ return createSuccessResult(null, {
293
+ message: `No tab found for object: ${objectName}`,
294
+ metadata: { duration },
295
+ });
296
+ }
297
+ this.logger?.log(`Found tab for object: ${objectName}`);
298
+ await this.lifecycle.complete('queryTabByObject', startTime, { objectName, found: true });
299
+ return createSuccessResult(result.records[0], {
300
+ message: `Found tab for object: ${objectName}`,
301
+ metadata: { duration },
302
+ });
303
+ }
304
+ catch (error) {
305
+ const errorMessage = error instanceof Error ? error.message : String(error);
306
+ await this.lifecycle.error('queryTabByObject', startTime, errorMessage, { objectName });
307
+ return this.handleError(error, startTime, null, `tab for ${objectName}`);
308
+ }
309
+ }
310
+ /**
311
+ * Handles errors and maps them to appropriate error codes.
312
+ *
313
+ * Accepts SfError, jsforce errors, or unknown error types. Extracts Salesforce
314
+ * error codes when available and maps them to adapter-specific error codes.
315
+ *
316
+ * @param error - The caught error (SfError, jsforce error, or unknown)
317
+ * @param startTime - The operation start time for duration calculation
318
+ * @param emptyResult - The empty result to return on failure
319
+ * @param context - Optional context for logging (e.g., "custom fields for Account")
320
+ * @returns ServiceResult with success=false and mapped error code
321
+ */
322
+ handleError(error, startTime, emptyResult, context) {
323
+ const duration = Date.now() - startTime;
324
+ const errorMessage = error instanceof Error
325
+ ? error.message
326
+ : typeof error === 'object' && error !== null
327
+ ? JSON.stringify(error)
328
+ : String(error);
329
+ const sfErrorCode = extractSalesforceErrorCode(error);
330
+ const adapterErrorCode = sfErrorCode
331
+ ? mapSalesforceError(sfErrorCode, 'tooling')
332
+ : AdapterErrorCodes.TOOLING_QUERY_FAILED;
333
+ this.logger?.log(`Tooling query failed${context ? ` (${context})` : ''}: ${errorMessage}`);
334
+ return createFailureResult(emptyResult, adapterErrorCode, errorMessage, {
335
+ metadata: { duration, sfErrorCode },
336
+ });
337
+ }
338
+ }
339
+ //# sourceMappingURL=tooling-api-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooling-api-adapter.js","sourceRoot":"","sources":["../../../src/adapters/tooling/tooling-api-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import type { RetryConfig } from '../retry.js';
2
+ /**
3
+ * Configuration for ToolingApiAdapter.
4
+ */
5
+ export type ToolingApiAdapterConfig = {
6
+ /** Optional logger for debug output */
7
+ logger?: Console;
8
+ /**
9
+ * Whether to emit @salesforce/core Lifecycle events for telemetry.
10
+ * When enabled, emits events like 'adapter:tooling:start', 'adapter:tooling:complete'.
11
+ * Default: false
12
+ */
13
+ emitLifecycleEvents?: boolean;
14
+ /**
15
+ * Retry configuration for transient failures.
16
+ * If not specified, retries are disabled.
17
+ */
18
+ retry?: RetryConfig;
19
+ };
20
+ /**
21
+ * Custom field metadata from the Tooling API.
22
+ */
23
+ export type CustomField = {
24
+ /** Salesforce ID of the custom field */
25
+ Id: string;
26
+ /** API name without namespace prefix */
27
+ DeveloperName: string;
28
+ /** The object this field belongs to (can be ID or name) */
29
+ TableEnumOrId: string;
30
+ /** Full name including object prefix */
31
+ FullName: string;
32
+ /**
33
+ * Additional metadata about the field from the Tooling API.
34
+ *
35
+ * Common properties include:
36
+ * - `type`: Field data type (e.g., 'Text', 'Number', 'Picklist', 'Lookup')
37
+ * - `label`: User-friendly field label
38
+ * - `length`: Maximum length for text fields
39
+ * - `precision`: Total digits for number fields
40
+ * - `scale`: Decimal places for number fields
41
+ * - `required`: Whether the field is required
42
+ * - `unique`: Whether values must be unique
43
+ * - `externalId`: Whether field is an external ID
44
+ * - `defaultValue`: Default value expression
45
+ * - `formula`: Formula expression (for formula fields)
46
+ * - `referenceTo`: Related object for lookup/master-detail fields
47
+ * - `relationshipName`: Relationship API name
48
+ * - `picklistValues`: Array of picklist options (for picklist fields)
49
+ *
50
+ * @see https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customfield.htm
51
+ */
52
+ Metadata: Record<string, unknown>;
53
+ };
54
+ /**
55
+ * Validation rule metadata from the Tooling API.
56
+ */
57
+ export type ValidationRule = {
58
+ /** Salesforce ID of the validation rule */
59
+ Id: string;
60
+ /** API name of the validation rule */
61
+ ValidationName: string;
62
+ /** ID of the entity definition this rule belongs to */
63
+ EntityDefinitionId: string;
64
+ /** Whether the validation rule is active */
65
+ Active: boolean;
66
+ /** Error message displayed when validation fails */
67
+ ErrorMessage: string;
68
+ };
69
+ /**
70
+ * Tab definition from the Tooling API.
71
+ */
72
+ export type TabDefinition = {
73
+ /** Salesforce ID of the tab */
74
+ Id: string;
75
+ /** Name of the tab */
76
+ Name: string;
77
+ /** API name of the associated SObject */
78
+ SobjectName: string;
79
+ /** Whether this is a custom tab */
80
+ IsCustom: boolean;
81
+ };
@@ -0,0 +1,9 @@
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
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/tooling/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}