UNPKG

@autobe/agent

Version:

AI backend server code generator

66 lines (65 loc) 2.47 kB
import { tags } from "typia"; export interface IFile { /** * Describe briefly why you made this document, and if you have any plans for * the next one. */ reason: string; /** Filename to generate or overwrite. */ filename: `${string}.md`; /** * Markdown file content. Only write the content of the file. Do not include * any questions. This should contain only the contents of the file. Do not * write down any questions or appreciation. For example, remove a sentence * such as "Is it okay if we proceed with the table of contents? Please let me * know if there is anything to add or exclude from the table of contents!" */ markdown: string; } export interface ICreateOrUpdateInput { /** * Fill in the elements of the array as many files as you want to create. * Overwrite if you point to the name of the file that already exists. * * @title files to create or update */ files: Array<IFile> & tags.MinItems<1>; } type Filename = string; type FileContent = string; export interface IAutoBeAnalyzeFileSystem { /** * Generate multiple markdown files. if there is already created files, * overwrite it. Generate several markdown files at once. It is recommended * that you create multiple files at a time. */ createOrUpdateFiles(input: ICreateOrUpdateInput): Promise<void>; /** Remove markdown file. */ removeFile(input: Pick<IFile, "filename">): Promise<void>; /** * If you decide that you no longer need any reviews, or if the reviewer * refuses to do so, call abort. This is a function to end document creation * and review, and to respond to users. * * When there is content you are unsure about and need to ask the user a * question, abort the process and ask the user directly. The reason for * aborting should be included as the content of the question. */ abort(input: { reason: string; }): "OK"; } export declare class AutoBeAnalyzeFileSystem implements IAutoBeAnalyzeFileSystem { private readonly fileMap; constructor(fileMap?: Record<Filename, FileContent>); createOrUpdateFiles(input: { files: Array<IFile> & tags.MinItems<1>; }): Promise<void>; removeFile(input: Pick<IFile, "filename">): Promise<void>; abort(_input: { reason: string; }): "OK"; /** @ignore */ allFiles(): Record<string, string>; } export {};