@autobe/agent
Version:
AI backend server code generator
128 lines (119 loc) • 4.84 kB
text/typescript
import { IAutoBePreliminaryGetAnalysisFiles } from "../../common/structures/IAutoBePreliminaryGetAnalysisFiles";
import { IAutoBePreliminaryGetInterfaceOperations } from "../../common/structures/IAutoBePreliminaryGetInterfaceOperations";
import { IAutoBePreliminaryGetInterfaceSchemas } from "../../common/structures/IAutoBePreliminaryGetInterfaceSchemas";
import { IAutoBeTestScenarioApplication } from "./IAutoBeTestScenarioApplication";
export interface IAutoBeTestScenarioReviewApplication {
/**
* Process test scenario review task or preliminary data requests.
*
* Reviews generated test scenarios to validate implementability, dependency
* correctness, and business logic coverage, producing necessary improvements
* via RAG-based context retrieval.
*
* @param props Request containing either preliminary data request or complete
* task
*/
process(props: IAutoBeTestScenarioReviewApplication.IProps): void;
}
export namespace IAutoBeTestScenarioReviewApplication {
export interface IProps {
/**
* Think before you act.
*
* Before requesting preliminary data or completing your task, reflect on your
* current state and explain your reasoning:
*
* For preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):
* - What critical information is missing that you don't already have?
* - Why do you need it specifically right now?
* - Be brief - state the gap, don't list everything you have.
*
* For completion (complete):
* - What key assets did you acquire?
* - What did you accomplish?
* - Why is it sufficient to complete?
* - Summarize - don't enumerate every single item.
*
* This reflection helps you avoid duplicate requests and premature completion.
*/
thinking: string;
/**
* Type discriminator for the request.
*
* Determines which action to perform: preliminary data retrieval
* (getAnalysisFiles, getInterfaceOperations, getInterfaceSchemas) or
* final test scenario review (complete). When preliminary returns empty
* array, that type is removed from the union, physically preventing
* repeated calls.
*/
request:
| IComplete
| IAutoBePreliminaryGetAnalysisFiles
| IAutoBePreliminaryGetInterfaceOperations
| IAutoBePreliminaryGetInterfaceSchemas;
}
/**
* Request to review and refine test scenarios.
*
* Executes comprehensive scenario review to validate implementability,
* dependency correctness, authentication flows, and business logic coverage,
* producing refined scenarios ready for test implementation.
*/
export interface IComplete {
/**
* Type discriminator for the request.
*
* Determines which action to perform: preliminary data retrieval or actual
* task execution. Value "complete" indicates this is the final task
* execution request.
*/
type: "complete";
/**
* Comprehensive review analysis of all test scenarios.
*
* Contains detailed findings from holistic review including:
*
* - Executive summary of overall scenario quality
* - Critical issues requiring immediate fixes (non-existent dependencies,
* unimplementable scenarios)
* - Key improvement recommendations (authentication flows, edge case
* coverage)
* - Database schema compliance validation
* - Modified scenarios identification by functionName
*
* The review provides actionable feedback for creating implementable,
* comprehensive test scenarios that accurately reflect business
* requirements.
*/
review: string;
/**
* Strategic test improvement plan.
*
* Contains structured action plan with priority-based improvements:
*
* - Critical fixes: Non-existent endpoints, impossible dependencies
* - High priority enhancements: Missing authentication, incomplete edge cases
* - Implementation guidance: Correct dependency patterns, proper test flows
* - Success criteria: Complete API coverage, implementable scenarios only
* - Specific scenario action items by functionName
*
* This plan serves as the blueprint for validating and improving test
* scenarios.
*/
plan: string;
/** If the scenario groups pass the review, Set to true. */
pass: boolean;
/**
* The reviewed and improved scenario groups with all quality fixes applied.
*
* This is the primary output containing:
*
* - All critical issues resolved
* - Authentication flows corrected
* - Database dependencies validated
* - Quality enhancements implemented
* - Only implementable scenarios retained
*/
scenarioGroups: IAutoBeTestScenarioApplication.IScenarioGroup[];
}
}