@peernova/cuneiform-sf 1.0.3-beta.0 → 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 +11 -2
- package/lib/commands/cuneiform/definition/export.js +56 -20
- package/lib/commands/cuneiform/definition/export.js.map +1 -1
- package/lib/commands/cuneiform/definition/get.d.ts +86 -0
- package/lib/commands/cuneiform/definition/get.js +270 -0
- package/lib/commands/cuneiform/definition/get.js.map +1 -0
- package/lib/commands/cuneiform/definition/import.d.ts +12 -7
- package/lib/commands/cuneiform/definition/import.js +30 -19
- package/lib/commands/cuneiform/definition/import.js.map +1 -1
- package/lib/commands/cuneiform/definition/list.d.ts +110 -0
- package/lib/commands/cuneiform/definition/list.js +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 +4 -25
- package/lib/models/sfdmu-types.js +7 -3
- package/lib/models/sfdmu-types.js.map +1 -1
- package/lib/models/status-types.d.ts +38 -0
- package/lib/models/status-types.js +12 -0
- package/lib/models/status-types.js.map +1 -0
- package/lib/models/summary-bulk-types.d.ts +61 -0
- package/lib/models/summary-bulk-types.js +23 -0
- package/lib/models/summary-bulk-types.js.map +1 -0
- package/lib/models/user-details-types.d.ts +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 +65 -2
- package/lib/operations/DefinitionExportOperation.js +94 -10
- package/lib/operations/DefinitionExportOperation.js.map +1 -1
- package/lib/operations/DefinitionImportOperation.d.ts +61 -11
- package/lib/operations/DefinitionImportOperation.js +194 -31
- package/lib/operations/DefinitionImportOperation.js.map +1 -1
- package/lib/operations/DefinitionListOperation.d.ts +66 -0
- package/lib/operations/DefinitionListOperation.js +108 -0
- package/lib/operations/DefinitionListOperation.js.map +1 -0
- package/lib/operations/DefinitionPurgeOperation.d.ts +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 +17 -3
- package/lib/services/SFDMUService.js +49 -16
- package/lib/services/SFDMUService.js.map +1 -1
- package/lib/services/TabDetectionService.d.ts +105 -0
- package/lib/services/TabDetectionService.js +206 -0
- package/lib/services/TabDetectionService.js.map +1 -0
- package/lib/services/UnconfigureMode.d.ts +74 -0
- package/lib/services/UnconfigureMode.js +378 -0
- package/lib/services/UnconfigureMode.js.map +1 -0
- package/lib/services/UserConfigurationService.d.ts +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 +56 -13
- package/messages/definition.get.md +147 -0
- package/messages/definition.import.md +35 -18
- package/messages/definition.list.md +264 -0
- package/messages/definition.purge.md +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 +1954 -4859
- package/oclif.manifest.json +2697 -82
- package/package.json +89 -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
|
@@ -2,25 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@peernova/cuneiform-sf) [](https://npmjs.org/package/@peernova/cuneiform-sf) [](https://raw.githubusercontent.com/salesforcecli/@peernova/cuneiform-sf/main/LICENSE.txt)
|
|
4
4
|
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
This repository provides a template for creating a plugin for the Salesforce CLI. To convert this template to a working plugin:
|
|
8
|
-
|
|
9
|
-
1. Please get in touch with the Platform CLI team. We want to help you develop your plugin.
|
|
10
|
-
2. Generate your plugin:
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
sf plugins install dev
|
|
14
|
-
sf dev generate plugin
|
|
15
|
-
|
|
16
|
-
git init -b main
|
|
17
|
-
git add . && git commit -m "chore: initial commit"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
3. Create your plugin's repo in the salesforcecli github org
|
|
21
|
-
4. When you're ready, replace the contents of this README with the information you want.
|
|
22
|
-
|
|
23
|
-
## Learn about `sf` plugins
|
|
5
|
+
## About
|
|
24
6
|
|
|
25
7
|
Salesforce CLI plugins are based on the [oclif plugin framework](<(https://oclif.io/docs/introduction.html)>). Read the [plugin developer guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_plugins.meta/sfdx_cli_plugins/cli_plugins_architecture_sf_cli.htm) to learn about Salesforce CLI plugin development.
|
|
26
8
|
|
|
@@ -44,11 +26,7 @@ For cross clouds commands, e.g. `sf env list`, we utilize [oclif hooks](https://
|
|
|
44
26
|
|
|
45
27
|
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
28
|
|
|
47
|
-
|
|
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.
|
|
29
|
+
This plugin extends the [Salesforce CLI](https://developer.salesforce.com/tools/sfdxcli) with enterprise data profiling and metadata governance capabilities.
|
|
52
30
|
|
|
53
31
|
## Prerequisites
|
|
54
32
|
|
|
@@ -74,6 +52,48 @@ For more information about SFDMU, visit: https://help.sfdmu.com
|
|
|
74
52
|
sf plugins install @peernova/cuneiform-sf@x.y.z
|
|
75
53
|
```
|
|
76
54
|
|
|
55
|
+
## Compatibility
|
|
56
|
+
|
|
57
|
+
Each CLI release expects a minimum version of the **Cuneiform For Salesforce** managed package (namespace `pnova`) installed in your target org. The required version is published in the CLI's `package.json` under `cuneiform.requiredAppVersion`:
|
|
58
|
+
|
|
59
|
+
```jsonc
|
|
60
|
+
{
|
|
61
|
+
"name": "@peernova/cuneiform-sf",
|
|
62
|
+
"version": "1.0.4-beta.1",
|
|
63
|
+
"cuneiform": {
|
|
64
|
+
"requiredAppVersion": "4.12.0.17"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Check compatibility
|
|
70
|
+
|
|
71
|
+
Print the required app version (no auth, no API calls):
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
sf cuneiform compatibility check
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Verify a target org's installed version:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
sf cuneiform compatibility check --target-org myOrg
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The command exits non-zero when the installed version is older than required, or when Cuneiform For Salesforce is not installed at all — useful for CI gates that run profiling jobs after a fresh package install.
|
|
84
|
+
|
|
85
|
+
| State | Exit code | Meaning |
|
|
86
|
+
| --------------------------- | :-------: | --------------------------------------------------------------------------------------------------------------- |
|
|
87
|
+
| `installed-match` | 0 | Installed version equals required (Major.Minor.Patch.Build padded) |
|
|
88
|
+
| `installed-newer` | 0 | Installed version is newer than required |
|
|
89
|
+
| `installed-version-unknown` | 0 | Cuneiform detected via namespace but version not exposed (source-pushed scratch orgs, CLI-1569) — cannot verify |
|
|
90
|
+
| `installed-older` | 1 | Installed version is older than required — upgrade the org |
|
|
91
|
+
| `not-installed` | 1 | `pnova` package not installed in the org |
|
|
92
|
+
|
|
93
|
+
### Updating `requiredAppVersion`
|
|
94
|
+
|
|
95
|
+
When releasing a new CLI version that depends on new app-side features, update `cuneiform.requiredAppVersion` in `package.json` alongside the CLI's own `version` bump. The release procedure should treat these as a paired change.
|
|
96
|
+
|
|
77
97
|
## Issues
|
|
78
98
|
|
|
79
99
|
Please report any issues at https://github.com/forcedotcom/cli/issues
|
|
@@ -113,7 +133,7 @@ To use your plugin, run using the local `./bin/dev` or `./bin/dev.cmd` file.
|
|
|
113
133
|
|
|
114
134
|
```bash
|
|
115
135
|
# Run using local run file.
|
|
116
|
-
./bin/dev
|
|
136
|
+
./bin/dev.js cuneiform definition create --help
|
|
117
137
|
```
|
|
118
138
|
|
|
119
139
|
There should be no differences when running via the Salesforce CLI or using the local run file. However, it can be useful to link the plugin to do some additional testing or run your commands from anywhere on your machine.
|
|
@@ -127,77 +147,21 @@ sf plugins
|
|
|
127
147
|
|
|
128
148
|
## Commands
|
|
129
149
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
150
|
+
| Command | Description |
|
|
151
|
+
| -------------------------------- | --------------------------------- |
|
|
152
|
+
| `sf cuneiform definition create` | Create profiling definition(s) |
|
|
153
|
+
| `sf cuneiform definition get` | Retrieve profiling definitions |
|
|
154
|
+
| `sf cuneiform definition update` | Update definition field lists |
|
|
155
|
+
| `sf cuneiform definition purge` | Delete unused definitions |
|
|
156
|
+
| `sf cuneiform definition export` | Export definitions (VCS-friendly) |
|
|
157
|
+
| `sf cuneiform definition import` | Import definitions from export |
|
|
158
|
+
| `sf cuneiform profile` | Execute profiling operations |
|
|
136
159
|
|
|
137
|
-
|
|
160
|
+
For detailed usage, run any command with `--help`:
|
|
138
161
|
|
|
162
|
+
```bash
|
|
163
|
+
sf cuneiform definition create --help
|
|
164
|
+
sf cuneiform profile --help
|
|
139
165
|
```
|
|
140
|
-
USAGE
|
|
141
|
-
$ sf cuneiform about [--json] [--flags-dir <value>] [-n <value>]
|
|
142
|
-
|
|
143
|
-
FLAGS
|
|
144
|
-
-n, --name=<value> Description of a flag.
|
|
145
|
-
|
|
146
|
-
GLOBAL FLAGS
|
|
147
|
-
--flags-dir=<value> Import flag values from a directory.
|
|
148
|
-
--json Format output as json.
|
|
149
|
-
|
|
150
|
-
DESCRIPTION
|
|
151
|
-
Summary of a command.
|
|
152
|
-
|
|
153
|
-
More information about a command. Don't repeat the summary.
|
|
154
|
-
|
|
155
|
-
EXAMPLES
|
|
156
|
-
$ sf cuneiform about
|
|
157
|
-
|
|
158
|
-
FLAG DESCRIPTIONS
|
|
159
|
-
-n, --name=<value> Description of a flag.
|
|
160
|
-
|
|
161
|
-
More information about a flag. Don't repeat the summary.
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
_See code: [src/commands/cuneiform/about.ts](https://github.com/PeerNova-Solutions/cuneiform-cli/blob/1.0.2/src/commands/cuneiform/about.ts)_
|
|
165
|
-
|
|
166
|
-
## `sf hello world`
|
|
167
|
-
|
|
168
|
-
Say hello.
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
USAGE
|
|
172
|
-
$ sf hello world [--json] [--flags-dir <value>] [-n <value>]
|
|
173
|
-
|
|
174
|
-
FLAGS
|
|
175
|
-
-n, --name=<value> [default: World] The name of the person you'd like to say hello to.
|
|
176
|
-
|
|
177
|
-
GLOBAL FLAGS
|
|
178
|
-
--flags-dir=<value> Import flag values from a directory.
|
|
179
|
-
--json Format output as json.
|
|
180
|
-
|
|
181
|
-
DESCRIPTION
|
|
182
|
-
Say hello.
|
|
183
|
-
|
|
184
|
-
Say hello either to the world or someone you know.
|
|
185
|
-
|
|
186
|
-
EXAMPLES
|
|
187
|
-
Say hello to the world:
|
|
188
|
-
|
|
189
|
-
$ sf hello world
|
|
190
|
-
|
|
191
|
-
Say hello to someone you know:
|
|
192
|
-
|
|
193
|
-
$ sf hello world --name Astro
|
|
194
|
-
|
|
195
|
-
FLAG DESCRIPTIONS
|
|
196
|
-
-n, --name=<value> The name of the person you'd like to say hello to.
|
|
197
|
-
|
|
198
|
-
This person can be anyone in the world!
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
_See code: [src/commands/hello/world.ts](https://github.com/PeerNova-Solutions/cuneiform-cli/blob/1.0.2/src/commands/hello/world.ts)_
|
|
202
166
|
|
|
203
|
-
|
|
167
|
+
# Test run for workflow verification
|