Fix

"import cycle not allowed" in Go

Fix Go import cycles by moving shared code to a new package that both conflicting packages can import.

An import cycle occurs when two or more packages import each other, directly or indirectly, creating a circular dependency that the Go compiler cannot resolve. To fix it, move the shared code or types into a new, separate package that both original packages can import without creating a loop. For example, if package A imports package B and package B imports package A, create a new package C containing the shared logic, then have both A and B import C instead of each other.