UNPKG

sf-agent-framework

Version:

AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction

536 lines (450 loc) 14.7 kB
# Data Validation Script Template template: name: "Salesforce Data Validation Scripts" description: "Comprehensive template for creating automated data validation scripts for Salesforce migrations and integrations" version: "2.0.0" type: "validation-script" parameters: - name: "scriptName" type: "string" description: "Name of the validation script" required: true - name: "projectName" type: "string" description: "Project or migration name" required: true - name: "scriptType" type: "string" description: "Type of validation script (Apex, Python, SOQL, etc.)" required: true - name: "executionEnvironment" type: "string" description: "Where the script will run" default: "Salesforce" - name: "version" type: "string" description: "Script version" default: "1.0" sections: script_overview: title: "Validation Script Overview" content: | ## {{scriptName}} - Validation Script **Project:** {{projectName}} **Script Type:** {{scriptType}} **Version:** {{version}} **Environment:** {{executionEnvironment}} **Created Date:** {{createdDate}} **Author:** {{author}} ### Purpose {{scriptPurpose}} ### Validation Scope {{#each validationScope}} - {{scope}} {{/each}} ### Key Metrics | Metric | Description | Threshold | |--------|-------------|-----------| {{#each keyMetrics}} | {{metric}} | {{description}} | {{threshold}} | {{/each}} prerequisites: title: "Prerequisites and Setup" content: | ## Script Prerequisites ### Environment Requirements {{#each environmentRequirements}} - **{{requirement}}**: {{description}} - Version: {{version}} - Configuration: {{configuration}} {{/each}} ### Access Requirements | Permission | Object/Field | Reason | |------------|--------------|--------| {{#each accessRequirements}} | {{permission}} | {{objectField}} | {{reason}} | {{/each}} ### Data Requirements {{#each dataRequirements}} - **{{dataSet}}** - Volume: {{volume}} - Format: {{format}} - Source: {{source}} {{/each}} ### Dependencies {{#each dependencies}} - {{dependency}}: {{version}} - Purpose: {{purpose}} - Installation: `{{installCommand}}` {{/each}} apex_validation_scripts: title: "Apex Validation Scripts" content: | ## Salesforce Apex Validation ### Main Validation Class ```apex public class {{className}} { // Configuration constants private static final Integer BATCH_SIZE = {{batchSize}}; private static final String ERROR_LOG_OBJECT = '{{errorLogObject}}'; {{#each validationMethods}} /** * {{methodDescription}} * @param {{paramName}} {{paramDescription}} * @return {{returnDescription}} */ public static {{returnType}} {{methodName}}({{parameters}}) { {{methodBody}} } {{/each}} // Error handling private static void logValidationError(String errorType, String details, Id recordId) { {{errorLoggingLogic}} } } ``` ### Batch Validation Job ```apex public class {{batchClassName}} implements Database.Batchable<sObject>, Database.Stateful { private Map<String, Integer> validationResults; private String validationConfig; public {{batchClassName}}(String config) { this.validationConfig = config; this.validationResults = new Map<String, Integer>(); } public Database.QueryLocator start(Database.BatchableContext bc) { String query = {{queryString}}; return Database.getQueryLocator(query); } public void execute(Database.BatchableContext bc, List<sObject> scope) { {{executeLogic}} } public void finish(Database.BatchableContext bc) { {{finishLogic}} } } ``` ### Scheduled Validation ```apex public class {{scheduledClassName}} implements Schedulable { public void execute(SchedulableContext sc) { {{scheduledExecutionLogic}} } } ``` soql_validation_queries: title: "SOQL Validation Queries" content: | ## SOQL-Based Validations {{#each soqlValidations}} ### {{validationName}} **Purpose:** {{purpose}} **Expected Result:** {{expectedResult}} ```sql {{query}} ``` **Validation Logic:** - Pass Condition: {{passCondition}} - Fail Condition: {{failCondition}} - Action on Failure: {{failureAction}} {{/each}} ### Aggregate Validations {{#each aggregateValidations}} #### {{aggregateName}} ```sql SELECT {{aggregateFields}} FROM {{objectName}} WHERE {{whereClause}} GROUP BY {{groupByFields}} HAVING {{havingClause}} ``` - **Threshold:** {{threshold}} - **Comparison:** {{comparison}} {{/each}} ### Cross-Object Validations {{#each crossObjectQueries}} #### {{queryName}} ```sql {{complexQuery}} ``` - **Join Type:** {{joinType}} - **Validation Rule:** {{validationRule}} {{/each}} python_validation_scripts: title: "Python Validation Scripts" content: | ## Python-Based Validation ### Main Validation Script ```python #!/usr/bin/env python3 """ {{scriptDescription}} """ import pandas as pd import numpy as np from simple_salesforce import Salesforce import logging from datetime import datetime {{#each additionalImports}} import {{import}} {{/each}} # Configuration class Config: SF_USERNAME = '{{sfUsername}}' SF_PASSWORD = '{{sfPassword}}' SF_TOKEN = '{{sfToken}}' LOG_LEVEL = '{{logLevel}}' OUTPUT_DIR = '{{outputDir}}' # Initialize logging logging.basicConfig( level=getattr(logging, Config.LOG_LEVEL), format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler(f'{Config.OUTPUT_DIR}/validation_{datetime.now().strftime("%Y%m%d_%H%M%S")}.log'), logging.StreamHandler() ] ) logger = logging.getLogger(__name__) class SalesforceValidator: def __init__(self): self.sf = Salesforce( username=Config.SF_USERNAME, password=Config.SF_PASSWORD, security_token=Config.SF_TOKEN ) self.results = {} {{#each validationFunctions}} def {{functionName}}(self, {{parameters}}): """{{functionDescription}}""" {{functionBody}} {{/each}} def run_all_validations(self): """Execute all validation checks""" logger.info("Starting validation suite...") {{#each validationCalls}} self.{{validationCall}} {{/each}} return self.generate_report() def generate_report(self): """Generate validation report""" {{reportGenerationLogic}} if __name__ == "__main__": validator = SalesforceValidator() report = validator.run_all_validations() print(report) ``` ### Data Comparison Script ```python def compare_datasets(source_df, target_df, key_columns, comparison_columns): """ Compare source and target datasets """ {{comparisonLogic}} ``` validation_utilities: title: "Validation Utility Functions" content: | ## Reusable Validation Utilities ### Data Type Validators {{#each dataTypeValidators}} #### {{validatorName}} ```{{language}} {{validatorCode}} ``` - **Usage:** {{usage}} - **Returns:** {{returns}} {{/each}} ### Format Validators {{#each formatValidators}} #### {{formatType}} Validator ```{{language}} {{validatorCode}} ``` - **Pattern:** {{pattern}} - **Examples:** {{examples}} {{/each}} ### Business Rule Validators {{#each businessRuleValidators}} #### {{ruleName}} ```{{language}} {{ruleImplementation}} ``` - **Rule Description:** {{ruleDescription}} - **Parameters:** {{parameters}} {{/each}} error_handling: title: "Error Handling and Logging" content: | ## Error Management ### Error Categories {{#each errorCategories}} - **{{category}}**: {{description}} - Severity: {{severity}} - Action: {{action}} {{/each}} ### Error Logging Structure ```json { "timestamp": "{{timestamp}}", "validationType": "{{validationType}}", "objectName": "{{objectName}}", "recordId": "{{recordId}}", "errorType": "{{errorType}}", "errorMessage": "{{errorMessage}}", "fieldValues": {{fieldValues}}, "stackTrace": "{{stackTrace}}", "remediation": "{{remediation}}" } ``` ### Error Recovery Procedures {{#each recoveryProcedures}} #### {{errorType}} Recovery 1. {{step1}} 2. {{step2}} 3. {{step3}} {{/each}} performance_optimization: title: "Performance Optimization" content: | ## Script Performance Guidelines ### Optimization Techniques {{#each optimizationTechniques}} - **{{technique}}** - Implementation: {{implementation}} - Performance Gain: {{performanceGain}} - Use Case: {{useCase}} {{/each}} ### Batch Processing Configuration | Parameter | Development | Testing | Production | |-----------|-------------|---------|------------| {{#each batchConfigs}} | {{parameter}} | {{devValue}} | {{testValue}} | {{prodValue}} | {{/each}} ### Query Optimization {{#each queryOptimizations}} #### {{optimizationName}} **Before:** ```sql {{beforeQuery}} ``` **After:** ```sql {{afterQuery}} ``` **Improvement:** {{improvement}} {{/each}} execution_monitoring: title: "Execution and Monitoring" content: | ## Script Execution Guide ### Execution Steps {{#each executionSteps}} {{stepNumber}}. **{{stepName}}** - Command: `{{command}}` - Expected Output: {{expectedOutput}} - Duration: {{estimatedDuration}} {{/each}} ### Monitoring Dashboard | Metric | Real-time | Alert Threshold | Action | |--------|-----------|-----------------|--------| {{#each monitoringMetrics}} | {{metric}} | {{realTimeValue}} | {{threshold}} | {{action}} | {{/each}} ### Success Criteria {{#each successCriteria}} - [ ] {{criterion}} - Measurement: {{measurement}} - Target: {{target}} {{/each}} ### Validation Schedule | Validation Type | Frequency | Time | Duration | |-----------------|-----------|------|----------| {{#each scheduledValidations}} | {{validationType}} | {{frequency}} | {{scheduledTime}} | {{duration}} | {{/each}} results_reporting: title: "Results and Reporting" content: | ## Validation Results Format ### Summary Report Template ``` VALIDATION SUMMARY REPORT ======================== Execution Date: {{executionDate}} Environment: {{environment}} Total Records Validated: {{totalRecords}} RESULTS: -------- Passed: {{passedCount}} ({{passedPercentage}}%) Failed: {{failedCount}} ({{failedPercentage}}%) Warnings: {{warningCount}} CRITICAL ISSUES: --------------- {{#each criticalIssues}} - {{issue}} {{/each}} RECOMMENDATIONS: --------------- {{#each recommendations}} - {{recommendation}} {{/each}} ``` ### Detailed Results Format {{detailedResultsFormat}} ### Export Options {{#each exportOptions}} - **{{format}}**: {{description}} - Command: `{{exportCommand}}` {{/each}} appendix: title: "Reference and Resources" content: | ## Additional Resources ### Code Repository - **Location:** {{repoLocation}} - **Branch:** {{branch}} - **Version Tags:** {{versionTags}} ### API Documentation {{#each apiDocs}} - [{{apiName}}]({{apiLink}}) - {{description}} {{/each}} ### Troubleshooting Guide {{#each troubleshootingItems}} #### {{issue}} - **Symptoms:** {{symptoms}} - **Cause:** {{cause}} - **Solution:** {{solution}} {{/each}} ### Contact Information - **Script Maintainer:** {{maintainer}} - **Support Team:** {{supportTeam}} - **Documentation:** {{documentationLink}} script_templates: row_count_validation: type: "SOQL" template: "SELECT COUNT() FROM {object} WHERE {condition}" field_completeness: type: "SOQL" template: "SELECT COUNT() FROM {object} WHERE {field} = null" duplicate_check: type: "SOQL" template: "SELECT {field}, COUNT(Id) FROM {object} GROUP BY {field} HAVING COUNT(Id) > 1" metadata: created: "2025-08-04" author: "SF-Agent Framework - Data Validation Engineer" type: "validation-script" audience: ["Data Engineers", "QA Engineers", "Migration Specialists", "Developers"] languages: ["Apex", "Python", "SOQL", "JavaScript"] tags: - "validation" - "automation" - "data quality" - "migration" usage_instructions: | 1. Define validation requirements and success criteria 2. Choose appropriate scripting language based on environment 3. Implement error handling and logging mechanisms 4. Test scripts with sample data before production use 5. Schedule automated execution for continuous validation 6. Monitor results and adjust thresholds as needed This template provides comprehensive validation script patterns for various scenarios.