@jterrats/smart-deployment 1.0.3
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/README.md +193 -0
- package/lib/ai/agentforce-error-handler.d.ts +81 -0
- package/lib/ai/agentforce-error-handler.js +196 -0
- package/lib/ai/agentforce-error-handler.js.map +1 -0
- package/lib/ai/agentforce-priority-service.d.ts +82 -0
- package/lib/ai/agentforce-priority-service.js +257 -0
- package/lib/ai/agentforce-priority-service.js.map +1 -0
- package/lib/ai/agentforce-service.d.ts +99 -0
- package/lib/ai/agentforce-service.js +300 -0
- package/lib/ai/agentforce-service.js.map +1 -0
- package/lib/ai/circuit-breaker.d.ts +115 -0
- package/lib/ai/circuit-breaker.js +277 -0
- package/lib/ai/circuit-breaker.js.map +1 -0
- package/lib/ai/dependency-inference-service.d.ts +76 -0
- package/lib/ai/dependency-inference-service.js +220 -0
- package/lib/ai/dependency-inference-service.js.map +1 -0
- package/lib/ai/llm-provider-factory.d.ts +15 -0
- package/lib/ai/llm-provider-factory.js +36 -0
- package/lib/ai/llm-provider-factory.js.map +1 -0
- package/lib/ai/llm-provider.d.ts +27 -0
- package/lib/ai/llm-provider.js +2 -0
- package/lib/ai/llm-provider.js.map +1 -0
- package/lib/ai/openai-service.d.ts +20 -0
- package/lib/ai/openai-service.js +89 -0
- package/lib/ai/openai-service.js.map +1 -0
- package/lib/ai/prompt-builder.d.ts +79 -0
- package/lib/ai/prompt-builder.js +180 -0
- package/lib/ai/prompt-builder.js.map +1 -0
- package/lib/ai/response-parser.d.ts +67 -0
- package/lib/ai/response-parser.js +234 -0
- package/lib/ai/response-parser.js.map +1 -0
- package/lib/ai/wave-validation-service.d.ts +111 -0
- package/lib/ai/wave-validation-service.js +381 -0
- package/lib/ai/wave-validation-service.js.map +1 -0
- package/lib/analysis/analysis-reporter.d.ts +56 -0
- package/lib/analysis/analysis-reporter.js +170 -0
- package/lib/analysis/analysis-reporter.js.map +1 -0
- package/lib/analytics/error-analytics.d.ts +80 -0
- package/lib/analytics/error-analytics.js +162 -0
- package/lib/analytics/error-analytics.js.map +1 -0
- package/lib/commands/analyze.d.ts +49 -0
- package/lib/commands/analyze.js +232 -0
- package/lib/commands/analyze.js.map +1 -0
- package/lib/commands/config.d.ts +42 -0
- package/lib/commands/config.js +219 -0
- package/lib/commands/config.js.map +1 -0
- package/lib/commands/resume.d.ts +26 -0
- package/lib/commands/resume.js +69 -0
- package/lib/commands/resume.js.map +1 -0
- package/lib/commands/start.d.ts +70 -0
- package/lib/commands/start.js +659 -0
- package/lib/commands/start.js.map +1 -0
- package/lib/commands/status.d.ts +37 -0
- package/lib/commands/status.js +69 -0
- package/lib/commands/status.js.map +1 -0
- package/lib/commands/validate.d.ts +33 -0
- package/lib/commands/validate.js +66 -0
- package/lib/commands/validate.js.map +1 -0
- package/lib/config/repo-config.d.ts +22 -0
- package/lib/config/repo-config.js +31 -0
- package/lib/config/repo-config.js.map +1 -0
- package/lib/constants/agentforce-limits.d.ts +174 -0
- package/lib/constants/agentforce-limits.js +262 -0
- package/lib/constants/agentforce-limits.js.map +1 -0
- package/lib/constants/api-version.d.ts +70 -0
- package/lib/constants/api-version.js +122 -0
- package/lib/constants/api-version.js.map +1 -0
- package/lib/constants/deployment-order.d.ts +68 -0
- package/lib/constants/deployment-order.js +162 -0
- package/lib/constants/deployment-order.js.map +1 -0
- package/lib/constants/salesforce-limits.d.ts +107 -0
- package/lib/constants/salesforce-limits.js +104 -0
- package/lib/constants/salesforce-limits.js.map +1 -0
- package/lib/dependencies/circular-dependency-detector.d.ts +137 -0
- package/lib/dependencies/circular-dependency-detector.js +329 -0
- package/lib/dependencies/circular-dependency-detector.js.map +1 -0
- package/lib/dependencies/cycle-remediation-planner.d.ts +50 -0
- package/lib/dependencies/cycle-remediation-planner.js +192 -0
- package/lib/dependencies/cycle-remediation-planner.js.map +1 -0
- package/lib/dependencies/dependency-cache.d.ts +134 -0
- package/lib/dependencies/dependency-cache.js +303 -0
- package/lib/dependencies/dependency-cache.js.map +1 -0
- package/lib/dependencies/dependency-depth-calculator.d.ts +145 -0
- package/lib/dependencies/dependency-depth-calculator.js +368 -0
- package/lib/dependencies/dependency-depth-calculator.js.map +1 -0
- package/lib/dependencies/dependency-graph-builder.d.ts +151 -0
- package/lib/dependencies/dependency-graph-builder.js +411 -0
- package/lib/dependencies/dependency-graph-builder.js.map +1 -0
- package/lib/dependencies/dependency-impact-analyzer.d.ts +145 -0
- package/lib/dependencies/dependency-impact-analyzer.js +330 -0
- package/lib/dependencies/dependency-impact-analyzer.js.map +1 -0
- package/lib/dependencies/dependency-merger.d.ts +122 -0
- package/lib/dependencies/dependency-merger.js +245 -0
- package/lib/dependencies/dependency-merger.js.map +1 -0
- package/lib/dependencies/dependency-resolver.d.ts +157 -0
- package/lib/dependencies/dependency-resolver.js +298 -0
- package/lib/dependencies/dependency-resolver.js.map +1 -0
- package/lib/dependencies/dependency-validator.d.ts +123 -0
- package/lib/dependencies/dependency-validator.js +291 -0
- package/lib/dependencies/dependency-validator.js.map +1 -0
- package/lib/dependencies/graph-visualizer.d.ts +110 -0
- package/lib/dependencies/graph-visualizer.js +262 -0
- package/lib/dependencies/graph-visualizer.js.map +1 -0
- package/lib/dependencies/heuristic-inference.d.ts +136 -0
- package/lib/dependencies/heuristic-inference.js +430 -0
- package/lib/dependencies/heuristic-inference.js.map +1 -0
- package/lib/deployment/cycle-source-editor.d.ts +34 -0
- package/lib/deployment/cycle-source-editor.js +121 -0
- package/lib/deployment/cycle-source-editor.js.map +1 -0
- package/lib/deployment/deployment-error-handler.d.ts +38 -0
- package/lib/deployment/deployment-error-handler.js +79 -0
- package/lib/deployment/deployment-error-handler.js.map +1 -0
- package/lib/deployment/deployment-reporter.d.ts +63 -0
- package/lib/deployment/deployment-reporter.js +150 -0
- package/lib/deployment/deployment-reporter.js.map +1 -0
- package/lib/deployment/deployment-state-summary.d.ts +38 -0
- package/lib/deployment/deployment-state-summary.js +209 -0
- package/lib/deployment/deployment-state-summary.js.map +1 -0
- package/lib/deployment/deployment-status-service.d.ts +36 -0
- package/lib/deployment/deployment-status-service.js +128 -0
- package/lib/deployment/deployment-status-service.js.map +1 -0
- package/lib/deployment/deployment-tracker.d.ts +42 -0
- package/lib/deployment/deployment-tracker.js +79 -0
- package/lib/deployment/deployment-tracker.js.map +1 -0
- package/lib/deployment/deployment-validation-service.d.ts +28 -0
- package/lib/deployment/deployment-validation-service.js +161 -0
- package/lib/deployment/deployment-validation-service.js.map +1 -0
- package/lib/deployment/retry-handler.d.ts +37 -0
- package/lib/deployment/retry-handler.js +86 -0
- package/lib/deployment/retry-handler.js.map +1 -0
- package/lib/deployment/sf-cli-integration.d.ts +42 -0
- package/lib/deployment/sf-cli-integration.js +105 -0
- package/lib/deployment/sf-cli-integration.js.map +1 -0
- package/lib/deployment/state-manager.d.ts +61 -0
- package/lib/deployment/state-manager.js +83 -0
- package/lib/deployment/state-manager.js.map +1 -0
- package/lib/deployment/test-executor.d.ts +41 -0
- package/lib/deployment/test-executor.js +87 -0
- package/lib/deployment/test-executor.js.map +1 -0
- package/lib/errors/base-error.d.ts +24 -0
- package/lib/errors/base-error.js +66 -0
- package/lib/errors/base-error.js.map +1 -0
- package/lib/errors/dependency-error.d.ts +37 -0
- package/lib/errors/dependency-error.js +76 -0
- package/lib/errors/dependency-error.js.map +1 -0
- package/lib/errors/deployment-error.d.ts +55 -0
- package/lib/errors/deployment-error.js +132 -0
- package/lib/errors/deployment-error.js.map +1 -0
- package/lib/errors/index.d.ts +45 -0
- package/lib/errors/index.js +71 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/errors/network-error.d.ts +53 -0
- package/lib/errors/network-error.js +111 -0
- package/lib/errors/network-error.js.map +1 -0
- package/lib/errors/parsing-error.d.ts +41 -0
- package/lib/errors/parsing-error.js +69 -0
- package/lib/errors/parsing-error.js.map +1 -0
- package/lib/errors/validation-error-reporter.d.ts +34 -0
- package/lib/errors/validation-error-reporter.js +99 -0
- package/lib/errors/validation-error-reporter.js.map +1 -0
- package/lib/errors/validation-error.d.ts +58 -0
- package/lib/errors/validation-error.js +131 -0
- package/lib/errors/validation-error.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/monitoring/performance-monitor.d.ts +98 -0
- package/lib/monitoring/performance-monitor.js +260 -0
- package/lib/monitoring/performance-monitor.js.map +1 -0
- package/lib/parsers/apex-class-parser.d.ts +47 -0
- package/lib/parsers/apex-class-parser.js +368 -0
- package/lib/parsers/apex-class-parser.js.map +1 -0
- package/lib/parsers/apex-trigger-parser.d.ts +48 -0
- package/lib/parsers/apex-trigger-parser.js +229 -0
- package/lib/parsers/apex-trigger-parser.js.map +1 -0
- package/lib/parsers/aura-parser.d.ts +55 -0
- package/lib/parsers/aura-parser.js +229 -0
- package/lib/parsers/aura-parser.js.map +1 -0
- package/lib/parsers/bot-parser.d.ts +65 -0
- package/lib/parsers/bot-parser.js +225 -0
- package/lib/parsers/bot-parser.js.map +1 -0
- package/lib/parsers/custom-metadata-parser.d.ts +94 -0
- package/lib/parsers/custom-metadata-parser.js +199 -0
- package/lib/parsers/custom-metadata-parser.js.map +1 -0
- package/lib/parsers/custom-object-parser.d.ts +62 -0
- package/lib/parsers/custom-object-parser.js +297 -0
- package/lib/parsers/custom-object-parser.js.map +1 -0
- package/lib/parsers/email-template-parser.d.ts +64 -0
- package/lib/parsers/email-template-parser.js +238 -0
- package/lib/parsers/email-template-parser.js.map +1 -0
- package/lib/parsers/error-resilient-parser.d.ts +110 -0
- package/lib/parsers/error-resilient-parser.js +277 -0
- package/lib/parsers/error-resilient-parser.js.map +1 -0
- package/lib/parsers/flexipage-parser.d.ts +64 -0
- package/lib/parsers/flexipage-parser.js +196 -0
- package/lib/parsers/flexipage-parser.js.map +1 -0
- package/lib/parsers/flow-parser.d.ts +54 -0
- package/lib/parsers/flow-parser.js +287 -0
- package/lib/parsers/flow-parser.js.map +1 -0
- package/lib/parsers/genai-prompt-parser.d.ts +67 -0
- package/lib/parsers/genai-prompt-parser.js +160 -0
- package/lib/parsers/genai-prompt-parser.js.map +1 -0
- package/lib/parsers/layout-parser.d.ts +64 -0
- package/lib/parsers/layout-parser.js +267 -0
- package/lib/parsers/layout-parser.js.map +1 -0
- package/lib/parsers/lwc-parser.d.ts +60 -0
- package/lib/parsers/lwc-parser.js +264 -0
- package/lib/parsers/lwc-parser.js.map +1 -0
- package/lib/parsers/permission-set-parser.d.ts +86 -0
- package/lib/parsers/permission-set-parser.js +152 -0
- package/lib/parsers/permission-set-parser.js.map +1 -0
- package/lib/parsers/profile-parser.d.ts +81 -0
- package/lib/parsers/profile-parser.js +141 -0
- package/lib/parsers/profile-parser.js.map +1 -0
- package/lib/parsers/visualforce-parser.d.ts +47 -0
- package/lib/parsers/visualforce-parser.js +180 -0
- package/lib/parsers/visualforce-parser.js.map +1 -0
- package/lib/provisioning/data-provisioner.d.ts +88 -0
- package/lib/provisioning/data-provisioner.js +257 -0
- package/lib/provisioning/data-provisioner.js.map +1 -0
- package/lib/scanner/custom-structure-scanner.d.ts +66 -0
- package/lib/scanner/custom-structure-scanner.js +229 -0
- package/lib/scanner/custom-structure-scanner.js.map +1 -0
- package/lib/scanner/forceignore-parser.d.ts +69 -0
- package/lib/scanner/forceignore-parser.js +195 -0
- package/lib/scanner/forceignore-parser.js.map +1 -0
- package/lib/scanner/metadata-format-scanner.d.ts +77 -0
- package/lib/scanner/metadata-format-scanner.js +282 -0
- package/lib/scanner/metadata-format-scanner.js.map +1 -0
- package/lib/scanner/monorepo-scanner.d.ts +71 -0
- package/lib/scanner/monorepo-scanner.js +225 -0
- package/lib/scanner/monorepo-scanner.js.map +1 -0
- package/lib/scanner/project-validator.d.ts +55 -0
- package/lib/scanner/project-validator.js +235 -0
- package/lib/scanner/project-validator.js.map +1 -0
- package/lib/scanner/sfdx-project-detector.d.ts +86 -0
- package/lib/scanner/sfdx-project-detector.js +240 -0
- package/lib/scanner/sfdx-project-detector.js.map +1 -0
- package/lib/scanner/structure-validator.d.ts +64 -0
- package/lib/scanner/structure-validator.js +296 -0
- package/lib/scanner/structure-validator.js.map +1 -0
- package/lib/services/metadata-scanner-service.d.ts +64 -0
- package/lib/services/metadata-scanner-service.js +651 -0
- package/lib/services/metadata-scanner-service.js.map +1 -0
- package/lib/types/agentforce.d.ts +157 -0
- package/lib/types/agentforce.js +2 -0
- package/lib/types/agentforce.js.map +1 -0
- package/lib/types/dependency.d.ts +98 -0
- package/lib/types/dependency.js +5 -0
- package/lib/types/dependency.js.map +1 -0
- package/lib/types/deployment-plan.d.ts +81 -0
- package/lib/types/deployment-plan.js +6 -0
- package/lib/types/deployment-plan.js.map +1 -0
- package/lib/types/deployment.d.ts +88 -0
- package/lib/types/deployment.js +5 -0
- package/lib/types/deployment.js.map +1 -0
- package/lib/types/graph.d.ts +35 -0
- package/lib/types/graph.js +5 -0
- package/lib/types/graph.js.map +1 -0
- package/lib/types/index.d.ts +12 -0
- package/lib/types/index.js +17 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/metadata.d.ts +101 -0
- package/lib/types/metadata.js +13 -0
- package/lib/types/metadata.js.map +1 -0
- package/lib/types/project.d.ts +156 -0
- package/lib/types/project.js +56 -0
- package/lib/types/project.js.map +1 -0
- package/lib/types/salesforce/apex.d.ts +94 -0
- package/lib/types/salesforce/apex.js +6 -0
- package/lib/types/salesforce/apex.js.map +1 -0
- package/lib/types/salesforce/aura.d.ts +150 -0
- package/lib/types/salesforce/aura.js +6 -0
- package/lib/types/salesforce/aura.js.map +1 -0
- package/lib/types/salesforce/bot.d.ts +293 -0
- package/lib/types/salesforce/bot.js +6 -0
- package/lib/types/salesforce/bot.js.map +1 -0
- package/lib/types/salesforce/common.d.ts +15 -0
- package/lib/types/salesforce/common.js +5 -0
- package/lib/types/salesforce/common.js.map +1 -0
- package/lib/types/salesforce/custom-metadata.d.ts +92 -0
- package/lib/types/salesforce/custom-metadata.js +6 -0
- package/lib/types/salesforce/custom-metadata.js.map +1 -0
- package/lib/types/salesforce/email.d.ts +56 -0
- package/lib/types/salesforce/email.js +6 -0
- package/lib/types/salesforce/email.js.map +1 -0
- package/lib/types/salesforce/flexipage.d.ts +149 -0
- package/lib/types/salesforce/flexipage.js +6 -0
- package/lib/types/salesforce/flexipage.js.map +1 -0
- package/lib/types/salesforce/flow.d.ts +516 -0
- package/lib/types/salesforce/flow.js +6 -0
- package/lib/types/salesforce/flow.js.map +1 -0
- package/lib/types/salesforce/genai.d.ts +67 -0
- package/lib/types/salesforce/genai.js +6 -0
- package/lib/types/salesforce/genai.js.map +1 -0
- package/lib/types/salesforce/index.d.ts +27 -0
- package/lib/types/salesforce/index.js +43 -0
- package/lib/types/salesforce/index.js.map +1 -0
- package/lib/types/salesforce/layout.d.ts +236 -0
- package/lib/types/salesforce/layout.js +6 -0
- package/lib/types/salesforce/layout.js.map +1 -0
- package/lib/types/salesforce/lwc.d.ts +123 -0
- package/lib/types/salesforce/lwc.js +6 -0
- package/lib/types/salesforce/lwc.js.map +1 -0
- package/lib/types/salesforce/object.d.ts +427 -0
- package/lib/types/salesforce/object.js +6 -0
- package/lib/types/salesforce/object.js.map +1 -0
- package/lib/types/salesforce/parser-types.d.ts +79 -0
- package/lib/types/salesforce/parser-types.js +80 -0
- package/lib/types/salesforce/parser-types.js.map +1 -0
- package/lib/types/salesforce/permission.d.ts +289 -0
- package/lib/types/salesforce/permission.js +6 -0
- package/lib/types/salesforce/permission.js.map +1 -0
- package/lib/types/salesforce/resource.d.ts +93 -0
- package/lib/types/salesforce/resource.js +6 -0
- package/lib/types/salesforce/resource.js.map +1 -0
- package/lib/types/salesforce/visualforce.d.ts +70 -0
- package/lib/types/salesforce/visualforce.js +6 -0
- package/lib/types/salesforce/visualforce.js.map +1 -0
- package/lib/utils/cache-manager.d.ts +158 -0
- package/lib/utils/cache-manager.js +429 -0
- package/lib/utils/cache-manager.js.map +1 -0
- package/lib/utils/deployment-plan-manager.d.ts +40 -0
- package/lib/utils/deployment-plan-manager.js +183 -0
- package/lib/utils/deployment-plan-manager.js.map +1 -0
- package/lib/utils/error-aggregator.d.ts +117 -0
- package/lib/utils/error-aggregator.js +268 -0
- package/lib/utils/error-aggregator.js.map +1 -0
- package/lib/utils/file-system.d.ts +62 -0
- package/lib/utils/file-system.js +167 -0
- package/lib/utils/file-system.js.map +1 -0
- package/lib/utils/functional.d.ts +52 -0
- package/lib/utils/functional.js +61 -0
- package/lib/utils/functional.js.map +1 -0
- package/lib/utils/graph-algorithms.d.ts +53 -0
- package/lib/utils/graph-algorithms.js +177 -0
- package/lib/utils/graph-algorithms.js.map +1 -0
- package/lib/utils/logger.d.ts +154 -0
- package/lib/utils/logger.js +327 -0
- package/lib/utils/logger.js.map +1 -0
- package/lib/utils/network-handler.d.ts +64 -0
- package/lib/utils/network-handler.js +147 -0
- package/lib/utils/network-handler.js.map +1 -0
- package/lib/utils/performance.d.ts +148 -0
- package/lib/utils/performance.js +294 -0
- package/lib/utils/performance.js.map +1 -0
- package/lib/utils/string.d.ts +197 -0
- package/lib/utils/string.js +331 -0
- package/lib/utils/string.js.map +1 -0
- package/lib/utils/xml.d.ts +97 -0
- package/lib/utils/xml.js +227 -0
- package/lib/utils/xml.js.map +1 -0
- package/lib/validators/xml-metadata-validator.d.ts +106 -0
- package/lib/validators/xml-metadata-validator.js +509 -0
- package/lib/validators/xml-metadata-validator.js.map +1 -0
- package/lib/waves/priority-wave-generator-ai.d.ts +85 -0
- package/lib/waves/priority-wave-generator-ai.js +191 -0
- package/lib/waves/priority-wave-generator-ai.js.map +1 -0
- package/lib/waves/priority-wave-generator.d.ts +47 -0
- package/lib/waves/priority-wave-generator.js +88 -0
- package/lib/waves/priority-wave-generator.js.map +1 -0
- package/lib/waves/test-optimizer.d.ts +155 -0
- package/lib/waves/test-optimizer.js +290 -0
- package/lib/waves/test-optimizer.js.map +1 -0
- package/lib/waves/wave-builder.d.ts +147 -0
- package/lib/waves/wave-builder.js +286 -0
- package/lib/waves/wave-builder.js.map +1 -0
- package/lib/waves/wave-diff-generator.d.ts +17 -0
- package/lib/waves/wave-diff-generator.js +6 -0
- package/lib/waves/wave-diff-generator.js.map +1 -0
- package/lib/waves/wave-executor.d.ts +33 -0
- package/lib/waves/wave-executor.js +50 -0
- package/lib/waves/wave-executor.js.map +1 -0
- package/lib/waves/wave-merger.d.ts +96 -0
- package/lib/waves/wave-merger.js +181 -0
- package/lib/waves/wave-merger.js.map +1 -0
- package/lib/waves/wave-metadata-generator.d.ts +13 -0
- package/lib/waves/wave-metadata-generator.js +12 -0
- package/lib/waves/wave-metadata-generator.js.map +1 -0
- package/lib/waves/wave-splitter.d.ts +154 -0
- package/lib/waves/wave-splitter.js +307 -0
- package/lib/waves/wave-splitter.js.map +1 -0
- package/lib/waves/wave-validator.d.ts +17 -0
- package/lib/waves/wave-validator.js +15 -0
- package/lib/waves/wave-validator.js.map +1 -0
- package/messages/analyze.json +18 -0
- package/messages/config.json +29 -0
- package/messages/resume.json +9 -0
- package/messages/start.json +24 -0
- package/messages/status.json +8 -0
- package/messages/validate.json +9 -0
- package/npm-shrinkwrap.json +25676 -0
- package/oclif.lock +11988 -0
- package/oclif.manifest.json +589 -0
- package/package.json +224 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Salesforce Permission metadata
|
|
3
|
+
* Represents PermissionSet and Profile metadata structures
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Permission Set metadata (.permissionset-meta.xml)
|
|
7
|
+
*/
|
|
8
|
+
export type PermissionSetMetadata = {
|
|
9
|
+
description?: string;
|
|
10
|
+
hasActivationRequired?: boolean;
|
|
11
|
+
label: string;
|
|
12
|
+
license?: string;
|
|
13
|
+
applicationVisibilities?: PermissionSetApplicationVisibility[];
|
|
14
|
+
classAccesses?: PermissionSetApexClassAccess[];
|
|
15
|
+
customMetadataTypeAccesses?: PermissionSetCustomMetadataTypeAccess[];
|
|
16
|
+
customPermissions?: PermissionSetCustomPermissions[];
|
|
17
|
+
customSettingAccesses?: PermissionSetCustomSettingAccess[];
|
|
18
|
+
externalDataSourceAccesses?: PermissionSetExternalDataSourceAccess[];
|
|
19
|
+
fieldPermissions?: PermissionSetFieldPermissions[];
|
|
20
|
+
flowAccesses?: PermissionSetFlowAccess[];
|
|
21
|
+
objectPermissions?: PermissionSetObjectPermissions[];
|
|
22
|
+
pageAccesses?: PermissionSetApexPageAccess[];
|
|
23
|
+
recordTypeVisibilities?: PermissionSetRecordTypeVisibility[];
|
|
24
|
+
tabSettings?: PermissionSetTabVisibility[];
|
|
25
|
+
userPermissions?: PermissionSetUserPermission[];
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Profile metadata (.profile-meta.xml)
|
|
29
|
+
*/
|
|
30
|
+
export type ProfileMetadata = {
|
|
31
|
+
custom?: boolean;
|
|
32
|
+
description?: string;
|
|
33
|
+
userLicense?: string;
|
|
34
|
+
applicationVisibilities?: ProfileApplicationVisibility[];
|
|
35
|
+
classAccesses?: ProfileApexClassAccess[];
|
|
36
|
+
customMetadataTypeAccesses?: ProfileCustomMetadataTypeAccess[];
|
|
37
|
+
customPermissions?: ProfileCustomPermissions[];
|
|
38
|
+
customSettingAccesses?: ProfileCustomSettingAccess[];
|
|
39
|
+
externalDataSourceAccesses?: ProfileExternalDataSourceAccess[];
|
|
40
|
+
fieldPermissions?: ProfileFieldPermissions[];
|
|
41
|
+
flowAccesses?: ProfileFlowAccess[];
|
|
42
|
+
layoutAssignments?: ProfileLayoutAssignment[];
|
|
43
|
+
loginHours?: ProfileLoginHours;
|
|
44
|
+
loginIpRanges?: ProfileLoginIpRange[];
|
|
45
|
+
objectPermissions?: ProfileObjectPermissions[];
|
|
46
|
+
pageAccesses?: ProfileApexPageAccess[];
|
|
47
|
+
recordTypeVisibilities?: ProfileRecordTypeVisibility[];
|
|
48
|
+
tabVisibilities?: ProfileTabVisibility[];
|
|
49
|
+
userPermissions?: ProfileUserPermission[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Permission Set Application Visibility
|
|
53
|
+
*/
|
|
54
|
+
export type PermissionSetApplicationVisibility = {
|
|
55
|
+
application: string;
|
|
56
|
+
visible: boolean;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Profile Application Visibility
|
|
60
|
+
*/
|
|
61
|
+
export type ProfileApplicationVisibility = {
|
|
62
|
+
application: string;
|
|
63
|
+
default: boolean;
|
|
64
|
+
visible: boolean;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Permission Set Apex Class Access
|
|
68
|
+
*/
|
|
69
|
+
export type PermissionSetApexClassAccess = {
|
|
70
|
+
apexClass: string;
|
|
71
|
+
enabled: boolean;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Profile Apex Class Access
|
|
75
|
+
*/
|
|
76
|
+
export type ProfileApexClassAccess = {
|
|
77
|
+
apexClass: string;
|
|
78
|
+
enabled: boolean;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Permission Set Custom Metadata Type Access
|
|
82
|
+
*/
|
|
83
|
+
export type PermissionSetCustomMetadataTypeAccess = {
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
name: string;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Profile Custom Metadata Type Access
|
|
89
|
+
*/
|
|
90
|
+
export type ProfileCustomMetadataTypeAccess = {
|
|
91
|
+
enabled: boolean;
|
|
92
|
+
name: string;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Permission Set Custom Permissions
|
|
96
|
+
*/
|
|
97
|
+
export type PermissionSetCustomPermissions = {
|
|
98
|
+
enabled: boolean;
|
|
99
|
+
name: string;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Profile Custom Permissions
|
|
103
|
+
*/
|
|
104
|
+
export type ProfileCustomPermissions = {
|
|
105
|
+
enabled: boolean;
|
|
106
|
+
name: string;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Permission Set Custom Setting Access
|
|
110
|
+
*/
|
|
111
|
+
export type PermissionSetCustomSettingAccess = {
|
|
112
|
+
enabled: boolean;
|
|
113
|
+
name: string;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Profile Custom Setting Access
|
|
117
|
+
*/
|
|
118
|
+
export type ProfileCustomSettingAccess = {
|
|
119
|
+
enabled: boolean;
|
|
120
|
+
name: string;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Permission Set External Data Source Access
|
|
124
|
+
*/
|
|
125
|
+
export type PermissionSetExternalDataSourceAccess = {
|
|
126
|
+
enabled: boolean;
|
|
127
|
+
externalDataSource: string;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Profile External Data Source Access
|
|
131
|
+
*/
|
|
132
|
+
export type ProfileExternalDataSourceAccess = {
|
|
133
|
+
enabled: boolean;
|
|
134
|
+
externalDataSource: string;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Permission Set Field Permissions
|
|
138
|
+
*/
|
|
139
|
+
export type PermissionSetFieldPermissions = {
|
|
140
|
+
editable: boolean;
|
|
141
|
+
field: string;
|
|
142
|
+
readable?: boolean;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Profile Field Permissions
|
|
146
|
+
*/
|
|
147
|
+
export type ProfileFieldPermissions = {
|
|
148
|
+
editable: boolean;
|
|
149
|
+
field: string;
|
|
150
|
+
readable?: boolean;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Permission Set Flow Access
|
|
154
|
+
*/
|
|
155
|
+
export type PermissionSetFlowAccess = {
|
|
156
|
+
enabled: boolean;
|
|
157
|
+
flow: string;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Profile Flow Access
|
|
161
|
+
*/
|
|
162
|
+
export type ProfileFlowAccess = {
|
|
163
|
+
enabled: boolean;
|
|
164
|
+
flow: string;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Permission Set Object Permissions
|
|
168
|
+
*/
|
|
169
|
+
export type PermissionSetObjectPermissions = {
|
|
170
|
+
allowCreate: boolean;
|
|
171
|
+
allowDelete: boolean;
|
|
172
|
+
allowEdit: boolean;
|
|
173
|
+
allowRead: boolean;
|
|
174
|
+
modifyAllRecords: boolean;
|
|
175
|
+
object: string;
|
|
176
|
+
viewAllRecords: boolean;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Profile Object Permissions
|
|
180
|
+
*/
|
|
181
|
+
export type ProfileObjectPermissions = {
|
|
182
|
+
allowCreate: boolean;
|
|
183
|
+
allowDelete: boolean;
|
|
184
|
+
allowEdit: boolean;
|
|
185
|
+
allowRead: boolean;
|
|
186
|
+
modifyAllRecords: boolean;
|
|
187
|
+
object: string;
|
|
188
|
+
viewAllRecords: boolean;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Permission Set Apex Page Access
|
|
192
|
+
*/
|
|
193
|
+
export type PermissionSetApexPageAccess = {
|
|
194
|
+
apexPage: string;
|
|
195
|
+
enabled: boolean;
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Profile Apex Page Access
|
|
199
|
+
*/
|
|
200
|
+
export type ProfileApexPageAccess = {
|
|
201
|
+
apexPage: string;
|
|
202
|
+
enabled: boolean;
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Permission Set Record Type Visibility
|
|
206
|
+
*/
|
|
207
|
+
export type PermissionSetRecordTypeVisibility = {
|
|
208
|
+
recordType: string;
|
|
209
|
+
visible: boolean;
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Profile Record Type Visibility
|
|
213
|
+
*/
|
|
214
|
+
export type ProfileRecordTypeVisibility = {
|
|
215
|
+
default: boolean;
|
|
216
|
+
personAccountDefault?: boolean;
|
|
217
|
+
recordType: string;
|
|
218
|
+
visible: boolean;
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Permission Set Tab Visibility
|
|
222
|
+
*/
|
|
223
|
+
export type PermissionSetTabVisibility = {
|
|
224
|
+
tab: string;
|
|
225
|
+
visibility: PermissionSetTabSettingsVisibility;
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Permission Set Tab Settings Visibility
|
|
229
|
+
*/
|
|
230
|
+
export type PermissionSetTabSettingsVisibility = 'Visible' | 'Available' | 'None';
|
|
231
|
+
/**
|
|
232
|
+
* Profile Tab Visibility
|
|
233
|
+
*/
|
|
234
|
+
export type ProfileTabVisibility = {
|
|
235
|
+
tab: string;
|
|
236
|
+
visibility: ProfileTabVisibilityType;
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Profile Tab Visibility Type
|
|
240
|
+
*/
|
|
241
|
+
export type ProfileTabVisibilityType = 'DefaultOn' | 'DefaultOff' | 'Hidden';
|
|
242
|
+
/**
|
|
243
|
+
* Permission Set User Permission
|
|
244
|
+
*/
|
|
245
|
+
export type PermissionSetUserPermission = {
|
|
246
|
+
enabled: boolean;
|
|
247
|
+
name: string;
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* Profile User Permission
|
|
251
|
+
*/
|
|
252
|
+
export type ProfileUserPermission = {
|
|
253
|
+
enabled: boolean;
|
|
254
|
+
name: string;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* Profile Layout Assignment
|
|
258
|
+
*/
|
|
259
|
+
export type ProfileLayoutAssignment = {
|
|
260
|
+
layout: string;
|
|
261
|
+
recordType?: string;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Profile Login Hours
|
|
265
|
+
*/
|
|
266
|
+
export type ProfileLoginHours = {
|
|
267
|
+
fridayEnd?: string;
|
|
268
|
+
fridayStart?: string;
|
|
269
|
+
mondayEnd?: string;
|
|
270
|
+
mondayStart?: string;
|
|
271
|
+
saturdayEnd?: string;
|
|
272
|
+
saturdayStart?: string;
|
|
273
|
+
sundayEnd?: string;
|
|
274
|
+
sundayStart?: string;
|
|
275
|
+
thursdayEnd?: string;
|
|
276
|
+
thursdayStart?: string;
|
|
277
|
+
tuesdayEnd?: string;
|
|
278
|
+
tuesdayStart?: string;
|
|
279
|
+
wednesdayEnd?: string;
|
|
280
|
+
wednesdayStart?: string;
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
283
|
+
* Profile Login IP Range
|
|
284
|
+
*/
|
|
285
|
+
export type ProfileLoginIpRange = {
|
|
286
|
+
description?: string;
|
|
287
|
+
endAddress: string;
|
|
288
|
+
startAddress: string;
|
|
289
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/types/salesforce/permission.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Salesforce Resource metadata
|
|
3
|
+
* Represents StaticResource, CustomLabel, and related metadata structures
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Static Resource metadata (.resource-meta.xml)
|
|
7
|
+
*/
|
|
8
|
+
export type StaticResourceMetadata = {
|
|
9
|
+
cacheControl: StaticResourceCacheControl;
|
|
10
|
+
contentType: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Static Resource Cache Control
|
|
15
|
+
*/
|
|
16
|
+
export type StaticResourceCacheControl = 'Private' | 'Public';
|
|
17
|
+
/**
|
|
18
|
+
* Custom Labels metadata (CustomLabels.labels-meta.xml)
|
|
19
|
+
*/
|
|
20
|
+
export type CustomLabelsMetadata = {
|
|
21
|
+
labels: CustomLabel[];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Custom Label
|
|
25
|
+
*/
|
|
26
|
+
export type CustomLabel = {
|
|
27
|
+
fullName: string;
|
|
28
|
+
categories?: string;
|
|
29
|
+
language: string;
|
|
30
|
+
protected: boolean;
|
|
31
|
+
shortDescription: string;
|
|
32
|
+
value: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Custom Label language codes
|
|
36
|
+
*/
|
|
37
|
+
export type CustomLabelLanguage = 'en_US' | 'de' | 'es' | 'fr' | 'it' | 'ja' | 'sv' | 'ko' | 'zh_TW' | 'zh_CN' | 'pt_BR' | 'nl_NL' | 'da' | 'th' | 'fi' | 'ru' | 'es_MX' | 'no';
|
|
38
|
+
/**
|
|
39
|
+
* Document metadata (for Document folder)
|
|
40
|
+
*/
|
|
41
|
+
export type DocumentMetadata = {
|
|
42
|
+
description?: string;
|
|
43
|
+
internalUseOnly: boolean;
|
|
44
|
+
keywords?: string;
|
|
45
|
+
name: string;
|
|
46
|
+
public: boolean;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Content Asset metadata
|
|
50
|
+
*/
|
|
51
|
+
export type ContentAssetMetadata = {
|
|
52
|
+
format?: ContentAssetFormat;
|
|
53
|
+
isVisibleByExternalUsers?: boolean;
|
|
54
|
+
language: string;
|
|
55
|
+
masterLabel: string;
|
|
56
|
+
relationships?: ContentAssetRelationships;
|
|
57
|
+
versions?: ContentAssetVersions;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Content Asset Format
|
|
61
|
+
*/
|
|
62
|
+
export type ContentAssetFormat = 'Original' | 'ZippedVersions';
|
|
63
|
+
/**
|
|
64
|
+
* Content Asset Relationships
|
|
65
|
+
*/
|
|
66
|
+
export type ContentAssetRelationships = {
|
|
67
|
+
emailTemplate?: ContentAssetLink[];
|
|
68
|
+
insightType?: ContentAssetLink[];
|
|
69
|
+
organization?: ContentAssetLink[];
|
|
70
|
+
userEmailPreferredPerson?: ContentAssetLink[];
|
|
71
|
+
workspace?: ContentAssetLink[];
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Content Asset Link
|
|
75
|
+
*/
|
|
76
|
+
export type ContentAssetLink = {
|
|
77
|
+
cascade?: boolean;
|
|
78
|
+
name: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Content Asset Versions
|
|
82
|
+
*/
|
|
83
|
+
export type ContentAssetVersions = {
|
|
84
|
+
version: ContentAssetVersion[];
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Content Asset Version
|
|
88
|
+
*/
|
|
89
|
+
export type ContentAssetVersion = {
|
|
90
|
+
number: string;
|
|
91
|
+
pathOnClient: string;
|
|
92
|
+
zipEntry?: string;
|
|
93
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/types/salesforce/resource.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Visualforce metadata
|
|
3
|
+
* Represents ApexPage and ApexComponent metadata structures
|
|
4
|
+
*/
|
|
5
|
+
import type { PackageVersion } from './common.js';
|
|
6
|
+
/**
|
|
7
|
+
* Visualforce Page metadata (.page-meta.xml)
|
|
8
|
+
*/
|
|
9
|
+
export type VisualforcePageMetadata = {
|
|
10
|
+
apiVersion: string;
|
|
11
|
+
label: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
availableInTouch?: boolean;
|
|
14
|
+
confirmationTokenRequired?: boolean;
|
|
15
|
+
packageVersions?: PackageVersion[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Visualforce Component metadata (.component-meta.xml)
|
|
19
|
+
*/
|
|
20
|
+
export type VisualforceComponentMetadata = {
|
|
21
|
+
apiVersion: string;
|
|
22
|
+
label: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
packageVersions?: PackageVersion[];
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Visualforce tag types
|
|
28
|
+
*/
|
|
29
|
+
export type VisualforceTagType = 'apex' | 'c' | 'chatter' | 'flow' | 'ideas' | 'knowledge' | 'messaging' | 'site' | 'support' | 'topics';
|
|
30
|
+
/**
|
|
31
|
+
* Visualforce standard controller
|
|
32
|
+
*/
|
|
33
|
+
export type VisualforceStandardController = string;
|
|
34
|
+
/**
|
|
35
|
+
* Visualforce attribute
|
|
36
|
+
*/
|
|
37
|
+
export type VisualforceAttribute = {
|
|
38
|
+
name: string;
|
|
39
|
+
type: VisualforceAttributeType;
|
|
40
|
+
required?: boolean;
|
|
41
|
+
default?: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Visualforce attribute type
|
|
46
|
+
* For SObject types, use the SObject API name directly (e.g., 'Account', 'Contact')
|
|
47
|
+
*/
|
|
48
|
+
export type VisualforceAttributeType = 'String' | 'Boolean' | 'Integer' | 'Double' | 'Date' | 'DateTime' | 'Id' | 'Object' | `${string}__c` | 'Account' | 'Contact' | 'Lead' | 'Opportunity' | 'Case' | 'User' | (string & NonNullable<unknown>);
|
|
49
|
+
/**
|
|
50
|
+
* Visualforce tag reference
|
|
51
|
+
*/
|
|
52
|
+
export type VisualforceTagReference = {
|
|
53
|
+
namespace: string;
|
|
54
|
+
tagName: string;
|
|
55
|
+
attributes?: Record<string, string>;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Visualforce controller reference
|
|
59
|
+
*/
|
|
60
|
+
export type VisualforceControllerReference = {
|
|
61
|
+
type: 'standard' | 'custom' | 'extension';
|
|
62
|
+
name: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Visualforce action reference
|
|
66
|
+
*/
|
|
67
|
+
export type VisualforceActionReference = {
|
|
68
|
+
controller: string;
|
|
69
|
+
method: string;
|
|
70
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualforce.js","sourceRoot":"","sources":["../../../src/types/salesforce/visualforce.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache entry with TTL (Time To Live)
|
|
3
|
+
*/
|
|
4
|
+
export type CacheEntry<T> = {
|
|
5
|
+
value: T;
|
|
6
|
+
expiresAt: number;
|
|
7
|
+
createdAt: number;
|
|
8
|
+
hits: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Cache statistics for monitoring
|
|
12
|
+
*/
|
|
13
|
+
export type CacheStats = {
|
|
14
|
+
hits: number;
|
|
15
|
+
misses: number;
|
|
16
|
+
hitRate: number;
|
|
17
|
+
size: number;
|
|
18
|
+
evictions: number;
|
|
19
|
+
memorySizeBytes: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Cache configuration
|
|
23
|
+
*/
|
|
24
|
+
export type CacheConfig = {
|
|
25
|
+
/** Max entries in cache */
|
|
26
|
+
maxSize: number;
|
|
27
|
+
/** Time to live in milliseconds */
|
|
28
|
+
ttlMs: number;
|
|
29
|
+
/** Enable persistent cache (disk) */
|
|
30
|
+
enablePersistence: boolean;
|
|
31
|
+
/** Cache directory for persistent cache */
|
|
32
|
+
cacheDirectory?: string;
|
|
33
|
+
/** Enable file locking to prevent concurrent access */
|
|
34
|
+
enableLocking: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Singleton Cache Manager with TTL, persistence, and locking
|
|
38
|
+
*
|
|
39
|
+
* **Singleton Pattern**: Ensures only one instance exists per process
|
|
40
|
+
* **File Locking**: Prevents concurrent access across processes
|
|
41
|
+
* **Thread-safe**: Safe for concurrent operations within same process
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const cache = CacheManager.getInstance();
|
|
46
|
+
* await cache.set('key', { data: 'value' });
|
|
47
|
+
* const value = await cache.get('key');
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare class CacheManager {
|
|
51
|
+
private static instance;
|
|
52
|
+
private static lockFilePath;
|
|
53
|
+
private cache;
|
|
54
|
+
private config;
|
|
55
|
+
private stats;
|
|
56
|
+
private lockFileHandle;
|
|
57
|
+
/**
|
|
58
|
+
* Private constructor - use getInstance() instead
|
|
59
|
+
* Singleton pattern prevents multiple instances
|
|
60
|
+
*/
|
|
61
|
+
private constructor();
|
|
62
|
+
/**
|
|
63
|
+
* Get singleton instance
|
|
64
|
+
* Thread-safe within same process
|
|
65
|
+
*/
|
|
66
|
+
static getInstance(config?: Partial<CacheConfig>): CacheManager;
|
|
67
|
+
/**
|
|
68
|
+
* Reset singleton (for testing only)
|
|
69
|
+
*/
|
|
70
|
+
static resetInstance(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Acquire file lock to prevent concurrent access across processes
|
|
73
|
+
*
|
|
74
|
+
* @param orgAlias - Salesforce org alias to lock
|
|
75
|
+
* @returns True if lock acquired, false if already locked
|
|
76
|
+
*/
|
|
77
|
+
acquireLock(orgAlias: string): Promise<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* Release file lock
|
|
80
|
+
*/
|
|
81
|
+
releaseLock(): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Check if another instance is running for the same org
|
|
84
|
+
*/
|
|
85
|
+
isLocked(orgAlias: string): Promise<false | {
|
|
86
|
+
pid: number;
|
|
87
|
+
timestamp: string;
|
|
88
|
+
hostname: string;
|
|
89
|
+
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Get value from cache
|
|
92
|
+
*/
|
|
93
|
+
get<T>(key: string): T | null;
|
|
94
|
+
/**
|
|
95
|
+
* Set value in cache with TTL
|
|
96
|
+
*/
|
|
97
|
+
set<T>(key: string, value: T, ttlMs?: number): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Check if key exists and is not expired
|
|
100
|
+
*/
|
|
101
|
+
has(key: string): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Delete specific key
|
|
104
|
+
*/
|
|
105
|
+
delete(key: string): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Clear all cache entries
|
|
108
|
+
*/
|
|
109
|
+
clear(): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Get cache statistics
|
|
112
|
+
*/
|
|
113
|
+
getStats(): CacheStats;
|
|
114
|
+
/**
|
|
115
|
+
* Load cache from disk
|
|
116
|
+
*/
|
|
117
|
+
loadFromDisk(): Promise<number>;
|
|
118
|
+
/**
|
|
119
|
+
* Clean expired entries (garbage collection)
|
|
120
|
+
*/
|
|
121
|
+
cleanExpired(): Promise<number>;
|
|
122
|
+
/**
|
|
123
|
+
* Get all keys in cache
|
|
124
|
+
*/
|
|
125
|
+
keys(): string[];
|
|
126
|
+
/**
|
|
127
|
+
* Get cache size
|
|
128
|
+
*/
|
|
129
|
+
size(): number;
|
|
130
|
+
/**
|
|
131
|
+
* Update configuration
|
|
132
|
+
*/
|
|
133
|
+
configure(config: Partial<CacheConfig>): void;
|
|
134
|
+
/**
|
|
135
|
+
* Evict oldest entry (LRU-like)
|
|
136
|
+
*/
|
|
137
|
+
private evictOldest;
|
|
138
|
+
/**
|
|
139
|
+
* Update hit rate calculation
|
|
140
|
+
*/
|
|
141
|
+
private updateHitRate;
|
|
142
|
+
/**
|
|
143
|
+
* Estimate memory size
|
|
144
|
+
*/
|
|
145
|
+
private updateMemorySize;
|
|
146
|
+
/**
|
|
147
|
+
* Persist entry to disk
|
|
148
|
+
*/
|
|
149
|
+
private persistEntry;
|
|
150
|
+
/**
|
|
151
|
+
* Delete persisted entry
|
|
152
|
+
*/
|
|
153
|
+
private deletePersistedEntry;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get default cache instance (singleton)
|
|
157
|
+
*/
|
|
158
|
+
export declare function getCacheManager(config?: Partial<CacheConfig>): CacheManager;
|