@peernova/cuneiform-sf 1.0.3-beta.0 → 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.
- package/LICENSE +81 -30
- package/README.md +168 -134
- package/lib/adapters/connection-facade.d.ts +458 -0
- package/lib/adapters/connection-facade.js +379 -0
- package/lib/adapters/connection-facade.js.map +1 -0
- package/lib/adapters/errors.d.ts +547 -0
- package/lib/adapters/errors.js +937 -0
- package/lib/adapters/errors.js.map +1 -0
- package/lib/adapters/lifecycle.d.ts +112 -0
- package/lib/adapters/lifecycle.js +94 -0
- package/lib/adapters/lifecycle.js.map +1 -0
- package/lib/adapters/rest/cache.d.ts +69 -0
- package/lib/adapters/rest/cache.js +133 -0
- package/lib/adapters/rest/cache.js.map +1 -0
- package/lib/adapters/rest/index.d.ts +11 -0
- package/lib/adapters/rest/index.js +18 -0
- package/lib/adapters/rest/index.js.map +1 -0
- package/lib/adapters/rest/profiling-rest-client.d.ts +137 -0
- package/lib/adapters/rest/profiling-rest-client.js +115 -0
- package/lib/adapters/rest/profiling-rest-client.js.map +1 -0
- package/lib/adapters/rest/rest-api-adapter.d.ts +393 -0
- package/lib/adapters/rest/rest-api-adapter.js +764 -0
- package/lib/adapters/rest/rest-api-adapter.js.map +1 -0
- package/lib/adapters/rest/types.d.ts +34 -0
- package/lib/adapters/rest/types.js +9 -0
- package/lib/adapters/rest/types.js.map +1 -0
- package/lib/adapters/retry.d.ts +91 -0
- package/lib/adapters/retry.js +215 -0
- package/lib/adapters/retry.js.map +1 -0
- package/lib/adapters/soql/cuneiform-query-builder.d.ts +418 -0
- package/lib/adapters/soql/cuneiform-query-builder.js +606 -0
- package/lib/adapters/soql/cuneiform-query-builder.js.map +1 -0
- package/lib/adapters/soql/soql-query-adapter.d.ts +141 -0
- package/lib/adapters/soql/soql-query-adapter.js +259 -0
- package/lib/adapters/soql/soql-query-adapter.js.map +1 -0
- package/lib/adapters/soql/types.d.ts +37 -0
- package/lib/adapters/soql/types.js +19 -0
- package/lib/adapters/soql/types.js.map +1 -0
- package/lib/adapters/testing/index.d.ts +37 -0
- package/lib/adapters/testing/index.js +20 -0
- package/lib/adapters/testing/index.js.map +1 -0
- package/lib/adapters/testing/mock-connection.d.ts +77 -0
- package/lib/adapters/testing/mock-connection.js +207 -0
- package/lib/adapters/testing/mock-connection.js.map +1 -0
- package/lib/adapters/testing/mock-logger.d.ts +29 -0
- package/lib/adapters/testing/mock-logger.js +57 -0
- package/lib/adapters/testing/mock-logger.js.map +1 -0
- package/lib/adapters/testing/mock-mcp-adapters.d.ts +32 -0
- package/lib/adapters/testing/mock-mcp-adapters.js +52 -0
- package/lib/adapters/testing/mock-mcp-adapters.js.map +1 -0
- package/lib/adapters/testing/mock-oclif-config.d.ts +22 -0
- package/lib/adapters/testing/mock-oclif-config.js +90 -0
- package/lib/adapters/testing/mock-oclif-config.js.map +1 -0
- package/lib/adapters/testing/mock-rest-adapter.d.ts +26 -0
- package/lib/adapters/testing/mock-rest-adapter.js +243 -0
- package/lib/adapters/testing/mock-rest-adapter.js.map +1 -0
- package/lib/adapters/testing/mock-salesforce-connection.d.ts +40 -0
- package/lib/adapters/testing/mock-salesforce-connection.js +61 -0
- package/lib/adapters/testing/mock-salesforce-connection.js.map +1 -0
- package/lib/adapters/testing/mock-soql-adapter.d.ts +30 -0
- package/lib/adapters/testing/mock-soql-adapter.js +120 -0
- package/lib/adapters/testing/mock-soql-adapter.js.map +1 -0
- package/lib/adapters/testing/mock-tooling-adapter.d.ts +24 -0
- package/lib/adapters/testing/mock-tooling-adapter.js +163 -0
- package/lib/adapters/testing/mock-tooling-adapter.js.map +1 -0
- package/lib/adapters/testing/stub-connection.d.ts +93 -0
- package/lib/adapters/testing/stub-connection.js +97 -0
- package/lib/adapters/testing/stub-connection.js.map +1 -0
- package/lib/adapters/testing/stub-rest-adapter.d.ts +52 -0
- package/lib/adapters/testing/stub-rest-adapter.js +58 -0
- package/lib/adapters/testing/stub-rest-adapter.js.map +1 -0
- package/lib/adapters/testing/stub-soql-adapter.d.ts +56 -0
- package/lib/adapters/testing/stub-soql-adapter.js +50 -0
- package/lib/adapters/testing/stub-soql-adapter.js.map +1 -0
- package/lib/adapters/testing/types.d.ts +71 -0
- package/lib/adapters/testing/types.js +9 -0
- package/lib/adapters/testing/types.js.map +1 -0
- package/lib/adapters/tooling/index.d.ts +10 -0
- package/lib/adapters/tooling/index.js +17 -0
- package/lib/adapters/tooling/index.js.map +1 -0
- package/lib/adapters/tooling/tooling-api-adapter.d.ts +157 -0
- package/lib/adapters/tooling/tooling-api-adapter.js +339 -0
- package/lib/adapters/tooling/tooling-api-adapter.js.map +1 -0
- package/lib/adapters/tooling/types.d.ts +81 -0
- package/lib/adapters/tooling/types.js +9 -0
- package/lib/adapters/tooling/types.js.map +1 -0
- package/lib/adapters/types.d.ts +112 -0
- package/lib/adapters/types.js +169 -0
- package/lib/adapters/types.js.map +1 -0
- package/lib/base/cuneiform-command.d.ts +175 -0
- package/lib/base/cuneiform-command.js +326 -0
- package/lib/base/cuneiform-command.js.map +1 -0
- package/lib/commands/cuneiform/compatibility/check.d.ts +43 -0
- package/lib/commands/cuneiform/compatibility/check.js +114 -0
- package/lib/commands/cuneiform/compatibility/check.js.map +1 -0
- package/lib/commands/cuneiform/definition/create.d.ts +120 -0
- package/lib/commands/cuneiform/definition/create.js +737 -0
- package/lib/commands/cuneiform/definition/create.js.map +1 -0
- package/lib/commands/cuneiform/definition/export.d.ts +11 -2
- package/lib/commands/cuneiform/definition/export.js +56 -20
- package/lib/commands/cuneiform/definition/export.js.map +1 -1
- package/lib/commands/cuneiform/definition/get.d.ts +86 -0
- package/lib/commands/cuneiform/definition/get.js +277 -0
- package/lib/commands/cuneiform/definition/get.js.map +1 -0
- package/lib/commands/cuneiform/definition/import.d.ts +12 -7
- package/lib/commands/cuneiform/definition/import.js +30 -19
- package/lib/commands/cuneiform/definition/import.js.map +1 -1
- package/lib/commands/cuneiform/definition/list.d.ts +110 -0
- package/lib/commands/cuneiform/definition/list.js +351 -0
- package/lib/commands/cuneiform/definition/list.js.map +1 -0
- package/lib/commands/cuneiform/definition/purge.d.ts +109 -0
- package/lib/commands/cuneiform/definition/purge.js +578 -0
- package/lib/commands/cuneiform/definition/purge.js.map +1 -0
- package/lib/commands/cuneiform/definition/update.d.ts +58 -0
- package/lib/commands/cuneiform/definition/update.js +209 -0
- package/lib/commands/cuneiform/definition/update.js.map +1 -0
- package/lib/commands/cuneiform/mcp/serve.d.ts +56 -0
- package/lib/commands/cuneiform/mcp/serve.js +109 -0
- package/lib/commands/cuneiform/mcp/serve.js.map +1 -0
- package/lib/commands/cuneiform/object/describe.d.ts +61 -0
- package/lib/commands/cuneiform/object/describe.js +461 -0
- package/lib/commands/cuneiform/object/describe.js.map +1 -0
- package/lib/commands/cuneiform/object/list.d.ts +123 -0
- package/lib/commands/cuneiform/object/list.js +264 -0
- package/lib/commands/cuneiform/object/list.js.map +1 -0
- package/lib/commands/cuneiform/org/details.d.ts +99 -0
- package/lib/commands/cuneiform/org/details.js +521 -0
- package/lib/commands/cuneiform/org/details.js.map +1 -0
- package/lib/commands/cuneiform/org/reset.d.ts +46 -0
- package/lib/commands/cuneiform/org/reset.js +135 -0
- package/lib/commands/cuneiform/org/reset.js.map +1 -0
- package/lib/commands/cuneiform/profile/request/cancel.d.ts +59 -0
- package/lib/commands/cuneiform/profile/request/cancel.js +202 -0
- package/lib/commands/cuneiform/profile/request/cancel.js.map +1 -0
- package/lib/commands/cuneiform/profile/request/delete.d.ts +59 -0
- package/lib/commands/cuneiform/profile/request/delete.js +223 -0
- package/lib/commands/cuneiform/profile/request/delete.js.map +1 -0
- package/lib/commands/cuneiform/profile/request/list.d.ts +35 -0
- package/lib/commands/cuneiform/profile/request/list.js +102 -0
- package/lib/commands/cuneiform/profile/request/list.js.map +1 -0
- package/lib/commands/cuneiform/profile.d.ts +93 -0
- package/lib/commands/cuneiform/profile.js +353 -0
- package/lib/commands/cuneiform/profile.js.map +1 -0
- package/lib/commands/cuneiform/summary/purge.d.ts +80 -0
- package/lib/commands/cuneiform/summary/purge.js +467 -0
- package/lib/commands/cuneiform/summary/purge.js.map +1 -0
- package/lib/commands/cuneiform/summary/reprofile.d.ts +60 -0
- package/lib/commands/cuneiform/summary/reprofile.js +236 -0
- package/lib/commands/cuneiform/summary/reprofile.js.map +1 -0
- package/lib/commands/cuneiform/summary/stop.d.ts +59 -0
- package/lib/commands/cuneiform/summary/stop.js +234 -0
- package/lib/commands/cuneiform/summary/stop.js.map +1 -0
- package/lib/commands/cuneiform/user/details.d.ts +77 -0
- package/lib/commands/cuneiform/user/details.js +414 -0
- package/lib/commands/cuneiform/user/details.js.map +1 -0
- package/lib/constants/namespace-constants.d.ts +102 -0
- package/lib/constants/namespace-constants.js +225 -0
- package/lib/constants/namespace-constants.js.map +1 -0
- package/lib/debug/command-debug-proxy.d.ts +101 -0
- package/lib/debug/command-debug-proxy.js +171 -0
- package/lib/debug/command-debug-proxy.js.map +1 -0
- package/lib/debug/debug-logger.d.ts +85 -0
- package/lib/debug/debug-logger.js +133 -0
- package/lib/debug/debug-logger.js.map +1 -0
- package/lib/debug/service-debug-proxy.d.ts +30 -0
- package/lib/debug/service-debug-proxy.js +102 -0
- package/lib/debug/service-debug-proxy.js.map +1 -0
- package/lib/hooks/prerun.d.ts +25 -0
- package/lib/hooks/prerun.js +47 -0
- package/lib/hooks/prerun.js.map +1 -0
- package/lib/mcp/config/mcp-config.d.ts +55 -0
- package/lib/mcp/config/mcp-config.js +51 -0
- package/lib/mcp/config/mcp-config.js.map +1 -0
- package/lib/mcp/config/pagination.d.ts +96 -0
- package/lib/mcp/config/pagination.js +108 -0
- package/lib/mcp/config/pagination.js.map +1 -0
- package/lib/mcp/config/system-prompts.d.ts +18 -0
- package/lib/mcp/config/system-prompts.js +92 -0
- package/lib/mcp/config/system-prompts.js.map +1 -0
- package/lib/mcp/errors.d.ts +23 -0
- package/lib/mcp/errors.js +27 -0
- package/lib/mcp/errors.js.map +1 -0
- package/lib/mcp/schemas/input-schemas.d.ts +327 -0
- package/lib/mcp/schemas/input-schemas.js +310 -0
- package/lib/mcp/schemas/input-schemas.js.map +1 -0
- package/lib/mcp/server.d.ts +40 -0
- package/lib/mcp/server.js +316 -0
- package/lib/mcp/server.js.map +1 -0
- package/lib/mcp/tools/contactpoint-tools.d.ts +14 -0
- package/lib/mcp/tools/contactpoint-tools.js +34 -0
- package/lib/mcp/tools/contactpoint-tools.js.map +1 -0
- package/lib/mcp/tools/definition-io-tools.d.ts +19 -0
- package/lib/mcp/tools/definition-io-tools.js +152 -0
- package/lib/mcp/tools/definition-io-tools.js.map +1 -0
- package/lib/mcp/tools/definition-tools.d.ts +51 -0
- package/lib/mcp/tools/definition-tools.js +220 -0
- package/lib/mcp/tools/definition-tools.js.map +1 -0
- package/lib/mcp/tools/index.d.ts +37 -0
- package/lib/mcp/tools/index.js +88 -0
- package/lib/mcp/tools/index.js.map +1 -0
- package/lib/mcp/tools/object-tools.d.ts +22 -0
- package/lib/mcp/tools/object-tools.js +327 -0
- package/lib/mcp/tools/object-tools.js.map +1 -0
- package/lib/mcp/tools/org-tools.d.ts +14 -0
- package/lib/mcp/tools/org-tools.js +177 -0
- package/lib/mcp/tools/org-tools.js.map +1 -0
- package/lib/mcp/tools/profile-tools.d.ts +59 -0
- package/lib/mcp/tools/profile-tools.js +213 -0
- package/lib/mcp/tools/profile-tools.js.map +1 -0
- package/lib/mcp/tools/summary-tools.d.ts +14 -0
- package/lib/mcp/tools/summary-tools.js +38 -0
- package/lib/mcp/tools/summary-tools.js.map +1 -0
- package/lib/mcp/tools/tool-factory.d.ts +63 -0
- package/lib/mcp/tools/tool-factory.js +146 -0
- package/lib/mcp/tools/tool-factory.js.map +1 -0
- package/lib/mcp/tools/user-tools.d.ts +25 -0
- package/lib/mcp/tools/user-tools.js +167 -0
- package/lib/mcp/tools/user-tools.js.map +1 -0
- package/lib/models/cascade-skip-accumulator.d.ts +25 -0
- package/lib/models/cascade-skip-accumulator.js +9 -0
- package/lib/models/cascade-skip-accumulator.js.map +1 -0
- package/lib/models/date-literal.d.ts +280 -0
- package/lib/models/date-literal.js +1164 -0
- package/lib/models/date-literal.js.map +1 -0
- package/lib/models/object-describe-types.d.ts +173 -0
- package/lib/models/object-describe-types.js +9 -0
- package/lib/models/object-describe-types.js.map +1 -0
- package/lib/models/portability-recipe.d.ts +35 -0
- package/lib/models/portability-recipe.js +113 -0
- package/lib/models/portability-recipe.js.map +1 -0
- package/lib/models/profile-request-types.d.ts +118 -0
- package/lib/models/profile-request-types.js +23 -0
- package/lib/models/profile-request-types.js.map +1 -0
- package/lib/models/profiling-execution-types.d.ts +154 -0
- package/lib/models/profiling-execution-types.js +14 -0
- package/lib/models/profiling-execution-types.js.map +1 -0
- package/lib/models/service-result.d.ts +114 -0
- package/lib/models/service-result.js +81 -0
- package/lib/models/service-result.js.map +1 -0
- package/lib/models/sfdmu-types.d.ts +4 -29
- package/lib/models/sfdmu-types.js +7 -3
- package/lib/models/sfdmu-types.js.map +1 -1
- package/lib/models/status-types.d.ts +38 -0
- package/lib/models/status-types.js +12 -0
- package/lib/models/status-types.js.map +1 -0
- package/lib/models/summary-bulk-types.d.ts +61 -0
- package/lib/models/summary-bulk-types.js +23 -0
- package/lib/models/summary-bulk-types.js.map +1 -0
- package/lib/models/user-details-types.d.ts +188 -0
- package/lib/models/user-details-types.js +9 -0
- package/lib/models/user-details-types.js.map +1 -0
- package/lib/models/year-range.d.ts +78 -0
- package/lib/models/year-range.js +153 -0
- package/lib/models/year-range.js.map +1 -0
- package/lib/operations/CompatibilityCheckOperation.d.ts +62 -0
- package/lib/operations/CompatibilityCheckOperation.js +102 -0
- package/lib/operations/CompatibilityCheckOperation.js.map +1 -0
- package/lib/operations/DefinitionCreateOperation.d.ts +427 -0
- package/lib/operations/DefinitionCreateOperation.js +1270 -0
- package/lib/operations/DefinitionCreateOperation.js.map +1 -0
- package/lib/operations/DefinitionExportOperation.d.ts +65 -2
- package/lib/operations/DefinitionExportOperation.js +94 -10
- package/lib/operations/DefinitionExportOperation.js.map +1 -1
- package/lib/operations/DefinitionImportOperation.d.ts +61 -11
- package/lib/operations/DefinitionImportOperation.js +194 -31
- package/lib/operations/DefinitionImportOperation.js.map +1 -1
- package/lib/operations/DefinitionListOperation.d.ts +66 -0
- package/lib/operations/DefinitionListOperation.js +108 -0
- package/lib/operations/DefinitionListOperation.js.map +1 -0
- package/lib/operations/DefinitionPurgeOperation.d.ts +203 -0
- package/lib/operations/DefinitionPurgeOperation.js +465 -0
- package/lib/operations/DefinitionPurgeOperation.js.map +1 -0
- package/lib/operations/DefinitionUpdateOperation.d.ts +78 -0
- package/lib/operations/DefinitionUpdateOperation.js +142 -0
- package/lib/operations/DefinitionUpdateOperation.js.map +1 -0
- package/lib/operations/OrgDetailsOperation.d.ts +253 -0
- package/lib/operations/OrgDetailsOperation.js +456 -0
- package/lib/operations/OrgDetailsOperation.js.map +1 -0
- package/lib/operations/OrgResetOperation.d.ts +114 -0
- package/lib/operations/OrgResetOperation.js +209 -0
- package/lib/operations/OrgResetOperation.js.map +1 -0
- package/lib/operations/ProfileOperation.d.ts +192 -0
- package/lib/operations/ProfileOperation.js +371 -0
- package/lib/operations/ProfileOperation.js.map +1 -0
- package/lib/operations/ProfileRequestCancelOperation.d.ts +59 -0
- package/lib/operations/ProfileRequestCancelOperation.js +137 -0
- package/lib/operations/ProfileRequestCancelOperation.js.map +1 -0
- package/lib/operations/ProfileRequestDeleteOperation.d.ts +64 -0
- package/lib/operations/ProfileRequestDeleteOperation.js +134 -0
- package/lib/operations/ProfileRequestDeleteOperation.js.map +1 -0
- package/lib/operations/ProfileRequestListOperation.d.ts +39 -0
- package/lib/operations/ProfileRequestListOperation.js +61 -0
- package/lib/operations/ProfileRequestListOperation.js.map +1 -0
- package/lib/operations/SummaryPurgeOperation.d.ts +134 -0
- package/lib/operations/SummaryPurgeOperation.js +257 -0
- package/lib/operations/SummaryPurgeOperation.js.map +1 -0
- package/lib/operations/SummaryReprofileOperation.d.ts +88 -0
- package/lib/operations/SummaryReprofileOperation.js +174 -0
- package/lib/operations/SummaryReprofileOperation.js.map +1 -0
- package/lib/operations/SummaryStopOperation.d.ts +87 -0
- package/lib/operations/SummaryStopOperation.js +175 -0
- package/lib/operations/SummaryStopOperation.js.map +1 -0
- package/lib/services/BulkExecutionService.d.ts +120 -0
- package/lib/services/BulkExecutionService.js +535 -0
- package/lib/services/BulkExecutionService.js.map +1 -0
- package/lib/services/CompatibilityService.d.ts +81 -0
- package/lib/services/CompatibilityService.js +118 -0
- package/lib/services/CompatibilityService.js.map +1 -0
- package/lib/services/ConfigureMode.d.ts +98 -0
- package/lib/services/ConfigureMode.js +413 -0
- package/lib/services/ConfigureMode.js.map +1 -0
- package/lib/services/ContactPointService.d.ts +111 -0
- package/lib/services/ContactPointService.js +286 -0
- package/lib/services/ContactPointService.js.map +1 -0
- package/lib/services/DataAvailabilityService.d.ts +81 -0
- package/lib/services/DataAvailabilityService.js +128 -0
- package/lib/services/DataAvailabilityService.js.map +1 -0
- package/lib/services/DefinitionFieldGenerationService.d.ts +357 -0
- package/lib/services/DefinitionFieldGenerationService.js +899 -0
- package/lib/services/DefinitionFieldGenerationService.js.map +1 -0
- package/lib/services/DefinitionQueryBuilder.d.ts +92 -0
- package/lib/services/DefinitionQueryBuilder.js +328 -0
- package/lib/services/DefinitionQueryBuilder.js.map +1 -0
- package/lib/services/ObjectDescribeService.d.ts +436 -0
- package/lib/services/ObjectDescribeService.js +881 -0
- package/lib/services/ObjectDescribeService.js.map +1 -0
- package/lib/services/ObjectFilteringService.d.ts +484 -0
- package/lib/services/ObjectFilteringService.js +1080 -0
- package/lib/services/ObjectFilteringService.js.map +1 -0
- package/lib/services/ObjectListCommandService.d.ts +467 -0
- package/lib/services/ObjectListCommandService.js +904 -0
- package/lib/services/ObjectListCommandService.js.map +1 -0
- package/lib/services/ObjectListService.d.ts +201 -0
- package/lib/services/ObjectListService.js +350 -0
- package/lib/services/ObjectListService.js.map +1 -0
- package/lib/services/OrgInfoService.d.ts +493 -0
- package/lib/services/OrgInfoService.js +1142 -0
- package/lib/services/OrgInfoService.js.map +1 -0
- package/lib/services/PollingService.d.ts +105 -0
- package/lib/services/PollingService.js +117 -0
- package/lib/services/PollingService.js.map +1 -0
- package/lib/services/ProfileRequestService.d.ts +186 -0
- package/lib/services/ProfileRequestService.js +555 -0
- package/lib/services/ProfileRequestService.js.map +1 -0
- package/lib/services/ProfilingDefinitionService.d.ts +575 -0
- package/lib/services/ProfilingDefinitionService.js +1029 -0
- package/lib/services/ProfilingDefinitionService.js.map +1 -0
- package/lib/services/ProfilingExecutionService.d.ts +122 -0
- package/lib/services/ProfilingExecutionService.js +320 -0
- package/lib/services/ProfilingExecutionService.js.map +1 -0
- package/lib/services/ProfilingSummaryService.d.ts +292 -0
- package/lib/services/ProfilingSummaryService.js +688 -0
- package/lib/services/ProfilingSummaryService.js.map +1 -0
- package/lib/services/RecordTypeService.d.ts +129 -0
- package/lib/services/RecordTypeService.js +284 -0
- package/lib/services/RecordTypeService.js.map +1 -0
- package/lib/services/SFDMUService.d.ts +30 -3
- package/lib/services/SFDMUService.js +80 -19
- package/lib/services/SFDMUService.js.map +1 -1
- package/lib/services/TabDetectionService.d.ts +105 -0
- package/lib/services/TabDetectionService.js +206 -0
- package/lib/services/TabDetectionService.js.map +1 -0
- package/lib/services/UnconfigureMode.d.ts +74 -0
- package/lib/services/UnconfigureMode.js +378 -0
- package/lib/services/UnconfigureMode.js.map +1 -0
- package/lib/services/UserConfigurationService.d.ts +158 -0
- package/lib/services/UserConfigurationService.js +574 -0
- package/lib/services/UserConfigurationService.js.map +1 -0
- package/lib/services/UserConfigurationTypes.d.ts +181 -0
- package/lib/services/UserConfigurationTypes.js +14 -0
- package/lib/services/UserConfigurationTypes.js.map +1 -0
- package/lib/services/UserReadinessService.d.ts +347 -0
- package/lib/services/UserReadinessService.js +891 -0
- package/lib/services/UserReadinessService.js.map +1 -0
- package/lib/services/constants.d.ts +54 -0
- package/lib/services/constants.js +71 -0
- package/lib/services/constants.js.map +1 -0
- package/lib/services/namespace-constants.d.ts +1 -0
- package/lib/services/namespace-constants.js +11 -0
- package/lib/services/namespace-constants.js.map +1 -0
- package/lib/services/namespace-filter.d.ts +36 -0
- package/lib/services/namespace-filter.js +109 -0
- package/lib/services/namespace-filter.js.map +1 -0
- package/lib/services/validation.d.ts +47 -0
- package/lib/services/validation.js +119 -0
- package/lib/services/validation.js.map +1 -0
- package/lib/utils/batch-processor.d.ts +13 -0
- package/lib/utils/batch-processor.js +39 -0
- package/lib/utils/batch-processor.js.map +1 -0
- package/lib/utils/formatting/availability-grid.d.ts +81 -0
- package/lib/utils/formatting/availability-grid.js +94 -0
- package/lib/utils/formatting/availability-grid.js.map +1 -0
- package/lib/utils/formatting/business-process-grid.d.ts +51 -0
- package/lib/utils/formatting/business-process-grid.js +58 -0
- package/lib/utils/formatting/business-process-grid.js.map +1 -0
- package/lib/utils/formatting/command-display.d.ts +154 -0
- package/lib/utils/formatting/command-display.js +154 -0
- package/lib/utils/formatting/command-display.js.map +1 -0
- package/lib/utils/formatting/definition-create-display.d.ts +118 -0
- package/lib/utils/formatting/definition-create-display.js +230 -0
- package/lib/utils/formatting/definition-create-display.js.map +1 -0
- package/lib/utils/formatting/empty-states.d.ts +35 -0
- package/lib/utils/formatting/empty-states.js +70 -0
- package/lib/utils/formatting/empty-states.js.map +1 -0
- package/lib/utils/formatting/errors.d.ts +33 -0
- package/lib/utils/formatting/errors.js +72 -0
- package/lib/utils/formatting/errors.js.map +1 -0
- package/lib/utils/formatting/field-types.d.ts +32 -0
- package/lib/utils/formatting/field-types.js +88 -0
- package/lib/utils/formatting/field-types.js.map +1 -0
- package/lib/utils/formatting/index.d.ts +29 -0
- package/lib/utils/formatting/index.js +28 -0
- package/lib/utils/formatting/index.js.map +1 -0
- package/lib/utils/formatting/indicators.d.ts +113 -0
- package/lib/utils/formatting/indicators.js +161 -0
- package/lib/utils/formatting/indicators.js.map +1 -0
- package/lib/utils/formatting/loading-messages.d.ts +37 -0
- package/lib/utils/formatting/loading-messages.js +50 -0
- package/lib/utils/formatting/loading-messages.js.map +1 -0
- package/lib/utils/formatting/namespace-display.d.ts +31 -0
- package/lib/utils/formatting/namespace-display.js +64 -0
- package/lib/utils/formatting/namespace-display.js.map +1 -0
- package/lib/utils/formatting/numbers.d.ts +73 -0
- package/lib/utils/formatting/numbers.js +187 -0
- package/lib/utils/formatting/numbers.js.map +1 -0
- package/lib/utils/formatting/object-describe-display.d.ts +117 -0
- package/lib/utils/formatting/object-describe-display.js +447 -0
- package/lib/utils/formatting/object-describe-display.js.map +1 -0
- package/lib/utils/formatting/object-list-display.d.ts +225 -0
- package/lib/utils/formatting/object-list-display.js +718 -0
- package/lib/utils/formatting/object-list-display.js.map +1 -0
- package/lib/utils/formatting/org-identity.d.ts +15 -0
- package/lib/utils/formatting/org-identity.js +28 -0
- package/lib/utils/formatting/org-identity.js.map +1 -0
- package/lib/utils/formatting/record-age-grid.d.ts +41 -0
- package/lib/utils/formatting/record-age-grid.js +56 -0
- package/lib/utils/formatting/record-age-grid.js.map +1 -0
- package/lib/utils/formatting/sections.d.ts +108 -0
- package/lib/utils/formatting/sections.js +150 -0
- package/lib/utils/formatting/sections.js.map +1 -0
- package/lib/utils/formatting/tables.d.ts +90 -0
- package/lib/utils/formatting/tables.js +113 -0
- package/lib/utils/formatting/tables.js.map +1 -0
- package/lib/utils/formatting/user-details-display.d.ts +101 -0
- package/lib/utils/formatting/user-details-display.js +425 -0
- package/lib/utils/formatting/user-details-display.js.map +1 -0
- package/lib/utils/pagination/keypress-reader.d.ts +20 -0
- package/lib/utils/pagination/keypress-reader.js +63 -0
- package/lib/utils/pagination/keypress-reader.js.map +1 -0
- package/lib/utils/pagination/paginate-output.d.ts +48 -0
- package/lib/utils/pagination/paginate-output.js +136 -0
- package/lib/utils/pagination/paginate-output.js.map +1 -0
- package/messages/compatibility.check.md +71 -0
- package/messages/cuneiform.access.md +138 -0
- package/messages/definition.create.md +525 -0
- package/messages/definition.export.md +56 -13
- package/messages/definition.get.md +147 -0
- package/messages/definition.import.md +35 -18
- package/messages/definition.list.md +264 -0
- package/messages/definition.purge.md +330 -0
- package/messages/definition.update.md +118 -0
- package/messages/mcp.serve.md +66 -0
- package/messages/object.describe.md +205 -0
- package/messages/object.list.md +463 -0
- package/messages/org.details.md +386 -0
- package/messages/org.reset.md +71 -0
- package/messages/profile.md +243 -0
- package/messages/profile.request.cancel.md +143 -0
- package/messages/profile.request.delete.md +139 -0
- package/messages/profile.request.list.md +89 -0
- package/messages/summary.purge.md +218 -0
- package/messages/summary.reprofile.md +150 -0
- package/messages/summary.stop.md +157 -0
- package/messages/user.details.md +501 -0
- package/oclif.lock +2315 -4839
- package/oclif.manifest.json +2713 -82
- package/package.json +99 -17
- package/lib/commands/cuneiform/about.d.ts +0 -13
- package/lib/commands/cuneiform/about.js +0 -26
- package/lib/commands/cuneiform/about.js.map +0 -1
- package/lib/commands/hello/world.d.ts +0 -14
- package/lib/commands/hello/world.js +0 -27
- package/lib/commands/hello/world.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- package/messages/cuneiform.about.md +0 -19
- package/messages/hello.world.md +0 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfilingSummaryService.js","sourceRoot":"","sources":["../../src/services/ProfilingSummaryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { ISoqlQueryAdapter } from '../adapters/soql/soql-query-adapter.js';
|
|
2
|
+
import type { ServiceResult } from '../models/service-result.js';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a Salesforce RecordType with formatted reference information.
|
|
5
|
+
*/
|
|
6
|
+
export type RecordTypeInfo = {
|
|
7
|
+
/** The RecordType ID */
|
|
8
|
+
id: string;
|
|
9
|
+
/** The RecordType display name */
|
|
10
|
+
name: string;
|
|
11
|
+
/** The RecordType developer name (API name) */
|
|
12
|
+
developerName: string;
|
|
13
|
+
/** The SObject type this RecordType belongs to */
|
|
14
|
+
sobjectType: string;
|
|
15
|
+
/** Whether this is a Person Account record type */
|
|
16
|
+
isPersonType: boolean;
|
|
17
|
+
/** Whether this RecordType is active */
|
|
18
|
+
isActive: boolean;
|
|
19
|
+
/** Whether this is the default RecordType */
|
|
20
|
+
isDefault: boolean;
|
|
21
|
+
/** Formatted reference string, e.g. 'Case.Support' or 'PersonAccount.Patient' */
|
|
22
|
+
formattedReference: string;
|
|
23
|
+
/** The associated BusinessProcess ID (only for Opportunity, Case, Lead) */
|
|
24
|
+
businessProcessId?: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Record type distribution entry with count.
|
|
28
|
+
*/
|
|
29
|
+
export type RecordTypeDistribution = {
|
|
30
|
+
/** The RecordType ID */
|
|
31
|
+
readonly recordTypeId: string;
|
|
32
|
+
/** The RecordType developer name */
|
|
33
|
+
readonly developerName: string;
|
|
34
|
+
/** The RecordType display name */
|
|
35
|
+
readonly name: string;
|
|
36
|
+
/** Number of records with this record type */
|
|
37
|
+
readonly recordCount: number;
|
|
38
|
+
/** Percentage of total records (0-100) */
|
|
39
|
+
readonly percentage: number;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Configuration for RecordTypeService.
|
|
43
|
+
*/
|
|
44
|
+
export type IRecordTypeServiceConfig = {
|
|
45
|
+
/** SOQL query adapter for executing queries */
|
|
46
|
+
soqlAdapter: ISoqlQueryAdapter;
|
|
47
|
+
/** Optional logger for debug output */
|
|
48
|
+
logger?: Console;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Domain service for retrieving Salesforce RecordType information.
|
|
52
|
+
*
|
|
53
|
+
* Provides methods to query record types for a given SObject, with support
|
|
54
|
+
* for filtering active record types and formatting PersonAccount references.
|
|
55
|
+
*
|
|
56
|
+
* @design
|
|
57
|
+
* **IsPersonType Fallback**: The `IsPersonType` field only exists on RecordType
|
|
58
|
+
* when Person Accounts are enabled in the target org. To support both configurations,
|
|
59
|
+
* queries first try with IsPersonType and fall back to exclude it on INVALID_FIELD
|
|
60
|
+
* errors. This ensures cross-org compatibility without requiring org introspection.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const service = new RecordTypeService({ soqlAdapter });
|
|
65
|
+
* const result = await service.getRecordTypes('Account');
|
|
66
|
+
* if (result.success) {
|
|
67
|
+
* result.data.forEach(rt => console.log(rt.formattedReference));
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare class RecordTypeService {
|
|
72
|
+
private readonly soqlAdapter;
|
|
73
|
+
private readonly logger?;
|
|
74
|
+
constructor(config: IRecordTypeServiceConfig);
|
|
75
|
+
/**
|
|
76
|
+
* Formats a record type reference string.
|
|
77
|
+
*
|
|
78
|
+
* Uses PersonAccount as the object prefix when IsPersonType is true,
|
|
79
|
+
* otherwise uses the SobjectType.
|
|
80
|
+
*
|
|
81
|
+
* @param recordType - The RecordTypeInfo to format
|
|
82
|
+
* @returns Formatted reference string (e.g., 'Case.Support', 'PersonAccount.Patient')
|
|
83
|
+
*/
|
|
84
|
+
static formatRecordTypeReference(recordType: RecordTypeInfo): string;
|
|
85
|
+
/**
|
|
86
|
+
* Maps a raw Salesforce RecordType record to a RecordTypeInfo.
|
|
87
|
+
*
|
|
88
|
+
* @param record - The raw SOQL query result record
|
|
89
|
+
* @returns Mapped RecordTypeInfo with formatted reference
|
|
90
|
+
*/
|
|
91
|
+
private static mapToRecordTypeInfo;
|
|
92
|
+
/**
|
|
93
|
+
* Retrieves all record types for the specified SObject.
|
|
94
|
+
*
|
|
95
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
|
|
96
|
+
* @returns ServiceResult containing an array of RecordTypeInfo, or empty array if none exist
|
|
97
|
+
*/
|
|
98
|
+
getRecordTypes(objectName: string): Promise<ServiceResult<RecordTypeInfo[]>>;
|
|
99
|
+
/**
|
|
100
|
+
* Retrieves record count distribution across record types for an object.
|
|
101
|
+
*
|
|
102
|
+
* Queries the actual object records grouped by RecordTypeId, then enriches
|
|
103
|
+
* with record type metadata (names, developer names).
|
|
104
|
+
*
|
|
105
|
+
* @param objectName - The Salesforce object API name
|
|
106
|
+
* @returns ServiceResult containing array of RecordTypeDistribution
|
|
107
|
+
*/
|
|
108
|
+
getRecordTypeDistribution(objectName: string): Promise<ServiceResult<RecordTypeDistribution[]>>;
|
|
109
|
+
/**
|
|
110
|
+
* Retrieves only active record types for the specified SObject.
|
|
111
|
+
*
|
|
112
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
|
|
113
|
+
* @returns ServiceResult containing an array of active RecordTypeInfo
|
|
114
|
+
*/
|
|
115
|
+
getActiveRecordTypes(objectName: string): Promise<ServiceResult<RecordTypeInfo[]>>;
|
|
116
|
+
/**
|
|
117
|
+
* Retrieves record types for the specified SObject filtered by activity status.
|
|
118
|
+
*
|
|
119
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
|
|
120
|
+
* @param status - Filter: 'active' (default), 'all', or 'inactive'
|
|
121
|
+
* @returns ServiceResult containing an array of filtered RecordTypeInfo
|
|
122
|
+
*/
|
|
123
|
+
getRecordTypesByStatus(objectName: string, status?: 'active' | 'all' | 'inactive'): Promise<ServiceResult<RecordTypeInfo[]>>;
|
|
124
|
+
/**
|
|
125
|
+
* Executes the RecordType SOQL query, falling back to exclude IsPersonType
|
|
126
|
+
* when Person Accounts are not enabled in the target org.
|
|
127
|
+
*/
|
|
128
|
+
private queryRecordTypes;
|
|
129
|
+
}
|
|
@@ -0,0 +1,284 @@
|
|
|
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 { ServiceErrorCodes } from '../adapters/errors.js';
|
|
10
|
+
import { CuneiformQueryBuilder } from '../adapters/soql/cuneiform-query-builder.js';
|
|
11
|
+
import { validateObjectName, validateRequiredString } from './validation.js';
|
|
12
|
+
/**
|
|
13
|
+
* Domain service for retrieving Salesforce RecordType information.
|
|
14
|
+
*
|
|
15
|
+
* Provides methods to query record types for a given SObject, with support
|
|
16
|
+
* for filtering active record types and formatting PersonAccount references.
|
|
17
|
+
*
|
|
18
|
+
* @design
|
|
19
|
+
* **IsPersonType Fallback**: The `IsPersonType` field only exists on RecordType
|
|
20
|
+
* when Person Accounts are enabled in the target org. To support both configurations,
|
|
21
|
+
* queries first try with IsPersonType and fall back to exclude it on INVALID_FIELD
|
|
22
|
+
* errors. This ensures cross-org compatibility without requiring org introspection.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const service = new RecordTypeService({ soqlAdapter });
|
|
27
|
+
* const result = await service.getRecordTypes('Account');
|
|
28
|
+
* if (result.success) {
|
|
29
|
+
* result.data.forEach(rt => console.log(rt.formattedReference));
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class RecordTypeService {
|
|
34
|
+
soqlAdapter;
|
|
35
|
+
logger;
|
|
36
|
+
constructor(config) {
|
|
37
|
+
this.soqlAdapter = config.soqlAdapter;
|
|
38
|
+
this.logger = config.logger;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Formats a record type reference string.
|
|
42
|
+
*
|
|
43
|
+
* Uses PersonAccount as the object prefix when IsPersonType is true,
|
|
44
|
+
* otherwise uses the SobjectType.
|
|
45
|
+
*
|
|
46
|
+
* @param recordType - The RecordTypeInfo to format
|
|
47
|
+
* @returns Formatted reference string (e.g., 'Case.Support', 'PersonAccount.Patient')
|
|
48
|
+
*/
|
|
49
|
+
static formatRecordTypeReference(recordType) {
|
|
50
|
+
const objectPrefix = recordType.isPersonType ? 'PersonAccount' : recordType.sobjectType;
|
|
51
|
+
return `${objectPrefix}.${recordType.developerName}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Maps a raw Salesforce RecordType record to a RecordTypeInfo.
|
|
55
|
+
*
|
|
56
|
+
* @param record - The raw SOQL query result record
|
|
57
|
+
* @returns Mapped RecordTypeInfo with formatted reference
|
|
58
|
+
*/
|
|
59
|
+
static mapToRecordTypeInfo(record) {
|
|
60
|
+
const isPersonType = record.IsPersonType ?? false;
|
|
61
|
+
const objectPrefix = isPersonType ? 'PersonAccount' : record.SobjectType;
|
|
62
|
+
return {
|
|
63
|
+
id: record.Id,
|
|
64
|
+
name: record.Name,
|
|
65
|
+
developerName: record.DeveloperName,
|
|
66
|
+
sobjectType: record.SobjectType,
|
|
67
|
+
isPersonType,
|
|
68
|
+
isActive: record.IsActive,
|
|
69
|
+
// 'Master' is Salesforce's reserved DeveloperName for the default record type
|
|
70
|
+
isDefault: record.DeveloperName === 'Master',
|
|
71
|
+
formattedReference: `${objectPrefix}.${record.DeveloperName}`,
|
|
72
|
+
businessProcessId: record.BusinessProcessId ?? undefined,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Retrieves all record types for the specified SObject.
|
|
77
|
+
*
|
|
78
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
|
|
79
|
+
* @returns ServiceResult containing an array of RecordTypeInfo, or empty array if none exist
|
|
80
|
+
*/
|
|
81
|
+
async getRecordTypes(objectName) {
|
|
82
|
+
const startTime = Date.now();
|
|
83
|
+
const emptyResult = [];
|
|
84
|
+
// Validate required
|
|
85
|
+
const requiredError = validateRequiredString(objectName, 'Object name');
|
|
86
|
+
if (requiredError) {
|
|
87
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_OBJECT_NAME_REQUIRED, requiredError, {
|
|
88
|
+
metadata: { duration: Date.now() - startTime },
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
// Validate format
|
|
92
|
+
const formatError = validateObjectName(objectName);
|
|
93
|
+
if (formatError) {
|
|
94
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_INVALID_OBJECT_NAME, formatError, {
|
|
95
|
+
metadata: { duration: Date.now() - startTime },
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const queryResult = await this.queryRecordTypes(objectName);
|
|
100
|
+
if (!queryResult.success) {
|
|
101
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, queryResult.message ?? 'Record type query failed', { metadata: { duration: Date.now() - startTime } });
|
|
102
|
+
}
|
|
103
|
+
const recordTypes = queryResult.data.records.map((record) => RecordTypeService.mapToRecordTypeInfo(record));
|
|
104
|
+
const duration = Date.now() - startTime;
|
|
105
|
+
this.logger?.log(`Found ${recordTypes.length} record types for ${objectName}`);
|
|
106
|
+
return createSuccessResult(recordTypes, {
|
|
107
|
+
message: `Found ${recordTypes.length} record types for ${objectName}`,
|
|
108
|
+
metadata: { duration },
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
113
|
+
this.logger?.log(`Record type query failed: ${errorMessage}`);
|
|
114
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, errorMessage, {
|
|
115
|
+
metadata: { duration: Date.now() - startTime },
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Retrieves record count distribution across record types for an object.
|
|
121
|
+
*
|
|
122
|
+
* Queries the actual object records grouped by RecordTypeId, then enriches
|
|
123
|
+
* with record type metadata (names, developer names).
|
|
124
|
+
*
|
|
125
|
+
* @param objectName - The Salesforce object API name
|
|
126
|
+
* @returns ServiceResult containing array of RecordTypeDistribution
|
|
127
|
+
*/
|
|
128
|
+
async getRecordTypeDistribution(objectName) {
|
|
129
|
+
const startTime = Date.now();
|
|
130
|
+
const emptyResult = [];
|
|
131
|
+
// Validate required
|
|
132
|
+
const requiredError = validateRequiredString(objectName, 'Object name');
|
|
133
|
+
if (requiredError) {
|
|
134
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_OBJECT_NAME_REQUIRED, requiredError, {
|
|
135
|
+
metadata: { duration: Date.now() - startTime },
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
// Validate format
|
|
139
|
+
const formatError = validateObjectName(objectName);
|
|
140
|
+
if (formatError) {
|
|
141
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_INVALID_OBJECT_NAME, formatError, {
|
|
142
|
+
metadata: { duration: Date.now() - startTime },
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
// Step 1: Get existing record types for metadata enrichment
|
|
147
|
+
const recordTypesResult = await this.getRecordTypes(objectName);
|
|
148
|
+
if (!recordTypesResult.success) {
|
|
149
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, recordTypesResult.message ?? 'Record type query failed', {
|
|
150
|
+
metadata: { duration: Date.now() - startTime },
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
// If no record types exist, return empty array
|
|
154
|
+
if (recordTypesResult.data.length === 0) {
|
|
155
|
+
return createSuccessResult(emptyResult, {
|
|
156
|
+
message: `No record types found for ${objectName}`,
|
|
157
|
+
metadata: { duration: Date.now() - startTime },
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// Step 2: Query record counts grouped by RecordTypeId
|
|
161
|
+
const countSoql = new CuneiformQueryBuilder()
|
|
162
|
+
.select(['RecordTypeId', 'COUNT(Id) cnt'])
|
|
163
|
+
.from(objectName)
|
|
164
|
+
.groupBy(['RecordTypeId'])
|
|
165
|
+
.toSOQL();
|
|
166
|
+
const countResult = await this.soqlAdapter.query(countSoql);
|
|
167
|
+
if (!countResult.success) {
|
|
168
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, countResult.message ?? 'Record count query failed', {
|
|
169
|
+
metadata: { duration: Date.now() - startTime },
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
// Step 3: Compute total and build distribution
|
|
173
|
+
const countRecords = countResult.data.records;
|
|
174
|
+
const total = countRecords.reduce((sum, record) => sum + record.cnt, 0);
|
|
175
|
+
// Build a lookup map from record type ID to metadata
|
|
176
|
+
const recordTypeMap = new Map();
|
|
177
|
+
for (const rt of recordTypesResult.data) {
|
|
178
|
+
recordTypeMap.set(rt.id, rt);
|
|
179
|
+
}
|
|
180
|
+
// Step 4: Enrich with record type names and compute percentages
|
|
181
|
+
const distribution = countRecords
|
|
182
|
+
.map((record) => {
|
|
183
|
+
const rtInfo = recordTypeMap.get(record.RecordTypeId);
|
|
184
|
+
return {
|
|
185
|
+
recordTypeId: record.RecordTypeId,
|
|
186
|
+
developerName: rtInfo?.developerName ?? 'Unknown',
|
|
187
|
+
name: rtInfo?.name ?? 'Unknown',
|
|
188
|
+
recordCount: record.cnt,
|
|
189
|
+
percentage: total > 0 ? Math.round((record.cnt / total) * 10_000) / 100 : 0,
|
|
190
|
+
};
|
|
191
|
+
})
|
|
192
|
+
// Step 5: Sort by recordCount descending
|
|
193
|
+
.sort((a, b) => b.recordCount - a.recordCount);
|
|
194
|
+
const duration = Date.now() - startTime;
|
|
195
|
+
this.logger?.log(`Found ${distribution.length} record type distributions for ${objectName}`);
|
|
196
|
+
return createSuccessResult(distribution, {
|
|
197
|
+
message: `Found ${distribution.length} record type distributions for ${objectName}`,
|
|
198
|
+
metadata: { duration },
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
203
|
+
this.logger?.log(`Record type distribution query failed: ${errorMessage}`);
|
|
204
|
+
return createFailureResult(emptyResult, ServiceErrorCodes.RECORD_TYPE_QUERY_FAILED, errorMessage, {
|
|
205
|
+
metadata: { duration: Date.now() - startTime },
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Retrieves only active record types for the specified SObject.
|
|
211
|
+
*
|
|
212
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
|
|
213
|
+
* @returns ServiceResult containing an array of active RecordTypeInfo
|
|
214
|
+
*/
|
|
215
|
+
async getActiveRecordTypes(objectName) {
|
|
216
|
+
return this.getRecordTypesByStatus(objectName, 'active');
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Retrieves record types for the specified SObject filtered by activity status.
|
|
220
|
+
*
|
|
221
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Case')
|
|
222
|
+
* @param status - Filter: 'active' (default), 'all', or 'inactive'
|
|
223
|
+
* @returns ServiceResult containing an array of filtered RecordTypeInfo
|
|
224
|
+
*/
|
|
225
|
+
async getRecordTypesByStatus(objectName, status = 'active') {
|
|
226
|
+
const result = await this.getRecordTypes(objectName);
|
|
227
|
+
if (!result.success) {
|
|
228
|
+
return result;
|
|
229
|
+
}
|
|
230
|
+
let filtered;
|
|
231
|
+
let label;
|
|
232
|
+
switch (status) {
|
|
233
|
+
case 'all':
|
|
234
|
+
filtered = result.data;
|
|
235
|
+
label = 'total';
|
|
236
|
+
break;
|
|
237
|
+
case 'inactive':
|
|
238
|
+
filtered = result.data.filter((rt) => !rt.isActive);
|
|
239
|
+
label = 'inactive';
|
|
240
|
+
break;
|
|
241
|
+
default:
|
|
242
|
+
filtered = result.data.filter((rt) => rt.isActive);
|
|
243
|
+
label = 'active';
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
return createSuccessResult(filtered, {
|
|
247
|
+
message: `Found ${filtered.length} ${label} record types for ${objectName}`,
|
|
248
|
+
metadata: result.metadata,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Executes the RecordType SOQL query, falling back to exclude IsPersonType
|
|
253
|
+
* when Person Accounts are not enabled in the target org.
|
|
254
|
+
*/
|
|
255
|
+
async queryRecordTypes(objectName) {
|
|
256
|
+
const baseFields = ['Id', 'Name', 'DeveloperName', 'SobjectType', 'IsActive', 'BusinessProcessId'];
|
|
257
|
+
// Try with IsPersonType first (available when Person Accounts are enabled)
|
|
258
|
+
const fullSoql = new CuneiformQueryBuilder()
|
|
259
|
+
.select([...baseFields, 'IsPersonType'])
|
|
260
|
+
.from('RecordType')
|
|
261
|
+
.where('SobjectType', '=', objectName)
|
|
262
|
+
.orderBy('Name', 'ASC')
|
|
263
|
+
.toSOQL();
|
|
264
|
+
this.logger?.log(`Querying record types for: ${objectName}`);
|
|
265
|
+
const fullResult = await this.soqlAdapter.query(fullSoql);
|
|
266
|
+
if (fullResult.success) {
|
|
267
|
+
return fullResult;
|
|
268
|
+
}
|
|
269
|
+
// If the query failed due to IsPersonType not existing, retry without it
|
|
270
|
+
const errorMsg = fullResult.message ?? '';
|
|
271
|
+
if (errorMsg.includes('INVALID_FIELD') || errorMsg.includes('IsPersonType')) {
|
|
272
|
+
this.logger?.log('IsPersonType not available — retrying without Person Account field');
|
|
273
|
+
const fallbackSoql = new CuneiformQueryBuilder()
|
|
274
|
+
.select(baseFields)
|
|
275
|
+
.from('RecordType')
|
|
276
|
+
.where('SobjectType', '=', objectName)
|
|
277
|
+
.orderBy('Name', 'ASC')
|
|
278
|
+
.toSOQL();
|
|
279
|
+
return this.soqlAdapter.query(fallbackSoql);
|
|
280
|
+
}
|
|
281
|
+
return fullResult;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=RecordTypeService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordTypeService.js","sourceRoot":"","sources":["../../src/services/RecordTypeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ export type ISFDMUServiceConfig = {
|
|
|
17
17
|
execFileAsync?: ExecFileAsyncFn;
|
|
18
18
|
/** Override platform detection (for testing) */
|
|
19
19
|
platform?: NodeJS.Platform;
|
|
20
|
+
/** Delays (ms) between retry attempts on initialization crashes. Default: [2000, 4000] (2 retries). Empty array disables retry. */
|
|
21
|
+
retryDelays?: number[];
|
|
20
22
|
};
|
|
21
23
|
/**
|
|
22
24
|
* Service for executing SFDMU (Salesforce Data Move Utility) operations.
|
|
@@ -49,6 +51,8 @@ export declare class SFDMUService {
|
|
|
49
51
|
private readonly logger?;
|
|
50
52
|
/** Injected execFile function */
|
|
51
53
|
private readonly execFileAsync;
|
|
54
|
+
/** Delays between retry attempts (length = max retries). Empty = no retry. */
|
|
55
|
+
private readonly retryDelays;
|
|
52
56
|
/**
|
|
53
57
|
* Creates a new SFDMUService instance.
|
|
54
58
|
*
|
|
@@ -66,8 +70,20 @@ export declare class SFDMUService {
|
|
|
66
70
|
/**
|
|
67
71
|
* Parses record count from SFDMU stdout output.
|
|
68
72
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
73
|
+
* SFDMU (Salesforce Data Move Utility) outputs record counts in several formats
|
|
74
|
+
* depending on the operation type and verbosity level:
|
|
75
|
+
* - Summary lines: "Total: 100 records" — single authoritative count, checked first
|
|
76
|
+
* - Per-batch lines: "Processed 8 records" repeated per batch — summed to get total
|
|
77
|
+
* - Alternate phrasing: "100 records processed"
|
|
78
|
+
*
|
|
79
|
+
* Per-batch counts must be summed: SFDMU emits "Processed N records" once per batch
|
|
80
|
+
* (CLI-3140), so taking only the first match caps the reported count at the batch size.
|
|
81
|
+
*
|
|
82
|
+
* Tested against SFDMU v4.x output. If patterns fail to match, returns undefined
|
|
83
|
+
* (graceful degradation — record count is informational, not required).
|
|
84
|
+
*
|
|
85
|
+
* @param stdout - Standard output from SFDMU execution
|
|
86
|
+
* @returns Parsed record count or undefined if no pattern matched
|
|
71
87
|
*/
|
|
72
88
|
private static parseRecordCount;
|
|
73
89
|
/**
|
|
@@ -84,6 +100,8 @@ export declare class SFDMUService {
|
|
|
84
100
|
* @returns Array of warning messages
|
|
85
101
|
*/
|
|
86
102
|
private static parseWarnings;
|
|
103
|
+
private static sleep;
|
|
104
|
+
private static isRetryableError;
|
|
87
105
|
/**
|
|
88
106
|
* Returns the sf binary name being used (for testing/debugging).
|
|
89
107
|
*/
|
|
@@ -91,7 +109,9 @@ export declare class SFDMUService {
|
|
|
91
109
|
/**
|
|
92
110
|
* Verifies that SFDMU is installed and available.
|
|
93
111
|
*
|
|
94
|
-
* @
|
|
112
|
+
* @returns Promise that resolves when SFDMU installation is verified
|
|
113
|
+
* @throws SfError with code 'SFCLINotFound' if Salesforce CLI is not installed
|
|
114
|
+
* @throws SfError with code from SFDMUErrorCodes.NOT_INSTALLED if SFDMU plugin is missing
|
|
95
115
|
*/
|
|
96
116
|
verifyInstallation(): Promise<void>;
|
|
97
117
|
/**
|
|
@@ -116,4 +136,11 @@ export declare class SFDMUService {
|
|
|
116
136
|
* @returns ServiceResult containing the execution result
|
|
117
137
|
*/
|
|
118
138
|
private executeOperation;
|
|
139
|
+
/**
|
|
140
|
+
* Executes a single SFDMU attempt with recursive retry on initialization crashes.
|
|
141
|
+
*
|
|
142
|
+
* Retryable: both stdout and stderr are empty (process died before producing output).
|
|
143
|
+
* Not retryable: timeout (killed+SIGTERM), or either stream has content (business error).
|
|
144
|
+
*/
|
|
145
|
+
private executeWithRetry;
|
|
119
146
|
}
|