LLM analysis of this cycle and the removal decision.
Documents the reasoning behind each removal decision, considering semantic importance, reference direction, and DTO purpose.
Number of items completed.
Tracks how many items have been successfully processed so far in the current operation. This value increments as each item is completed, providing real-time progress indication.
The ratio of completed to total gives the completion percentage:
progress = (completed / total) * 100
Timestamp when the event was created.
ISO 8601 formatted date-time string indicating when this event was emitted by the system. This timestamp is crucial for event ordering, performance analysis, and debugging the agent workflow execution timeline.
Format: "YYYY-MM-DDTHH:mm:ss.sssZ" (e.g., "2024-01-15T14:30:45.123Z")
The circular reference cycle resolved in this event.
Represents one strongly connected component of two or more types that reference each other, forming an irresolvable loop.
A unique identifier for the event.
Function calling trial statistics (total, success, failure counts).
The single property removal that broke this cycle.
Specifies which property was deleted from which schema, along with the LLM's reasoning for choosing that particular edge.
Current iteration number of the requirements analysis.
Token consumption breakdown (input, output, cache hits).
Total number of items to process.
Represents the complete count of operations, files, endpoints, or other entities that need to be processed in the current workflow step. This value is typically determined at the beginning of an operation and remains constant throughout the process.
Used together with the completed field to calculate progress percentage
and estimate time to completion.
Unique identifier for the event type.
A literal string that discriminates between different event types in the AutoBE system. This field enables TypeScript's discriminated union feature, allowing type-safe event handling through switch statements or conditional checks.
Examples: "analyzeWrite", "databaseSchema", "interfaceOperation", "testScenario"
Event fired when the Interface agent resolves one cross-type circular reference cycle in OpenAPI schema definitions.
Each detected cycle is processed independently: one LLM call per cycle, one event dispatched per cycle. Multiple events may be emitted when multiple cycles are detected in the schema graph.
Cross-type circular references (A → B → A, or A → B → C → A) make code generation impossible because they create infinite type recursion. The Decouple agent programmatically detects these cycles using Tarjan's SCC algorithm, then uses LLM judgment to decide which property reference(s) to remove to break each cycle while preserving semantic integrity.
Self-references (A → A) are NOT treated as circular references — they represent legitimate tree structures (categories, org charts) and are handled by the existing VariadicSingleton pattern in the Realize phase.
Author
Samchon