UNPKG

@autobe/agent

Version:

AI backend server code generator

43 lines (42 loc) 2.39 kB
import { AutoBeInterfaceEndpointDesign } from "@autobe/interface"; import { IAutoBePreliminaryComplete } from "../../common/structures/IAutoBePreliminaryComplete"; import { IAutoBePreliminaryGetAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetAnalysisSections"; import { IAutoBePreliminaryGetDatabaseSchemas } from "../../common/structures/IAutoBePreliminaryGetDatabaseSchemas"; import { IAutoBePreliminaryGetPreviousAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetPreviousAnalysisSections"; import { IAutoBePreliminaryGetPreviousDatabaseSchemas } from "../../common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas"; import { IAutoBePreliminaryGetPreviousInterfaceOperations } from "../../common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations"; export interface IAutoBeInterfaceEndpointWriteApplication { /** Process task or retrieve preliminary data. */ process(props: IAutoBeInterfaceEndpointWriteApplication.IProps): void; } export declare namespace IAutoBeInterfaceEndpointWriteApplication { 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 | IAutoBePreliminaryGetDatabaseSchemas | IAutoBePreliminaryGetPreviousAnalysisSections | IAutoBePreliminaryGetPreviousDatabaseSchemas | IAutoBePreliminaryGetPreviousInterfaceOperations; } /** Submit endpoint designs. */ interface IWrite { /** Type discriminator for write submission. */ type: "write"; /** Analysis of requirements and database schema for endpoint design. */ analysis: string; /** Rationale for the endpoint design decisions. */ rationale: string; /** * Array of endpoint designs to generate. * * Path rules: hierarchical `/` structure, must start with `/`, no domain * prefixes, plural resource names. No duplicate endpoints. Path parameters * clearly named. Nested paths reflect entity relationships. */ designs: AutoBeInterfaceEndpointDesign[]; } }