@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,615 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026, PeerNova, Inc. All Rights Reserved.
|
|
3
|
+
* PROPRIETARY AND CONFIDENTIAL. Unauthorized copying, modification,
|
|
4
|
+
* or distribution is strictly prohibited. Use is governed by the
|
|
5
|
+
* Master Subscription Agreement (MSA) between PeerNova, Inc. and the
|
|
6
|
+
* licensee. See LICENSE file in the repo root.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Date literal support for profiling definition creation.
|
|
10
|
+
*
|
|
11
|
+
* Replaces the year-range model with ISV-compatible date literal segmentation.
|
|
12
|
+
* Definitions become rolling windows that stay relevant without recreation.
|
|
13
|
+
*
|
|
14
|
+
* The 14 supported literals match the ISV DateLiteral.cls constants exactly.
|
|
15
|
+
* See docs/knowledge/salesforce/date-literals.md for full reference.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The 14 date literals supported by the ISV DateLiteral.cls.
|
|
19
|
+
* These are the ONLY literals the CLI should generate — they correspond 1:1
|
|
20
|
+
* to the constants in the ISV product's DateLiteral class.
|
|
21
|
+
*/
|
|
22
|
+
export const SUPPORTED_DATE_LITERALS = [
|
|
23
|
+
'TODAY',
|
|
24
|
+
'YESTERDAY',
|
|
25
|
+
'THIS_WEEK',
|
|
26
|
+
'LAST_WEEK',
|
|
27
|
+
'THIS_MONTH',
|
|
28
|
+
'LAST_MONTH',
|
|
29
|
+
'THIS_QUARTER',
|
|
30
|
+
'LAST_QUARTER',
|
|
31
|
+
'THIS_YEAR',
|
|
32
|
+
'LAST_YEAR',
|
|
33
|
+
'N_YEARS_AGO:2',
|
|
34
|
+
'N_YEARS_AGO:3',
|
|
35
|
+
'LAST_N_YEARS:2',
|
|
36
|
+
'LAST_N_YEARS:3',
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Customer-facing labels for each date literal.
|
|
40
|
+
* Used in definition names, descriptions, and time category display.
|
|
41
|
+
*/
|
|
42
|
+
export const DATE_LITERAL_LABELS = {
|
|
43
|
+
TODAY: 'Today',
|
|
44
|
+
YESTERDAY: 'Yesterday',
|
|
45
|
+
THIS_WEEK: 'This Week',
|
|
46
|
+
LAST_WEEK: 'Last Week',
|
|
47
|
+
THIS_MONTH: 'This Month',
|
|
48
|
+
LAST_MONTH: 'Last Month',
|
|
49
|
+
THIS_QUARTER: 'This Quarter',
|
|
50
|
+
LAST_QUARTER: 'Last Quarter',
|
|
51
|
+
THIS_YEAR: 'This Year',
|
|
52
|
+
LAST_YEAR: 'Last Year',
|
|
53
|
+
'N_YEARS_AGO:2': 'Two Years Ago',
|
|
54
|
+
'N_YEARS_AGO:3': 'Three Years Ago',
|
|
55
|
+
'LAST_N_YEARS:2': 'Last Two Years',
|
|
56
|
+
'LAST_N_YEARS:3': 'Last Three Years',
|
|
57
|
+
};
|
|
58
|
+
/** Maps each literal to its tier */
|
|
59
|
+
export const LITERAL_TIERS = {
|
|
60
|
+
TODAY: 'day',
|
|
61
|
+
YESTERDAY: 'day',
|
|
62
|
+
THIS_WEEK: 'week',
|
|
63
|
+
LAST_WEEK: 'week',
|
|
64
|
+
THIS_MONTH: 'month',
|
|
65
|
+
LAST_MONTH: 'month',
|
|
66
|
+
THIS_QUARTER: 'quarter',
|
|
67
|
+
LAST_QUARTER: 'quarter',
|
|
68
|
+
THIS_YEAR: 'year',
|
|
69
|
+
LAST_YEAR: 'year',
|
|
70
|
+
'N_YEARS_AGO:2': 'year',
|
|
71
|
+
'N_YEARS_AGO:3': 'year',
|
|
72
|
+
'LAST_N_YEARS:2': 'span',
|
|
73
|
+
'LAST_N_YEARS:3': 'span',
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Maximum cascade depth per tier.
|
|
77
|
+
*
|
|
78
|
+
* Only year-tier literals support depth > 1. Quarter, month, week, and day tiers
|
|
79
|
+
* each represent a single atomic period with no comparable prior available via
|
|
80
|
+
* ISV-supported literals, so depth is capped at 1 for those tiers.
|
|
81
|
+
*/
|
|
82
|
+
export const TIER_MAX_DEPTH = {
|
|
83
|
+
year: 4,
|
|
84
|
+
quarter: 1,
|
|
85
|
+
month: 1,
|
|
86
|
+
week: 1,
|
|
87
|
+
day: 1,
|
|
88
|
+
span: 1,
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Depth cascade arrays per literal.
|
|
92
|
+
*
|
|
93
|
+
* Starting from a given literal at depth 0, each subsequent depth level
|
|
94
|
+
* adds the next literal in the cascade. Cascades always move backward in time.
|
|
95
|
+
*
|
|
96
|
+
* Example: THIS_YEAR with depth 3 → [THIS_YEAR, LAST_YEAR, N_YEARS_AGO:2]
|
|
97
|
+
*/
|
|
98
|
+
export const LITERAL_CASCADES = {
|
|
99
|
+
// Year tier: full 4-deep cascade
|
|
100
|
+
THIS_YEAR: ['THIS_YEAR', 'LAST_YEAR', 'N_YEARS_AGO:2', 'N_YEARS_AGO:3'],
|
|
101
|
+
LAST_YEAR: ['LAST_YEAR', 'N_YEARS_AGO:2', 'N_YEARS_AGO:3'],
|
|
102
|
+
'N_YEARS_AGO:2': ['N_YEARS_AGO:2', 'N_YEARS_AGO:3'],
|
|
103
|
+
'N_YEARS_AGO:3': ['N_YEARS_AGO:3'],
|
|
104
|
+
// Quarter tier: 2-deep cascade
|
|
105
|
+
THIS_QUARTER: ['THIS_QUARTER', 'LAST_QUARTER'],
|
|
106
|
+
LAST_QUARTER: ['LAST_QUARTER'],
|
|
107
|
+
// Month tier: 2-deep cascade
|
|
108
|
+
THIS_MONTH: ['THIS_MONTH', 'LAST_MONTH'],
|
|
109
|
+
LAST_MONTH: ['LAST_MONTH'],
|
|
110
|
+
// Week tier: 2-deep cascade
|
|
111
|
+
THIS_WEEK: ['THIS_WEEK', 'LAST_WEEK'],
|
|
112
|
+
LAST_WEEK: ['LAST_WEEK'],
|
|
113
|
+
// Day tier: 2-deep cascade
|
|
114
|
+
TODAY: ['TODAY', 'YESTERDAY'],
|
|
115
|
+
YESTERDAY: ['YESTERDAY'],
|
|
116
|
+
// Span literals: no cascade (they already combine multiple periods)
|
|
117
|
+
'LAST_N_YEARS:2': ['LAST_N_YEARS:2'],
|
|
118
|
+
'LAST_N_YEARS:3': ['LAST_N_YEARS:3'],
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Validates a date literal value against the ISV-supported set.
|
|
122
|
+
*
|
|
123
|
+
* @param value - The date literal string to validate
|
|
124
|
+
* @returns undefined if valid, error message string if invalid
|
|
125
|
+
*/
|
|
126
|
+
export function validateDateLiteral(value) {
|
|
127
|
+
const upper = value.toUpperCase();
|
|
128
|
+
if (!SUPPORTED_DATE_LITERALS.includes(upper)) {
|
|
129
|
+
return `Invalid date literal "${value}". Supported values: ${SUPPORTED_DATE_LITERALS.join(', ')}`;
|
|
130
|
+
}
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Resolves CLI flag inputs into a validated DateLiteralRange.
|
|
135
|
+
*
|
|
136
|
+
* @param input - Raw flag inputs
|
|
137
|
+
* @returns Resolved DateLiteralRange
|
|
138
|
+
* @throws Error if inputs are invalid
|
|
139
|
+
*/
|
|
140
|
+
export function resolveDateLiteralRange(input) {
|
|
141
|
+
const upper = input.dateLiteral.toUpperCase();
|
|
142
|
+
const validationError = validateDateLiteral(upper);
|
|
143
|
+
if (validationError) {
|
|
144
|
+
throw new Error(validationError);
|
|
145
|
+
}
|
|
146
|
+
const tier = LITERAL_TIERS[upper];
|
|
147
|
+
const maxDepth = TIER_MAX_DEPTH[tier];
|
|
148
|
+
const cascade = LITERAL_CASCADES[upper];
|
|
149
|
+
const depth = input.depth ?? 1;
|
|
150
|
+
if (depth < 1) {
|
|
151
|
+
throw new Error(`--depth must be at least 1, got ${depth}`);
|
|
152
|
+
}
|
|
153
|
+
const effectiveMax = Math.min(cascade.length, maxDepth);
|
|
154
|
+
if (depth > effectiveMax) {
|
|
155
|
+
const hint = tier !== 'year'
|
|
156
|
+
? `--depth is not supported for ${tier}-tier date literals. Use a year-tier literal (THIS_YEAR, LAST_YEAR, N_YEARS_AGO:2, N_YEARS_AGO:3) to enable cascading.`
|
|
157
|
+
: cascade.length < maxDepth
|
|
158
|
+
? `"${upper}" supports a maximum depth of ${cascade.length}. Use an earlier year literal for deeper cascading (max: ${maxDepth}).`
|
|
159
|
+
: `Maximum depth for year tier: ${maxDepth}.`;
|
|
160
|
+
throw new Error(`--depth ${depth} exceeds maximum of ${effectiveMax} for "${upper}". ${hint}`);
|
|
161
|
+
}
|
|
162
|
+
const entries = cascade.slice(0, depth).map((literal) => ({
|
|
163
|
+
literal,
|
|
164
|
+
label: DATE_LITERAL_LABELS[literal],
|
|
165
|
+
}));
|
|
166
|
+
return {
|
|
167
|
+
entries,
|
|
168
|
+
dateField: input.dateField ?? 'CreatedDate',
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Returns the customer-facing label for a date literal.
|
|
173
|
+
*
|
|
174
|
+
* @param literal - A supported date literal value
|
|
175
|
+
* @returns The label string, or the raw literal if not found
|
|
176
|
+
*/
|
|
177
|
+
export function getDateLiteralLabel(literal) {
|
|
178
|
+
const upper = literal.toUpperCase();
|
|
179
|
+
return DATE_LITERAL_LABELS[upper] ?? literal;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Maps each date literal to its `$Constant.*` display value for the expression builder.
|
|
183
|
+
* These are the values that `fsc_expressionBuilder3` renders in the Value field.
|
|
184
|
+
*/
|
|
185
|
+
export const DATE_LITERAL_CONSTANTS = {
|
|
186
|
+
TODAY: '$Constant.Today',
|
|
187
|
+
YESTERDAY: '$Constant.Yesterday',
|
|
188
|
+
THIS_WEEK: '$Constant.ThisWeek',
|
|
189
|
+
LAST_WEEK: '$Constant.LastWeek',
|
|
190
|
+
THIS_MONTH: '$Constant.ThisMonth',
|
|
191
|
+
LAST_MONTH: '$Constant.LastMonth',
|
|
192
|
+
THIS_QUARTER: '$Constant.ThisQuarter',
|
|
193
|
+
LAST_QUARTER: '$Constant.LastQuarter',
|
|
194
|
+
THIS_YEAR: '$Constant.ThisYear',
|
|
195
|
+
LAST_YEAR: '$Constant.LastYear',
|
|
196
|
+
'N_YEARS_AGO:2': '$Constant.TwoYearsAgo',
|
|
197
|
+
'N_YEARS_AGO:3': '$Constant.ThreeYearsAgo',
|
|
198
|
+
'LAST_N_YEARS:2': '$Constant.LastTwoYears',
|
|
199
|
+
'LAST_N_YEARS:3': '$Constant.LastThreeYears',
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Builds an ISV-compatible filterJson string for date literal filtering.
|
|
203
|
+
*
|
|
204
|
+
* Produces the full expression builder JSON schema that `fsc_expressionBuilder3` expects,
|
|
205
|
+
* including all 12 required fields per expression line. The `parameter` field uses `$Constant.*`
|
|
206
|
+
* display values and `parameterValue` / `dateLiteral` use the SOQL literal.
|
|
207
|
+
*
|
|
208
|
+
* The outer envelope (hasFilters, setA) is required by ProfilingDefinitionApiService.resolveFilterClause()
|
|
209
|
+
* to enable WHERE clause filtering. setA.json must be an object (not a string) — the API
|
|
210
|
+
* does JSON.serialize() on it.
|
|
211
|
+
*
|
|
212
|
+
* @param dateField - The date/datetime field to filter on (e.g., 'CreatedDate')
|
|
213
|
+
* @param dateLiteral - The date literal value (e.g., 'THIS_YEAR', 'N_YEARS_AGO:2')
|
|
214
|
+
* @param objectName - The Salesforce object API name (e.g., 'Account', 'Lead'). Defaults to empty string for backward compatibility.
|
|
215
|
+
* @param objectLabel - The Salesforce object label (e.g., 'Account', 'Lead'). Defaults to objectName.
|
|
216
|
+
* @returns JSON string compatible with GlobalProfilingService.createProfilingDefinition()
|
|
217
|
+
*/
|
|
218
|
+
export function buildDateLiteralFilterJson(dateField, dateLiteral, objectName = '', objectLabel) {
|
|
219
|
+
const label = objectLabel ?? objectName;
|
|
220
|
+
const constantValue = DATE_LITERAL_CONSTANTS[dateLiteral] ?? dateLiteral;
|
|
221
|
+
const expressionJson = {
|
|
222
|
+
expressions: [
|
|
223
|
+
{
|
|
224
|
+
objectType: objectName,
|
|
225
|
+
parameter: constantValue,
|
|
226
|
+
parameterValue: dateLiteral,
|
|
227
|
+
dataType: 'DATETIME',
|
|
228
|
+
label: label ? `${label}: Created Date` : dateField,
|
|
229
|
+
type: objectName,
|
|
230
|
+
fieldName: dateField,
|
|
231
|
+
operator: 'equals',
|
|
232
|
+
operatorSymbol: '=',
|
|
233
|
+
value: objectName ? `$${objectName}.${dateField}` : dateField,
|
|
234
|
+
dateLiteral,
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
logicType: 'AND',
|
|
238
|
+
};
|
|
239
|
+
return JSON.stringify({
|
|
240
|
+
hasFilters: true,
|
|
241
|
+
setA: {
|
|
242
|
+
json: expressionJson,
|
|
243
|
+
expression: `${dateField} = ${dateLiteral}`,
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Builds an ISV-compatible filterJson string for date-literal comparative definitions.
|
|
249
|
+
* Creates SetA (primary period) and SetB (prior period), both using SOQL date literals.
|
|
250
|
+
*
|
|
251
|
+
* Used when method='comparative' with a date literal that has a prior period in its cascade.
|
|
252
|
+
* The prior literal is derived from LITERAL_CASCADES[setALiteral][1] by the caller.
|
|
253
|
+
*
|
|
254
|
+
* @param dateField - The date/datetime field to filter on (e.g., 'CreatedDate')
|
|
255
|
+
* @param setALiteral - The primary (current) date literal for SetA
|
|
256
|
+
* @param setBLiteral - The prior period date literal for SetB
|
|
257
|
+
* @param objectName - The Salesforce object API name
|
|
258
|
+
* @param objectLabel - The Salesforce object label
|
|
259
|
+
* @returns JSON string with hasFilters, setA, and setB
|
|
260
|
+
*/
|
|
261
|
+
export function buildComparativeDateLiteralFilterJson(dateField, setALiteral, setBLiteral, objectName = '', objectLabel) {
|
|
262
|
+
const label = objectLabel ?? objectName;
|
|
263
|
+
const fieldLabel = label ? `${label}: Created Date` : dateField;
|
|
264
|
+
const fieldValue = objectName ? `$${objectName}.${dateField}` : dateField;
|
|
265
|
+
const buildExpression = (literal) => {
|
|
266
|
+
const constantValue = DATE_LITERAL_CONSTANTS[literal] ?? literal;
|
|
267
|
+
return {
|
|
268
|
+
expressions: [
|
|
269
|
+
{
|
|
270
|
+
objectType: objectName,
|
|
271
|
+
parameter: constantValue,
|
|
272
|
+
parameterValue: literal,
|
|
273
|
+
dataType: 'DATETIME',
|
|
274
|
+
label: fieldLabel,
|
|
275
|
+
type: objectName,
|
|
276
|
+
fieldName: dateField,
|
|
277
|
+
operator: 'equals',
|
|
278
|
+
operatorSymbol: '=',
|
|
279
|
+
value: fieldValue,
|
|
280
|
+
dateLiteral: literal,
|
|
281
|
+
},
|
|
282
|
+
],
|
|
283
|
+
logicType: 'AND',
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
return JSON.stringify({
|
|
287
|
+
hasFilters: true,
|
|
288
|
+
setA: {
|
|
289
|
+
json: buildExpression(setALiteral),
|
|
290
|
+
expression: `${dateField} = ${setALiteral}`,
|
|
291
|
+
},
|
|
292
|
+
setB: {
|
|
293
|
+
json: buildExpression(setBLiteral),
|
|
294
|
+
expression: `${dateField} = ${setBLiteral}`,
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Maps a calendar year to the appropriate SOQL date literal based on distance from current year.
|
|
300
|
+
*
|
|
301
|
+
* @param year - The target calendar year
|
|
302
|
+
* @returns The date literal key (THIS_YEAR, LAST_YEAR, N_YEARS_AGO:2, N_YEARS_AGO:3) or undefined if out of range
|
|
303
|
+
*/
|
|
304
|
+
export function yearToDateLiteral(year) {
|
|
305
|
+
const currentYear = new Date().getFullYear();
|
|
306
|
+
const delta = currentYear - year;
|
|
307
|
+
switch (delta) {
|
|
308
|
+
case 0:
|
|
309
|
+
return 'THIS_YEAR';
|
|
310
|
+
case 1:
|
|
311
|
+
return 'LAST_YEAR';
|
|
312
|
+
case 2:
|
|
313
|
+
return 'N_YEARS_AGO:2';
|
|
314
|
+
case 3:
|
|
315
|
+
return 'N_YEARS_AGO:3';
|
|
316
|
+
default:
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Formats a year boundary as an ISO 8601 UTC midnight string.
|
|
322
|
+
* Used for explicit date range expressions in year-based comparisons.
|
|
323
|
+
*/
|
|
324
|
+
export function yearBoundaryISO(year) {
|
|
325
|
+
return `${year}-01-01T00:00:00.000Z`;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Formats a year boundary as a human-readable display string (M/d/yyyy, h:mm a).
|
|
329
|
+
* Used for the `parameter` display value in expression builder JSON.
|
|
330
|
+
*/
|
|
331
|
+
export function yearBoundaryDisplay(year) {
|
|
332
|
+
return `1/1/${year}, 12:00 AM`;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Builds an ISV-compatible filterJson string for a single year (SetA only, no SetB).
|
|
336
|
+
* Used for historical definitions scoped to a specific year via --year flag.
|
|
337
|
+
*
|
|
338
|
+
* @param dateField - The date/datetime field to filter on (e.g., 'CreatedDate')
|
|
339
|
+
* @param year - The target year
|
|
340
|
+
* @param objectName - The Salesforce object API name
|
|
341
|
+
* @param objectLabel - The Salesforce object label
|
|
342
|
+
* @returns JSON string with hasFilters and setA (no setB)
|
|
343
|
+
*/
|
|
344
|
+
export function buildHistoricalYearFilterJson(dateField, year, objectName = '', objectLabel) {
|
|
345
|
+
const label = objectLabel ?? objectName;
|
|
346
|
+
const fieldLabel = label ? `${label}: Created Date` : dateField;
|
|
347
|
+
const fieldValue = objectName ? `$${objectName}.${dateField}` : dateField;
|
|
348
|
+
const yearStart = yearBoundaryISO(year);
|
|
349
|
+
const yearEnd = yearBoundaryISO(year + 1);
|
|
350
|
+
const yearStartDisplay = yearBoundaryDisplay(year);
|
|
351
|
+
const yearEndDisplay = yearBoundaryDisplay(year + 1);
|
|
352
|
+
return JSON.stringify({
|
|
353
|
+
hasFilters: true,
|
|
354
|
+
setA: {
|
|
355
|
+
json: {
|
|
356
|
+
expressions: [
|
|
357
|
+
{
|
|
358
|
+
objectType: objectName,
|
|
359
|
+
parameter: yearStartDisplay,
|
|
360
|
+
parameterValue: yearStart,
|
|
361
|
+
dataType: 'DATETIME',
|
|
362
|
+
label: fieldLabel,
|
|
363
|
+
type: objectName,
|
|
364
|
+
fieldName: dateField,
|
|
365
|
+
operator: 'greater_or_equal',
|
|
366
|
+
operatorSymbol: '>=',
|
|
367
|
+
value: fieldValue,
|
|
368
|
+
dateLiteral: '',
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
objectType: objectName,
|
|
372
|
+
parameter: yearEndDisplay,
|
|
373
|
+
parameterValue: yearEnd,
|
|
374
|
+
dataType: 'DATETIME',
|
|
375
|
+
label: fieldLabel,
|
|
376
|
+
type: objectName,
|
|
377
|
+
fieldName: dateField,
|
|
378
|
+
operator: 'less_than',
|
|
379
|
+
operatorSymbol: '<',
|
|
380
|
+
value: fieldValue,
|
|
381
|
+
dateLiteral: '',
|
|
382
|
+
},
|
|
383
|
+
],
|
|
384
|
+
logicType: 'AND',
|
|
385
|
+
},
|
|
386
|
+
expression: `${dateField} >= ${yearStart} AND ${dateField} < ${yearEnd}`,
|
|
387
|
+
},
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Builds an ISV-compatible filterJson string for year-based comparative definitions.
|
|
392
|
+
* Creates SetA (target year) and SetB (prior year or all prior years) using explicit
|
|
393
|
+
* date range expressions (>= start AND < end), not date literals.
|
|
394
|
+
*
|
|
395
|
+
* This approach supports arbitrary years with no lookback limitation.
|
|
396
|
+
*
|
|
397
|
+
* @param dateField - The date/datetime field to filter on (e.g., 'CreatedDate', 'LastModifiedDate')
|
|
398
|
+
* @param year - The target year for SetA
|
|
399
|
+
* @param usePrior - When true, SetB is all records before the target year. When false, SetB is the prior year.
|
|
400
|
+
* @param objectName - The Salesforce object API name
|
|
401
|
+
* @param objectLabel - The Salesforce object label
|
|
402
|
+
* @returns JSON string with hasFilters, setA, and setB
|
|
403
|
+
*/
|
|
404
|
+
export function buildComparativeYearFilterJson(dateField, year, usePrior, objectName = '', objectLabel) {
|
|
405
|
+
const label = objectLabel ?? objectName;
|
|
406
|
+
const fieldLabel = label ? `${label}: Created Date` : dateField;
|
|
407
|
+
const fieldValue = objectName ? `$${objectName}.${dateField}` : dateField;
|
|
408
|
+
const yearStart = yearBoundaryISO(year);
|
|
409
|
+
const yearEnd = yearBoundaryISO(year + 1);
|
|
410
|
+
const yearStartDisplay = yearBoundaryDisplay(year);
|
|
411
|
+
const yearEndDisplay = yearBoundaryDisplay(year + 1);
|
|
412
|
+
// SetA: target year (>= Jan 1 year AND < Jan 1 year+1)
|
|
413
|
+
const setAJson = {
|
|
414
|
+
expressions: [
|
|
415
|
+
{
|
|
416
|
+
objectType: objectName,
|
|
417
|
+
parameter: yearStartDisplay,
|
|
418
|
+
parameterValue: yearStart,
|
|
419
|
+
dataType: 'DATETIME',
|
|
420
|
+
label: fieldLabel,
|
|
421
|
+
type: objectName,
|
|
422
|
+
fieldName: dateField,
|
|
423
|
+
operator: 'greater_or_equal',
|
|
424
|
+
operatorSymbol: '>=',
|
|
425
|
+
value: fieldValue,
|
|
426
|
+
dateLiteral: '',
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
objectType: objectName,
|
|
430
|
+
parameter: yearEndDisplay,
|
|
431
|
+
parameterValue: yearEnd,
|
|
432
|
+
dataType: 'DATETIME',
|
|
433
|
+
label: fieldLabel,
|
|
434
|
+
type: objectName,
|
|
435
|
+
fieldName: dateField,
|
|
436
|
+
operator: 'less_than',
|
|
437
|
+
operatorSymbol: '<',
|
|
438
|
+
value: fieldValue,
|
|
439
|
+
dateLiteral: '',
|
|
440
|
+
},
|
|
441
|
+
],
|
|
442
|
+
logicType: 'AND',
|
|
443
|
+
};
|
|
444
|
+
// SetB: prior year or all prior
|
|
445
|
+
let setBJson;
|
|
446
|
+
let setBExpression;
|
|
447
|
+
if (usePrior) {
|
|
448
|
+
// All records before the target year
|
|
449
|
+
setBJson = {
|
|
450
|
+
expressions: [
|
|
451
|
+
{
|
|
452
|
+
objectType: objectName,
|
|
453
|
+
parameter: yearStartDisplay,
|
|
454
|
+
parameterValue: yearStart,
|
|
455
|
+
dataType: 'DATETIME',
|
|
456
|
+
label: fieldLabel,
|
|
457
|
+
type: objectName,
|
|
458
|
+
fieldName: dateField,
|
|
459
|
+
operator: 'less_than',
|
|
460
|
+
operatorSymbol: '<',
|
|
461
|
+
value: fieldValue,
|
|
462
|
+
dateLiteral: '',
|
|
463
|
+
},
|
|
464
|
+
],
|
|
465
|
+
logicType: 'AND',
|
|
466
|
+
};
|
|
467
|
+
setBExpression = `${dateField} < ${yearStart}`;
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
// Prior year only (>= Jan 1 year-1 AND < Jan 1 year)
|
|
471
|
+
const priorStart = yearBoundaryISO(year - 1);
|
|
472
|
+
const priorStartDisplay = yearBoundaryDisplay(year - 1);
|
|
473
|
+
setBJson = {
|
|
474
|
+
expressions: [
|
|
475
|
+
{
|
|
476
|
+
objectType: objectName,
|
|
477
|
+
parameter: priorStartDisplay,
|
|
478
|
+
parameterValue: priorStart,
|
|
479
|
+
dataType: 'DATETIME',
|
|
480
|
+
label: fieldLabel,
|
|
481
|
+
type: objectName,
|
|
482
|
+
fieldName: dateField,
|
|
483
|
+
operator: 'greater_or_equal',
|
|
484
|
+
operatorSymbol: '>=',
|
|
485
|
+
value: fieldValue,
|
|
486
|
+
dateLiteral: '',
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
objectType: objectName,
|
|
490
|
+
parameter: yearStartDisplay,
|
|
491
|
+
parameterValue: yearStart,
|
|
492
|
+
dataType: 'DATETIME',
|
|
493
|
+
label: fieldLabel,
|
|
494
|
+
type: objectName,
|
|
495
|
+
fieldName: dateField,
|
|
496
|
+
operator: 'less_than',
|
|
497
|
+
operatorSymbol: '<',
|
|
498
|
+
value: fieldValue,
|
|
499
|
+
dateLiteral: '',
|
|
500
|
+
},
|
|
501
|
+
],
|
|
502
|
+
logicType: 'AND',
|
|
503
|
+
};
|
|
504
|
+
setBExpression = `${dateField} >= ${priorStart} AND ${dateField} < ${yearStart}`;
|
|
505
|
+
}
|
|
506
|
+
return JSON.stringify({
|
|
507
|
+
hasFilters: true,
|
|
508
|
+
setA: {
|
|
509
|
+
json: setAJson,
|
|
510
|
+
expression: `${dateField} >= ${yearStart} AND ${dateField} < ${yearEnd}`,
|
|
511
|
+
},
|
|
512
|
+
setB: {
|
|
513
|
+
json: setBJson,
|
|
514
|
+
expression: setBExpression,
|
|
515
|
+
},
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Builds an ISV-compatible filterJson string for the lifetime-vs-X comparative variant.
|
|
520
|
+
*
|
|
521
|
+
* SetA is unfiltered (empty expressions array — represents "all records / lifetime"); SetB carries the supplied
|
|
522
|
+
* secondary filter. This is the inverse of `buildComparativeYearFilterJson`, where SetA is the year-scoped set and
|
|
523
|
+
* SetB is the prior-year (or unbounded) set.
|
|
524
|
+
*
|
|
525
|
+
* @param dateField - The date/datetime field to filter on (e.g., 'CreatedDate', 'LastModifiedDate')
|
|
526
|
+
* @param secondary - The secondary filter spec applied to SetB. Accepts `{ kind: 'year', year }` for a year-bounded SetB,
|
|
527
|
+
* or `{ kind: 'dateLiteral', literal }` for a SOQL date-literal SetB.
|
|
528
|
+
* @param objectName - The Salesforce object API name
|
|
529
|
+
* @param objectLabel - The Salesforce object label (defaults to objectName)
|
|
530
|
+
* @returns JSON string with hasFilters, setA (empty), and setB (filtered)
|
|
531
|
+
*/
|
|
532
|
+
export function buildLifetimeComparativeFilterJson(dateField, secondary, objectName = '', objectLabel) {
|
|
533
|
+
const label = objectLabel ?? objectName;
|
|
534
|
+
const fieldLabel = label ? `${label}: Created Date` : dateField;
|
|
535
|
+
const fieldValue = objectName ? `$${objectName}.${dateField}` : dateField;
|
|
536
|
+
// SetA — empty expressions array represents "lifetime / all records" at the ISV layer.
|
|
537
|
+
const setAJson = {
|
|
538
|
+
expressions: [],
|
|
539
|
+
logicType: 'AND',
|
|
540
|
+
};
|
|
541
|
+
let setBJson;
|
|
542
|
+
let setBExpression;
|
|
543
|
+
if (secondary.kind === 'year') {
|
|
544
|
+
const yearStart = yearBoundaryISO(secondary.year);
|
|
545
|
+
const yearEnd = yearBoundaryISO(secondary.year + 1);
|
|
546
|
+
const yearStartDisplay = yearBoundaryDisplay(secondary.year);
|
|
547
|
+
const yearEndDisplay = yearBoundaryDisplay(secondary.year + 1);
|
|
548
|
+
setBJson = {
|
|
549
|
+
expressions: [
|
|
550
|
+
{
|
|
551
|
+
objectType: objectName,
|
|
552
|
+
parameter: yearStartDisplay,
|
|
553
|
+
parameterValue: yearStart,
|
|
554
|
+
dataType: 'DATETIME',
|
|
555
|
+
label: fieldLabel,
|
|
556
|
+
type: objectName,
|
|
557
|
+
fieldName: dateField,
|
|
558
|
+
operator: 'greater_or_equal',
|
|
559
|
+
operatorSymbol: '>=',
|
|
560
|
+
value: fieldValue,
|
|
561
|
+
dateLiteral: '',
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
objectType: objectName,
|
|
565
|
+
parameter: yearEndDisplay,
|
|
566
|
+
parameterValue: yearEnd,
|
|
567
|
+
dataType: 'DATETIME',
|
|
568
|
+
label: fieldLabel,
|
|
569
|
+
type: objectName,
|
|
570
|
+
fieldName: dateField,
|
|
571
|
+
operator: 'less_than',
|
|
572
|
+
operatorSymbol: '<',
|
|
573
|
+
value: fieldValue,
|
|
574
|
+
dateLiteral: '',
|
|
575
|
+
},
|
|
576
|
+
],
|
|
577
|
+
logicType: 'AND',
|
|
578
|
+
};
|
|
579
|
+
setBExpression = `${dateField} >= ${yearStart} AND ${dateField} < ${yearEnd}`;
|
|
580
|
+
}
|
|
581
|
+
else {
|
|
582
|
+
const constantValue = DATE_LITERAL_CONSTANTS[secondary.literal] ?? secondary.literal;
|
|
583
|
+
setBJson = {
|
|
584
|
+
expressions: [
|
|
585
|
+
{
|
|
586
|
+
objectType: objectName,
|
|
587
|
+
parameter: constantValue,
|
|
588
|
+
parameterValue: secondary.literal,
|
|
589
|
+
dataType: 'DATETIME',
|
|
590
|
+
label: fieldLabel,
|
|
591
|
+
type: objectName,
|
|
592
|
+
fieldName: dateField,
|
|
593
|
+
operator: 'equals',
|
|
594
|
+
operatorSymbol: '=',
|
|
595
|
+
value: fieldValue,
|
|
596
|
+
dateLiteral: secondary.literal,
|
|
597
|
+
},
|
|
598
|
+
],
|
|
599
|
+
logicType: 'AND',
|
|
600
|
+
};
|
|
601
|
+
setBExpression = `${dateField} = ${secondary.literal}`;
|
|
602
|
+
}
|
|
603
|
+
return JSON.stringify({
|
|
604
|
+
hasFilters: true,
|
|
605
|
+
setA: {
|
|
606
|
+
json: setAJson,
|
|
607
|
+
expression: '',
|
|
608
|
+
},
|
|
609
|
+
setB: {
|
|
610
|
+
json: setBJson,
|
|
611
|
+
expression: setBExpression,
|
|
612
|
+
},
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
//# sourceMappingURL=date-literal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-literal.js","sourceRoot":"","sources":["../../src/models/date-literal.ts"],"names":[],"mappings":"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"}
|