@peernova/cuneiform-sf 1.0.2 → 1.0.4-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +81 -30
- package/README.md +168 -134
- package/lib/adapters/connection-facade.d.ts +458 -0
- package/lib/adapters/connection-facade.js +379 -0
- package/lib/adapters/connection-facade.js.map +1 -0
- package/lib/adapters/errors.d.ts +547 -0
- package/lib/adapters/errors.js +937 -0
- package/lib/adapters/errors.js.map +1 -0
- package/lib/adapters/lifecycle.d.ts +112 -0
- package/lib/adapters/lifecycle.js +94 -0
- package/lib/adapters/lifecycle.js.map +1 -0
- package/lib/adapters/rest/cache.d.ts +69 -0
- package/lib/adapters/rest/cache.js +133 -0
- package/lib/adapters/rest/cache.js.map +1 -0
- package/lib/adapters/rest/index.d.ts +11 -0
- package/lib/adapters/rest/index.js +18 -0
- package/lib/adapters/rest/index.js.map +1 -0
- package/lib/adapters/rest/profiling-rest-client.d.ts +137 -0
- package/lib/adapters/rest/profiling-rest-client.js +115 -0
- package/lib/adapters/rest/profiling-rest-client.js.map +1 -0
- package/lib/adapters/rest/rest-api-adapter.d.ts +393 -0
- package/lib/adapters/rest/rest-api-adapter.js +764 -0
- package/lib/adapters/rest/rest-api-adapter.js.map +1 -0
- package/lib/adapters/rest/types.d.ts +34 -0
- package/lib/adapters/rest/types.js +9 -0
- package/lib/adapters/rest/types.js.map +1 -0
- package/lib/adapters/retry.d.ts +91 -0
- package/lib/adapters/retry.js +215 -0
- package/lib/adapters/retry.js.map +1 -0
- package/lib/adapters/soql/cuneiform-query-builder.d.ts +418 -0
- package/lib/adapters/soql/cuneiform-query-builder.js +606 -0
- package/lib/adapters/soql/cuneiform-query-builder.js.map +1 -0
- package/lib/adapters/soql/soql-query-adapter.d.ts +141 -0
- package/lib/adapters/soql/soql-query-adapter.js +259 -0
- package/lib/adapters/soql/soql-query-adapter.js.map +1 -0
- package/lib/adapters/soql/types.d.ts +37 -0
- package/lib/adapters/soql/types.js +19 -0
- package/lib/adapters/soql/types.js.map +1 -0
- package/lib/adapters/testing/index.d.ts +37 -0
- package/lib/adapters/testing/index.js +20 -0
- package/lib/adapters/testing/index.js.map +1 -0
- package/lib/adapters/testing/mock-connection.d.ts +77 -0
- package/lib/adapters/testing/mock-connection.js +207 -0
- package/lib/adapters/testing/mock-connection.js.map +1 -0
- package/lib/adapters/testing/mock-logger.d.ts +29 -0
- package/lib/adapters/testing/mock-logger.js +57 -0
- package/lib/adapters/testing/mock-logger.js.map +1 -0
- package/lib/adapters/testing/mock-mcp-adapters.d.ts +32 -0
- package/lib/adapters/testing/mock-mcp-adapters.js +52 -0
- package/lib/adapters/testing/mock-mcp-adapters.js.map +1 -0
- package/lib/adapters/testing/mock-oclif-config.d.ts +22 -0
- package/lib/adapters/testing/mock-oclif-config.js +90 -0
- package/lib/adapters/testing/mock-oclif-config.js.map +1 -0
- package/lib/adapters/testing/mock-rest-adapter.d.ts +26 -0
- package/lib/adapters/testing/mock-rest-adapter.js +243 -0
- package/lib/adapters/testing/mock-rest-adapter.js.map +1 -0
- package/lib/adapters/testing/mock-salesforce-connection.d.ts +40 -0
- package/lib/adapters/testing/mock-salesforce-connection.js +61 -0
- package/lib/adapters/testing/mock-salesforce-connection.js.map +1 -0
- package/lib/adapters/testing/mock-soql-adapter.d.ts +30 -0
- package/lib/adapters/testing/mock-soql-adapter.js +120 -0
- package/lib/adapters/testing/mock-soql-adapter.js.map +1 -0
- package/lib/adapters/testing/mock-tooling-adapter.d.ts +24 -0
- package/lib/adapters/testing/mock-tooling-adapter.js +163 -0
- package/lib/adapters/testing/mock-tooling-adapter.js.map +1 -0
- package/lib/adapters/testing/stub-connection.d.ts +93 -0
- package/lib/adapters/testing/stub-connection.js +97 -0
- package/lib/adapters/testing/stub-connection.js.map +1 -0
- package/lib/adapters/testing/stub-rest-adapter.d.ts +52 -0
- package/lib/adapters/testing/stub-rest-adapter.js +58 -0
- package/lib/adapters/testing/stub-rest-adapter.js.map +1 -0
- package/lib/adapters/testing/stub-soql-adapter.d.ts +56 -0
- package/lib/adapters/testing/stub-soql-adapter.js +50 -0
- package/lib/adapters/testing/stub-soql-adapter.js.map +1 -0
- package/lib/adapters/testing/types.d.ts +71 -0
- package/lib/adapters/testing/types.js +9 -0
- package/lib/adapters/testing/types.js.map +1 -0
- package/lib/adapters/tooling/index.d.ts +10 -0
- package/lib/adapters/tooling/index.js +17 -0
- package/lib/adapters/tooling/index.js.map +1 -0
- package/lib/adapters/tooling/tooling-api-adapter.d.ts +157 -0
- package/lib/adapters/tooling/tooling-api-adapter.js +339 -0
- package/lib/adapters/tooling/tooling-api-adapter.js.map +1 -0
- package/lib/adapters/tooling/types.d.ts +81 -0
- package/lib/adapters/tooling/types.js +9 -0
- package/lib/adapters/tooling/types.js.map +1 -0
- package/lib/adapters/types.d.ts +112 -0
- package/lib/adapters/types.js +169 -0
- package/lib/adapters/types.js.map +1 -0
- package/lib/base/cuneiform-command.d.ts +175 -0
- package/lib/base/cuneiform-command.js +326 -0
- package/lib/base/cuneiform-command.js.map +1 -0
- package/lib/commands/cuneiform/compatibility/check.d.ts +43 -0
- package/lib/commands/cuneiform/compatibility/check.js +114 -0
- package/lib/commands/cuneiform/compatibility/check.js.map +1 -0
- package/lib/commands/cuneiform/definition/create.d.ts +120 -0
- package/lib/commands/cuneiform/definition/create.js +737 -0
- package/lib/commands/cuneiform/definition/create.js.map +1 -0
- package/lib/commands/cuneiform/definition/export.d.ts +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 +277 -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 +351 -0
- package/lib/commands/cuneiform/definition/list.js.map +1 -0
- package/lib/commands/cuneiform/definition/purge.d.ts +109 -0
- package/lib/commands/cuneiform/definition/purge.js +578 -0
- package/lib/commands/cuneiform/definition/purge.js.map +1 -0
- package/lib/commands/cuneiform/definition/update.d.ts +58 -0
- package/lib/commands/cuneiform/definition/update.js +209 -0
- package/lib/commands/cuneiform/definition/update.js.map +1 -0
- package/lib/commands/cuneiform/mcp/serve.d.ts +56 -0
- package/lib/commands/cuneiform/mcp/serve.js +109 -0
- package/lib/commands/cuneiform/mcp/serve.js.map +1 -0
- package/lib/commands/cuneiform/object/describe.d.ts +61 -0
- package/lib/commands/cuneiform/object/describe.js +461 -0
- package/lib/commands/cuneiform/object/describe.js.map +1 -0
- package/lib/commands/cuneiform/object/list.d.ts +123 -0
- package/lib/commands/cuneiform/object/list.js +264 -0
- package/lib/commands/cuneiform/object/list.js.map +1 -0
- package/lib/commands/cuneiform/org/details.d.ts +99 -0
- package/lib/commands/cuneiform/org/details.js +521 -0
- package/lib/commands/cuneiform/org/details.js.map +1 -0
- package/lib/commands/cuneiform/org/reset.d.ts +46 -0
- package/lib/commands/cuneiform/org/reset.js +135 -0
- package/lib/commands/cuneiform/org/reset.js.map +1 -0
- package/lib/commands/cuneiform/profile/request/cancel.d.ts +59 -0
- package/lib/commands/cuneiform/profile/request/cancel.js +202 -0
- package/lib/commands/cuneiform/profile/request/cancel.js.map +1 -0
- package/lib/commands/cuneiform/profile/request/delete.d.ts +59 -0
- package/lib/commands/cuneiform/profile/request/delete.js +223 -0
- package/lib/commands/cuneiform/profile/request/delete.js.map +1 -0
- package/lib/commands/cuneiform/profile/request/list.d.ts +35 -0
- package/lib/commands/cuneiform/profile/request/list.js +102 -0
- package/lib/commands/cuneiform/profile/request/list.js.map +1 -0
- package/lib/commands/cuneiform/profile.d.ts +93 -0
- package/lib/commands/cuneiform/profile.js +353 -0
- package/lib/commands/cuneiform/profile.js.map +1 -0
- package/lib/commands/cuneiform/summary/purge.d.ts +80 -0
- package/lib/commands/cuneiform/summary/purge.js +467 -0
- package/lib/commands/cuneiform/summary/purge.js.map +1 -0
- package/lib/commands/cuneiform/summary/reprofile.d.ts +60 -0
- package/lib/commands/cuneiform/summary/reprofile.js +236 -0
- package/lib/commands/cuneiform/summary/reprofile.js.map +1 -0
- package/lib/commands/cuneiform/summary/stop.d.ts +59 -0
- package/lib/commands/cuneiform/summary/stop.js +234 -0
- package/lib/commands/cuneiform/summary/stop.js.map +1 -0
- package/lib/commands/cuneiform/user/details.d.ts +77 -0
- package/lib/commands/cuneiform/user/details.js +414 -0
- package/lib/commands/cuneiform/user/details.js.map +1 -0
- package/lib/constants/namespace-constants.d.ts +102 -0
- package/lib/constants/namespace-constants.js +225 -0
- package/lib/constants/namespace-constants.js.map +1 -0
- package/lib/debug/command-debug-proxy.d.ts +101 -0
- package/lib/debug/command-debug-proxy.js +171 -0
- package/lib/debug/command-debug-proxy.js.map +1 -0
- package/lib/debug/debug-logger.d.ts +85 -0
- package/lib/debug/debug-logger.js +133 -0
- package/lib/debug/debug-logger.js.map +1 -0
- package/lib/debug/service-debug-proxy.d.ts +30 -0
- package/lib/debug/service-debug-proxy.js +102 -0
- package/lib/debug/service-debug-proxy.js.map +1 -0
- package/lib/hooks/prerun.d.ts +25 -0
- package/lib/hooks/prerun.js +47 -0
- package/lib/hooks/prerun.js.map +1 -0
- package/lib/mcp/config/mcp-config.d.ts +55 -0
- package/lib/mcp/config/mcp-config.js +51 -0
- package/lib/mcp/config/mcp-config.js.map +1 -0
- package/lib/mcp/config/pagination.d.ts +96 -0
- package/lib/mcp/config/pagination.js +108 -0
- package/lib/mcp/config/pagination.js.map +1 -0
- package/lib/mcp/config/system-prompts.d.ts +18 -0
- package/lib/mcp/config/system-prompts.js +92 -0
- package/lib/mcp/config/system-prompts.js.map +1 -0
- package/lib/mcp/errors.d.ts +23 -0
- package/lib/mcp/errors.js +27 -0
- package/lib/mcp/errors.js.map +1 -0
- package/lib/mcp/schemas/input-schemas.d.ts +327 -0
- package/lib/mcp/schemas/input-schemas.js +310 -0
- package/lib/mcp/schemas/input-schemas.js.map +1 -0
- package/lib/mcp/server.d.ts +40 -0
- package/lib/mcp/server.js +316 -0
- package/lib/mcp/server.js.map +1 -0
- package/lib/mcp/tools/contactpoint-tools.d.ts +14 -0
- package/lib/mcp/tools/contactpoint-tools.js +34 -0
- package/lib/mcp/tools/contactpoint-tools.js.map +1 -0
- package/lib/mcp/tools/definition-io-tools.d.ts +19 -0
- package/lib/mcp/tools/definition-io-tools.js +152 -0
- package/lib/mcp/tools/definition-io-tools.js.map +1 -0
- package/lib/mcp/tools/definition-tools.d.ts +51 -0
- package/lib/mcp/tools/definition-tools.js +220 -0
- package/lib/mcp/tools/definition-tools.js.map +1 -0
- package/lib/mcp/tools/index.d.ts +37 -0
- package/lib/mcp/tools/index.js +88 -0
- package/lib/mcp/tools/index.js.map +1 -0
- package/lib/mcp/tools/object-tools.d.ts +22 -0
- package/lib/mcp/tools/object-tools.js +327 -0
- package/lib/mcp/tools/object-tools.js.map +1 -0
- package/lib/mcp/tools/org-tools.d.ts +14 -0
- package/lib/mcp/tools/org-tools.js +177 -0
- package/lib/mcp/tools/org-tools.js.map +1 -0
- package/lib/mcp/tools/profile-tools.d.ts +59 -0
- package/lib/mcp/tools/profile-tools.js +213 -0
- package/lib/mcp/tools/profile-tools.js.map +1 -0
- package/lib/mcp/tools/summary-tools.d.ts +14 -0
- package/lib/mcp/tools/summary-tools.js +38 -0
- package/lib/mcp/tools/summary-tools.js.map +1 -0
- package/lib/mcp/tools/tool-factory.d.ts +63 -0
- package/lib/mcp/tools/tool-factory.js +146 -0
- package/lib/mcp/tools/tool-factory.js.map +1 -0
- package/lib/mcp/tools/user-tools.d.ts +25 -0
- package/lib/mcp/tools/user-tools.js +167 -0
- package/lib/mcp/tools/user-tools.js.map +1 -0
- package/lib/models/cascade-skip-accumulator.d.ts +25 -0
- package/lib/models/cascade-skip-accumulator.js +9 -0
- package/lib/models/cascade-skip-accumulator.js.map +1 -0
- package/lib/models/date-literal.d.ts +280 -0
- package/lib/models/date-literal.js +1164 -0
- package/lib/models/date-literal.js.map +1 -0
- package/lib/models/object-describe-types.d.ts +173 -0
- package/lib/models/object-describe-types.js +9 -0
- package/lib/models/object-describe-types.js.map +1 -0
- package/lib/models/portability-recipe.d.ts +35 -0
- package/lib/models/portability-recipe.js +113 -0
- package/lib/models/portability-recipe.js.map +1 -0
- package/lib/models/profile-request-types.d.ts +118 -0
- package/lib/models/profile-request-types.js +23 -0
- package/lib/models/profile-request-types.js.map +1 -0
- package/lib/models/profiling-execution-types.d.ts +154 -0
- package/lib/models/profiling-execution-types.js +14 -0
- package/lib/models/profiling-execution-types.js.map +1 -0
- package/lib/models/service-result.d.ts +114 -0
- package/lib/models/service-result.js +81 -0
- package/lib/models/service-result.js.map +1 -0
- package/lib/models/sfdmu-types.d.ts +49 -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 +188 -0
- package/lib/models/user-details-types.js +9 -0
- package/lib/models/user-details-types.js.map +1 -0
- package/lib/models/year-range.d.ts +78 -0
- package/lib/models/year-range.js +153 -0
- package/lib/models/year-range.js.map +1 -0
- package/lib/operations/CompatibilityCheckOperation.d.ts +62 -0
- package/lib/operations/CompatibilityCheckOperation.js +102 -0
- package/lib/operations/CompatibilityCheckOperation.js.map +1 -0
- package/lib/operations/DefinitionCreateOperation.d.ts +427 -0
- package/lib/operations/DefinitionCreateOperation.js +1270 -0
- package/lib/operations/DefinitionCreateOperation.js.map +1 -0
- package/lib/operations/DefinitionExportOperation.d.ts +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 +203 -0
- package/lib/operations/DefinitionPurgeOperation.js +465 -0
- package/lib/operations/DefinitionPurgeOperation.js.map +1 -0
- package/lib/operations/DefinitionUpdateOperation.d.ts +78 -0
- package/lib/operations/DefinitionUpdateOperation.js +142 -0
- package/lib/operations/DefinitionUpdateOperation.js.map +1 -0
- package/lib/operations/OrgDetailsOperation.d.ts +253 -0
- package/lib/operations/OrgDetailsOperation.js +456 -0
- package/lib/operations/OrgDetailsOperation.js.map +1 -0
- package/lib/operations/OrgResetOperation.d.ts +114 -0
- package/lib/operations/OrgResetOperation.js +209 -0
- package/lib/operations/OrgResetOperation.js.map +1 -0
- package/lib/operations/ProfileOperation.d.ts +192 -0
- package/lib/operations/ProfileOperation.js +371 -0
- package/lib/operations/ProfileOperation.js.map +1 -0
- package/lib/operations/ProfileRequestCancelOperation.d.ts +59 -0
- package/lib/operations/ProfileRequestCancelOperation.js +137 -0
- package/lib/operations/ProfileRequestCancelOperation.js.map +1 -0
- package/lib/operations/ProfileRequestDeleteOperation.d.ts +64 -0
- package/lib/operations/ProfileRequestDeleteOperation.js +134 -0
- package/lib/operations/ProfileRequestDeleteOperation.js.map +1 -0
- package/lib/operations/ProfileRequestListOperation.d.ts +39 -0
- package/lib/operations/ProfileRequestListOperation.js +61 -0
- package/lib/operations/ProfileRequestListOperation.js.map +1 -0
- package/lib/operations/SummaryPurgeOperation.d.ts +134 -0
- package/lib/operations/SummaryPurgeOperation.js +257 -0
- package/lib/operations/SummaryPurgeOperation.js.map +1 -0
- package/lib/operations/SummaryReprofileOperation.d.ts +88 -0
- package/lib/operations/SummaryReprofileOperation.js +174 -0
- package/lib/operations/SummaryReprofileOperation.js.map +1 -0
- package/lib/operations/SummaryStopOperation.d.ts +87 -0
- package/lib/operations/SummaryStopOperation.js +175 -0
- package/lib/operations/SummaryStopOperation.js.map +1 -0
- package/lib/services/BulkExecutionService.d.ts +120 -0
- package/lib/services/BulkExecutionService.js +535 -0
- package/lib/services/BulkExecutionService.js.map +1 -0
- package/lib/services/CompatibilityService.d.ts +81 -0
- package/lib/services/CompatibilityService.js +118 -0
- package/lib/services/CompatibilityService.js.map +1 -0
- package/lib/services/ConfigureMode.d.ts +98 -0
- package/lib/services/ConfigureMode.js +413 -0
- package/lib/services/ConfigureMode.js.map +1 -0
- package/lib/services/ContactPointService.d.ts +111 -0
- package/lib/services/ContactPointService.js +286 -0
- package/lib/services/ContactPointService.js.map +1 -0
- package/lib/services/DataAvailabilityService.d.ts +81 -0
- package/lib/services/DataAvailabilityService.js +128 -0
- package/lib/services/DataAvailabilityService.js.map +1 -0
- package/lib/services/DefinitionFieldGenerationService.d.ts +357 -0
- package/lib/services/DefinitionFieldGenerationService.js +899 -0
- package/lib/services/DefinitionFieldGenerationService.js.map +1 -0
- package/lib/services/DefinitionQueryBuilder.d.ts +92 -0
- package/lib/services/DefinitionQueryBuilder.js +328 -0
- package/lib/services/DefinitionQueryBuilder.js.map +1 -0
- package/lib/services/ObjectDescribeService.d.ts +436 -0
- package/lib/services/ObjectDescribeService.js +881 -0
- package/lib/services/ObjectDescribeService.js.map +1 -0
- package/lib/services/ObjectFilteringService.d.ts +484 -0
- package/lib/services/ObjectFilteringService.js +1080 -0
- package/lib/services/ObjectFilteringService.js.map +1 -0
- package/lib/services/ObjectListCommandService.d.ts +467 -0
- package/lib/services/ObjectListCommandService.js +904 -0
- package/lib/services/ObjectListCommandService.js.map +1 -0
- package/lib/services/ObjectListService.d.ts +201 -0
- package/lib/services/ObjectListService.js +350 -0
- package/lib/services/ObjectListService.js.map +1 -0
- package/lib/services/OrgInfoService.d.ts +493 -0
- package/lib/services/OrgInfoService.js +1142 -0
- package/lib/services/OrgInfoService.js.map +1 -0
- package/lib/services/PollingService.d.ts +105 -0
- package/lib/services/PollingService.js +117 -0
- package/lib/services/PollingService.js.map +1 -0
- package/lib/services/ProfileRequestService.d.ts +186 -0
- package/lib/services/ProfileRequestService.js +555 -0
- package/lib/services/ProfileRequestService.js.map +1 -0
- package/lib/services/ProfilingDefinitionService.d.ts +575 -0
- package/lib/services/ProfilingDefinitionService.js +1029 -0
- package/lib/services/ProfilingDefinitionService.js.map +1 -0
- package/lib/services/ProfilingExecutionService.d.ts +122 -0
- package/lib/services/ProfilingExecutionService.js +320 -0
- package/lib/services/ProfilingExecutionService.js.map +1 -0
- package/lib/services/ProfilingSummaryService.d.ts +292 -0
- package/lib/services/ProfilingSummaryService.js +688 -0
- package/lib/services/ProfilingSummaryService.js.map +1 -0
- package/lib/services/RecordTypeService.d.ts +129 -0
- package/lib/services/RecordTypeService.js +284 -0
- package/lib/services/RecordTypeService.js.map +1 -0
- package/lib/services/SFDMUService.d.ts +146 -0
- package/lib/services/SFDMUService.js +323 -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 +158 -0
- package/lib/services/UserConfigurationService.js +574 -0
- package/lib/services/UserConfigurationService.js.map +1 -0
- package/lib/services/UserConfigurationTypes.d.ts +181 -0
- package/lib/services/UserConfigurationTypes.js +14 -0
- package/lib/services/UserConfigurationTypes.js.map +1 -0
- package/lib/services/UserReadinessService.d.ts +347 -0
- package/lib/services/UserReadinessService.js +891 -0
- package/lib/services/UserReadinessService.js.map +1 -0
- package/lib/services/constants.d.ts +54 -0
- package/lib/services/constants.js +71 -0
- package/lib/services/constants.js.map +1 -0
- package/lib/services/namespace-constants.d.ts +1 -0
- package/lib/services/namespace-constants.js +11 -0
- package/lib/services/namespace-constants.js.map +1 -0
- package/lib/services/namespace-filter.d.ts +36 -0
- package/lib/services/namespace-filter.js +109 -0
- package/lib/services/namespace-filter.js.map +1 -0
- package/lib/services/validation.d.ts +47 -0
- package/lib/services/validation.js +119 -0
- package/lib/services/validation.js.map +1 -0
- package/lib/utils/batch-processor.d.ts +13 -0
- package/lib/utils/batch-processor.js +39 -0
- package/lib/utils/batch-processor.js.map +1 -0
- package/lib/utils/formatting/availability-grid.d.ts +81 -0
- package/lib/utils/formatting/availability-grid.js +94 -0
- package/lib/utils/formatting/availability-grid.js.map +1 -0
- package/lib/utils/formatting/business-process-grid.d.ts +51 -0
- package/lib/utils/formatting/business-process-grid.js +58 -0
- package/lib/utils/formatting/business-process-grid.js.map +1 -0
- package/lib/utils/formatting/command-display.d.ts +154 -0
- package/lib/utils/formatting/command-display.js +154 -0
- package/lib/utils/formatting/command-display.js.map +1 -0
- package/lib/utils/formatting/definition-create-display.d.ts +118 -0
- package/lib/utils/formatting/definition-create-display.js +230 -0
- package/lib/utils/formatting/definition-create-display.js.map +1 -0
- package/lib/utils/formatting/empty-states.d.ts +35 -0
- package/lib/utils/formatting/empty-states.js +70 -0
- package/lib/utils/formatting/empty-states.js.map +1 -0
- package/lib/utils/formatting/errors.d.ts +33 -0
- package/lib/utils/formatting/errors.js +72 -0
- package/lib/utils/formatting/errors.js.map +1 -0
- package/lib/utils/formatting/field-types.d.ts +32 -0
- package/lib/utils/formatting/field-types.js +88 -0
- package/lib/utils/formatting/field-types.js.map +1 -0
- package/lib/utils/formatting/index.d.ts +29 -0
- package/lib/utils/formatting/index.js +28 -0
- package/lib/utils/formatting/index.js.map +1 -0
- package/lib/utils/formatting/indicators.d.ts +113 -0
- package/lib/utils/formatting/indicators.js +161 -0
- package/lib/utils/formatting/indicators.js.map +1 -0
- package/lib/utils/formatting/loading-messages.d.ts +37 -0
- package/lib/utils/formatting/loading-messages.js +50 -0
- package/lib/utils/formatting/loading-messages.js.map +1 -0
- package/lib/utils/formatting/namespace-display.d.ts +31 -0
- package/lib/utils/formatting/namespace-display.js +64 -0
- package/lib/utils/formatting/namespace-display.js.map +1 -0
- package/lib/utils/formatting/numbers.d.ts +73 -0
- package/lib/utils/formatting/numbers.js +187 -0
- package/lib/utils/formatting/numbers.js.map +1 -0
- package/lib/utils/formatting/object-describe-display.d.ts +117 -0
- package/lib/utils/formatting/object-describe-display.js +447 -0
- package/lib/utils/formatting/object-describe-display.js.map +1 -0
- package/lib/utils/formatting/object-list-display.d.ts +225 -0
- package/lib/utils/formatting/object-list-display.js +718 -0
- package/lib/utils/formatting/object-list-display.js.map +1 -0
- package/lib/utils/formatting/org-identity.d.ts +15 -0
- package/lib/utils/formatting/org-identity.js +28 -0
- package/lib/utils/formatting/org-identity.js.map +1 -0
- package/lib/utils/formatting/record-age-grid.d.ts +41 -0
- package/lib/utils/formatting/record-age-grid.js +56 -0
- package/lib/utils/formatting/record-age-grid.js.map +1 -0
- package/lib/utils/formatting/sections.d.ts +108 -0
- package/lib/utils/formatting/sections.js +150 -0
- package/lib/utils/formatting/sections.js.map +1 -0
- package/lib/utils/formatting/tables.d.ts +90 -0
- package/lib/utils/formatting/tables.js +113 -0
- package/lib/utils/formatting/tables.js.map +1 -0
- package/lib/utils/formatting/user-details-display.d.ts +101 -0
- package/lib/utils/formatting/user-details-display.js +425 -0
- package/lib/utils/formatting/user-details-display.js.map +1 -0
- package/lib/utils/pagination/keypress-reader.d.ts +20 -0
- package/lib/utils/pagination/keypress-reader.js +63 -0
- package/lib/utils/pagination/keypress-reader.js.map +1 -0
- package/lib/utils/pagination/paginate-output.d.ts +48 -0
- package/lib/utils/pagination/paginate-output.js +136 -0
- package/lib/utils/pagination/paginate-output.js.map +1 -0
- package/messages/compatibility.check.md +71 -0
- package/messages/cuneiform.access.md +138 -0
- package/messages/definition.create.md +525 -0
- package/messages/definition.export.md +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 +330 -0
- package/messages/definition.update.md +118 -0
- package/messages/mcp.serve.md +66 -0
- package/messages/object.describe.md +205 -0
- package/messages/object.list.md +463 -0
- package/messages/org.details.md +386 -0
- package/messages/org.reset.md +71 -0
- package/messages/profile.md +243 -0
- package/messages/profile.request.cancel.md +143 -0
- package/messages/profile.request.delete.md +139 -0
- package/messages/profile.request.list.md +89 -0
- package/messages/summary.purge.md +218 -0
- package/messages/summary.reprofile.md +150 -0
- package/messages/summary.stop.md +157 -0
- package/messages/user.details.md +501 -0
- package/oclif.lock +3267 -2148
- package/oclif.manifest.json +2829 -31
- package/package.json +104 -18
- 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
package/LICENSE
CHANGED
|
@@ -1,36 +1,87 @@
|
|
|
1
|
-
Cuneiform CLI
|
|
1
|
+
Cuneiform for Salesforce CLI — Proprietary Software License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
|
|
4
4
|
|
|
5
5
|
TERMS AND CONDITIONS
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
This software
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
1. PROPRIETARY SOFTWARE
|
|
8
|
+
This software and all associated documentation, source code, and materials
|
|
9
|
+
("Software") are the proprietary and confidential property of PeerNova, Inc.
|
|
10
|
+
This Software is not open source. Access to the source code does not grant
|
|
11
|
+
any license beyond what is expressly stated herein.
|
|
12
12
|
|
|
13
|
-
2.
|
|
13
|
+
2. GRANT OF LICENSE
|
|
14
|
+
Subject to a valid, executed Master Subscription Agreement ("MSA") between
|
|
15
|
+
you (or your organization) and PeerNova, Inc., PeerNova grants you a limited,
|
|
16
|
+
non-exclusive, non-transferable, non-sublicensable license to use this
|
|
17
|
+
Software solely in connection with Cuneiform for Salesforce products and
|
|
18
|
+
services as specified in your MSA.
|
|
19
|
+
|
|
20
|
+
If you do not have a separate written agreement with PeerNova, your use of
|
|
21
|
+
Cuneiform for Salesforce is governed by the terms available at:
|
|
22
|
+
https://peernova.com/legal-cfsf/msa/
|
|
23
|
+
|
|
24
|
+
3. NO LICENSE WITHOUT AGREEMENT
|
|
25
|
+
If you are not a current PeerNova customer with an active MSA, you have no
|
|
26
|
+
right to use, copy, modify, or distribute this Software. If you have received
|
|
27
|
+
access to this Software without an active MSA, you must cease all use
|
|
28
|
+
immediately and contact PeerNova at sfsupport@peernova.com to arrange
|
|
29
|
+
proper licensing.
|
|
30
|
+
|
|
31
|
+
4. RESTRICTIONS
|
|
14
32
|
You may NOT:
|
|
15
|
-
- Modify, adapt, or create derivative works
|
|
16
|
-
- Reverse engineer, decompile, or
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
- Modify, adapt, translate, or create derivative works of this Software
|
|
34
|
+
- Reverse engineer, decompile, disassemble, or otherwise attempt to derive
|
|
35
|
+
the source code (except to the extent expressly permitted by applicable law)
|
|
36
|
+
- Remove, alter, or obscure any proprietary notices, labels, or marks
|
|
37
|
+
- Redistribute, sublicense, rent, lease, lend, or transfer this Software
|
|
38
|
+
to any third party
|
|
39
|
+
- Use this Software for any purpose not expressly authorized by your MSA
|
|
40
|
+
- Use this Software to develop competing products or services
|
|
41
|
+
|
|
42
|
+
5. CONFIDENTIALITY
|
|
43
|
+
This Software contains trade secrets and confidential information of
|
|
44
|
+
PeerNova, Inc. You agree to maintain the confidentiality of the Software
|
|
45
|
+
and not disclose it to any third party without PeerNova's prior written
|
|
46
|
+
consent, subject to the terms of your MSA.
|
|
47
|
+
|
|
48
|
+
6. NO WARRANTY
|
|
49
|
+
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
50
|
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
51
|
+
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. PEERNOVA, INC.
|
|
52
|
+
DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT
|
|
53
|
+
ITS OPERATION WILL BE UNINTERRUPTED OR ERROR-FREE.
|
|
54
|
+
|
|
55
|
+
7. LIMITATION OF LIABILITY
|
|
56
|
+
IN NO EVENT SHALL PEERNOVA, INC. BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
|
|
57
|
+
SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR ANY LOSS OF PROFITS,
|
|
58
|
+
REVENUE, DATA, OR DATA USE, ARISING OUT OF OR IN CONNECTION WITH THIS
|
|
59
|
+
SOFTWARE, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, EVEN IF
|
|
60
|
+
PEERNOVA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. PEERNOVA'S
|
|
61
|
+
TOTAL LIABILITY SHALL NOT EXCEED THE AMOUNTS PAID BY YOU UNDER YOUR MSA
|
|
62
|
+
DURING THE TWELVE (12) MONTHS PRECEDING THE CLAIM.
|
|
63
|
+
|
|
64
|
+
8. TERMINATION
|
|
65
|
+
This license terminates automatically if:
|
|
66
|
+
- You violate any term of this license or your MSA
|
|
67
|
+
- Your MSA expires or is terminated for any reason
|
|
68
|
+
- You fail to maintain an active Cuneiform for Salesforce subscription
|
|
69
|
+
|
|
70
|
+
Upon termination, you must cease all use of the Software and destroy all
|
|
71
|
+
copies in your possession.
|
|
72
|
+
|
|
73
|
+
9. GOVERNING LAW
|
|
74
|
+
This license shall be governed by and construed in accordance with the
|
|
75
|
+
laws specified in your MSA. In the absence of an MSA, the laws of the
|
|
76
|
+
State of California, United States, shall apply.
|
|
77
|
+
|
|
78
|
+
10. ENTIRE AGREEMENT
|
|
79
|
+
This license, together with your MSA, constitutes the entire agreement
|
|
80
|
+
between you and PeerNova, Inc. regarding the Software. In the event of
|
|
81
|
+
any conflict between this license and your MSA, the terms of the MSA
|
|
82
|
+
shall prevail.
|
|
83
|
+
|
|
84
|
+
For licensing inquiries: sfsupport@peernova.com
|
|
85
|
+
For legal questions: legal@peernova.com
|
|
86
|
+
|
|
87
|
+
Master Subscription Agreement: https://peernova.com/legal-cfsf/msa/
|
package/README.md
CHANGED
|
@@ -1,203 +1,237 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Cuneiform for Salesforce CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Know what your Salesforce data is actually doing — before you deploy Agentforce, plan a migration, or prioritize data quality.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`@peernova/cuneiform-sf` is the Salesforce CLI plugin for [Cuneiform for Salesforce](https://peernova.com). It profiles objects, fields, and value usage patterns directly from your org — and turns what used to be six weeks of manual audit work into a single command.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Built for Salesforce Admins, Analysts, Architects, and SI consultants who need evidence — not assumptions.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
2. Generate your plugin:
|
|
9
|
+
---
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
sf plugins install dev
|
|
14
|
-
sf dev generate plugin
|
|
11
|
+
## What does it do?
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
git add . && git commit -m "chore: initial commit"
|
|
18
|
-
```
|
|
13
|
+
Cuneiform answers three questions about your Salesforce data:
|
|
19
14
|
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
| Phase | Question | Commands |
|
|
16
|
+
| ------------ | -------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| **Discover** | What's in this org? | `org details`, `object list`, `object describe` |
|
|
18
|
+
| **Profile** | What does the data actually look like? | `definition create`, `profile` |
|
|
19
|
+
| **Operate** | How do we manage this over time? | `definition export/import`, `definition purge`, `summary purge`, `summary stop`, `summary reprofile` |
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
Common use cases:
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
- **Before an Agentforce rollout** — identify which fields are empty, undescribed, or carry no signal before your agent starts reading them
|
|
24
|
+
- **Before a migration** — understand record volume, field population rates, and data age distribution across objects
|
|
25
|
+
- **Data quality prioritization** — find the dead weight: fields that have been empty since the org went live
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
---
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
### Tooling
|
|
32
|
-
|
|
33
|
-
- [@salesforce/core](https://github.com/forcedotcom/sfdx-core)
|
|
34
|
-
- [@salesforce/kit](https://github.com/forcedotcom/kit)
|
|
35
|
-
- [@salesforce/sf-plugins-core](https://github.com/salesforcecli/sf-plugins-core)
|
|
36
|
-
- [@salesforce/ts-types](https://github.com/forcedotcom/ts-types)
|
|
37
|
-
- [@salesforce/ts-sinon](https://github.com/forcedotcom/ts-sinon)
|
|
38
|
-
- [@salesforce/dev-config](https://github.com/forcedotcom/dev-config)
|
|
39
|
-
- [@salesforce/dev-scripts](https://github.com/forcedotcom/dev-scripts)
|
|
40
|
-
|
|
41
|
-
### Hooks
|
|
42
|
-
|
|
43
|
-
For cross clouds commands, e.g. `sf env list`, we utilize [oclif hooks](https://oclif.io/docs/hooks) to get the relevant information from installed plugins.
|
|
44
|
-
|
|
45
|
-
This plugin includes sample hooks in the [src/hooks directory](src/hooks). You'll just need to add the appropriate logic. You can also delete any of the hooks if they aren't required for your plugin.
|
|
46
|
-
|
|
47
|
-
# Everything past here is only a suggestion as to what should be in your specific plugin's description
|
|
48
|
-
|
|
49
|
-
This plugin is bundled with the [Salesforce CLI](https://developer.salesforce.com/tools/sfdxcli). For more information on the CLI, read the [getting started guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_intro.htm).
|
|
50
|
-
|
|
51
|
-
We always recommend using the latest version of these commands bundled with the CLI, however, you can install a specific version or tag if needed.
|
|
52
|
-
|
|
53
|
-
## Prerequisites
|
|
54
|
-
|
|
55
|
-
### SFDMU (SFDX Data Move Utility)
|
|
29
|
+
## Install
|
|
56
30
|
|
|
57
|
-
|
|
31
|
+
The plugin runs on top of the Salesforce CLI (`sf`). Install all three components:
|
|
58
32
|
|
|
59
33
|
```bash
|
|
34
|
+
# 1. Install the Salesforce CLI
|
|
35
|
+
npm install -g @salesforce/cli
|
|
36
|
+
|
|
37
|
+
# 2. Install SFDMU (required dependency for definition export/import)
|
|
60
38
|
sf plugins install sfdmu
|
|
39
|
+
|
|
40
|
+
# 3. Install the Cuneiform plugin
|
|
41
|
+
sf plugins install @peernova/cuneiform-sf
|
|
61
42
|
```
|
|
62
43
|
|
|
63
|
-
Verify
|
|
44
|
+
**Verify everything is working:**
|
|
64
45
|
|
|
65
46
|
```bash
|
|
66
|
-
sf
|
|
47
|
+
sf --version
|
|
48
|
+
sf plugins | grep sfdmu # should show sfdmu 5.x.x
|
|
49
|
+
sf cuneiform --help
|
|
67
50
|
```
|
|
68
51
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
## Install
|
|
52
|
+
> **Note:** SFDMU must be version 5.x.x or higher. If you see 4.x, run: `sf plugins install sfdmu@5.6.0`
|
|
72
53
|
|
|
73
|
-
|
|
74
|
-
sf plugins install @peernova/cuneiform-sf@x.y.z
|
|
75
|
-
```
|
|
54
|
+
---
|
|
76
55
|
|
|
77
|
-
##
|
|
56
|
+
## Before You Run Any Command
|
|
78
57
|
|
|
79
|
-
|
|
58
|
+
Two one-time setup steps are required. Skipping them causes E4656 "access denied" on almost every command.
|
|
80
59
|
|
|
81
|
-
|
|
60
|
+
### Step 1 — Admin enables API Profiling (once per org)
|
|
82
61
|
|
|
83
|
-
|
|
84
|
-
2. Create a new issue before starting your project so that we can keep track of
|
|
85
|
-
what you are trying to add/fix. That way, we can also offer suggestions or
|
|
86
|
-
let you know if there is already an effort in progress.
|
|
87
|
-
3. Fork this repository.
|
|
88
|
-
4. [Build the plugin locally](#build)
|
|
89
|
-
5. Create a _topic_ branch in your fork. Note, this step is recommended but technically not required if contributing using a fork.
|
|
90
|
-
6. Edit the code in your fork.
|
|
91
|
-
7. Write appropriate tests for your changes. Try to achieve at least 95% code coverage on any new code. No pull request will be accepted without unit tests.
|
|
92
|
-
8. Sign CLA (see [CLA](#cla) below).
|
|
93
|
-
9. Send us a pull request when you are done. We'll review your code, suggest any needed changes, and merge it in.
|
|
62
|
+
A Salesforce Administrator must do this in the target org:
|
|
94
63
|
|
|
95
|
-
|
|
64
|
+
1. **Setup → Cuneiform Settings**
|
|
65
|
+
2. Enable both checkboxes:
|
|
66
|
+
- ✅ Enable API Profiling
|
|
67
|
+
- ✅ Allow CLI Profile Requests
|
|
68
|
+
3. **Save**
|
|
96
69
|
|
|
97
|
-
|
|
98
|
-
Agreement. You can do so by going to https://cla.salesforce.com/sign-cla.
|
|
70
|
+
> ⚠️ **Checkboxes not visible?** This happens when the Cuneiform package was upgraded from an older version — the Custom Metadata layout doesn't update automatically. The admin needs to go to Setup → Custom Metadata Types → Cuneiform Configuration Profile → edit the page layout manually to add the missing fields.
|
|
99
71
|
|
|
100
|
-
###
|
|
72
|
+
### Step 2 — Configure your CLI user (once per user)
|
|
101
73
|
|
|
102
|
-
|
|
74
|
+
Each person who will run commands does this once on their own machine:
|
|
103
75
|
|
|
104
76
|
```bash
|
|
105
|
-
|
|
106
|
-
git clone git@github.com:salesforcecli/@peernova/cuneiform-sf
|
|
107
|
-
|
|
108
|
-
# Install the dependencies and compile
|
|
109
|
-
yarn && yarn build
|
|
77
|
+
sf cuneiform user details --target-org myOrg --configure
|
|
110
78
|
```
|
|
111
79
|
|
|
112
|
-
|
|
80
|
+
Verify it worked:
|
|
113
81
|
|
|
114
82
|
```bash
|
|
115
|
-
|
|
116
|
-
./bin/dev hello world
|
|
83
|
+
sf cuneiform user details --target-org myOrg
|
|
117
84
|
```
|
|
118
85
|
|
|
119
|
-
|
|
86
|
+
Look for `READY` in the output. If you see NOT READY, it will tell you exactly what's missing.
|
|
120
87
|
|
|
121
|
-
|
|
122
|
-
# Link your plugin to the sf cli
|
|
123
|
-
sf plugins link .
|
|
124
|
-
# To verify
|
|
125
|
-
sf plugins
|
|
126
|
-
```
|
|
88
|
+
---
|
|
127
89
|
|
|
128
|
-
## Commands
|
|
90
|
+
## Your First Profile in 5 Commands
|
|
129
91
|
|
|
130
|
-
|
|
92
|
+
```bash
|
|
93
|
+
# 1. Authenticate to your org
|
|
94
|
+
sf org login web --alias myOrg
|
|
131
95
|
|
|
132
|
-
|
|
133
|
-
|
|
96
|
+
# 2. Confirm everything is set up correctly
|
|
97
|
+
sf cuneiform user details --target-org myOrg --configure
|
|
134
98
|
|
|
135
|
-
|
|
99
|
+
# 3. See what's in the org
|
|
100
|
+
sf cuneiform object list --target-org myOrg --with-records
|
|
136
101
|
|
|
137
|
-
|
|
102
|
+
# 4. Create a profiling definition (start with metadata — it's the fastest)
|
|
103
|
+
sf cuneiform definition create --target-org myOrg --objects Account --method metadata --no-prompt
|
|
138
104
|
|
|
105
|
+
# 5. Run the profile and check progress
|
|
106
|
+
sf cuneiform profile --target-org myOrg --keys PD-0001
|
|
107
|
+
sf cuneiform profile request list --target-org myOrg
|
|
139
108
|
```
|
|
140
|
-
USAGE
|
|
141
|
-
$ sf cuneiform about [--json] [--flags-dir <value>] [-n <value>]
|
|
142
109
|
|
|
143
|
-
|
|
144
|
-
-n, --name=<value> Description of a flag.
|
|
110
|
+
Results appear in the app once profiling completes.
|
|
145
111
|
|
|
146
|
-
|
|
147
|
-
--flags-dir=<value> Import flag values from a directory.
|
|
148
|
-
--json Format output as json.
|
|
112
|
+
---
|
|
149
113
|
|
|
150
|
-
|
|
151
|
-
Summary of a command.
|
|
114
|
+
## Profiling Methods
|
|
152
115
|
|
|
153
|
-
|
|
116
|
+
Always start with `metadata`. It requires no record scanning and is enough for initial discovery.
|
|
154
117
|
|
|
155
|
-
|
|
156
|
-
|
|
118
|
+
| Method | What it answers | Speed |
|
|
119
|
+
| ------------- | ----------------------------------------------- | ----------------------- |
|
|
120
|
+
| `metadata` | What fields exist and how are they configured? | Fast — **start here** |
|
|
121
|
+
| `historical` | How does field population change over time? | Medium |
|
|
122
|
+
| `comparative` | How does this year compare to last year? | Medium |
|
|
123
|
+
| `recordtype` | How does data differ by business process stage? | Medium |
|
|
124
|
+
| `outcome` | How does data differ between Won vs Lost? | Medium |
|
|
125
|
+
| `full` | All of the above | Slow — only when needed |
|
|
157
126
|
|
|
158
|
-
|
|
159
|
-
-n, --name=<value> Description of a flag.
|
|
160
|
-
|
|
161
|
-
More information about a flag. Don't repeat the summary.
|
|
162
|
-
```
|
|
127
|
+
---
|
|
163
128
|
|
|
164
|
-
|
|
129
|
+
## Compatibility
|
|
165
130
|
|
|
166
|
-
|
|
131
|
+
Each CLI release requires a minimum version of the Cuneiform managed package in your target org. The package is identified by the `pnova` namespace — if you see `pnova__` prefixed objects or fields in your org, Cuneiform is installed.
|
|
167
132
|
|
|
168
|
-
|
|
133
|
+
Check compatibility (no authentication needed):
|
|
169
134
|
|
|
135
|
+
```bash
|
|
136
|
+
sf cuneiform compatibility check
|
|
170
137
|
```
|
|
171
|
-
USAGE
|
|
172
|
-
$ sf hello world [--json] [--flags-dir <value>] [-n <value>]
|
|
173
138
|
|
|
174
|
-
|
|
175
|
-
|
|
139
|
+
Check against a specific org:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
sf cuneiform compatibility check --target-org myOrg
|
|
143
|
+
```
|
|
176
144
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
145
|
+
| State | Exit code | What to do |
|
|
146
|
+
| --------------------------- | --------- | ---------------------------------------------- |
|
|
147
|
+
| `installed-match` | 0 | Proceed normally. |
|
|
148
|
+
| `installed-newer` | 0 | Proceed, monitor for unexpected behavior. |
|
|
149
|
+
| `installed-version-unknown` | 0 | Proceed with caution. Common in scratch orgs. |
|
|
150
|
+
| `installed-older` | 1 | Ask your Admin to upgrade the managed package. |
|
|
151
|
+
| `not-installed` | 1 | Ask your Admin to install the managed package. |
|
|
180
152
|
|
|
181
|
-
|
|
182
|
-
Say hello.
|
|
153
|
+
> **CI/CD note:** The command exits non-zero when the package is outdated or missing — suitable as a pipeline gate before running profiling jobs.
|
|
183
154
|
|
|
184
|
-
|
|
155
|
+
---
|
|
185
156
|
|
|
186
|
-
|
|
187
|
-
Say hello to the world:
|
|
157
|
+
## MCP Server — Use with AI Assistants
|
|
188
158
|
|
|
189
|
-
|
|
159
|
+
Cuneiform can expose its capabilities through the [Model Context Protocol](https://modelcontextprotocol.io), letting any MCP-aware AI assistant (Claude, Cursor, and others) answer questions about your org data in plain language — no command syntax required.
|
|
190
160
|
|
|
191
|
-
|
|
161
|
+
```bash
|
|
162
|
+
sf cuneiform mcp serve --target-org myOrg
|
|
163
|
+
```
|
|
192
164
|
|
|
193
|
-
|
|
165
|
+
Point your AI assistant at the running server and ask things like:
|
|
166
|
+
|
|
167
|
+
- _"Which fields on Account are sparsely populated?"_
|
|
168
|
+
- _"Which record types haven't been touched in 12 months?"_
|
|
169
|
+
- _"What custom fields on Case have no description?"_
|
|
170
|
+
|
|
171
|
+
The server uses the same engine as the CLI — anything profileable from the command line is available through your assistant.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## All Commands
|
|
176
|
+
|
|
177
|
+
| Command | What it does |
|
|
178
|
+
| ------------------------------------- | ---------------------------------------------------------- |
|
|
179
|
+
| `sf cuneiform compatibility check` | Verify CLI ↔ managed package version compatibility |
|
|
180
|
+
| `sf cuneiform org details` | Full org baseline: edition, features, clouds, API limits |
|
|
181
|
+
| `sf cuneiform user details` | Check user readiness; configure required permissions |
|
|
182
|
+
| `sf cuneiform object list` | List objects with record counts and namespace filters |
|
|
183
|
+
| `sf cuneiform object describe` | Full object deep-dive: fields, record types, data age |
|
|
184
|
+
| `sf cuneiform definition create` | Create profiling definitions |
|
|
185
|
+
| `sf cuneiform definition list` | List all definitions with status |
|
|
186
|
+
| `sf cuneiform definition get` | Retrieve definitions by key |
|
|
187
|
+
| `sf cuneiform definition update` | Update definition metadata |
|
|
188
|
+
| `sf cuneiform definition export` | Export definitions to CSV (do this before sandbox refresh) |
|
|
189
|
+
| `sf cuneiform definition import` | Restore definitions from CSV |
|
|
190
|
+
| `sf cuneiform definition purge` | Delete definitions (purge summaries first) |
|
|
191
|
+
| `sf cuneiform profile` | Execute profiling — fire-and-forget |
|
|
192
|
+
| `sf cuneiform profile request list` | Track queued, in-progress, and completed requests |
|
|
193
|
+
| `sf cuneiform profile request cancel` | Cancel queued requests |
|
|
194
|
+
| `sf cuneiform profile request delete` | Remove canceled/rejected request records |
|
|
195
|
+
| `sf cuneiform summary stop` | Halt in-progress profiling (completed fields preserved) |
|
|
196
|
+
| `sf cuneiform summary reprofile` | Re-execute failed or stopped profiling |
|
|
197
|
+
| `sf cuneiform summary purge` | Delete profiling results (use `--prune` to keep latest) |
|
|
198
|
+
| `sf cuneiform mcp serve` | Start the MCP server for AI assistant integration |
|
|
199
|
+
|
|
200
|
+
Append `--help` to any command for the full flag reference. All commands support `--json` for structured output.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Tips
|
|
205
|
+
|
|
206
|
+
- Run `compatibility check` after every CLI update
|
|
207
|
+
- Always run `user details --configure` first on a new org or user — most errors trace back to missing permissions
|
|
208
|
+
- `definition create` is safe to re-run — existing definitions are skipped automatically
|
|
209
|
+
- Export definitions before every sandbox refresh — they get wiped during refresh
|
|
210
|
+
- Use `summary purge --prune`, not `--all` — prune keeps the latest result set
|
|
211
|
+
- Use `--dry-run` on `definition create` to preview what would be created without writing anything
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Troubleshooting
|
|
216
|
+
|
|
217
|
+
| Error | Cause | Fix |
|
|
218
|
+
| ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
219
|
+
| `--configure command failed` | Admin checkboxes not enabled | Ask admin to complete First-Time Setup, Step 1 |
|
|
220
|
+
| Checkboxes not visible in Setup | Package upgraded from older version; layout not updated automatically | Setup → Custom Metadata Types → Cuneiform Configuration Profile → edit page layout manually to add the missing fields |
|
|
221
|
+
| `E4656 Access denied` | First-Time Setup not completed | `sf cuneiform user details --target-org myOrg --configure` |
|
|
222
|
+
| `command not found: sf` | Salesforce CLI not installed | `npm install -g @salesforce/cli` |
|
|
223
|
+
| `command not found: sf cuneiform` | Plugin not installed | `sf plugins install @peernova/cuneiform-sf` |
|
|
224
|
+
| Compatibility exit code `1` | Package outdated or not installed | Ask your Salesforce Admin to install/upgrade the managed package |
|
|
225
|
+
| `sfdmu version error` | SFDMU is on 4.x | `sf plugins install sfdmu@5.6.0` |
|
|
226
|
+
| `myOrg not found` | Alias doesn't match `sf org list` | Use the alias shown by `sf org list` |
|
|
227
|
+
| Profile stays in `Queued` > 30 min | API limit or workflow paused | `sf cuneiform org details --target-org myOrg` — check API limits |
|
|
228
|
+
|
|
229
|
+
---
|
|
194
230
|
|
|
195
|
-
|
|
196
|
-
-n, --name=<value> The name of the person you'd like to say hello to.
|
|
231
|
+
## Issues
|
|
197
232
|
|
|
198
|
-
|
|
199
|
-
```
|
|
233
|
+
Report bugs and request features at https://github.com/PeerNova-Solutions/salesforce-cli/issues
|
|
200
234
|
|
|
201
|
-
|
|
235
|
+
## License
|
|
202
236
|
|
|
203
|
-
|
|
237
|
+
Proprietary — Copyright © PeerNova, Inc. Available on [Salesforce AppExchange](https://appexchange.salesforce.com). AppExchange Security Review cleared.
|