From 122d73ac9d2472f91ed00965d03d1e761da72699 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Tue, 16 Dec 2025 08:20:54 -0500 Subject: refactor: Rename Bot to Ava, remove cost guardrail - Rename Omni/Bot.hs to Omni/Ava.hs - Delete Omni/Bot.scm (unused Guile version) - Remove cost limit (was 10 cents, now 0) - Increase max iterations from 10 to 50 --- Omni/Ava.hs | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 Omni/Ava.hs (limited to 'Omni/Ava.hs') diff --git a/Omni/Ava.hs b/Omni/Ava.hs new file mode 100755 index 0000000..2dfecb1 --- /dev/null +++ b/Omni/Ava.hs @@ -0,0 +1,66 @@ +#!/usr/bin/env run.sh +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE QuasiQuotes #-} +{-# LANGUAGE NoImplicitPrelude #-} + +-- | Ava - AI assistant via Telegram. +-- +-- Usage: +-- ava # Uses TELEGRAM_BOT_TOKEN env var +-- ava --token=XXX # Explicit token +-- ava --model=MODEL # Override LLM model +-- +-- : out ava +-- : dep aeson +-- : dep http-conduit +-- : dep stm +module Omni.Ava where + +import Alpha +import qualified Data.Text as Text +import qualified Omni.Agent.Telegram as Telegram +import qualified Omni.Cli as Cli +import qualified Omni.Test as Test +import qualified System.Console.Docopt as Docopt + +main :: IO () +main = Cli.main plan + +plan :: Cli.Plan () +plan = + Cli.Plan + { Cli.help = help, + Cli.move = move, + Cli.test = test, + Cli.tidy = \_ -> pure () + } + +help :: Cli.Docopt +help = + [Cli.docopt| +ava - AI assistant via Telegram + +Usage: + ava [--token=TOKEN] [--model=MODEL] + ava test + ava (-h | --help) + +Options: + -h --help Show this help + --token=TOKEN Telegram bot token (or use TELEGRAM_BOT_TOKEN env) + --model=MODEL LLM model to use [default: anthropic/claude-sonnet-4] +|] + +move :: Cli.Arguments -> IO () +move args = do + let maybeToken = fmap Text.pack (Cli.getArg args (Cli.longOption "token")) + Telegram.startBot maybeToken + +test :: Test.Tree +test = + Test.group + "Omni.Ava" + [ Test.unit "help is non-empty" <| do + let usage = str (Docopt.usage help) :: String + null usage Test.@=? False + ] -- cgit v1.2.3