UNPKG

@autobe/agent

Version:

AI backend server code generator

88 lines (87 loc) 3.53 kB
import { AutoBeDatabase, AutoBeOpenApi, AutoBeRealizeTransformerPlan, AutoBeRealizeTransformerSelectMapping, AutoBeRealizeTransformerTransformMapping } from "@autobe/interface"; import { ILlmApplication, IValidation } from "typia"; import { AutoBeContext } from "../../../context/AutoBeContext"; import { writeRealizeTransformerTemplate } from "./internal/writeRealizeTransformerTemplate"; export declare namespace AutoBeRealizeTransformerProgrammer { function filter(props: { schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>; key: string; }): boolean; function getName(dtoTypeName: string): string; function getNeighbors(code: string): string[]; function getRelationMappingTable(props: { application: AutoBeDatabase.IApplication; model: AutoBeDatabase.IModel; }): Array<{ propertyKey: string; targetModel: string; relationType: string; fkColumns: string; }>; function formatRelationMappingTable(props: { application: AutoBeDatabase.IApplication; model: AutoBeDatabase.IModel; }): string; function getSelectMappingMetadata(props: { application: AutoBeDatabase.IApplication; model: AutoBeDatabase.IModel; }): AutoBeRealizeTransformerSelectMapping.Metadata[]; function getTransformMappingMetadata(props: { document: AutoBeOpenApi.IDocument; plan: AutoBeRealizeTransformerPlan; }): AutoBeRealizeTransformerTransformMapping.Metadata[]; interface INeighborRelation { dtoProperty: string; relationKey: string; transformerName: string; isArray: boolean; isNullable: boolean; } function computeNeighborRelations(props: { schema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject; neighbors: AutoBeRealizeTransformerPlan[]; relations: Array<{ propertyKey: string; targetModel: string; relationType: string; fkColumns: string; }>; }): INeighborRelation[]; const writeTemplate: typeof writeRealizeTransformerTemplate; function writeStructures(ctx: AutoBeContext, dtoTypeName: string): Promise<Record<string, string>>; function replaceImportStatements(ctx: AutoBeContext, props: { dtoTypeName: string; schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>; code: string; }): Promise<string>; function validate(props: { application: AutoBeDatabase.IApplication; document: AutoBeOpenApi.IDocument; plan: AutoBeRealizeTransformerPlan; neighbors: AutoBeRealizeTransformerPlan[]; transformMappings: AutoBeRealizeTransformerTransformMapping[]; selectMappings: AutoBeRealizeTransformerSelectMapping[]; draft: string; revise: { review: string; final: string | null; }; }): IValidation.IError[]; function getRecursiveRelations(props: { schemas: Record<string, AutoBeOpenApi.IJsonSchema>; typeName: string; }): { parent: string | null; children: string | null; }; function getRecursiveProperty(props: { schemas: Record<string, AutoBeOpenApi.IJsonSchema>; typeName: string; }): string | null; const fixApplication: (props: { definition: ILlmApplication; application: AutoBeDatabase.IApplication; document: AutoBeOpenApi.IDocument; plan: AutoBeRealizeTransformerPlan; }) => void; }