UNPKG

@autobe/agent

Version:

AI backend server code generator

115 lines (114 loc) 3.83 kB
import { AutoBeAnalyze, AutoBeAnalyzeWriteSectionEvent } from "@autobe/interface"; export declare const buildConstraintConsistencyReport: (props: { files: Array<{ file: AutoBeAnalyze.IFileScenario; sectionEvents: AutoBeAnalyzeWriteSectionEvent[][]; }>; }) => string; export interface IConstraintConflict { key: string; values: Array<{ display: string; files: string[]; }>; } /** * Detect numeric constraint conflicts across files as structured data. * * Returns an array of conflicts where the same constraint key has different * normalized values across files. */ export declare const detectConstraintConflicts: (props: { files: Array<{ file: AutoBeAnalyze.IFileScenario; sectionEvents: AutoBeAnalyzeWriteSectionEvent[][]; }>; }) => IConstraintConflict[]; /** Build a map from filename → list of conflict feedback strings. */ export declare const buildFileConflictMap: (conflicts: IConstraintConflict[]) => Map<string, string[]>; export interface IAttributeDuplicate { key: string; files: string[]; hasValueConflict: boolean; values?: Array<{ specification: string; files: string[]; }>; } /** * Detect cross-file attribute duplication from YAML spec blocks. * * Returns attributes that are defined in YAML blocks across multiple files. */ export declare const detectAttributeDuplicates: (props: { files: Array<{ file: AutoBeAnalyze.IFileScenario; sectionEvents: AutoBeAnalyzeWriteSectionEvent[][]; }>; }) => IAttributeDuplicate[]; export declare const buildFileAttributeDuplicateMap: (duplicates: IAttributeDuplicate[]) => Map<string, string[]>; export interface IEnumConflict { key: string; values: Array<{ enumSet: string; display: string; files: string[]; }>; } /** * Detect enum value conflicts from YAML spec blocks. * * Scans YAML attribute blocks for enum-like constraints and detects when * different files define different enum value sets for the same attribute. */ export declare const detectEnumConflicts: (props: { files: Array<{ file: AutoBeAnalyze.IFileScenario; sectionEvents: AutoBeAnalyzeWriteSectionEvent[][]; }>; }) => IEnumConflict[]; export declare const buildFileEnumConflictMap: (conflicts: IEnumConflict[]) => Map<string, string[]>; export interface IPermissionConflict { actorOperation: string; rules: Array<{ condition: string; files: string[]; }>; } /** * Detect permission rule conflicts from YAML spec blocks. * * A conflict occurs when one YAML block allows an action but another doesn't * include it for the same actor+resource. */ export declare const detectPermissionConflicts: (props: { files: Array<{ file: AutoBeAnalyze.IFileScenario; sectionEvents: AutoBeAnalyzeWriteSectionEvent[][]; }>; }) => IPermissionConflict[]; export declare const buildFilePermissionConflictMap: (conflicts: IPermissionConflict[]) => Map<string, string[]>; export interface IStateFieldConflict { entity: string; conflictType: string; fields: Array<{ fieldName: string; specification: string; files: string[]; }>; } /** * Detect state field conflicts from YAML spec blocks. * * Known contradiction patterns: * * 1. Same entity has both `deletedAt` (datetime) and `isDeleted` (boolean) * 2. Same entity has `status` (enum) and semantically equivalent `is*` booleans */ export declare const detectStateFieldConflicts: (props: { files: Array<{ file: AutoBeAnalyze.IFileScenario; sectionEvents: AutoBeAnalyzeWriteSectionEvent[][]; }>; }) => IStateFieldConflict[]; export declare const buildFileStateFieldConflictMap: (conflicts: IStateFieldConflict[]) => Map<string, string[]>;