Cleanup types.nim to only contain type definitions.

This commit is contained in:
Jakob Friedl
2025-07-16 14:45:45 +02:00
parent 292b947a4e
commit 99b017f57f
15 changed files with 143 additions and 133 deletions

View File

@@ -5,10 +5,23 @@ import ../task/handler
import ../db/database
import ../../types
#[
Agent management mode
These console commands allow dealing with agents from the Conquest framework's prompt interface
]#
# Utility functions
proc addMultiple*(cq: Conquest, agents: seq[Agent]) =
for a in agents:
cq.agents[a.name] = a
proc delAgent*(cq: Conquest, agentName: string) =
cq.agents.del(agentName)
proc getAgentsAsSeq*(cq: Conquest): seq[Agent] =
var agents: seq[Agent] = @[]
for agent in cq.agents.values:
agents.add(agent)
return agents
#[
Agent management
]#
proc agentUsage*(cq: Conquest) =
cq.writeLine("""Manage, build and interact with agents.

View File

@@ -1,4 +1,4 @@
import strformat, strutils, sequtils, nanoid, terminal
import strformat, strutils, sequtils, terminal
import prologue
import ../utils
@@ -6,6 +6,25 @@ import ../api/routes
import ../db/database
import ../../types
# Utility functions
proc delListener(cq: Conquest, listenerName: string) =
cq.listeners.del(listenerName)
proc add(cq: Conquest, listener: Listener) =
cq.listeners[listener.name] = listener
proc newListener*(name: string, address: string, port: int): Listener =
var listener = new Listener
listener.name = name
listener.address = address
listener.port = port
listener.protocol = HTTP
return listener
#[
Listener management
]#
proc listenerUsage*(cq: Conquest) =
cq.writeLine("""Manage, start and stop listeners.
@@ -36,7 +55,7 @@ proc listenerStart*(cq: Conquest, host: string, portStr: string) =
# Create new listener
let
name: string = generate(alphabet=join(toSeq('A'..'Z'), ""), size=8)
name: string = generateUUID()
listenerSettings = newSettings(
appName = name,
debug = false,

View File

@@ -2,8 +2,8 @@ import prompt, terminal, argparse
import strutils, strformat, times, system, tables
import ./[agent, listener]
import ../[globals, utils]
import ../db/database
import ../globals
import ../../types
#[
@@ -127,6 +127,17 @@ proc header(cq: Conquest) =
cq.writeLine("".repeat(21))
cq.writeLine("")
proc initConquest*(dbPath: string): Conquest =
var cq = new Conquest
var prompt = Prompt.init()
cq.prompt = prompt
cq.dbPath = dbPath
cq.listeners = initTable[string, Listener]()
cq.agents = initTable[string, Agent]()
cq.interactAgent = nil
return cq
proc startServer*() =
# Handle CTRL+C,
proc exit() {.noconv.} =