diff options
Diffstat (limited to 'Omni/Ava/Trace.hs')
| -rw-r--r-- | Omni/Ava/Trace.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Omni/Ava/Trace.hs b/Omni/Ava/Trace.hs index 6dbdf51..d648da1 100644 --- a/Omni/Ava/Trace.hs +++ b/Omni/Ava/Trace.hs @@ -12,6 +12,7 @@ -- : dep uuid module Omni.Ava.Trace ( TraceRecord (..), + initTraceDb, insertTrace, getTrace, cleanupOldTraces, @@ -30,6 +31,25 @@ import qualified Database.SQLite.Simple as SQL import qualified Database.SQLite.Simple.ToField as SQL import qualified Omni.Test as Test +-- | Initialize the tool_traces table if it doesn't exist. +initTraceDb :: SQL.Connection -> IO () +initTraceDb conn = do + SQL.execute_ + conn + "CREATE TABLE IF NOT EXISTS tool_traces (\ + \ id TEXT PRIMARY KEY,\ + \ created_at TEXT NOT NULL,\ + \ tool_name TEXT NOT NULL,\ + \ input TEXT NOT NULL,\ + \ output TEXT NOT NULL,\ + \ duration_ms INTEGER NOT NULL,\ + \ user_id TEXT,\ + \ chat_id TEXT\ + \)" + SQL.execute_ + conn + "CREATE INDEX IF NOT EXISTS idx_traces_created ON tool_traces(created_at)" + main :: IO () main = Test.run test |
