chore(damn): detekt, build, tests, formatting

fixed detekt issues where possible.
fixed disttar failing build because tools is added twice in the server module.
added workflowId where required.
fixed some tests not being recognized because of runBlocking without explicit return type.
formatting + imports.
This commit is contained in:
2026-05-22 00:10:05 +04:00
parent 2c459da009
commit f827685ed0
185 changed files with 1134 additions and 832 deletions
@@ -21,7 +21,6 @@ import java.io.IOException
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.StandardCopyOption
import java.util.*
@SuppressWarnings("TooManyFunctions", "LongParameterList")
class SandboxedToolExecutor(
@@ -1,7 +1,7 @@
package com.correx.infrastructure.tools
import com.correx.core.artifactstore.ArtifactStore
import com.correx.core.artifacts.MaterializingArtifactWriter
import com.correx.core.artifactstore.ArtifactStore
import com.correx.core.tools.contract.Tool
import com.correx.infrastructure.tools.filesystem.FileEditTool
import com.correx.infrastructure.tools.filesystem.FileReadTool
@@ -25,41 +25,55 @@ data class FileWriteConfig(
val sandboxRoot: Path? = null,
val workingDir: Path? = null,
)
data class FileEditConfig(
val enabled: Boolean = false,
val allowedPaths: Set<Path> = emptySet(),
val workingDir: Path? = null,
)
data class ShellConfig(val enabled: Boolean = false, val allowedExecutables: Set<String> = emptySet(), val workingDir: Path? = null)
data class ShellConfig(
val enabled: Boolean = false,
val allowedExecutables: Set<String> = emptySet(),
val workingDir: Path? = null,
)
/**
* Extension function to convert [ToolConfig] into a list of [Tool] implementations.
*/
fun ToolConfig.buildTools(): List<Tool> = buildList {
if (shell.enabled) {
add(ShellTool(
allowedExecutables = shell.allowedExecutables,
workingDir = shell.workingDir,
))
add(
ShellTool(
allowedExecutables = shell.allowedExecutables,
workingDir = shell.workingDir,
),
)
}
if (fileRead.enabled) {
add(FileReadTool(
allowedPaths = fileRead.allowedPaths
))
add(
FileReadTool(
allowedPaths = fileRead.allowedPaths,
),
)
}
if (fileWrite.enabled) {
add(FileWriteTool(
allowedPaths = fileWrite.allowedPaths,
artifactStore = fileWrite.artifactStore,
materializingWriter = fileWrite.materializingWriter,
sandboxRoot = fileWrite.sandboxRoot,
workingDir = fileWrite.workingDir,
))
add(
FileWriteTool(
allowedPaths = fileWrite.allowedPaths,
artifactStore = fileWrite.artifactStore,
materializingWriter = fileWrite.materializingWriter,
sandboxRoot = fileWrite.sandboxRoot,
workingDir = fileWrite.workingDir,
),
)
}
if (fileEdit.enabled) {
add(FileEditTool(
allowedPaths = fileEdit.allowedPaths,
workingDir = fileEdit.workingDir,
))
add(
FileEditTool(
allowedPaths = fileEdit.allowedPaths,
workingDir = fileEdit.workingDir,
),
)
}
}
@@ -30,14 +30,14 @@ class ShellToolTest {
}
@Test
fun `validateRequest returns Valid for allowed executable`() = runBlocking {
fun `validateRequest returns Valid for allowed executable`(): Unit = runBlocking {
val tool = ShellTool(allowedExecutables = setOf("echo"))
val request = createRequest(listOf("echo", "hello"))
assertEquals(ValidationResult.Valid, tool.validateRequest(request))
}
@Test
fun `validateRequest returns Invalid for disallowed executable`() = runBlocking {
fun `validateRequest returns Invalid for disallowed executable`(): Unit = runBlocking {
val tool = ShellTool(allowedExecutables = setOf("echo"))
val request = createRequest(listOf("ls"))
val result = tool.validateRequest(request)
@@ -46,7 +46,7 @@ class ShellToolTest {
}
@Test
fun `validateRequest returns Invalid for empty argv`() = runBlocking {
fun `validateRequest returns Invalid for empty argv`(): Unit = runBlocking {
val tool = ShellTool(allowedExecutables = setOf("echo"))
val request = createRequest(emptyList())
val result = tool.validateRequest(request)
@@ -58,7 +58,7 @@ class ShellToolTest {
}
@Test
fun `validateRequest returns Invalid for null argv`() = runBlocking {
fun `validateRequest returns Invalid for null argv`(): Unit = runBlocking {
val tool = ShellTool(allowedExecutables = setOf("echo"))
val request = ToolRequest(
invocationId = invocationId,
@@ -76,7 +76,7 @@ class ShellToolTest {
}
@Test
fun `execute returns Success for exit code 0`() = runBlocking {
fun `execute returns Success for exit code 0`(): Unit = runBlocking {
val tool = ShellTool(allowedExecutables = setOf("echo"))
val request = createRequest(listOf("echo", "hello"))
val result = tool.execute(request)
@@ -89,7 +89,7 @@ class ShellToolTest {
}
@Test
fun `execute returns Failure with non-zero exit code for failed process`() = runBlocking {
fun `execute returns Failure with non-zero exit code for failed process`(): Unit = runBlocking {
val tool = ShellTool(allowedExecutables = setOf("false"))
val request = createRequest(listOf("false"))
val result = tool.execute(request)
@@ -101,7 +101,7 @@ class ShellToolTest {
}
@Test
fun `execute returns Failure on timeout`() = runBlocking {
fun `execute returns Failure on timeout`(): Unit = runBlocking {
// Using sleep command to simulate timeout
val tool = ShellTool(allowedExecutables = setOf("sleep"), timeoutMs = 100L)
val request = createRequest(listOf("sleep", "1"))