{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedLists #-} {-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} module IntelliMonad.Tools ( module IntelliMonad.Tools.Utils, module IntelliMonad.Tools.Bash, module IntelliMonad.Tools.TextToSpeech, module IntelliMonad.Tools.DallE3, defaultTools, ) where import Data.Proxy import IntelliMonad.Tools.Bash import IntelliMonad.Tools.DallE3 import IntelliMonad.Tools.TextToSpeech import IntelliMonad.Tools.Utils import IntelliMonad.Types defaultTools :: [ToolProxy] defaultTools :: [ToolProxy] defaultTools = [ Proxy Bash -> ToolProxy forall t. (Tool t, FromJSON t, ToJSON t, FromJSON (Output t), ToJSON (Output t)) => Proxy t -> ToolProxy ToolProxy (Proxy Bash forall {k} (t :: k). Proxy t Proxy :: Proxy Bash), Proxy TextToSpeech -> ToolProxy forall t. (Tool t, FromJSON t, ToJSON t, FromJSON (Output t), ToJSON (Output t)) => Proxy t -> ToolProxy ToolProxy (Proxy TextToSpeech forall {k} (t :: k). Proxy t Proxy :: Proxy TextToSpeech), Proxy DallE3 -> ToolProxy forall t. (Tool t, FromJSON t, ToJSON t, FromJSON (Output t), ToJSON (Output t)) => Proxy t -> ToolProxy ToolProxy (Proxy DallE3 forall {k} (t :: k). Proxy t Proxy :: Proxy DallE3) ]