{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE NoImplicitPrelude #-} -- | Agent system entry point and combined test runner. -- -- This module provides the main entry point for the agent system -- and re-exports core types from sub-modules. -- -- : out omni-agent -- : dep aeson module Omni.Agent ( -- * Engine module Omni.Agent.Engine, -- * Tools module Omni.Agent.Tools, -- * Core module Omni.Agent.Core, -- * Test main, test, ) where import Alpha import Omni.Agent.Core import Omni.Agent.Engine hiding (main, test) import qualified Omni.Agent.Engine as Engine import Omni.Agent.Tools hiding (ToolResult, main, test) import qualified Omni.Agent.Tools as Tools import qualified Omni.Test as Test main :: IO () main = Test.run test test :: Test.Tree test = Test.group "Omni.Agent" [ Engine.test, Tools.test, Test.unit "Core types are re-exported" <| do let status = Idle :: WorkerStatus status Test.@=? status, Test.unit "Engine and Tools integrate correctly" <| do let tools = Tools.allTools length tools Test.@=? 5 let config = Engine.defaultAgentConfig { Engine.agentTools = tools } Engine.agentMaxIterations config Test.@=? 10 ]