@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.
- package/LICENSE +81 -30
- package/README.md +59 -95
- 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/index.d.ts +33 -0
- package/lib/adapters/index.js +50 -0
- package/lib/adapters/index.js.map +1 -0
- package/lib/adapters/lifecycle.d.ts +119 -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 +389 -0
- package/lib/adapters/rest/rest-api-adapter.js +747 -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 +391 -0
- package/lib/adapters/soql/cuneiform-query-builder.js +559 -0
- package/lib/adapters/soql/cuneiform-query-builder.js.map +1 -0
- package/lib/adapters/soql/index.d.ts +13 -0
- package/lib/adapters/soql/index.js +21 -0
- package/lib/adapters/soql/index.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 +152 -0
- package/lib/base/cuneiform-command.js +243 -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 +119 -0
- package/lib/commands/cuneiform/definition/create.js +693 -0
- package/lib/commands/cuneiform/definition/create.js.map +1 -0
- package/lib/commands/cuneiform/definition/export.d.ts +57 -0
- package/lib/commands/cuneiform/definition/export.js +133 -0
- package/lib/commands/cuneiform/definition/export.js.map +1 -0
- package/lib/commands/cuneiform/definition/get.d.ts +86 -0
- package/lib/commands/cuneiform/definition/get.js +270 -0
- package/lib/commands/cuneiform/definition/get.js.map +1 -0
- package/lib/commands/cuneiform/definition/import.d.ts +54 -0
- package/lib/commands/cuneiform/definition/import.js +118 -0
- package/lib/commands/cuneiform/definition/import.js.map +1 -0
- package/lib/commands/cuneiform/definition/list.d.ts +110 -0
- package/lib/commands/cuneiform/definition/list.js +344 -0
- package/lib/commands/cuneiform/definition/list.js.map +1 -0
- package/lib/commands/cuneiform/definition/purge.d.ts +105 -0
- package/lib/commands/cuneiform/definition/purge.js +533 -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 +206 -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 +111 -0
- package/lib/commands/cuneiform/object/list.js +239 -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 +90 -0
- package/lib/commands/cuneiform/profile.js +322 -0
- package/lib/commands/cuneiform/profile.js.map +1 -0
- package/lib/commands/cuneiform/summary/purge.d.ts +77 -0
- package/lib/commands/cuneiform/summary/purge.js +429 -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 +73 -0
- package/lib/commands/cuneiform/user/details.js +391 -0
- package/lib/commands/cuneiform/user/details.js.map +1 -0
- package/lib/constants/index.d.ts +8 -0
- package/lib/constants/index.js +16 -0
- package/lib/constants/index.js.map +1 -0
- package/lib/constants/namespace-constants.d.ts +91 -0
- package/lib/constants/namespace-constants.js +211 -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/index.d.ts +12 -0
- package/lib/debug/index.js +20 -0
- package/lib/debug/index.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 +302 -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 +199 -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 +306 -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/date-literal.d.ts +211 -0
- package/lib/models/date-literal.js +615 -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/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 +53 -0
- package/lib/models/sfdmu-types.js +23 -0
- package/lib/models/sfdmu-types.js.map +1 -0
- 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 +163 -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 +411 -0
- package/lib/operations/DefinitionCreateOperation.js +1121 -0
- package/lib/operations/DefinitionCreateOperation.js.map +1 -0
- package/lib/operations/DefinitionExportOperation.d.ts +155 -0
- package/lib/operations/DefinitionExportOperation.js +281 -0
- package/lib/operations/DefinitionExportOperation.js.map +1 -0
- package/lib/operations/DefinitionImportOperation.d.ts +144 -0
- package/lib/operations/DefinitionImportOperation.js +357 -0
- package/lib/operations/DefinitionImportOperation.js.map +1 -0
- 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 +199 -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 +187 -0
- package/lib/operations/ProfileOperation.js +373 -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 +85 -0
- package/lib/services/ConfigureMode.js +390 -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 +309 -0
- package/lib/services/DefinitionFieldGenerationService.js +795 -0
- package/lib/services/DefinitionFieldGenerationService.js.map +1 -0
- package/lib/services/DefinitionQueryBuilder.d.ts +59 -0
- package/lib/services/DefinitionQueryBuilder.js +234 -0
- package/lib/services/DefinitionQueryBuilder.js.map +1 -0
- package/lib/services/ObjectDescribeService.d.ts +436 -0
- package/lib/services/ObjectDescribeService.js +869 -0
- package/lib/services/ObjectDescribeService.js.map +1 -0
- package/lib/services/ObjectFilteringService.d.ts +400 -0
- package/lib/services/ObjectFilteringService.js +878 -0
- package/lib/services/ObjectFilteringService.js.map +1 -0
- package/lib/services/ObjectListCommandService.d.ts +429 -0
- package/lib/services/ObjectListCommandService.js +873 -0
- package/lib/services/ObjectListCommandService.js.map +1 -0
- package/lib/services/ObjectListService.d.ts +201 -0
- package/lib/services/ObjectListService.js +345 -0
- package/lib/services/ObjectListService.js.map +1 -0
- package/lib/services/OrgInfoService.d.ts +485 -0
- package/lib/services/OrgInfoService.js +1122 -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 +535 -0
- package/lib/services/ProfilingDefinitionService.js +981 -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 +685 -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 +133 -0
- package/lib/services/SFDMUService.js +295 -0
- package/lib/services/SFDMUService.js.map +1 -0
- 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 +155 -0
- package/lib/services/UserConfigurationService.js +573 -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 +330 -0
- package/lib/services/UserReadinessService.js +831 -0
- package/lib/services/UserReadinessService.js.map +1 -0
- package/lib/services/constants.d.ts +53 -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/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 +231 -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 +114 -0
- package/lib/utils/formatting/object-describe-display.js +440 -0
- package/lib/utils/formatting/object-describe-display.js.map +1 -0
- package/lib/utils/formatting/object-list-display.d.ts +213 -0
- package/lib/utils/formatting/object-list-display.js +672 -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/index.d.ts +11 -0
- package/lib/utils/pagination/index.js +18 -0
- package/lib/utils/pagination/index.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 +511 -0
- package/messages/definition.export.md +84 -0
- package/messages/definition.get.md +147 -0
- package/messages/definition.import.md +65 -0
- package/messages/definition.list.md +264 -0
- package/messages/definition.purge.md +318 -0
- package/messages/definition.update.md +118 -0
- package/messages/mcp.serve.md +66 -0
- package/messages/object.describe.md +201 -0
- package/messages/object.list.md +443 -0
- package/messages/org.details.md +386 -0
- package/messages/org.reset.md +71 -0
- package/messages/profile.md +231 -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 +2887 -2149
- package/oclif.manifest.json +2813 -31
- package/package.json +94 -19
- 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,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"}
|