@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,318 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Delete profiling definitions that no longer represent current analysis intent — keeping the definition inventory focused on actively profiled objects.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
Profiling definitions accumulate over iterative scoping cycles: test definitions, exploration definitions, definitions for objects the team decided not to profile. This command removes them, leaving the inventory focused on current business intent.
|
|
8
|
+
|
|
9
|
+
Three selection modes: by specific definition key (`--keys`), by composable AND filters (object, pattern, method, category, status, namespace), or all definitions (`--all`). Before deletion, the command pre-categorizes every matched definition into two groups: deletable (no summaries) and blocked by summaries (must run `summary purge` first). A paginated preview table shows this categorization with a can-delete indicator per definition.
|
|
10
|
+
|
|
11
|
+
IMPORTANT: Definitions with existing summaries must have their summaries purged first. The full cleanup dependency order:
|
|
12
|
+
|
|
13
|
+
1. `sf cuneiform profile request cancel` — cancel queued requests
|
|
14
|
+
2. `sf cuneiform profile request delete` — remove canceled and rejected requests
|
|
15
|
+
3. `sf cuneiform summary purge` — remove summaries (cascade-deletes completed requests; resets definition status)
|
|
16
|
+
4. `sf cuneiform definition purge` — remove definitions (requires zero summaries)
|
|
17
|
+
|
|
18
|
+
THREE SELECTION MODES:
|
|
19
|
+
|
|
20
|
+
- **By key** (`--keys PD-0001,PD-0003`) — Delete specific definitions. Exclusive mode — all filter flags are ignored.
|
|
21
|
+
- **By filter** (`--objects Account --method metadata`) — Delete definitions matching ALL specified filters (AND logic). Combine --objects, --filter, --pattern, --method, --category, --status, and --namespace.
|
|
22
|
+
- **All** (`--all`) — Delete all eligible definitions. Can be combined with filters to narrow scope.
|
|
23
|
+
|
|
24
|
+
NATURAL LANGUAGE → FLAG MAPPING:
|
|
25
|
+
"delete the Account definition" → --keys PD-0001 (look up the key with `definition list`)
|
|
26
|
+
"remove all unused definitions" → --all --status "NOT PROFILED"
|
|
27
|
+
"clean up custom object definitions" → --all --filter custom
|
|
28
|
+
"delete metadata-only definitions" → --all --method metadata
|
|
29
|
+
"remove FSC definitions" → --all --namespace FinServ
|
|
30
|
+
"what would be deleted?" → --all --dry-run
|
|
31
|
+
|
|
32
|
+
COMMAND SEQUENCE: `summary purge` (remove summaries from blocked definitions) → `definition purge --dry-run` (preview) → `definition purge` (execute)
|
|
33
|
+
|
|
34
|
+
# flags.target-org.summary
|
|
35
|
+
|
|
36
|
+
Salesforce org to purge definitions from. The command validates Cuneiform installation and permissions before any deletions.
|
|
37
|
+
|
|
38
|
+
# flags.all.summary
|
|
39
|
+
|
|
40
|
+
Target all definitions for deletion. Combine with filter flags (--objects, --method, --status, etc.) to narrow scope. Definitions blocked by summaries are reported but not deleted — run `summary purge` for those first.
|
|
41
|
+
|
|
42
|
+
# flags.keys.summary
|
|
43
|
+
|
|
44
|
+
Delete specific definitions by key (e.g., --keys PD-0001,PD-0003). Exclusive mode — when --keys is specified, all other filter flags are ignored. Look up definition keys with `definition list`.
|
|
45
|
+
|
|
46
|
+
# flags.objects.summary
|
|
47
|
+
|
|
48
|
+
Filter definitions by target object API names (e.g., --objects Account,Contact). Limits deletion to definitions targeting the specified objects.
|
|
49
|
+
|
|
50
|
+
# flags.filter.summary
|
|
51
|
+
|
|
52
|
+
Filter definitions by object type: standard or custom. Targets definitions for one category of objects (e.g., --filter custom to clean up custom object definitions after scoping).
|
|
53
|
+
|
|
54
|
+
# flags.pattern.summary
|
|
55
|
+
|
|
56
|
+
Filter definitions by name pattern using SOQL LIKE wildcards (e.g., --pattern Account% matches definitions whose name starts with "Account"). Use % for multi-character wildcard and \_ for single-character wildcard.
|
|
57
|
+
|
|
58
|
+
# flags.method.summary
|
|
59
|
+
|
|
60
|
+
Filter definitions by profiling method: metadata, historical, or comparative (e.g., --method metadata to remove metadata-only definitions). Targets definitions of a specific analysis type.
|
|
61
|
+
|
|
62
|
+
# flags.category.summary
|
|
63
|
+
|
|
64
|
+
Filter definitions by category label (e.g., --category "Phase 1"). Removes definitions from a completed engagement phase or functional area.
|
|
65
|
+
|
|
66
|
+
# flags.status.summary
|
|
67
|
+
|
|
68
|
+
Filter definitions by profiling status: "NOT PROFILED", "IN PROGRESS", "COMPLETE", "COMPLETE w/ FAILURES", or "ERROR". Use --status "NOT PROFILED" to target definitions that were created but never executed.
|
|
69
|
+
|
|
70
|
+
# flags.namespace.summary
|
|
71
|
+
|
|
72
|
+
Filter definitions by the namespace prefix of their target object (e.g., --namespace FinServ for Financial Services Cloud, --namespace SBQQ for CPQ). Removes definitions for a managed package that is no longer in profiling scope.
|
|
73
|
+
|
|
74
|
+
# flags.limit.summary
|
|
75
|
+
|
|
76
|
+
Maximum number of definitions to process per batch (default: 50). Controls batch size for large deletion operations.
|
|
77
|
+
|
|
78
|
+
# flags.dry-run.summary
|
|
79
|
+
|
|
80
|
+
Preview what would be deleted without making changes. Shows the same two-category classification (deletable and blocked by summaries) as a real run. Use this first to verify scope and share the preview with stakeholders before committing.
|
|
81
|
+
|
|
82
|
+
# flags.format.summary
|
|
83
|
+
|
|
84
|
+
Output format: table (default, human-readable) or json (structured output for scripted pipelines).
|
|
85
|
+
|
|
86
|
+
# examples
|
|
87
|
+
|
|
88
|
+
- Preview what would be deleted and what is blocked by summaries:
|
|
89
|
+
|
|
90
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --dry-run
|
|
91
|
+
|
|
92
|
+
- Delete specific definitions by key (exclusive mode ignores all filters):
|
|
93
|
+
|
|
94
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --keys PD-0001,PD-0003
|
|
95
|
+
|
|
96
|
+
- Remove definitions that were never profiled after exploration:
|
|
97
|
+
|
|
98
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --status "NOT PROFILED"
|
|
99
|
+
|
|
100
|
+
- Clean up Financial Services Cloud definitions no longer in profiling scope:
|
|
101
|
+
|
|
102
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --namespace FinServ
|
|
103
|
+
|
|
104
|
+
- Remove metadata-only definitions after upgrading to comparative analysis:
|
|
105
|
+
|
|
106
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --method metadata
|
|
107
|
+
|
|
108
|
+
- Scripted scratch org reset with JSON output for CI verification:
|
|
109
|
+
|
|
110
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --no-prompt --format json
|
|
111
|
+
|
|
112
|
+
# errors.noSelectionCriteria
|
|
113
|
+
|
|
114
|
+
No selection criteria specified. Provide --all, --keys, or filter flags.
|
|
115
|
+
|
|
116
|
+
# errors.noEligibleDefinitions
|
|
117
|
+
|
|
118
|
+
No definitions found matching the specified criteria.
|
|
119
|
+
|
|
120
|
+
# errors.queryFailed
|
|
121
|
+
|
|
122
|
+
Failed to query definitions: %s
|
|
123
|
+
|
|
124
|
+
# errors.deleteFailed
|
|
125
|
+
|
|
126
|
+
Failed to delete definitions: %s
|
|
127
|
+
|
|
128
|
+
# errors.noTargetOrg
|
|
129
|
+
|
|
130
|
+
Could not determine target org username.
|
|
131
|
+
|
|
132
|
+
# blockedBySummaries.header
|
|
133
|
+
|
|
134
|
+
Blocked by summaries — run `sf cuneiform summary purge` first:
|
|
135
|
+
|
|
136
|
+
# queued.header
|
|
137
|
+
|
|
138
|
+
Queued — these definitions have related requests in queue and cannot be deleted yet:
|
|
139
|
+
|
|
140
|
+
# flags.no-prompt.summary
|
|
141
|
+
|
|
142
|
+
Skip the confirmation prompt and delete immediately. Use for scripted execution in CI pipelines and automation workflows.
|
|
143
|
+
|
|
144
|
+
# prompt.confirm.singular
|
|
145
|
+
|
|
146
|
+
Delete this Profiling Definition
|
|
147
|
+
|
|
148
|
+
# prompt.confirm.plural
|
|
149
|
+
|
|
150
|
+
Delete these %s Profiling Definitions
|
|
151
|
+
|
|
152
|
+
# output.noDeletable
|
|
153
|
+
|
|
154
|
+
Purge cancelled — there are no Profiling Definitions that can be deleted.
|
|
155
|
+
|
|
156
|
+
# output.cancelled
|
|
157
|
+
|
|
158
|
+
Purge cancelled. No definitions were deleted.
|
|
159
|
+
|
|
160
|
+
# spinner.connecting
|
|
161
|
+
|
|
162
|
+
Connecting
|
|
163
|
+
|
|
164
|
+
# spinner.retrievingDefinitions
|
|
165
|
+
|
|
166
|
+
Retrieving Definitions
|
|
167
|
+
|
|
168
|
+
# spinner.deletingDefinitions
|
|
169
|
+
|
|
170
|
+
Deleting Definitions
|
|
171
|
+
|
|
172
|
+
# spinner.status.deleted
|
|
173
|
+
|
|
174
|
+
deleted
|
|
175
|
+
|
|
176
|
+
# spinner.status.skipped
|
|
177
|
+
|
|
178
|
+
skipped
|
|
179
|
+
|
|
180
|
+
# spinner.status.failed
|
|
181
|
+
|
|
182
|
+
failed
|
|
183
|
+
|
|
184
|
+
# spinner.status.queued
|
|
185
|
+
|
|
186
|
+
queued
|
|
187
|
+
|
|
188
|
+
# output.initializing
|
|
189
|
+
|
|
190
|
+
Initializing Profiling Definition Purging %s...
|
|
191
|
+
|
|
192
|
+
# output.initializing.dryRunMode
|
|
193
|
+
|
|
194
|
+
(dry run)
|
|
195
|
+
|
|
196
|
+
# output.definitionsFound.singular
|
|
197
|
+
|
|
198
|
+
%s definition found
|
|
199
|
+
|
|
200
|
+
# output.definitionsFound.plural
|
|
201
|
+
|
|
202
|
+
%s definitions found
|
|
203
|
+
|
|
204
|
+
# output.noEligible.message
|
|
205
|
+
|
|
206
|
+
No definitions were found matching the specified criteria.
|
|
207
|
+
|
|
208
|
+
# output.noEligible.guidance
|
|
209
|
+
|
|
210
|
+
- Please check your filters and confirm that definitions exist in your Salesforce org.
|
|
211
|
+
|
|
212
|
+
# output.summaryHeader
|
|
213
|
+
|
|
214
|
+
Summary
|
|
215
|
+
|
|
216
|
+
# output.summary.deleted
|
|
217
|
+
|
|
218
|
+
Deleted:
|
|
219
|
+
|
|
220
|
+
# output.summary.skipped
|
|
221
|
+
|
|
222
|
+
Skipped:
|
|
223
|
+
|
|
224
|
+
# output.summary.failed
|
|
225
|
+
|
|
226
|
+
Failed:
|
|
227
|
+
|
|
228
|
+
# output.summary.queued
|
|
229
|
+
|
|
230
|
+
Queued:
|
|
231
|
+
|
|
232
|
+
# output.summary.total
|
|
233
|
+
|
|
234
|
+
Total:
|
|
235
|
+
|
|
236
|
+
# reason.hasSummaries
|
|
237
|
+
|
|
238
|
+
Has Summaries
|
|
239
|
+
|
|
240
|
+
# reason.notFound
|
|
241
|
+
|
|
242
|
+
Not Found
|
|
243
|
+
|
|
244
|
+
# reason.lookupFailed
|
|
245
|
+
|
|
246
|
+
Lookup Failed
|
|
247
|
+
|
|
248
|
+
# reason.queuedKeyword
|
|
249
|
+
|
|
250
|
+
has related requests in queue
|
|
251
|
+
|
|
252
|
+
# table.header.key
|
|
253
|
+
|
|
254
|
+
Key
|
|
255
|
+
|
|
256
|
+
# table.header.object
|
|
257
|
+
|
|
258
|
+
Object
|
|
259
|
+
|
|
260
|
+
# table.header.category
|
|
261
|
+
|
|
262
|
+
Category
|
|
263
|
+
|
|
264
|
+
# table.header.timeCategory
|
|
265
|
+
|
|
266
|
+
Time Category
|
|
267
|
+
|
|
268
|
+
# table.header.segmentCategory
|
|
269
|
+
|
|
270
|
+
Segment Category
|
|
271
|
+
|
|
272
|
+
# table.header.status
|
|
273
|
+
|
|
274
|
+
Status
|
|
275
|
+
|
|
276
|
+
# table.header.deleted
|
|
277
|
+
|
|
278
|
+
Deleted?
|
|
279
|
+
|
|
280
|
+
# table.header.canDelete
|
|
281
|
+
|
|
282
|
+
Can Delete?
|
|
283
|
+
|
|
284
|
+
# preview.summary
|
|
285
|
+
|
|
286
|
+
%s to delete, %s blocked by summaries
|
|
287
|
+
|
|
288
|
+
# dryRun.banner.singular
|
|
289
|
+
|
|
290
|
+
[DRY RUN] Would delete %s definition. %s blocked by summaries.
|
|
291
|
+
|
|
292
|
+
# dryRun.banner.plural
|
|
293
|
+
|
|
294
|
+
[DRY RUN] Would delete %s definitions. %s blocked by summaries.
|
|
295
|
+
|
|
296
|
+
# table.column.key
|
|
297
|
+
|
|
298
|
+
KEY
|
|
299
|
+
|
|
300
|
+
# table.column.name
|
|
301
|
+
|
|
302
|
+
NAME
|
|
303
|
+
|
|
304
|
+
# table.column.object
|
|
305
|
+
|
|
306
|
+
OBJECT
|
|
307
|
+
|
|
308
|
+
# table.column.status
|
|
309
|
+
|
|
310
|
+
STATUS
|
|
311
|
+
|
|
312
|
+
# table.column.action
|
|
313
|
+
|
|
314
|
+
ACTION
|
|
315
|
+
|
|
316
|
+
# warnings.limitIgnoredWithAll
|
|
317
|
+
|
|
318
|
+
--limit is ignored when --all is specified. All eligible records will be processed.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Update metadata attributes (name, category, time category, segment category, description) on an existing profiling definition.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
A profiling definition has two distinct surfaces: its metadata attributes (name, category, time category, segment category, description) and its field selection. This command edits the metadata attributes only — the field selection set at creation time is not mutable through this command.
|
|
8
|
+
|
|
9
|
+
Supply one or more of the five attribute flags to update exactly those columns; untouched attributes are preserved.
|
|
10
|
+
|
|
11
|
+
WHAT IT DOES:
|
|
12
|
+
|
|
13
|
+
- Writes only the supplied attributes; untouched columns are preserved on the record
|
|
14
|
+
- Validates the definition ID format (15 or 18 character Salesforce ID)
|
|
15
|
+
- Enforces length constraints: name, category, time category, segment category max 255 chars; description max 8192 chars
|
|
16
|
+
- Returns the list of attribute names that were written
|
|
17
|
+
|
|
18
|
+
WHEN TO USE:
|
|
19
|
+
|
|
20
|
+
- To rename a definition after a scope change or project rebranding
|
|
21
|
+
- To reclassify definitions under a new category for cleaner reporting
|
|
22
|
+
- To assign or update time and segment labels after profiling results are reviewed
|
|
23
|
+
- To add or revise the description for team documentation purposes
|
|
24
|
+
|
|
25
|
+
NATURAL LANGUAGE → FLAG MAPPING:
|
|
26
|
+
"rename this definition" → --name "New Definition Name"
|
|
27
|
+
"set the category to Revenue" → --category "Revenue"
|
|
28
|
+
"tag this as Q1 2025" → --time-category "Q1 2025"
|
|
29
|
+
"classify as Closed Won accounts" → --segment-category "Closed Won"
|
|
30
|
+
"update the description" → --description "Detailed profiling of high-value accounts"
|
|
31
|
+
|
|
32
|
+
COMMAND SEQUENCE: `definition get` (retrieve current metadata and definition ID) → `definition update` (update attributes) → `definition list` (confirm updated values)
|
|
33
|
+
|
|
34
|
+
# flags.target-org.summary
|
|
35
|
+
|
|
36
|
+
Salesforce org containing the definition to update. The command validates permissions before writing.
|
|
37
|
+
|
|
38
|
+
# flags.id.summary
|
|
39
|
+
|
|
40
|
+
Salesforce record ID (15 or 18 character) of the profiling definition to update. Retrieve definition IDs with `sf cuneiform definition get` or `sf cuneiform definition list`.
|
|
41
|
+
|
|
42
|
+
# flags.name.summary
|
|
43
|
+
|
|
44
|
+
New definition name (max 255 characters). Replaces the current Prop_Name\_\_c value.
|
|
45
|
+
|
|
46
|
+
# flags.category.summary
|
|
47
|
+
|
|
48
|
+
New category label (max 255 characters). Replaces the current Prop_Category\_\_c value. Use to group definitions for reporting.
|
|
49
|
+
|
|
50
|
+
# flags.time-category.summary
|
|
51
|
+
|
|
52
|
+
New time category label (max 255 characters). Replaces the current Prop_TimeCategory\_\_c value. Examples: "Q1 2025", "Lifetime", "2024".
|
|
53
|
+
|
|
54
|
+
# flags.segment-category.summary
|
|
55
|
+
|
|
56
|
+
New segment category label (max 255 characters). Replaces the current Prop_SegmentCategory\_\_c value. Examples: "Closed Won", "PersonAccounts", "Open Cases".
|
|
57
|
+
|
|
58
|
+
# flags.description.summary
|
|
59
|
+
|
|
60
|
+
New description (max 8192 characters). Replaces the current Prop_Description\_\_c value. Supports HTML content.
|
|
61
|
+
|
|
62
|
+
# flags.format.summary
|
|
63
|
+
|
|
64
|
+
Output format: table (human-readable, default) or json (structured output for scripting).
|
|
65
|
+
|
|
66
|
+
# examples
|
|
67
|
+
|
|
68
|
+
- Rename a definition:
|
|
69
|
+
|
|
70
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --id a00000000000001AAA --name "Q1 2025 Revenue Analysis"
|
|
71
|
+
|
|
72
|
+
- Update the category and time category together:
|
|
73
|
+
|
|
74
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --id a00000000000001AAA --category "Revenue" --time-category "Q1 2025"
|
|
75
|
+
|
|
76
|
+
- Add a segment category to an existing definition:
|
|
77
|
+
|
|
78
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --id a00000000000001AAA --segment-category "Closed Won"
|
|
79
|
+
|
|
80
|
+
- Update all five attributes at once:
|
|
81
|
+
|
|
82
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --id a00000000000001AAA --name "Full Profile" --category "Revenue" --time-category "2025" --segment-category "All" --description "Complete revenue profile"
|
|
83
|
+
|
|
84
|
+
- Output update results as JSON for scripted pipelines:
|
|
85
|
+
|
|
86
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --id a00000000000001AAA --name "Renamed" --json
|
|
87
|
+
|
|
88
|
+
# errors.invalidDefinitionId
|
|
89
|
+
|
|
90
|
+
Invalid definition ID format: %s. Expected a 15 or 18 character Salesforce ID.
|
|
91
|
+
|
|
92
|
+
# errors.noAttributesProvided
|
|
93
|
+
|
|
94
|
+
No attributes provided. Supply at least one of: --name, --category, --time-category, --segment-category, --description.
|
|
95
|
+
|
|
96
|
+
# errors.nameTooLong
|
|
97
|
+
|
|
98
|
+
--name value exceeds maximum length of 255 characters (received %s characters).
|
|
99
|
+
|
|
100
|
+
# errors.categoryTooLong
|
|
101
|
+
|
|
102
|
+
--category value exceeds maximum length of 255 characters (received %s characters).
|
|
103
|
+
|
|
104
|
+
# errors.timeCategoryTooLong
|
|
105
|
+
|
|
106
|
+
--time-category value exceeds maximum length of 255 characters (received %s characters).
|
|
107
|
+
|
|
108
|
+
# errors.segmentCategoryTooLong
|
|
109
|
+
|
|
110
|
+
--segment-category value exceeds maximum length of 255 characters (received %s characters).
|
|
111
|
+
|
|
112
|
+
# errors.descriptionTooLong
|
|
113
|
+
|
|
114
|
+
--description value exceeds maximum length of 8192 characters (received %s characters).
|
|
115
|
+
|
|
116
|
+
# errors.updateFailed
|
|
117
|
+
|
|
118
|
+
Failed to update definition %s: %s
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Start the MCP server to expose 18 Cuneiform tools to AI assistants — enabling natural language org discovery, definition management, and profiling through Claude Desktop, Cursor, or any MCP client.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
Starts the Cuneiform MCP (Model Context Protocol) server, exposing Cuneiform CLI capabilities as tools for AI assistants. Once running, an LLM client can query your org, list objects, describe fields, manage definitions, and execute profiling through natural language — using the same permissions as your CLI session.
|
|
8
|
+
|
|
9
|
+
The server registers tools across categories covering org and metadata discovery, user management, definition lifecycle, definition import/export, analysis, and profiling execution. A system prompt provides LLMs with an incremental exploration workflow for the KYCD journey.
|
|
10
|
+
|
|
11
|
+
David Chen wires this into Claude Desktop and Cursor workflows — the registered tools give him a well-defined API contract. Marcus Thompson uses it to accelerate org exploration through conversational queries. Andre Robitaille demonstrates MCP integration during workshops, where attendees experience Cuneiform through natural dialogue.
|
|
12
|
+
|
|
13
|
+
TRANSPORT: The server uses stdio (stdin/stdout) with JSON-RPC 2.0 protocol. Logging goes to stderr (enable with --debug). The stdio transport ensures the server runs locally alongside the Salesforce CLI — same machine, same authenticated session.
|
|
14
|
+
|
|
15
|
+
This command blocks until the MCP client disconnects. It is designed to be launched by an MCP client (Claude Desktop, Cursor, etc.). The access gate validates Cuneiform permissions at startup — the same gate used by all Cuneiform commands. On access gate failure, the command exits with an error describing the missing permission and how to resolve it via `user details --configure`.
|
|
16
|
+
|
|
17
|
+
**When to run this command:**
|
|
18
|
+
|
|
19
|
+
- AI-guided org discovery — let Claude explore a new client org through natural language
|
|
20
|
+
- Hands-free definition creation — describe what you want and let the AI translate to tool calls
|
|
21
|
+
- Training demonstrations — show Cuneiform capabilities through interactive AI conversation
|
|
22
|
+
- Automated workflows — integrate Cuneiform tools into AI agent pipelines
|
|
23
|
+
|
|
24
|
+
NATURAL LANGUAGE → FLAG MAPPING:
|
|
25
|
+
"start the MCP server" → --target-org myOrg
|
|
26
|
+
"troubleshoot MCP tool calls" → --target-org myOrg --debug
|
|
27
|
+
"pin a specific API version" → --target-org myOrg --api-version 59.0
|
|
28
|
+
|
|
29
|
+
CONFIGURATION: Add the server to your AI tool's settings. For Claude Desktop, add to `claude_desktop_config.json`:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"mcpServers": {
|
|
34
|
+
"cuneiform": {
|
|
35
|
+
"command": "sf",
|
|
36
|
+
"args": ["cuneiform", "mcp", "serve", "--target-org", "myOrg"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
# examples
|
|
43
|
+
|
|
44
|
+
- Start the MCP server for an org — the standard launch configuration:
|
|
45
|
+
|
|
46
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg
|
|
47
|
+
|
|
48
|
+
- Start with debug logging — see tool invocations and parameters on stderr:
|
|
49
|
+
|
|
50
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --debug
|
|
51
|
+
|
|
52
|
+
- Pin a specific API version — for consistent behavior across environments:
|
|
53
|
+
|
|
54
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --api-version 59.0
|
|
55
|
+
|
|
56
|
+
# flags.target-org.summary
|
|
57
|
+
|
|
58
|
+
The Salesforce org to connect the MCP server to. The server inherits this org's authentication for all 18 tool invocations. Specify the org alias or username.
|
|
59
|
+
|
|
60
|
+
# flags.api-version.summary
|
|
61
|
+
|
|
62
|
+
Override the API version used for Salesforce API requests made through MCP tools. Use when troubleshooting version-specific behavior or testing against a specific API release.
|
|
63
|
+
|
|
64
|
+
# flags.debug.summary
|
|
65
|
+
|
|
66
|
+
Enable debug logging to stderr. Shows tool invocations, parameters, and response metadata for troubleshooting MCP communication. stdout remains reserved for MCP protocol traffic.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Retrieve comprehensive object metadata — fields, record types, data age distribution, relationships, and profiling status — to make informed decisions about what and how to profile.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
Understanding an object before profiling it is the difference between a targeted assessment and a fishing expedition. Salesforce scatters object metadata across Object Manager, Schema Builder, and Setup. This command consolidates everything into structured sections from a single call:
|
|
8
|
+
|
|
9
|
+
- **Object Summary** — record count, field totals, type
|
|
10
|
+
- **Record Age Distribution** — year-by-year grid showing when records were created (Cuneiform-exclusive), revealing whether data is actively growing, historical, or stagnant
|
|
11
|
+
- **Record Types** — name, developer name, active status, default flag
|
|
12
|
+
- **Business Processes** — active processes with record type associations and per-process record age grids
|
|
13
|
+
- **Field Summary** — total, standard, custom, formula, lookup counts
|
|
14
|
+
- **Field Type Distribution** — type counts with percentages
|
|
15
|
+
- **Namespace Breakdown** — fields grouped by namespace prefix showing which managed packages contribute fields
|
|
16
|
+
- **External References** — other objects that reference this one via lookups or master-detail
|
|
17
|
+
- **Outbound Lookups** — this object's lookup fields and their target objects
|
|
18
|
+
- **Profiling Status** — existing definitions, summary counts, last profiled date
|
|
19
|
+
- **Field Listing** (opt-in via `--with-fields`) — individual field detail with filtering and sorting
|
|
20
|
+
|
|
21
|
+
The record age distribution and per-business-process age grids directly inform the choice between metadata, historical, and comparative profiling methods. The profiling status section shows whether definitions already exist, preventing duplicate work.
|
|
22
|
+
|
|
23
|
+
NATURAL LANGUAGE → FLAG MAPPING:
|
|
24
|
+
|
|
25
|
+
"Show me the fields" → `--with-fields`
|
|
26
|
+
"Just the lookup fields" → `--with-fields --field-type lookup`
|
|
27
|
+
"Just custom fields" → `--with-fields --field-pattern "*__c"`
|
|
28
|
+
"Sort fields by type" → `--with-fields --sort type`
|
|
29
|
+
"Compare multiple objects" → `--object Account,Contact,Opportunity`
|
|
30
|
+
|
|
31
|
+
For multiple objects (comma-separated), describes run in parallel with aggregate totals across all objects. Big Objects (**b) and External Objects (**x) are not supported — they lack standard SOQL support.
|
|
32
|
+
|
|
33
|
+
Read-only. Does not modify objects, fields, or metadata. The access gate validates Cuneiform installation and permissions before queries execute.
|
|
34
|
+
|
|
35
|
+
COMMAND SEQUENCE: `object list` (identify objects of interest) → `object describe` (deep dive on specific objects) → `definition create` (define profiling scope based on what you learned)
|
|
36
|
+
|
|
37
|
+
# flags.target-org.summary
|
|
38
|
+
|
|
39
|
+
Describe objects from this Salesforce org. Specify the org alias or username when you have multiple authenticated orgs.
|
|
40
|
+
|
|
41
|
+
# flags.object.summary
|
|
42
|
+
|
|
43
|
+
Object API name(s), comma-separated. Use one name for a complete deep dive or multiple for side-by-side comparison with aggregate totals (e.g., `Account,Contact,Opportunity`).
|
|
44
|
+
|
|
45
|
+
# flags.with-fields.summary
|
|
46
|
+
|
|
47
|
+
Include a detailed field listing showing individual fields with API name, label, type, custom flag, and namespace. Use with `--field-type`, `--field-pattern`, and `--sort` to filter and organize the listing.
|
|
48
|
+
|
|
49
|
+
# flags.field-type.summary
|
|
50
|
+
|
|
51
|
+
Filter the field listing to a specific type (requires `--with-fields`). Valid types: text, picklist, lookup, number, date, formula, checkbox, id, address. Use `lookup` to map the object's relationship network.
|
|
52
|
+
|
|
53
|
+
# flags.field-pattern.summary
|
|
54
|
+
|
|
55
|
+
Filter the field listing by API name pattern with wildcard support (requires `--with-fields`). Examples: `*__c` for custom fields, `pnova__*` for Cuneiform namespace fields.
|
|
56
|
+
|
|
57
|
+
# flags.sort.summary
|
|
58
|
+
|
|
59
|
+
Sort the field listing by: `name` (alphabetical, the default), `type` (grouped by field type), or `label`. Requires `--with-fields`.
|
|
60
|
+
|
|
61
|
+
# examples
|
|
62
|
+
|
|
63
|
+
- Assess an object before building profiling definitions — see all 11 metadata sections:
|
|
64
|
+
|
|
65
|
+
<%= config.bin %> <%= command.id %> --object Account --target-org myOrg
|
|
66
|
+
|
|
67
|
+
- Compare multiple objects in parallel with aggregate totals for profiling scope decisions:
|
|
68
|
+
|
|
69
|
+
<%= config.bin %> <%= command.id %> --object Account,Contact,Opportunity --target-org myOrg
|
|
70
|
+
|
|
71
|
+
- Full field inventory — add detailed field listings to see every field on the object:
|
|
72
|
+
|
|
73
|
+
<%= config.bin %> <%= command.id %> --object Account --with-fields --target-org myOrg
|
|
74
|
+
|
|
75
|
+
- Relationship mapping — isolate lookup fields to understand the object's position in the data model:
|
|
76
|
+
|
|
77
|
+
<%= config.bin %> <%= command.id %> --object Account --with-fields --field-type lookup --sort type --target-org myOrg
|
|
78
|
+
|
|
79
|
+
- Custom field audit — filter to custom fields for a managed package or customization review:
|
|
80
|
+
|
|
81
|
+
<%= config.bin %> <%= command.id %> --object Account --with-fields --field-pattern "\*\_\_c" --target-org myOrg
|
|
82
|
+
|
|
83
|
+
- JSON for automation — pipe structured metadata to assessment pipelines or architecture documentation:
|
|
84
|
+
|
|
85
|
+
<%= config.bin %> <%= command.id %> --object Account --json --target-org myOrg
|
|
86
|
+
|
|
87
|
+
# output.identity.header
|
|
88
|
+
|
|
89
|
+
Org Identity
|
|
90
|
+
|
|
91
|
+
# output.identity.orgName
|
|
92
|
+
|
|
93
|
+
Org Name
|
|
94
|
+
|
|
95
|
+
# output.identity.orgId
|
|
96
|
+
|
|
97
|
+
Org ID
|
|
98
|
+
|
|
99
|
+
# output.identity.instanceUrl
|
|
100
|
+
|
|
101
|
+
Instance URL
|
|
102
|
+
|
|
103
|
+
# output.identity.orgType
|
|
104
|
+
|
|
105
|
+
Org Type
|
|
106
|
+
|
|
107
|
+
# output.identity.edition
|
|
108
|
+
|
|
109
|
+
Edition
|
|
110
|
+
|
|
111
|
+
# output.identity.namespace
|
|
112
|
+
|
|
113
|
+
Namespace
|
|
114
|
+
|
|
115
|
+
# output.identity.username
|
|
116
|
+
|
|
117
|
+
Username
|
|
118
|
+
|
|
119
|
+
# errors.orgIdentityFailed
|
|
120
|
+
|
|
121
|
+
Could not retrieve org identity information. Continuing without org context.
|
|
122
|
+
|
|
123
|
+
# output.table.recordTypes.name
|
|
124
|
+
|
|
125
|
+
Name
|
|
126
|
+
|
|
127
|
+
# output.table.recordTypes.developerName
|
|
128
|
+
|
|
129
|
+
Developer Name
|
|
130
|
+
|
|
131
|
+
# output.table.recordTypes.active
|
|
132
|
+
|
|
133
|
+
Active
|
|
134
|
+
|
|
135
|
+
# output.table.recordTypes.default
|
|
136
|
+
|
|
137
|
+
Default
|
|
138
|
+
|
|
139
|
+
# output.table.fieldTypes.type
|
|
140
|
+
|
|
141
|
+
Type
|
|
142
|
+
|
|
143
|
+
# output.table.fieldTypes.count
|
|
144
|
+
|
|
145
|
+
Count
|
|
146
|
+
|
|
147
|
+
# output.table.fieldTypes.percent
|
|
148
|
+
|
|
149
|
+
Percent
|
|
150
|
+
|
|
151
|
+
# output.table.namespaces.namespace
|
|
152
|
+
|
|
153
|
+
Namespace
|
|
154
|
+
|
|
155
|
+
# output.table.namespaces.fieldCount
|
|
156
|
+
|
|
157
|
+
Field Count
|
|
158
|
+
|
|
159
|
+
# output.table.fields.apiName
|
|
160
|
+
|
|
161
|
+
API Name
|
|
162
|
+
|
|
163
|
+
# output.table.fields.label
|
|
164
|
+
|
|
165
|
+
Label
|
|
166
|
+
|
|
167
|
+
# output.table.fields.type
|
|
168
|
+
|
|
169
|
+
Type
|
|
170
|
+
|
|
171
|
+
# output.table.fields.custom
|
|
172
|
+
|
|
173
|
+
Custom
|
|
174
|
+
|
|
175
|
+
# output.table.fields.namespace
|
|
176
|
+
|
|
177
|
+
Namespace
|
|
178
|
+
|
|
179
|
+
# output.table.relationships.relatedObject
|
|
180
|
+
|
|
181
|
+
Related Object
|
|
182
|
+
|
|
183
|
+
# output.table.relationships.field
|
|
184
|
+
|
|
185
|
+
Field
|
|
186
|
+
|
|
187
|
+
# output.table.lookups.lookupField
|
|
188
|
+
|
|
189
|
+
Lookup Field
|
|
190
|
+
|
|
191
|
+
# output.table.lookups.targetObject
|
|
192
|
+
|
|
193
|
+
Target Object
|
|
194
|
+
|
|
195
|
+
# output.table.profilingStatus.name
|
|
196
|
+
|
|
197
|
+
Definition
|
|
198
|
+
|
|
199
|
+
# output.table.profilingStatus.lastProfiled
|
|
200
|
+
|
|
201
|
+
Last Profiled
|