@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,316 @@
|
|
|
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 { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
|
+
import { DebugLogger } from '../debug/debug-logger.js';
|
|
11
|
+
import { createMcpAdapters } from './config/mcp-config.js';
|
|
12
|
+
import { CUNEIFORM_SYSTEM_PROMPT } from './config/system-prompts.js';
|
|
13
|
+
import { McpErrorCodes } from './errors.js';
|
|
14
|
+
import { createMcpError, extractErrorMessage, typedHandler } from './tools/tool-factory.js';
|
|
15
|
+
// Input schemas — single source of truth for validation
|
|
16
|
+
import { OrgDetailsInputSchema, ObjectListInputSchema, ObjectDescribeInputSchema, UserDetailsInputSchema, UserConfigureInputSchema, DefinitionListInputSchema, DefinitionGetInputSchema, DefinitionGetByKeyInputSchema, DefinitionCreateInputSchema, DefinitionUpdateInputSchema, DefinitionPurgeInputSchema, DefinitionExportInputSchema, DefinitionImportInputSchema, ContactPointAnalyzeInputSchema, SummaryListInputSchema, RequestListInputSchema, ProfileExecuteInputSchema, ProfileStatusInputSchema, ProfileCancelInputSchema, ProfileDeleteInputSchema, } from './schemas/input-schemas.js';
|
|
17
|
+
// Handler functions
|
|
18
|
+
import { handleOrgDetails } from './tools/org-tools.js';
|
|
19
|
+
import { handleObjectList, handleObjectDescribe } from './tools/object-tools.js';
|
|
20
|
+
import { handleUserDetails, handleUserConfigure } from './tools/user-tools.js';
|
|
21
|
+
import { handleDefinitionList, handleDefinitionGet, handleDefinitionGetByKey, handleDefinitionCreate, handleDefinitionUpdate, handleDefinitionPurge, } from './tools/definition-tools.js';
|
|
22
|
+
import { handleDefinitionExport, handleDefinitionImport } from './tools/definition-io-tools.js';
|
|
23
|
+
import { handleContactPointAnalyze } from './tools/contactpoint-tools.js';
|
|
24
|
+
import { handleSummaryList } from './tools/summary-tools.js';
|
|
25
|
+
import { handleRequestList, handleProfileExecute, handleProfileStatus, handleProfileCancel, handleProfileDelete, } from './tools/profile-tools.js';
|
|
26
|
+
/**
|
|
27
|
+
* Wraps a handler with debug logging (timing, params, result size).
|
|
28
|
+
*
|
|
29
|
+
* @param toolName - Tool name for log output
|
|
30
|
+
* @param adapters - Session-scoped MCP adapters
|
|
31
|
+
* @param handler - Handler function
|
|
32
|
+
* @param args - Validated input arguments
|
|
33
|
+
* @param debug - Whether debug logging is enabled
|
|
34
|
+
* @returns CallToolResult from the handler
|
|
35
|
+
*/
|
|
36
|
+
async function invokeWithLogging(toolName, adapters, handler, args, debug) {
|
|
37
|
+
if (debug) {
|
|
38
|
+
DebugLogger.setEnabled(true);
|
|
39
|
+
}
|
|
40
|
+
if (debug) {
|
|
41
|
+
DebugLogger.log('MCP', toolName, 'params', JSON.stringify(args));
|
|
42
|
+
}
|
|
43
|
+
const start = Date.now();
|
|
44
|
+
try {
|
|
45
|
+
const result = await handler(adapters, args);
|
|
46
|
+
const duration = Date.now() - start;
|
|
47
|
+
const success = !result.isError;
|
|
48
|
+
if (debug) {
|
|
49
|
+
try {
|
|
50
|
+
const resultStr = JSON.stringify(result);
|
|
51
|
+
const sizeBytes = new TextEncoder().encode(resultStr).length;
|
|
52
|
+
DebugLogger.logResult('MCP', toolName, success, duration, sizeBytes);
|
|
53
|
+
}
|
|
54
|
+
catch (serializeError) {
|
|
55
|
+
/* eslint-disable-next-line no-console -- MCP uses stderr for logging */
|
|
56
|
+
console.error(`[MCP] Warning: Result for ${toolName} is not JSON-serializable: ` +
|
|
57
|
+
`${serializeError instanceof Error ? serializeError.message : String(serializeError)}. ` +
|
|
58
|
+
'This may cause a transport error.');
|
|
59
|
+
DebugLogger.logResult('MCP', toolName, success, duration);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
DebugLogger.logResult('MCP', toolName, success, duration);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
const errorMessage = extractErrorMessage(error, `invokeWithLogging:${toolName}`);
|
|
69
|
+
DebugLogger.log('MCP', toolName, 'error', errorMessage);
|
|
70
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, errorMessage);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Complete tool registry with descriptions, schemas, and handlers.
|
|
75
|
+
*
|
|
76
|
+
* Handlers accept typed params — casts at this boundary are safe because
|
|
77
|
+
* the McpServer SDK validates input via Zod schemas before calling handlers.
|
|
78
|
+
*/
|
|
79
|
+
/* eslint-disable camelcase -- MCP tool names use underscores */
|
|
80
|
+
export function getToolRegistrations() {
|
|
81
|
+
return [
|
|
82
|
+
// --- Org & Metadata ---
|
|
83
|
+
{
|
|
84
|
+
name: 'cuneiform_org_details',
|
|
85
|
+
description: 'Get Salesforce org configuration by section. Returns ONE section per call. ' +
|
|
86
|
+
'Start with section=identity to see available sections, then request specific sections as needed. ' +
|
|
87
|
+
'Sections: identity (org info), cuneiform (package status), features (enabled features), ' +
|
|
88
|
+
'clouds (detected clouds, paginated), namespaces (installed namespaces, paginated), limits (API limits). ' +
|
|
89
|
+
'Pass nextCursor from _pagination envelope as cursor for paginated sections.',
|
|
90
|
+
inputSchema: OrgDetailsInputSchema,
|
|
91
|
+
handler: typedHandler(handleOrgDetails),
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: 'cuneiform_object_list',
|
|
95
|
+
description: 'List Salesforce objects with record counts, type filtering (standard/custom), namespace filtering, ' +
|
|
96
|
+
'and pattern matching. Returns up to 25 objects per page (max 50). Apply filters first to narrow results ' +
|
|
97
|
+
'before paginating. Pass nextCursor from the _pagination envelope as cursor to retrieve the next page. ' +
|
|
98
|
+
'Use to discover which objects exist in the org before profiling.',
|
|
99
|
+
inputSchema: ObjectListInputSchema,
|
|
100
|
+
handler: typedHandler(handleObjectList),
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'cuneiform_object_describe',
|
|
104
|
+
description: 'Get detailed metadata for a single Salesforce object by section. Accepts exactly ONE object API name. ' +
|
|
105
|
+
'Start with section=summary to see available sections. Sections: summary (object info + field counts), ' +
|
|
106
|
+
'fields (paginated field list with filtering), fieldDistribution (field type breakdown), recordTypes ' +
|
|
107
|
+
'(paginated record types), relationships (paginated lookups and references). Do NOT loop through all ' +
|
|
108
|
+
'objects from object_list — describe only the objects the user is interested in.',
|
|
109
|
+
inputSchema: ObjectDescribeInputSchema,
|
|
110
|
+
handler: typedHandler(handleObjectDescribe),
|
|
111
|
+
},
|
|
112
|
+
// --- User Management ---
|
|
113
|
+
{
|
|
114
|
+
name: 'cuneiform_user_details',
|
|
115
|
+
description: 'Confirm that Cuneiform for Salesforce is installed and the current user is configured for remote profiling. ' +
|
|
116
|
+
'Returns org context, user identity, prerequisite checks (Cuneiform installed, admin access), permission set ' +
|
|
117
|
+
'assignments, configuration profile status, and actionable resolution guidance when the user is not ready. ' +
|
|
118
|
+
'Call this FIRST before any other Cuneiform tool to verify the user can run profiling.',
|
|
119
|
+
inputSchema: UserDetailsInputSchema,
|
|
120
|
+
handler: typedHandler(handleUserDetails),
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'cuneiform_user_configure',
|
|
124
|
+
description: 'Configure the current user for Cuneiform profiling access. Assigns required permission sets and ' +
|
|
125
|
+
'enables API-only profiling. ALWAYS call cuneiform_user_details first to check prerequisites. ' +
|
|
126
|
+
'ALWAYS use dryRun=true first to preview changes, then call again with dryRun=false to apply.',
|
|
127
|
+
inputSchema: UserConfigureInputSchema,
|
|
128
|
+
handler: typedHandler(handleUserConfigure),
|
|
129
|
+
},
|
|
130
|
+
// --- Definition Lifecycle ---
|
|
131
|
+
{
|
|
132
|
+
name: 'cuneiform_definition_list',
|
|
133
|
+
description: 'List profiling definitions with optional filtering by object name, status, and active state. ' +
|
|
134
|
+
'Returns definition keys, target objects, field counts, and profiling status.',
|
|
135
|
+
inputSchema: DefinitionListInputSchema,
|
|
136
|
+
handler: typedHandler(handleDefinitionList),
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: 'cuneiform_definition_get',
|
|
140
|
+
description: 'Get a profiling definition by its Salesforce ID. Returns full definition details.',
|
|
141
|
+
inputSchema: DefinitionGetInputSchema,
|
|
142
|
+
handler: typedHandler(handleDefinitionGet),
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: 'cuneiform_definition_get_by_key',
|
|
146
|
+
description: 'Get profiling definitions by their human-readable keys (e.g., PD-0001). ' +
|
|
147
|
+
'Supports retrieving multiple definitions in a single call.',
|
|
148
|
+
inputSchema: DefinitionGetByKeyInputSchema,
|
|
149
|
+
handler: typedHandler(handleDefinitionGetByKey),
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: 'cuneiform_definition_create',
|
|
153
|
+
description: 'Create profiling definitions for objects matching the specified criteria. ' +
|
|
154
|
+
'ALWAYS use dryRun=true first to preview what will be created.',
|
|
155
|
+
inputSchema: DefinitionCreateInputSchema,
|
|
156
|
+
handler: typedHandler(handleDefinitionCreate),
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
name: 'cuneiform_definition_update',
|
|
160
|
+
description: 'Update metadata attributes (name, category, timeCategory, segmentCategory, description) on an existing ' +
|
|
161
|
+
'profiling definition. Supply one or more attributes; untouched attributes are preserved.',
|
|
162
|
+
inputSchema: DefinitionUpdateInputSchema,
|
|
163
|
+
handler: typedHandler(handleDefinitionUpdate),
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'cuneiform_definition_purge',
|
|
167
|
+
description: 'Delete profiling definitions that have never been profiled. ' +
|
|
168
|
+
'Use to clean up unused definitions after scope changes.',
|
|
169
|
+
inputSchema: DefinitionPurgeInputSchema,
|
|
170
|
+
handler: typedHandler(handleDefinitionPurge),
|
|
171
|
+
},
|
|
172
|
+
// --- Definition I/O ---
|
|
173
|
+
{
|
|
174
|
+
name: 'cuneiform_definition_export',
|
|
175
|
+
description: 'Export all profiling definitions as VCS-friendly files. ' +
|
|
176
|
+
'Returns file contents (CSV/JSON) for version control or cross-org portability.',
|
|
177
|
+
inputSchema: DefinitionExportInputSchema,
|
|
178
|
+
handler: typedHandler(handleDefinitionExport),
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'cuneiform_definition_import',
|
|
182
|
+
description: 'Import profiling definitions from exported files. ALWAYS use simulation=true first to preview changes.',
|
|
183
|
+
inputSchema: DefinitionImportInputSchema,
|
|
184
|
+
handler: typedHandler(handleDefinitionImport),
|
|
185
|
+
},
|
|
186
|
+
// --- Analysis ---
|
|
187
|
+
{
|
|
188
|
+
name: 'cuneiform_contactpoint_analyze',
|
|
189
|
+
description: 'Identify and classify contact point fields in a Salesforce object. ' +
|
|
190
|
+
'Detects email, phone, address, and social media fields.',
|
|
191
|
+
inputSchema: ContactPointAnalyzeInputSchema,
|
|
192
|
+
handler: typedHandler(handleContactPointAnalyze),
|
|
193
|
+
},
|
|
194
|
+
// --- Results ---
|
|
195
|
+
{
|
|
196
|
+
name: 'cuneiform_summary_list',
|
|
197
|
+
description: 'List profiling summaries for a specific definition. ' +
|
|
198
|
+
'Returns summary-level records including overall status, total records profiled, fields profiled, last profiled date, and whether each summary is the latest run.',
|
|
199
|
+
inputSchema: SummaryListInputSchema,
|
|
200
|
+
handler: typedHandler(handleSummaryList),
|
|
201
|
+
},
|
|
202
|
+
// --- Profiling ---
|
|
203
|
+
{
|
|
204
|
+
name: 'cuneiform_request_list',
|
|
205
|
+
description: 'List profiling requests with optional status filtering and offset-based pagination. ' +
|
|
206
|
+
'Filter by a single status (e.g. "Queued") or multiple statuses (e.g. ["Queued", "Completed"]). ' +
|
|
207
|
+
'Returns id, name, definitionId, definitionName, objectName, status, createdDate, lastModifiedDate, and submittedBy per request. ' +
|
|
208
|
+
'Use to monitor in-progress requests, audit completed profiling, or find requests eligible for cancellation or deletion.',
|
|
209
|
+
inputSchema: RequestListInputSchema,
|
|
210
|
+
handler: typedHandler(handleRequestList),
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'cuneiform_profile_execute',
|
|
214
|
+
description: 'Execute a profiling definition. Triggers Apex processing to analyze field values and data quality. ' +
|
|
215
|
+
'Can optionally wait for completion.',
|
|
216
|
+
inputSchema: ProfileExecuteInputSchema,
|
|
217
|
+
handler: typedHandler(handleProfileExecute),
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: 'cuneiform_profile_status',
|
|
221
|
+
description: 'Check the status of a profiling execution request.',
|
|
222
|
+
inputSchema: ProfileStatusInputSchema,
|
|
223
|
+
handler: typedHandler(handleProfileStatus),
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: 'cuneiform_profile_cancel',
|
|
227
|
+
description: 'Cancel an active profiling execution. Supports cancelling by request ID or by definition ID ' +
|
|
228
|
+
'(cancels all active requests for that definition).',
|
|
229
|
+
inputSchema: ProfileCancelInputSchema,
|
|
230
|
+
handler: typedHandler(handleProfileCancel),
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
name: 'cuneiform_profile_delete',
|
|
234
|
+
description: 'Delete terminal profiling requests by ID. Only Canceled requests can be deleted. This operation is irreversible.',
|
|
235
|
+
inputSchema: ProfileDeleteInputSchema,
|
|
236
|
+
handler: typedHandler(handleProfileDelete),
|
|
237
|
+
},
|
|
238
|
+
];
|
|
239
|
+
}
|
|
240
|
+
/* eslint-enable camelcase */
|
|
241
|
+
/**
|
|
242
|
+
* Creates and configures the Cuneiform MCP server using McpServer.
|
|
243
|
+
*
|
|
244
|
+
* Registers all 18 tools via `registerTool()` with native Zod schema support,
|
|
245
|
+
* eliminating the manual dispatch layer and JSON Schema duplication.
|
|
246
|
+
*
|
|
247
|
+
* @param config - MCP server configuration
|
|
248
|
+
* @param connection - Salesforce connection
|
|
249
|
+
* @returns Configured McpServer instance
|
|
250
|
+
*/
|
|
251
|
+
export function createMcpServer(config, connection) {
|
|
252
|
+
const server = new McpServer({
|
|
253
|
+
name: config.name,
|
|
254
|
+
version: config.version,
|
|
255
|
+
}, {
|
|
256
|
+
capabilities: {
|
|
257
|
+
tools: {},
|
|
258
|
+
prompts: {},
|
|
259
|
+
},
|
|
260
|
+
});
|
|
261
|
+
// Construct adapters once — shared across all tool invocations in this session.
|
|
262
|
+
// LRU caches (e.g., RestApiAdapter describe cache) persist across paginated calls.
|
|
263
|
+
const adapters = createMcpAdapters(connection);
|
|
264
|
+
// Register all tools with native Zod schemas
|
|
265
|
+
const tools = getToolRegistrations();
|
|
266
|
+
for (const tool of tools) {
|
|
267
|
+
server.registerTool(tool.name, {
|
|
268
|
+
description: tool.description,
|
|
269
|
+
inputSchema: tool.inputSchema,
|
|
270
|
+
}, async (args) => invokeWithLogging(tool.name, adapters, tool.handler, args, config.debug));
|
|
271
|
+
}
|
|
272
|
+
// Register system prompt
|
|
273
|
+
server.registerPrompt('cuneiform_system', { description: 'Cuneiform CLI system prompt' }, () => Promise.resolve({
|
|
274
|
+
description: 'Cuneiform CLI system prompt',
|
|
275
|
+
messages: [
|
|
276
|
+
{
|
|
277
|
+
role: 'user',
|
|
278
|
+
content: {
|
|
279
|
+
type: 'text',
|
|
280
|
+
text: CUNEIFORM_SYSTEM_PROMPT,
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
],
|
|
284
|
+
}));
|
|
285
|
+
return server;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Starts the MCP server with stdio transport.
|
|
289
|
+
*
|
|
290
|
+
* @param server - Configured McpServer instance
|
|
291
|
+
* @param debug - Enable debug logging
|
|
292
|
+
*/
|
|
293
|
+
/* eslint-disable no-console -- MCP uses stderr for logging */
|
|
294
|
+
export async function startMcpServer(server, debug) {
|
|
295
|
+
const transport = new StdioServerTransport();
|
|
296
|
+
if (debug) {
|
|
297
|
+
console.error('[MCP] Starting server...');
|
|
298
|
+
}
|
|
299
|
+
try {
|
|
300
|
+
await server.connect(transport);
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
304
|
+
console.error(`[MCP] Server failed to start: ${message}`);
|
|
305
|
+
if (error instanceof Error && error.stack) {
|
|
306
|
+
console.error(error.stack);
|
|
307
|
+
}
|
|
308
|
+
throw new Error(`MCP server failed to connect to stdio transport: ${message}. ` +
|
|
309
|
+
'Ensure the process has stdin/stdout available and is not running in a detached context.');
|
|
310
|
+
}
|
|
311
|
+
if (debug) {
|
|
312
|
+
console.error('[MCP] Server started and connected to stdio transport');
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
/* eslint-enable no-console */
|
|
316
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { McpAdapters } from '../config/mcp-config.js';
|
|
3
|
+
import type { ContactPointAnalyzeInput } from '../schemas/input-schemas.js';
|
|
4
|
+
/**
|
|
5
|
+
* Handler for cuneiform_contactpoint_analyze tool invocation.
|
|
6
|
+
*
|
|
7
|
+
* Analyzes a Salesforce object's fields to identify contact point fields
|
|
8
|
+
* such as email addresses, phone numbers, names, and social media identifiers.
|
|
9
|
+
*
|
|
10
|
+
* @param adapters - Session-scoped MCP adapters
|
|
11
|
+
* @param params - Validated input from MCP SDK
|
|
12
|
+
* @returns MCP CallToolResult
|
|
13
|
+
*/
|
|
14
|
+
export declare function handleContactPointAnalyze(adapters: McpAdapters, params: ContactPointAnalyzeInput): Promise<CallToolResult>;
|
|
@@ -0,0 +1,34 @@
|
|
|
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 { ContactPointService } from '../../services/ContactPointService.js';
|
|
9
|
+
import { McpErrorCodes } from '../errors.js';
|
|
10
|
+
import { createMcpError, serviceResultToMcp, extractErrorMessage } from './tool-factory.js';
|
|
11
|
+
/**
|
|
12
|
+
* Handler for cuneiform_contactpoint_analyze tool invocation.
|
|
13
|
+
*
|
|
14
|
+
* Analyzes a Salesforce object's fields to identify contact point fields
|
|
15
|
+
* such as email addresses, phone numbers, names, and social media identifiers.
|
|
16
|
+
*
|
|
17
|
+
* @param adapters - Session-scoped MCP adapters
|
|
18
|
+
* @param params - Validated input from MCP SDK
|
|
19
|
+
* @returns MCP CallToolResult
|
|
20
|
+
*/
|
|
21
|
+
export async function handleContactPointAnalyze(adapters, params) {
|
|
22
|
+
try {
|
|
23
|
+
const contactPointService = new ContactPointService({
|
|
24
|
+
restApiAdapter: adapters.rest,
|
|
25
|
+
});
|
|
26
|
+
// Execute contact point analysis
|
|
27
|
+
const result = await contactPointService.analyzeContactPoints(params.objectName);
|
|
28
|
+
return serviceResultToMcp(result);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, `Failed to analyze contact points: ${extractErrorMessage(error, 'handleContactPointAnalyze')}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=contactpoint-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contactpoint-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/contactpoint-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE5F;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAqB,EACrB,MAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC;YAClD,cAAc,EAAE,QAAQ,CAAC,IAAI;SAC9B,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,cAAc,CACnB,aAAa,CAAC,sBAAsB,EACpC,qCAAqC,mBAAmB,CAAC,KAAK,EAAE,2BAA2B,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { McpAdapters } from '../config/mcp-config.js';
|
|
3
|
+
import type { DefinitionExportInput, DefinitionImportInput } from '../schemas/input-schemas.js';
|
|
4
|
+
/**
|
|
5
|
+
* Handler for cuneiform_definition_export tool invocation.
|
|
6
|
+
*
|
|
7
|
+
* @param adapters - Session-scoped MCP adapters
|
|
8
|
+
* @param params - Validated input from MCP SDK
|
|
9
|
+
* @returns MCP CallToolResult with file contents
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleDefinitionExport(adapters: McpAdapters, params: DefinitionExportInput): Promise<CallToolResult>;
|
|
12
|
+
/**
|
|
13
|
+
* Handler for cuneiform_definition_import tool invocation.
|
|
14
|
+
*
|
|
15
|
+
* @param adapters - Session-scoped MCP adapters
|
|
16
|
+
* @param params - Validated input from MCP SDK
|
|
17
|
+
* @returns MCP CallToolResult
|
|
18
|
+
*/
|
|
19
|
+
export declare function handleDefinitionImport(adapters: McpAdapters, params: DefinitionImportInput): Promise<CallToolResult>;
|
|
@@ -0,0 +1,152 @@
|
|
|
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 * as crypto from 'node:crypto';
|
|
9
|
+
import * as fs from 'node:fs';
|
|
10
|
+
import * as os from 'node:os';
|
|
11
|
+
import * as path from 'node:path';
|
|
12
|
+
import { SFDMUService } from '../../services/SFDMUService.js';
|
|
13
|
+
import { DefinitionExportOperation, ExportErrorCodes } from '../../operations/DefinitionExportOperation.js';
|
|
14
|
+
import { DefinitionImportOperation } from '../../operations/DefinitionImportOperation.js';
|
|
15
|
+
import { McpErrorCodes } from '../errors.js';
|
|
16
|
+
import { serviceResultToMcp, createMcpError, extractErrorMessage } from './tool-factory.js';
|
|
17
|
+
/**
|
|
18
|
+
* Handler for cuneiform_definition_export tool invocation.
|
|
19
|
+
*
|
|
20
|
+
* @param adapters - Session-scoped MCP adapters
|
|
21
|
+
* @param params - Validated input from MCP SDK
|
|
22
|
+
* @returns MCP CallToolResult with file contents
|
|
23
|
+
*/
|
|
24
|
+
export async function handleDefinitionExport(adapters, params) {
|
|
25
|
+
let tempDir;
|
|
26
|
+
try {
|
|
27
|
+
// Generate a unique path without pre-creating the directory.
|
|
28
|
+
// Using a path-string-only approach (not mkdtempSync) so that DefinitionExportOperation
|
|
29
|
+
// can create the directory itself — it guards against accidental overwrites via existsSync,
|
|
30
|
+
// which would false-positive if mkdtempSync had already created the dir (F37).
|
|
31
|
+
tempDir = path.join(os.tmpdir(), `cuneiform-export-${crypto.randomBytes(3).toString('hex')}`);
|
|
32
|
+
// Initialize service and operation
|
|
33
|
+
const sfdmuService = new SFDMUService();
|
|
34
|
+
const exportOperation = new DefinitionExportOperation(sfdmuService);
|
|
35
|
+
// Get target org username
|
|
36
|
+
const targetOrg = adapters.connection.getUsername();
|
|
37
|
+
if (!targetOrg) {
|
|
38
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, 'Could not determine target org username');
|
|
39
|
+
}
|
|
40
|
+
// Execute export to temp directory
|
|
41
|
+
const result = await exportOperation.execute({
|
|
42
|
+
targetOrg,
|
|
43
|
+
outputDir: tempDir,
|
|
44
|
+
excludeIds: params.excludeIds,
|
|
45
|
+
});
|
|
46
|
+
if (!result.success) {
|
|
47
|
+
// OUTPUT_DIR_EXISTS guidance ("Use a different path") is not actionable through the MCP
|
|
48
|
+
// interface — callers have no outputDir parameter. Rewrite it to a retry instruction.
|
|
49
|
+
if (result.errorCode === ExportErrorCodes.OUTPUT_DIR_EXISTS) {
|
|
50
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, 'Export failed due to a temporary directory conflict. Retry the operation to generate a new unique path.');
|
|
51
|
+
}
|
|
52
|
+
return serviceResultToMcp(result);
|
|
53
|
+
}
|
|
54
|
+
// Read all exported files into memory and return them inline.
|
|
55
|
+
// MCP clients cannot access server-local filesystem paths, so file contents must be
|
|
56
|
+
// returned in the response payload rather than as disk paths (F36).
|
|
57
|
+
const files = [];
|
|
58
|
+
for (const filename of result.data.files) {
|
|
59
|
+
const filePath = path.join(tempDir, filename);
|
|
60
|
+
if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) {
|
|
61
|
+
const ext = path.extname(filename).toLowerCase().slice(1);
|
|
62
|
+
files.push({ filename, content: fs.readFileSync(filePath, 'utf8'), format: ext || 'text' });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Return success with inline file contents.
|
|
66
|
+
// Override the operation message — it references the server-local temp path, which is
|
|
67
|
+
// cleaned up in finally and is not meaningful to an MCP caller.
|
|
68
|
+
return serviceResultToMcp({
|
|
69
|
+
success: true,
|
|
70
|
+
data: {
|
|
71
|
+
definitionsExported: result.data.definitionsExported,
|
|
72
|
+
files,
|
|
73
|
+
},
|
|
74
|
+
message: `Successfully exported ${result.data.definitionsExported} definitions. ${files.length} file(s) returned inline in data.files.`,
|
|
75
|
+
warnings: result.warnings,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, `Failed to export definitions: ${extractErrorMessage(error, 'handleDefinitionExport')}`);
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
// Clean up temp directory
|
|
83
|
+
if (tempDir && fs.existsSync(tempDir)) {
|
|
84
|
+
try {
|
|
85
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
86
|
+
}
|
|
87
|
+
catch (cleanupError) {
|
|
88
|
+
/* eslint-disable-next-line no-console -- MCP uses stderr for logging */
|
|
89
|
+
console.error(`[MCP] Warning: Failed to clean up temp directory ${tempDir}: ` +
|
|
90
|
+
`${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Handler for cuneiform_definition_import tool invocation.
|
|
97
|
+
*
|
|
98
|
+
* @param adapters - Session-scoped MCP adapters
|
|
99
|
+
* @param params - Validated input from MCP SDK
|
|
100
|
+
* @returns MCP CallToolResult
|
|
101
|
+
*/
|
|
102
|
+
export async function handleDefinitionImport(adapters, params) {
|
|
103
|
+
let tempDir;
|
|
104
|
+
try {
|
|
105
|
+
// Generate a unique path then create the directory explicitly — consistent with the export
|
|
106
|
+
// handler pattern (path-string-only generation, not mkdtempSync).
|
|
107
|
+
tempDir = path.join(os.tmpdir(), `cuneiform-import-${crypto.randomBytes(3).toString('hex')}`);
|
|
108
|
+
fs.mkdirSync(tempDir, { recursive: true });
|
|
109
|
+
// Write file contents to temp directory with path traversal guard
|
|
110
|
+
for (const [filename, content] of Object.entries(params.fileContents)) {
|
|
111
|
+
const sanitized = path.basename(filename);
|
|
112
|
+
if (sanitized !== filename || filename.includes('..')) {
|
|
113
|
+
return createMcpError(McpErrorCodes.INVALID_TOOL_INPUT, `Invalid filename '${filename}': filenames must not contain path separators or '..' components`);
|
|
114
|
+
}
|
|
115
|
+
const filePath = path.join(tempDir, sanitized);
|
|
116
|
+
fs.writeFileSync(filePath, content, 'utf8');
|
|
117
|
+
}
|
|
118
|
+
// Initialize service and operation
|
|
119
|
+
const sfdmuService = new SFDMUService();
|
|
120
|
+
const importOperation = new DefinitionImportOperation(sfdmuService);
|
|
121
|
+
// Get target org username
|
|
122
|
+
const targetOrg = adapters.connection.getUsername();
|
|
123
|
+
if (!targetOrg) {
|
|
124
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, 'Could not determine target org username');
|
|
125
|
+
}
|
|
126
|
+
// Execute import from temp directory
|
|
127
|
+
const result = await importOperation.execute({
|
|
128
|
+
targetOrg,
|
|
129
|
+
sourceDir: tempDir,
|
|
130
|
+
operation: params.operation,
|
|
131
|
+
simulation: params.simulation,
|
|
132
|
+
});
|
|
133
|
+
return serviceResultToMcp(result);
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return createMcpError(McpErrorCodes.TOOL_INVOCATION_FAILED, `Failed to import definitions: ${extractErrorMessage(error, 'handleDefinitionImport')}`);
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
// Clean up temp directory
|
|
140
|
+
if (tempDir && fs.existsSync(tempDir)) {
|
|
141
|
+
try {
|
|
142
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
143
|
+
}
|
|
144
|
+
catch (cleanupError) {
|
|
145
|
+
/* eslint-disable-next-line no-console -- MCP uses stderr for logging */
|
|
146
|
+
console.error(`[MCP] Warning: Failed to clean up temp directory ${tempDir}: ` +
|
|
147
|
+
`${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=definition-io-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-io-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/definition-io-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { McpAdapters } from '../config/mcp-config.js';
|
|
3
|
+
import type { DefinitionListInput, DefinitionGetInput, DefinitionGetByKeyInput, DefinitionCreateInput, DefinitionUpdateInput, DefinitionPurgeInput } from '../schemas/input-schemas.js';
|
|
4
|
+
/**
|
|
5
|
+
* Handler for cuneiform_definition_list tool invocation.
|
|
6
|
+
*
|
|
7
|
+
* @param adapters - Session-scoped MCP adapters
|
|
8
|
+
* @param params - Validated input from MCP SDK
|
|
9
|
+
* @returns MCP CallToolResult
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleDefinitionList(adapters: McpAdapters, params: DefinitionListInput): Promise<CallToolResult>;
|
|
12
|
+
/**
|
|
13
|
+
* Handler for cuneiform_definition_get tool invocation.
|
|
14
|
+
*
|
|
15
|
+
* @param adapters - Session-scoped MCP adapters
|
|
16
|
+
* @param params - Validated input from MCP SDK
|
|
17
|
+
* @returns MCP CallToolResult
|
|
18
|
+
*/
|
|
19
|
+
export declare function handleDefinitionGet(adapters: McpAdapters, params: DefinitionGetInput): Promise<CallToolResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Handler for cuneiform_definition_get_by_key tool invocation.
|
|
22
|
+
*
|
|
23
|
+
* @param adapters - Session-scoped MCP adapters
|
|
24
|
+
* @param params - Validated input from MCP SDK
|
|
25
|
+
* @returns MCP CallToolResult
|
|
26
|
+
*/
|
|
27
|
+
export declare function handleDefinitionGetByKey(adapters: McpAdapters, params: DefinitionGetByKeyInput): Promise<CallToolResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Handler for cuneiform_definition_create tool invocation.
|
|
30
|
+
*
|
|
31
|
+
* @param adapters - Session-scoped MCP adapters
|
|
32
|
+
* @param params - Validated input from MCP SDK
|
|
33
|
+
* @returns MCP CallToolResult
|
|
34
|
+
*/
|
|
35
|
+
export declare function handleDefinitionCreate(adapters: McpAdapters, params: DefinitionCreateInput): Promise<CallToolResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Handler for cuneiform_definition_update tool invocation.
|
|
38
|
+
*
|
|
39
|
+
* @param adapters - Session-scoped MCP adapters
|
|
40
|
+
* @param params - Validated input from MCP SDK
|
|
41
|
+
* @returns MCP CallToolResult
|
|
42
|
+
*/
|
|
43
|
+
export declare function handleDefinitionUpdate(adapters: McpAdapters, params: DefinitionUpdateInput): Promise<CallToolResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Handler for cuneiform_definition_purge tool invocation.
|
|
46
|
+
*
|
|
47
|
+
* @param adapters - Session-scoped MCP adapters
|
|
48
|
+
* @param params - Validated input from MCP SDK
|
|
49
|
+
* @returns MCP CallToolResult
|
|
50
|
+
*/
|
|
51
|
+
export declare function handleDefinitionPurge(adapters: McpAdapters, params: DefinitionPurgeInput): Promise<CallToolResult>;
|