refactor(imports): optimize imports

This commit is contained in:
2026-05-16 11:43:16 +04:00
parent c77277af0b
commit ce723afc8b
50 changed files with 67 additions and 88 deletions
@@ -3,9 +3,9 @@ package com.correx.core.approvals
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalDecision import com.correx.core.approvals.model.ApprovalDecision
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.model.DomainApprovalRequest
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.model.ApprovalState import com.correx.core.approvals.model.ApprovalState
import com.correx.core.approvals.model.DomainApprovalRequest
import com.correx.core.events.events.ApprovalDecisionResolvedEvent import com.correx.core.events.events.ApprovalDecisionResolvedEvent
import com.correx.core.events.events.ApprovalGrantCreatedEvent import com.correx.core.events.events.ApprovalGrantCreatedEvent
import com.correx.core.events.events.ApprovalGrantExpiredEvent import com.correx.core.events.events.ApprovalGrantExpiredEvent
@@ -1,14 +1,14 @@
package com.correx.core.approvals.domain package com.correx.core.approvals.domain
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.GrantScope
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.isAtMost import com.correx.core.approvals.isAtMost
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalDecision import com.correx.core.approvals.model.ApprovalDecision
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.model.DomainApprovalRequest import com.correx.core.approvals.model.DomainApprovalRequest
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.GrantScope
import com.correx.core.events.types.ApprovalDecisionId import com.correx.core.events.types.ApprovalDecisionId
import com.correx.core.sessions.ApprovalMode import com.correx.core.sessions.ApprovalMode
import kotlinx.datetime.Instant import kotlinx.datetime.Instant
@@ -1,8 +1,8 @@
package com.correx.core.approvals.model package com.correx.core.approvals.model
import com.correx.core.events.types.ProjectId import com.correx.core.events.types.ProjectId
import com.correx.core.events.types.StageId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@Serializable @Serializable
@@ -10,8 +10,6 @@ import com.correx.core.events.events.StoredEvent
import com.correx.core.events.events.ToolInvokedEvent import com.correx.core.events.events.ToolInvokedEvent
import com.correx.core.events.types.ApprovalDecisionId import com.correx.core.events.types.ApprovalDecisionId
import com.correx.core.events.types.ApprovalRequestId import com.correx.core.events.types.ApprovalRequestId
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.events.types.EventId import com.correx.core.events.types.EventId
import com.correx.core.events.types.GrantId import com.correx.core.events.types.GrantId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
@@ -2,7 +2,7 @@ package com.correx.core.artifacts
import com.correx.core.events.events.StoredEvent import com.correx.core.events.events.StoredEvent
import com.correx.core.sessions.projections.Projection import com.correx.core.sessions.projections.Projection
import java.util.logging.Logger import java.util.logging.*
class ArtifactProjector(private val reducer: ArtifactReducer) : Projection<ArtifactState> { class ArtifactProjector(private val reducer: ArtifactReducer) : Projection<ArtifactState> {
@@ -9,7 +9,7 @@ import com.correx.core.events.types.CorrelationId
import com.correx.core.events.types.EventId import com.correx.core.events.types.EventId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import kotlinx.datetime.Clock import kotlinx.datetime.Clock
import java.util.UUID import java.util.*
class EventDispatcher(private val eventStore: EventStore) { class EventDispatcher(private val eventStore: EventStore) {
suspend fun emit( suspend fun emit(
@@ -21,9 +21,9 @@ import com.correx.core.events.events.InferenceCompletedEvent
import com.correx.core.events.events.InferenceFailedEvent import com.correx.core.events.events.InferenceFailedEvent
import com.correx.core.events.events.InferenceStartedEvent import com.correx.core.events.events.InferenceStartedEvent
import com.correx.core.events.events.InferenceTimeoutEvent import com.correx.core.events.events.InferenceTimeoutEvent
import com.correx.core.events.events.LayerTruncatedEvent
import com.correx.core.events.events.ModelLoadedEvent import com.correx.core.events.events.ModelLoadedEvent
import com.correx.core.events.events.ModelUnloadedEvent import com.correx.core.events.events.ModelUnloadedEvent
import com.correx.core.events.events.LayerTruncatedEvent
import com.correx.core.events.events.OrchestrationPausedEvent import com.correx.core.events.events.OrchestrationPausedEvent
import com.correx.core.events.events.OrchestrationResumedEvent import com.correx.core.events.events.OrchestrationResumedEvent
import com.correx.core.events.events.RetryAttemptedEvent import com.correx.core.events.events.RetryAttemptedEvent
@@ -40,8 +40,8 @@ import com.correx.core.events.events.ToolExecutionCompletedEvent
import com.correx.core.events.events.ToolExecutionFailedEvent import com.correx.core.events.events.ToolExecutionFailedEvent
import com.correx.core.events.events.ToolExecutionRejectedEvent import com.correx.core.events.events.ToolExecutionRejectedEvent
import com.correx.core.events.events.ToolExecutionStartedEvent import com.correx.core.events.events.ToolExecutionStartedEvent
import com.correx.core.events.events.ToolInvokedEvent
import com.correx.core.events.events.ToolInvocationRequestedEvent import com.correx.core.events.events.ToolInvocationRequestedEvent
import com.correx.core.events.events.ToolInvokedEvent
import com.correx.core.events.events.TransitionExecutedEvent import com.correx.core.events.events.TransitionExecutedEvent
import com.correx.core.events.events.WorkflowCompletedEvent import com.correx.core.events.events.WorkflowCompletedEvent
import com.correx.core.events.events.WorkflowFailedEvent import com.correx.core.events.events.WorkflowFailedEvent
@@ -1,7 +1,6 @@
package com.correx.core.inference package com.correx.core.inference
import com.correx.core.events.events.StoredEvent import com.correx.core.events.events.StoredEvent
import com.correx.core.inference.InferenceState
interface InferenceReducer { interface InferenceReducer {
fun reduce(state: InferenceState, event: StoredEvent): InferenceState fun reduce(state: InferenceState, event: StoredEvent): InferenceState
@@ -4,11 +4,13 @@ import com.correx.core.approvals.domain.NoOpApprovalEngine
import com.correx.core.context.model.ContextPack import com.correx.core.context.model.ContextPack
import com.correx.core.events.events.ArtifactValidatedEvent import com.correx.core.events.events.ArtifactValidatedEvent
import com.correx.core.events.events.ArtifactValidatingEvent import com.correx.core.events.events.ArtifactValidatingEvent
import com.correx.core.events.stores.EventStore
import com.correx.core.events.types.InferenceRequestId import com.correx.core.events.types.InferenceRequestId
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import com.correx.core.inference.GenerationConfig import com.correx.core.inference.GenerationConfig
import com.correx.core.inference.InferenceRequest import com.correx.core.inference.InferenceRequest
import com.correx.core.kernel.execution.ReplayStrategy import com.correx.core.kernel.execution.ReplayStrategy
import com.correx.core.kernel.execution.WorkflowResult
import com.correx.core.kernel.replay.ReplayInferenceProvider import com.correx.core.kernel.replay.ReplayInferenceProvider
import com.correx.core.kernel.retry.exception.ReplayArtifactMissingException import com.correx.core.kernel.retry.exception.ReplayArtifactMissingException
import com.correx.core.risk.NoOpRiskAssessor import com.correx.core.risk.NoOpRiskAssessor
@@ -16,13 +18,10 @@ import com.correx.core.transitions.execution.StageExecutionResult
import com.correx.core.transitions.graph.StageConfig import com.correx.core.transitions.graph.StageConfig
import com.correx.core.transitions.graph.WorkflowGraph import com.correx.core.transitions.graph.WorkflowGraph
import com.correx.core.transitions.resolution.TransitionDecision import com.correx.core.transitions.resolution.TransitionDecision
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import com.correx.core.kernel.execution.WorkflowResult
import com.correx.core.validation.model.ValidationContext import com.correx.core.validation.model.ValidationContext
import java.util.UUID import java.util.*
import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.*
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.*
private data class ReplayContext( private data class ReplayContext(
val graph: WorkflowGraph, val graph: WorkflowGraph,
@@ -1,19 +1,16 @@
package com.correx.core.kernel.retry package com.correx.core.kernel.retry
import com.correx.core.events.events.EventMetadata
import com.correx.core.events.events.NewEvent import com.correx.core.events.events.NewEvent
import com.correx.core.events.execution.RetryPolicy
import com.correx.core.events.events.RetryAttemptedEvent import com.correx.core.events.events.RetryAttemptedEvent
import com.correx.core.events.events.StoredEvent import com.correx.core.events.execution.RetryPolicy
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.core.events.types.EventId import com.correx.core.events.types.EventId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.events.EventMetadata
import kotlinx.datetime.Clock
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import java.util.UUID import kotlinx.datetime.Clock
import kotlin.time.Duration.Companion.milliseconds import java.util.*
import kotlin.coroutines.cancellation.CancellationException
class DefaultRetryCoordinator( class DefaultRetryCoordinator(
private val eventStore: EventStore, private val eventStore: EventStore,
@@ -1,8 +1,8 @@
package com.correx.core.transitions.analysis package com.correx.core.transitions.analysis
import com.correx.core.events.types.StageId
import com.correx.core.transitions.graph.TransitionEdge import com.correx.core.transitions.graph.TransitionEdge
import com.correx.core.transitions.graph.WorkflowGraph import com.correx.core.transitions.graph.WorkflowGraph
import com.correx.core.events.types.StageId
internal class DeterministicAdjacencyBuilder { internal class DeterministicAdjacencyBuilder {
fun build(graph: WorkflowGraph): Map<StageId, List<TransitionEdge>> { fun build(graph: WorkflowGraph): Map<StageId, List<TransitionEdge>> {
@@ -1,8 +1,8 @@
package com.correx.core.transitions.execution package com.correx.core.transitions.execution
import com.correx.core.transitions.evaluation.EvaluationContext
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.types.TransitionId import com.correx.core.events.types.TransitionId
import com.correx.core.transitions.evaluation.EvaluationContext
data class StageExecutionRequest( data class StageExecutionRequest(
val sessionId: String, val sessionId: String,
@@ -4,9 +4,9 @@ import com.correx.core.events.events.EventPayload
import com.correx.core.events.events.StageCompletedEvent import com.correx.core.events.events.StageCompletedEvent
import com.correx.core.events.events.StageFailedEvent import com.correx.core.events.events.StageFailedEvent
import com.correx.core.events.events.TransitionExecutedEvent import com.correx.core.events.events.TransitionExecutedEvent
import com.correx.core.events.types.SessionId
import com.correx.core.transitions.execution.StageExecutionRequest import com.correx.core.transitions.execution.StageExecutionRequest
import com.correx.core.transitions.execution.StageExecutionResult import com.correx.core.transitions.execution.StageExecutionResult
import com.correx.core.events.types.SessionId
class DefaultStageExecutionEventMapper : StageExecutionEventMapper { class DefaultStageExecutionEventMapper : StageExecutionEventMapper {
@@ -1,7 +1,7 @@
package com.correx.core.transitions.policy package com.correx.core.transitions.policy
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import java.util.SortedSet import java.util.*
data class CycleSignature( data class CycleSignature(
val nodes: SortedSet<StageId>, val nodes: SortedSet<StageId>,
@@ -2,7 +2,7 @@ package com.correx.core.transitions.policy
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.transitions.graph.TransitionEdge import com.correx.core.transitions.graph.TransitionEdge
import java.util.TreeSet import java.util.*
object CycleSignatureFactory { object CycleSignatureFactory {
fun from(nodes: List<StageId>, edges: List<TransitionEdge>): CycleSignature { fun from(nodes: List<StageId>, edges: List<TransitionEdge>): CycleSignature {
@@ -1,8 +1,8 @@
package com.correx.core.transitions.state package com.correx.core.transitions.state
import com.correx.core.events.types.StageId
import com.correx.core.transitions.analysis.DetectedCycle import com.correx.core.transitions.analysis.DetectedCycle
import com.correx.core.transitions.graph.TransitionEdge import com.correx.core.transitions.graph.TransitionEdge
import com.correx.core.events.types.StageId
internal class CycleDfs { internal class CycleDfs {
fun dfs( fun dfs(
@@ -1,6 +1,5 @@
package com.correx.core.validation.semantic.rules package com.correx.core.validation.semantic.rules
import com.correx.core.transitions.policy.CycleSignature
import com.correx.core.transitions.policy.CycleSignatureFactory import com.correx.core.transitions.policy.CycleSignatureFactory
import com.correx.core.validation.model.ValidationContext import com.correx.core.validation.model.ValidationContext
import com.correx.core.validation.model.ValidationIssue import com.correx.core.validation.model.ValidationIssue
@@ -1,8 +1,6 @@
package com.correx.infrastructure.inference.commons package com.correx.infrastructure.inference.commons
import com.correx.core.events.types.ProviderId
import com.correx.core.inference.InferenceProvider import com.correx.core.inference.InferenceProvider
import com.correx.core.inference.Tokenizer
/** /**
* A wrapper around [InferenceProvider] that tracks model lifecycle. * A wrapper around [InferenceProvider] that tracks model lifecycle.
@@ -5,7 +5,7 @@ import com.correx.core.inference.InferenceProvider
import com.correx.core.inference.ModelCapability import com.correx.core.inference.ModelCapability
import com.correx.core.inference.ProviderHealth import com.correx.core.inference.ProviderHealth
import com.correx.core.inference.ProviderRegistry import com.correx.core.inference.ProviderRegistry
import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.*
/** /**
* In-memory [ProviderRegistry] backed by a [CopyOnWriteArrayList] for safe concurrent reads. * In-memory [ProviderRegistry] backed by a [CopyOnWriteArrayList] for safe concurrent reads.
@@ -1,10 +1,10 @@
package com.correx.infrastructure.inference package com.correx.infrastructure.inference
import com.correx.core.events.types.StageId
import com.correx.core.inference.InferenceProvider import com.correx.core.inference.InferenceProvider
import com.correx.core.inference.ModelCapability import com.correx.core.inference.ModelCapability
import com.correx.core.inference.NoEligibleProviderException import com.correx.core.inference.NoEligibleProviderException
import com.correx.core.inference.RoutingStrategy import com.correx.core.inference.RoutingStrategy
import com.correx.core.events.types.StageId
/** /**
* Selects the first [InferenceProvider] from [candidates] whose declared capabilities * Selects the first [InferenceProvider] from [candidates] whose declared capabilities
@@ -7,8 +7,8 @@ import com.correx.core.inference.InferenceRequest
import com.correx.core.inference.InferenceResponse import com.correx.core.inference.InferenceResponse
import com.correx.core.inference.ModelCapability import com.correx.core.inference.ModelCapability
import com.correx.core.inference.ProviderHealth import com.correx.core.inference.ProviderHealth
import com.correx.core.inference.Tokenizer
import com.correx.core.inference.Token import com.correx.core.inference.Token
import com.correx.core.inference.Tokenizer
import com.correx.core.utils.TypeId import com.correx.core.utils.TypeId
import kotlinx.coroutines.test.runTest import kotlinx.coroutines.test.runTest
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
@@ -1,7 +1,7 @@
package com.correx.infrastructure.persistence package com.correx.infrastructure.persistence
import com.correx.testing.contracts.fixtures.events.store.EventStoreContractTest
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.testing.contracts.fixtures.events.store.EventStoreContractTest
class InMemoryEventStoreTest : EventStoreContractTest() { class InMemoryEventStoreTest : EventStoreContractTest() {
override fun store(): EventStore = InMemoryEventStore() override fun store(): EventStore = InMemoryEventStore()
@@ -1,10 +1,10 @@
package com.correx.infrastructure.persistence package com.correx.infrastructure.persistence
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.core.sessions.projections.replay.DefaultEventReplayer
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.core.sessions.SessionCounterProjection import com.correx.core.sessions.SessionCounterProjection
import com.correx.core.sessions.SessionCounterState import com.correx.core.sessions.SessionCounterState
import com.correx.core.sessions.projections.replay.DefaultEventReplayer
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.testing.contracts.fixtures.projections.SessionReplayContractTest import com.correx.testing.contracts.fixtures.projections.SessionReplayContractTest
class InMemoryReplayTest : SessionReplayContractTest() { class InMemoryReplayTest : SessionReplayContractTest() {
@@ -1,7 +1,7 @@
package com.correx.infrastructure.persistence package com.correx.infrastructure.persistence
import com.correx.testing.contracts.fixtures.events.store.EventStoreContractTest
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.testing.contracts.fixtures.events.store.EventStoreContractTest
import java.sql.DriverManager import java.sql.DriverManager
class SqliteEventStoreTest : EventStoreContractTest() { class SqliteEventStoreTest : EventStoreContractTest() {
@@ -1,10 +1,10 @@
package com.correx.infrastructure.persistence package com.correx.infrastructure.persistence
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.core.sessions.projections.replay.DefaultEventReplayer
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.core.sessions.SessionCounterProjection import com.correx.core.sessions.SessionCounterProjection
import com.correx.core.sessions.SessionCounterState import com.correx.core.sessions.SessionCounterState
import com.correx.core.sessions.projections.replay.DefaultEventReplayer
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.testing.contracts.fixtures.projections.SessionReplayContractTest import com.correx.testing.contracts.fixtures.projections.SessionReplayContractTest
import java.sql.DriverManager import java.sql.DriverManager
@@ -8,10 +8,10 @@ import com.correx.core.inference.InferenceProvider
import com.correx.core.inference.InferenceRouter import com.correx.core.inference.InferenceRouter
import com.correx.core.inference.ProviderRegistry import com.correx.core.inference.ProviderRegistry
import com.correx.core.inference.RoutingStrategy import com.correx.core.inference.RoutingStrategy
import com.correx.infrastructure.inference.DefaultProviderRegistry
import com.correx.infrastructure.inference.FirstAvailableRoutingStrategy
import com.correx.core.tools.contract.ToolExecutor import com.correx.core.tools.contract.ToolExecutor
import com.correx.core.tools.registry.ToolRegistry import com.correx.core.tools.registry.ToolRegistry
import com.correx.infrastructure.inference.DefaultProviderRegistry
import com.correx.infrastructure.inference.FirstAvailableRoutingStrategy
import com.correx.infrastructure.inference.commons.ModelManager import com.correx.infrastructure.inference.commons.ModelManager
import com.correx.infrastructure.inference.llama.cpp.DefaultModelManager import com.correx.infrastructure.inference.llama.cpp.DefaultModelManager
import com.correx.infrastructure.persistence.SqliteEventStore import com.correx.infrastructure.persistence.SqliteEventStore
@@ -20,10 +20,6 @@ import com.correx.infrastructure.tools.DispatchingToolExecutor
import com.correx.infrastructure.tools.SandboxedToolExecutor import com.correx.infrastructure.tools.SandboxedToolExecutor
import com.correx.infrastructure.tools.ToolConfig import com.correx.infrastructure.tools.ToolConfig
import com.correx.infrastructure.tools.buildTools import com.correx.infrastructure.tools.buildTools
import com.correx.infrastructure.tools.filesystem.FileEditTool
import com.correx.infrastructure.tools.filesystem.FileReadTool
import com.correx.infrastructure.tools.filesystem.FileWriteTool
import com.correx.infrastructure.tools.shell.ShellTool
import io.ktor.client.HttpClient import io.ktor.client.HttpClient
import java.nio.file.Path import java.nio.file.Path
import java.sql.DriverManager import java.sql.DriverManager
@@ -1,19 +1,17 @@
package com.correx.infrastructure.tools.filesystem package com.correx.infrastructure.tools.filesystem
import com.correx.core.events.events.ToolRequest
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.types.ToolInvocationId import com.correx.core.events.types.ToolInvocationId
import com.correx.core.events.events.ToolRequest
import com.correx.core.tools.contract.ToolResult import com.correx.core.tools.contract.ToolResult
import com.correx.core.tools.contract.ValidationResult import com.correx.core.tools.contract.ValidationResult
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Path import java.util.*
import java.util.UUID
class FileEditToolTest { class FileEditToolTest {
@@ -1,18 +1,18 @@
package com.correx.infrastructure.tools.filesystem package com.correx.infrastructure.tools.filesystem
import com.correx.core.events.events.ToolRequest
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.types.ToolInvocationId import com.correx.core.events.types.ToolInvocationId
import com.correx.core.tools.contract.ToolResult import com.correx.core.tools.contract.ToolResult
import com.correx.core.tools.contract.ValidationResult import com.correx.core.tools.contract.ValidationResult
import com.correx.core.events.events.ToolRequest
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.nio.file.Files import java.nio.file.Files
import java.util.UUID import java.util.*
class FileReadToolTest { class FileReadToolTest {
@@ -1,19 +1,18 @@
package com.correx.infrastructure.tools.filesystem package com.correx.infrastructure.tools.filesystem
import com.correx.core.events.events.ToolRequest
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.types.ToolInvocationId import com.correx.core.events.types.ToolInvocationId
import com.correx.core.tools.contract.ToolResult import com.correx.core.tools.contract.ToolResult
import com.correx.core.tools.contract.ValidationResult import com.correx.core.tools.contract.ValidationResult
import com.correx.core.events.events.ToolRequest
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Path import java.util.*
import java.util.UUID
class FileWriteToolTest { class FileWriteToolTest {
@@ -11,7 +11,7 @@ import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.util.UUID import java.util.*
class ShellToolTest { class ShellToolTest {
@@ -1,10 +1,10 @@
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.GrantScope
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.GrantScope
import com.correx.core.events.types.GrantId import com.correx.core.events.types.GrantId
import com.correx.core.events.types.ProjectId import com.correx.core.events.types.ProjectId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
@@ -1,11 +1,11 @@
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.GrantScope
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.GrantScope
import com.correx.core.events.types.GrantId import com.correx.core.events.types.GrantId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.sessions.ApprovalMode import com.correx.core.sessions.ApprovalMode
@@ -1,9 +1,9 @@
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.ApprovalOutcome
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.ApprovalStatus
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.sessions.ApprovalMode import com.correx.core.sessions.ApprovalMode
import com.correx.testing.fixtures.request import com.correx.testing.fixtures.request
@@ -1,9 +1,9 @@
import com.correx.core.approvals.GrantScope
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.GrantScope
import com.correx.core.events.types.GrantId import com.correx.core.events.types.GrantId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.sessions.ApprovalMode import com.correx.core.sessions.ApprovalMode
@@ -1,12 +1,12 @@
import com.correx.core.approvals.GrantScope
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.GrantScope
import com.correx.core.sessions.ApprovalMode
import com.correx.core.events.types.GrantId import com.correx.core.events.types.GrantId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.sessions.ApprovalMode
import com.correx.testing.fixtures.request import com.correx.testing.fixtures.request
import kotlinx.datetime.Instant import kotlinx.datetime.Instant
import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Assertions
@@ -1,7 +1,6 @@
package com.correx.testing.contracts.utils package com.correx.testing.contracts.utils
import java.util.concurrent.CountDownLatch import java.util.concurrent.*
import java.util.concurrent.Executors
object ConcurrencyRunner { object ConcurrencyRunner {
@@ -1,6 +1,6 @@
package com.correx.testing.contracts.utils package com.correx.testing.contracts.utils
import java.util.concurrent.CyclicBarrier import java.util.concurrent.*
class DeterministicBarrier(parties: Int) { class DeterministicBarrier(parties: Int) {
@@ -4,9 +4,9 @@ import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.events.types.ProjectId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.types.ProjectId
import com.correx.core.sessions.ApprovalMode import com.correx.core.sessions.ApprovalMode
import com.correx.testing.fixtures.request import com.correx.testing.fixtures.request
import kotlinx.datetime.Instant import kotlinx.datetime.Instant
@@ -7,8 +7,8 @@ import com.correx.core.inference.DefaultInferenceRouter
import com.correx.core.inference.InferenceProvider import com.correx.core.inference.InferenceProvider
import com.correx.core.inference.ModelCapability import com.correx.core.inference.ModelCapability
import com.correx.core.inference.NoEligibleProviderException import com.correx.core.inference.NoEligibleProviderException
import com.correx.core.inference.ProviderRegistry
import com.correx.core.inference.ProviderHealth import com.correx.core.inference.ProviderHealth
import com.correx.core.inference.ProviderRegistry
import com.correx.core.inference.RoutingStrategy import com.correx.core.inference.RoutingStrategy
import com.correx.testing.fixtures.inference.MockInferenceProvider import com.correx.testing.fixtures.inference.MockInferenceProvider
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
@@ -2,9 +2,9 @@ package com.correx.testing.contracts.fixtures.projections
import com.correx.core.events.types.EventId import com.correx.core.events.types.EventId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.sessions.projections.DefaultStateBuilder
import com.correx.core.sessions.SessionCounterProjection import com.correx.core.sessions.SessionCounterProjection
import com.correx.core.sessions.SessionCounterState import com.correx.core.sessions.SessionCounterState
import com.correx.core.sessions.projections.DefaultStateBuilder
import com.correx.testing.fixtures.EventFixtures.stored import com.correx.testing.fixtures.EventFixtures.stored
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
@@ -3,8 +3,8 @@ package com.correx.testing.contracts.fixtures.projections
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.core.events.types.EventId import com.correx.core.events.types.EventId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.core.sessions.SessionCounterState import com.correx.core.sessions.SessionCounterState
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.testing.fixtures.EventFixtures.newEvent import com.correx.testing.fixtures.EventFixtures.newEvent
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
@@ -8,7 +8,6 @@ import com.correx.core.validation.pipeline.Validator
import com.correx.testing.fixtures.WorkflowFixtures import com.correx.testing.fixtures.WorkflowFixtures
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertInstanceOf
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class ValidationPipelineShortCircuitTest { class ValidationPipelineShortCircuitTest {
@@ -5,7 +5,6 @@ import com.correx.core.approvals.model.DomainApprovalRequest
import com.correx.core.events.types.ApprovalRequestId import com.correx.core.events.types.ApprovalRequestId
import com.correx.core.events.types.RiskSummaryId import com.correx.core.events.types.RiskSummaryId
import com.correx.core.events.types.ValidationReportId import com.correx.core.events.types.ValidationReportId
import com.correx.core.validation.model.ValidationContext
import com.correx.core.validation.model.ValidationIssue import com.correx.core.validation.model.ValidationIssue
import com.correx.core.validation.model.ValidationSection import com.correx.core.validation.model.ValidationSection
import com.correx.core.validation.model.ValidationSeverity import com.correx.core.validation.model.ValidationSeverity
@@ -1,8 +1,8 @@
package com.correx.testing.fixtures.context package com.correx.testing.fixtures.context
import com.correx.core.context.builder.DefaultContextPackBuilder import com.correx.core.context.builder.DefaultContextPackBuilder
import com.correx.core.context.compression.ContextCompressor
import com.correx.core.context.compression.CompressionStrategy import com.correx.core.context.compression.CompressionStrategy
import com.correx.core.context.compression.ContextCompressor
import com.correx.core.context.model.ContextEntry import com.correx.core.context.model.ContextEntry
import com.correx.core.context.model.TokenBudget import com.correx.core.context.model.TokenBudget
@@ -1,8 +1,8 @@
import com.correx.core.events.events.RetryAttemptedEvent import com.correx.core.events.events.RetryAttemptedEvent
import com.correx.core.events.execution.RetryPolicy
import com.correx.core.events.stores.EventStore import com.correx.core.events.stores.EventStore
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.execution.RetryPolicy
import com.correx.core.kernel.retry.DefaultRetryCoordinator import com.correx.core.kernel.retry.DefaultRetryCoordinator
import com.correx.infrastructure.persistence.InMemoryEventStore import com.correx.infrastructure.persistence.InMemoryEventStore
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -1,7 +1,6 @@
import com.correx.core.artifacts.ArtifactState import com.correx.core.artifacts.ArtifactState
import com.correx.core.artifacts.DefaultArtifactReducer import com.correx.core.artifacts.DefaultArtifactReducer
import com.correx.core.events.events.ArtifactArchivedEvent import com.correx.core.events.events.ArtifactArchivedEvent
import com.correx.core.events.events.ArtifactCreatedEvent
import com.correx.core.events.events.ArtifactRejectedEvent import com.correx.core.events.events.ArtifactRejectedEvent
import com.correx.core.events.events.ArtifactRelationshipAddedEvent import com.correx.core.events.events.ArtifactRelationshipAddedEvent
import com.correx.core.events.events.ArtifactSupersededEvent import com.correx.core.events.events.ArtifactSupersededEvent
@@ -8,11 +8,11 @@ import com.correx.core.events.events.StageFailedEvent
import com.correx.core.events.events.StageStartedEvent import com.correx.core.events.events.StageStartedEvent
import com.correx.core.events.events.TransitionExecutedEvent import com.correx.core.events.events.TransitionExecutedEvent
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import com.correx.core.events.types.TransitionId
import com.correx.core.sessions.DefaultSessionReducer import com.correx.core.sessions.DefaultSessionReducer
import com.correx.core.sessions.SessionState import com.correx.core.sessions.SessionState
import com.correx.core.sessions.SessionStatus import com.correx.core.sessions.SessionStatus
import com.correx.core.events.types.StageId
import com.correx.core.events.types.TransitionId
import com.correx.testing.fixtures.EventFixtures.stored import com.correx.testing.fixtures.EventFixtures.stored
import kotlinx.datetime.Instant import kotlinx.datetime.Instant
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
@@ -4,9 +4,9 @@ import com.correx.core.events.events.RetryAttemptedEvent
import com.correx.core.events.events.WorkflowCompletedEvent import com.correx.core.events.events.WorkflowCompletedEvent
import com.correx.core.events.events.WorkflowFailedEvent import com.correx.core.events.events.WorkflowFailedEvent
import com.correx.core.events.events.WorkflowStartedEvent import com.correx.core.events.events.WorkflowStartedEvent
import com.correx.core.events.orchestration.OrchestrationStatus
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId import com.correx.core.events.types.StageId
import com.correx.core.events.orchestration.OrchestrationStatus
import com.correx.core.kernel.orchestration.DefaultOrchestrationReducer import com.correx.core.kernel.orchestration.DefaultOrchestrationReducer
import com.correx.core.kernel.orchestration.OrchestrationProjector import com.correx.core.kernel.orchestration.OrchestrationProjector
import com.correx.testing.fixtures.EventFixtures.stored import com.correx.testing.fixtures.EventFixtures.stored
@@ -4,10 +4,10 @@ import com.correx.core.events.events.RetryAttemptedEvent
import com.correx.core.events.events.WorkflowCompletedEvent import com.correx.core.events.events.WorkflowCompletedEvent
import com.correx.core.events.events.WorkflowFailedEvent import com.correx.core.events.events.WorkflowFailedEvent
import com.correx.core.events.events.WorkflowStartedEvent import com.correx.core.events.events.WorkflowStartedEvent
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import com.correx.core.events.orchestration.OrchestrationState import com.correx.core.events.orchestration.OrchestrationState
import com.correx.core.events.orchestration.OrchestrationStatus import com.correx.core.events.orchestration.OrchestrationStatus
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import com.correx.core.kernel.orchestration.DefaultOrchestrationReducer import com.correx.core.kernel.orchestration.DefaultOrchestrationReducer
import com.correx.testing.fixtures.EventFixtures.stored import com.correx.testing.fixtures.EventFixtures.stored
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
@@ -1,9 +1,9 @@
import com.correx.core.approvals.GrantScope
import com.correx.core.approvals.Tier import com.correx.core.approvals.Tier
import com.correx.core.approvals.domain.DefaultApprovalEngine import com.correx.core.approvals.domain.DefaultApprovalEngine
import com.correx.core.approvals.model.ApprovalContext import com.correx.core.approvals.model.ApprovalContext
import com.correx.core.approvals.model.ApprovalGrant import com.correx.core.approvals.model.ApprovalGrant
import com.correx.core.approvals.model.ApprovalScopeIdentity import com.correx.core.approvals.model.ApprovalScopeIdentity
import com.correx.core.approvals.GrantScope
import com.correx.core.events.types.ApprovalDecisionId import com.correx.core.events.types.ApprovalDecisionId
import com.correx.core.events.types.GrantId import com.correx.core.events.types.GrantId
import com.correx.core.events.types.SessionId import com.correx.core.events.types.SessionId