@autobe/agent
Version:
AI backend server code generator
44 lines (43 loc) • 2.06 kB
TypeScript
import { AutoBeDatabaseGroup } from "@autobe/interface";
import { tags } from "typia";
import { IAutoBePreliminaryComplete } from "../../common/structures/IAutoBePreliminaryComplete";
import { IAutoBePreliminaryGetAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetAnalysisSections";
import { IAutoBePreliminaryGetPreviousAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetPreviousAnalysisSections";
import { IAutoBePreliminaryGetPreviousDatabaseSchemas } from "../../common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas";
export interface IAutoBeDatabaseGroupApplication {
/** Process group generation task or retrieve preliminary data. */
process(props: IAutoBeDatabaseGroupApplication.IProps): void;
}
export declare namespace IAutoBeDatabaseGroupApplication {
interface IProps {
/**
* Reasoning: what's missing (preliminary), what you're submitting (write),
* or why you're finalizing (complete).
*/
thinking: string;
/**
* Action to perform. Exhausted preliminary types are removed from the
* union.
*/
request: IWrite | IAutoBePreliminaryComplete | IAutoBePreliminaryGetAnalysisSections | IAutoBePreliminaryGetPreviousAnalysisSections | IAutoBePreliminaryGetPreviousDatabaseSchemas;
}
/** Submit database component groups. */
interface IWrite {
/** Type discriminator for write submission. */
type: "write";
/**
* Analysis of the requirements structure, domain organization, and
* component needs.
*/
analysis: string;
/** Rationale for component grouping decisions and domain boundaries. */
rationale: string;
/**
* Database component groups derived from business domains.
*
* Separate foundational groups (Systematic, Actors) from domain-specific
* groups. Ensure complete coverage without overlap.
*/
groups: AutoBeDatabaseGroup[] & tags.MinItems<1>;
}
}