UNPKG

@autobe/agent

Version:

AI backend server code generator

45 lines (44 loc) 2.23 kB
import { AutoBeEventSource, AutoBePreliminaryKind, AutoBeProgressEventBase, AutoBeRealizeFunction } from "@autobe/interface"; import { ILlmController } from "typia"; import { AutoBeContext } from "../../../context/AutoBeContext"; import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory"; import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController"; import { IAutoBeRealizeFunctionFailure } from "../structures/IAutoBeRealizeFunctionFailure"; import { IAutoBeRealizeFunctionResult } from "../structures/IAutoBeRealizeFunctionResult"; interface IProgrammer<RealizeFunction extends AutoBeRealizeFunction, PreliminaryKind extends AutoBePreliminaryKind, Complete> { template(func: RealizeFunction): string; replaceImportStatements(props: { function: RealizeFunction; code: string; }): Promise<string>; additional(functions: RealizeFunction[]): Record<string, string>; histories(props: { function: RealizeFunction; failures: IAutoBeRealizeFunctionFailure<RealizeFunction>[]; preliminary: AutoBePreliminaryController<PreliminaryKind>; }): Promise<IAutoBeOrchestrateHistory>; controller(next: { function: RealizeFunction; preliminary: AutoBePreliminaryController<PreliminaryKind>; source: Exclude<AutoBeEventSource, "facade" | "preliminaryAcquire">; build(next: Complete): void; }): ILlmController; preliminary(props: { function: RealizeFunction; source: Exclude<AutoBeEventSource, "facade" | "preliminaryAcquire">; }): AutoBePreliminaryController<PreliminaryKind>; location: string; } interface IComplete { draft: string; revise: { review: string; final: string | null; }; } export declare const orchestrateRealizeCorrectOverall: <RealizeFunction extends AutoBeRealizeFunction, PreliminaryKind extends AutoBePreliminaryKind, Complete extends IComplete>(ctx: AutoBeContext, props: { programmer: IProgrammer<RealizeFunction, PreliminaryKind, Complete>; functions: RealizeFunction[]; progress: AutoBeProgressEventBase; }, life?: number) => Promise<IAutoBeRealizeFunctionResult<RealizeFunction>[]>; export {};