summaryrefslogtreecommitdiff
path: root/Omni
diff options
context:
space:
mode:
authorBen Sima <ben@bensima.com>2025-11-22 13:53:49 -0500
committerBen Sima <ben@bensima.com>2025-11-22 13:53:49 -0500
commit8697fd8a11a1cf368db1e6c05afddf87906e8de3 (patch)
treef6d5e8804c563435ff4b1e9f046c74c6b837c764 /Omni
parentd7474f376f55bbd7d7f047551b50f840bc91526d (diff)
parenta21633e61be70e1fa5ffec24267f1bf18f5497ad (diff)
task: complete t-rWcqsDZFM.1 (Merge)
Amp-Thread-ID: https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221 Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'Omni')
-rw-r--r--Omni/Agent.hs13
-rw-r--r--Omni/Agent/LogTest.hs74
2 files changed, 12 insertions, 75 deletions
diff --git a/Omni/Agent.hs b/Omni/Agent.hs
index d53bccd..f3fc29d 100644
--- a/Omni/Agent.hs
+++ b/Omni/Agent.hs
@@ -10,6 +10,7 @@ module Omni.Agent where
import Alpha
import qualified Data.Text as Text
import qualified Omni.Agent.Core as Core
+import qualified Omni.Agent.Log as Log
import qualified Omni.Agent.Worker as Worker
import qualified Omni.Cli as Cli
import qualified Omni.Test as Test
@@ -63,7 +64,17 @@ move args
| otherwise = putStrLn (Cli.usage help)
test :: Test.Tree
-test = Test.group "Omni.Agent" [unitTests]
+test = Test.group "Omni.Agent" [unitTests, logTests]
+
+logTests :: Test.Tree
+logTests =
+ Test.group
+ "Log tests"
+ [ Test.unit "Log.emptyStatus" <| do
+ let s = Log.emptyStatus "worker-1"
+ Log.statusWorker s Test.@?= "worker-1"
+ Log.statusFiles s Test.@?= 0
+ ]
unitTests :: Test.Tree
unitTests =
diff --git a/Omni/Agent/LogTest.hs b/Omni/Agent/LogTest.hs
deleted file mode 100644
index 97b558d..0000000
--- a/Omni/Agent/LogTest.hs
+++ /dev/null
@@ -1,74 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-
--- : out agent-log-test
-module Omni.Agent.LogTest where
-
-import Alpha
-import Omni.Agent.Log
-import qualified Omni.Test as Test
-
-main :: IO ()
-main = Test.run tests
-
-tests :: Test.Tree
-tests =
- Test.group
- "Omni.Agent.Log"
- [ Test.unit "Parse LogEntry" testParse,
- Test.unit "Format LogEntry" testFormat
- ]
-
-testParse :: IO ()
-testParse = do
- let json = "{\"message\": \"executing 1 tools in 1 batch(es)\", \"batches\": [[\"grep\"]]}"
- let expected =
- LogEntry
- { leMessage = Just "executing 1 tools in 1 batch(es)",
- leLevel = Nothing,
- leToolName = Nothing,
- leBatches = Just [["grep"]],
- leMethod = Nothing,
- lePath = Nothing
- }
- parseLine json @?= Just expected
-
-testFormat :: IO ()
-testFormat = do
- let entry =
- LogEntry
- { leMessage = Just "executing 1 tools in 1 batch(es)",
- leLevel = Nothing,
- leToolName = Nothing,
- leBatches = Just [["grep"]],
- leMethod = Nothing,
- lePath = Nothing
- }
- -- Expect NO emoji
- formatLogEntry entry @?= Just "THOUGHT: Planning tool execution (grep)"
-
- let entry2 =
- LogEntry
- { leMessage = Just "some random log",
- leLevel = Nothing,
- leToolName = Nothing,
- leBatches = Nothing,
- leMethod = Nothing,
- lePath = Nothing
- }
- formatLogEntry entry2 @?= Nothing
-
- let entry3 =
- LogEntry
- { leMessage = Just "some error",
- leLevel = Just "error",
- leToolName = Nothing,
- leBatches = Nothing,
- leMethod = Nothing,
- lePath = Nothing
- }
- -- Expect NO emoji
- formatLogEntry entry3 @?= Just "ERROR: some error"
-
-(@?=) :: (Eq a, Show a) => a -> a -> IO ()
-(@?=) = (Test.@?=)