@autobe/agent
Version:
AI backend server code generator
195 lines (187 loc) • 9.1 kB
text/typescript
import { AutoBeTestPrepareMapping } from "@autobe/interface";
/**
* Function calling interface for correcting test data preparation functions
* with compilation errors.
*
* Guides the AI agent through analyzing compilation errors and generating
* corrected prepare functions that generate realistic, constraint-compliant
* test data for E2E testing. The correction process includes property mappings
* as a Chain-of-Thought mechanism to ensure complete DTO coverage during error
* resolution.
*
* The correction follows a structured workflow: error analysis → property
* mappings (CoT mechanism) → draft correction → review and refinement.
*
* @author Michael
* @author Samchon
*/
export interface IAutoBeTestPrepareCorrectOverallApplication {
/**
* Main entry point for AI Function Call - analyzes compilation errors and
* generates corrected test data preparation function.
*
* The AI executes this function to perform the complete error correction
* workflow: compilation error analysis → property mappings → draft correction
* → code review → final corrected implementation. This multi-step process
* ensures systematic error resolution while preserving original prepare
* function functionality and maintaining complete DTO coverage.
*
* The corrector analyzes compilation diagnostics to identify specific issues,
* maps all properties to ensure no omissions during correction, develops
* correction strategies, and produces corrected code through iterative
* refinement with comprehensive review and validation.
*
* @param props Complete specification for error correction workflow including
* analysis steps, property mappings, draft implementation, review process,
* and final code generation
*/
rewrite(props: IAutoBeTestPrepareCorrectOverallApplication.IProps): void;
}
export namespace IAutoBeTestPrepareCorrectOverallApplication {
export interface IProps {
/**
* Step 1: Deep compilation error analysis and correction strategy.
*
* AI performs comprehensive analysis of compilation errors to develop
* targeted correction strategies. This step involves deep examination of
* error messages, identification of error patterns, understanding root
* causes, and planning systematic corrections.
*
* The AI examines each compilation diagnostic to understand where the
* implementation diverged from correct TypeScript usage, identifies the
* business logic intent behind the failed code, and formulates strategies
* to fix errors while preserving the original prepare function purpose.
* This analysis correlates error patterns with code structure to ensure
* corrections address root causes rather than symptoms.
*
* This deep analysis forms the foundation for all subsequent correction
* efforts, ensuring a methodical approach to resolving compilation issues.
*
* Workflow: Error diagnostic analysis → Root cause identification →
* Correction strategy planning → Business logic preservation strategy
*/
think: string;
/**
* Step 2: Property-by-property mapping table for complete DTO coverage.
*
* MUST include EVERY property from the DTO schema - no exceptions. Each
* mapping specifies:
*
* - `property`: Exact property name from DTO schema
* - `how`: How to generate the value for that property
*
* The `mappings` field is your Chain-of-Thought (CoT) mechanism - it forces
* you to explicitly think through EVERY property before coding, preventing
* omissions and incorrect data generation during error correction.
*
* Missing even a single property will cause validation failure and trigger
* regeneration.
*
* This structured approach:
*
* - Prevents property omissions through systematic coverage
* - Forces explicit decision-making for each property
* - Enables validation before code generation
* - Creates clear documentation of data generation strategy
* - Ensures corrections maintain complete DTO coverage
*
* The validator will cross-check this list against the actual DTO schema
* and reject incomplete mappings.
*/
mappings: AutoBeTestPrepareMapping[];
/**
* Step 3: Draft corrected TypeScript prepare function implementation.
*
* AI generates the first corrected version of the prepare function based on
* error analysis, property mappings, and correction strategies. This draft
* addresses all identified compilation errors while preserving the original
* data generation logic and ensuring complete DTO coverage. The code is
* compilation-error-free and follows all established conventions.
*
* The implementation incorporates lessons learned from error analysis and
* strictly follows the property mappings to produce properly typed,
* syntactically correct code that maintains the intended prepare function
* functionality. All type safety requirements and framework conventions are
* followed in this corrected implementation.
*
* Workflow: Error correction → Property mapping implementation → TypeScript
* implementation → Functional preservation
*
* DO: Resolve all compilation errors while maintaining original prepare
* function intent and complete DTO coverage
*/
draft: string;
/**
* Step 4-5: Review and finalization process.
*
* Encapsulates the review and final implementation phases into a single
* revision process. This structured approach ensures systematic validation
* and refinement of the corrected code through comprehensive review
* followed by production-ready implementation.
*
* The revision process maintains clear separation between review feedback
* and final deliverable while ensuring all corrections are properly
* validated and integrated.
*/
revise: IReviseProps;
}
/**
* Revision properties for the final review and implementation phases.
*
* This interface encapsulates the final two steps of the error correction
* workflow, ensuring systematic review and production-ready code delivery.
*/
export interface IReviseProps {
/**
* Step 4: Code review and correction validation.
*
* AI performs a comprehensive review of the corrected draft implementation,
* validating that all compilation errors have been resolved and that the
* code maintains the original functionality with complete DTO coverage.
* This review examines both technical correctness and data generation logic
* preservation.
*
* The review process includes verification of TypeScript compilation
* compatibility, property mapping completeness, constraint compliance,
* nested structure handling correctness, and adherence to all quality
* standards. Any remaining issues or potential improvements are identified
* for incorporation into the final implementation.
*
* MUST systematically verify using these checklists:
*
* 1. Schema Fidelity - Cross-check EVERY property name against the DTO schema,
* verify all properties are generated, no fabricated properties
* 2. Type Safety - DeepPartial<> used (not Partial<>), proper typing, correct
* nested handling
* 3. Constraint Compliance - String lengths, number bounds, formats, enums
* 4. Compilation Fix - All original compilation errors resolved
*
* Workflow: Draft validation → Compilation verification → Mapping coverage
* review → Quality assessment
*/
review: string;
/**
* Step 5: Final production-ready corrected prepare function code.
*
* AI produces the final, polished version of the corrected prepare function
* code incorporating all review feedback and validation results. This code
* represents the completed error correction, guaranteed to compile
* successfully while preserving all original data generation functionality
* and complete DTO coverage. When the draft correction already perfectly
* resolves all issues with no problems found during review, this value can
* be null, indicating no further refinement was necessary.
*
* The final implementation resolves all compilation issues, maintains
* strict type safety, follows all established conventions, covers all DTO
* properties, and delivers a production-ready prepare function that
* accurately generates realistic test data. A null value signifies the
* draft correction was already optimal and requires no modifications.
*
* Workflow: Review integration → Final refinement → Production-ready
* implementation (or null if draft needs no changes). This is the ultimate
* deliverable that will replace the compilation-failed code when provided,
* otherwise the draft correction is used as-is.
*/
final: string | null;
}
}