intelli-monad-0.1.0.2: Type level prompt with openai.
Safe HaskellSafe-Inferred
LanguageHaskell2010

IntelliMonad.Types

Documentation

data User Source #

Constructors

User 
System 
Assistant 
Tool 

Instances

Instances details
FromJSON User Source # 
Instance details

Defined in IntelliMonad.Types

ToJSON User Source # 
Instance details

Defined in IntelliMonad.Types

Generic User Source # 
Instance details

Defined in IntelliMonad.Types

Associated Types

type Rep User :: Type -> Type #

Methods

from :: User -> Rep User x #

to :: Rep User x -> User #

Show User Source # 
Instance details

Defined in IntelliMonad.Types

Methods

showsPrec :: Int -> User -> ShowS #

show :: User -> String #

showList :: [User] -> ShowS #

Eq User Source # 
Instance details

Defined in IntelliMonad.Types

Methods

(==) :: User -> User -> Bool #

(/=) :: User -> User -> Bool #

Ord User Source # 
Instance details

Defined in IntelliMonad.Types

Methods

compare :: User -> User -> Ordering #

(<) :: User -> User -> Bool #

(<=) :: User -> User -> Bool #

(>) :: User -> User -> Bool #

(>=) :: User -> User -> Bool #

max :: User -> User -> User #

min :: User -> User -> User #

PersistField User Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql User Source # 
Instance details

Defined in IntelliMonad.Types

Methods

sqlType :: Proxy User -> SqlType #

SymbolToField "user" Content User Source # 
Instance details

Defined in IntelliMonad.Types

type Rep User Source # 
Instance details

Defined in IntelliMonad.Types

type Rep User = D1 ('MetaData "User" "IntelliMonad.Types" "intelli-monad-0.1.0.2-7aLMpsbCxFoFMlNn6ntog1" 'False) ((C1 ('MetaCons "User" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "System" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Assistant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Tool" 'PrefixI 'False) (U1 :: Type -> Type)))

data Message Source #

Constructors

Message 

Fields

Image 

Fields

ToolCall 
ToolReturn 

Instances

Instances details
FromJSON Message Source # 
Instance details

Defined in IntelliMonad.Types

ToJSON Message Source # 
Instance details

Defined in IntelliMonad.Types

Generic Message Source # 
Instance details

Defined in IntelliMonad.Types

Associated Types

type Rep Message :: Type -> Type #

Methods

from :: Message -> Rep Message x #

to :: Rep Message x -> Message #

Show Message Source # 
Instance details

Defined in IntelliMonad.Types

Eq Message Source # 
Instance details

Defined in IntelliMonad.Types

Methods

(==) :: Message -> Message -> Bool #

(/=) :: Message -> Message -> Bool #

Ord Message Source # 
Instance details

Defined in IntelliMonad.Types

PersistField Message Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql Message Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "message" Content Message Source # 
Instance details

Defined in IntelliMonad.Types

type Rep Message Source # 
Instance details

Defined in IntelliMonad.Types

data FinishReason Source #

Instances

Instances details
Show FinishReason Source # 
Instance details

Defined in IntelliMonad.Types

Eq FinishReason Source # 
Instance details

Defined in IntelliMonad.Types

newtype Model Source #

Constructors

Model Text 

Instances

Instances details
Show Model Source # 
Instance details

Defined in IntelliMonad.Types

Methods

showsPrec :: Int -> Model -> ShowS #

show :: Model -> String #

showList :: [Model] -> ShowS #

Eq Model Source # 
Instance details

Defined in IntelliMonad.Types

Methods

(==) :: Model -> Model -> Bool #

(/=) :: Model -> Model -> Bool #

class ChatCompletion a => Validate a b where Source #

Methods

tryConvert :: a -> Either a b Source #

data Content Source #

Instances

Instances details
FromJSON Content Source # 
Instance details

Defined in IntelliMonad.Types

ToJSON Content Source # 
Instance details

Defined in IntelliMonad.Types

Generic Content Source # 
Instance details

Defined in IntelliMonad.Types

Associated Types

type Rep Content :: Type -> Type #

Methods

from :: Content -> Rep Content x #

to :: Rep Content x -> Content #

Show Content Source # 
Instance details

Defined in IntelliMonad.Types

Eq Content Source # 
Instance details

Defined in IntelliMonad.Types

Methods

(==) :: Content -> Content -> Bool #

(/=) :: Content -> Content -> Bool #

Ord Content Source # 
Instance details

Defined in IntelliMonad.Types

ChatCompletion Contents Source # 
Instance details

Defined in IntelliMonad.Prompt

PersistEntity Content Source # 
Instance details

Defined in IntelliMonad.Types

SafeToInsert Content Source # 
Instance details

Defined in IntelliMonad.Types

PersistField Content Source # 
Instance details

Defined in IntelliMonad.Types

(TypeError (MultipleUniqueKeysError Content) :: Constraint) => AtLeastOneUniqueKey Content Source # 
Instance details

Defined in IntelliMonad.Types

(TypeError (NoUniqueKeysError Content) :: Constraint) => OnlyOneUniqueKey Content Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql Content Source # 
Instance details

Defined in IntelliMonad.Types

ToBackendKey SqlBackend Content Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "created" Content UTCTime Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "message" Content Message Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "sessionName" Content Text Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "user" Content User Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "body" Context [Content] Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "footer" Context [Content] Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "header" Context [Content] Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "id" Content (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

FromJSON (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

ToJSON (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

Read (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

Show (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

Eq (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

Ord (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

FromHttpApiData (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

ToHttpApiData (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

PathPiece (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

PersistField (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql (Key Content) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

sqlType :: Proxy (Key Content) -> SqlType #

type Rep Content Source # 
Instance details

Defined in IntelliMonad.Types

type Rep Content = D1 ('MetaData "Content" "IntelliMonad.Types" "intelli-monad-0.1.0.2-7aLMpsbCxFoFMlNn6ntog1" 'False) (C1 ('MetaCons "Content" 'PrefixI 'True) ((S1 ('MetaSel ('Just "contentUser") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 User) :*: S1 ('MetaSel ('Just "contentMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Message)) :*: (S1 ('MetaSel ('Just "contentSessionName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "contentCreated") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UTCTime))))
data EntityField Content typ Source # 
Instance details

Defined in IntelliMonad.Types

newtype Key Content Source # 
Instance details

Defined in IntelliMonad.Types

type PersistEntityBackend Content Source # 
Instance details

Defined in IntelliMonad.Types

data Unique Content Source # 
Instance details

Defined in IntelliMonad.Types

data Context Source #

Instances

Instances details
Show Context Source # 
Instance details

Defined in IntelliMonad.Types

Eq Context Source # 
Instance details

Defined in IntelliMonad.Types

Methods

(==) :: Context -> Context -> Bool #

(/=) :: Context -> Context -> Bool #

Ord Context Source # 
Instance details

Defined in IntelliMonad.Types

PersistEntity Context Source # 
Instance details

Defined in IntelliMonad.Types

SafeToInsert Context Source # 
Instance details

Defined in IntelliMonad.Types

PersistField Context Source # 
Instance details

Defined in IntelliMonad.Types

(TypeError (MultipleUniqueKeysError Context) :: Constraint) => AtLeastOneUniqueKey Context Source # 
Instance details

Defined in IntelliMonad.Types

(TypeError (NoUniqueKeysError Context) :: Constraint) => OnlyOneUniqueKey Context Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql Context Source # 
Instance details

Defined in IntelliMonad.Types

ToBackendKey SqlBackend Context Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "created" Context UTCTime Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "request" Context CreateChatCompletionRequest Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "sessionName" Context Text Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "totalTokens" Context Int Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "body" Context [Content] Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "footer" Context [Content] Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "header" Context [Content] Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "id" Context (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "response" Context (Maybe CreateChatCompletionResponse) Source # 
Instance details

Defined in IntelliMonad.Types

FromJSON (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

ToJSON (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

Read (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

Show (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

Eq (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

Ord (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

FromHttpApiData (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

ToHttpApiData (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

PathPiece (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

PersistField (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql (Key Context) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

sqlType :: Proxy (Key Context) -> SqlType #

data EntityField Context typ Source # 
Instance details

Defined in IntelliMonad.Types

newtype Key Context Source # 
Instance details

Defined in IntelliMonad.Types

type PersistEntityBackend Context Source # 
Instance details

Defined in IntelliMonad.Types

data Unique Context Source # 
Instance details

Defined in IntelliMonad.Types

data KeyValue Source #

Constructors

KeyValue 

Instances

Instances details
Show KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

Eq KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

Ord KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

PersistEntity KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

SafeToInsert KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

PersistField KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

AtLeastOneUniqueKey KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

OnlyOneUniqueKey KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

ToBackendKey SqlBackend KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "key" KeyValue Text Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "namespace" KeyValue Text Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "value" KeyValue Text Source # 
Instance details

Defined in IntelliMonad.Types

SymbolToField "id" KeyValue (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

FromJSON (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

ToJSON (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

Read (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

Show (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

Eq (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

Ord (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

FromHttpApiData (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

ToHttpApiData (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

PathPiece (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

PersistField (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

PersistFieldSql (Key KeyValue) Source # 
Instance details

Defined in IntelliMonad.Types

data EntityField KeyValue typ Source # 
Instance details

Defined in IntelliMonad.Types

newtype Key KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

type PersistEntityBackend KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

data Unique KeyValue Source # 
Instance details

Defined in IntelliMonad.Types

data ToolProxy Source #

Constructors

forall t.(Tool t, FromJSON t, ToJSON t, FromJSON (Output t), ToJSON (Output t)) => ToolProxy (Proxy t) 

class Hook a where Source #

Methods

preHook :: forall p m. (MonadIO m, MonadFail m, PersistentBackend p) => a -> Prompt m () Source #

postHook :: forall p m. (MonadIO m, MonadFail m, PersistentBackend p) => a -> Prompt m () Source #

data HookProxy Source #

Constructors

forall t.Hook t => HookProxy t 

data PersistProxy Source #

Constructors

forall t.PersistentBackend t => PersistProxy t 

data PromptEnv Source #

Constructors

PromptEnv 

Fields

class Tool a where Source #

Minimal complete definition

toolExec

Associated Types

data Output a :: Type Source #

Instances

Instances details
Tool ValidateNumber Source # 
Instance details

Defined in IntelliMonad.CustomInstructions

Associated Types

data Output ValidateNumber Source #

Tool Arxiv Source # 
Instance details

Defined in IntelliMonad.Tools.Arxiv

Associated Types

data Output Arxiv Source #

Tool Bash Source # 
Instance details

Defined in IntelliMonad.Tools.Bash

Associated Types

data Output Bash Source #

Tool DallE3 Source # 
Instance details

Defined in IntelliMonad.Tools.DallE3

Associated Types

data Output DallE3 Source #

Tool DeleteKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Associated Types

data Output DeleteKey Source #

Tool GetKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Associated Types

data Output GetKey Source #

Tool ListKeys Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Associated Types

data Output ListKeys Source #

Tool SetKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Associated Types

data Output SetKey Source #

Tool TextToSpeech Source # 
Instance details

Defined in IntelliMonad.Tools.TextToSpeech

Associated Types

data Output TextToSpeech Source #

class HasFunctionObject r where Source #

Instances

Instances details
HasFunctionObject ValidateNumber Source # 
Instance details

Defined in IntelliMonad.CustomInstructions

HasFunctionObject Arxiv Source # 
Instance details

Defined in IntelliMonad.Tools.Arxiv

HasFunctionObject Bash Source # 
Instance details

Defined in IntelliMonad.Tools.Bash

HasFunctionObject DallE3 Source # 
Instance details

Defined in IntelliMonad.Tools.DallE3

HasFunctionObject DeleteKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

HasFunctionObject GetKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

HasFunctionObject ListKeys Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

HasFunctionObject SetKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

HasFunctionObject TextToSpeech Source # 
Instance details

Defined in IntelliMonad.Tools.TextToSpeech

class JSONSchema r where Source #

Minimal complete definition

Nothing

Methods

schema :: Schema Source #

Instances

Instances details
JSONSchema ValidateNumber Source # 
Instance details

Defined in IntelliMonad.CustomInstructions

Methods

schema :: Schema Source #

JSONSchema Arxiv Source # 
Instance details

Defined in IntelliMonad.Tools.Arxiv

Methods

schema :: Schema Source #

JSONSchema Bash Source # 
Instance details

Defined in IntelliMonad.Tools.Bash

Methods

schema :: Schema Source #

JSONSchema DallE3 Source # 
Instance details

Defined in IntelliMonad.Tools.DallE3

Methods

schema :: Schema Source #

JSONSchema DeleteKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Methods

schema :: Schema Source #

JSONSchema GetKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Methods

schema :: Schema Source #

JSONSchema ListKeys Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Methods

schema :: Schema Source #

JSONSchema SetKey Source # 
Instance details

Defined in IntelliMonad.Tools.KeyValue

Methods

schema :: Schema Source #

JSONSchema TextToSpeech Source # 
Instance details

Defined in IntelliMonad.Tools.TextToSpeech

Methods

schema :: Schema Source #

JSONSchema Text Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema String Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema Integer Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema () Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema Bool Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema Double Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema Int Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema a => JSONSchema (Maybe a) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

JSONSchema a => JSONSchema [a] Source # 
Instance details

Defined in IntelliMonad.Types

Methods

schema :: Schema Source #

class GSchema s f where Source #

Methods

gschema :: forall a. f a -> Schema Source #

Instances

Instances details
(HasFunctionObject s, JSONSchema c) => GSchema s (U1 :: Type -> Type) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

gschema :: U1 a -> Schema Source #

(HasFunctionObject s, GSchema s a, GSchema s b) => GSchema s (a :*: b) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

gschema :: (a :*: b) a0 -> Schema Source #

(HasFunctionObject s, GSchema s a, GSchema s b) => GSchema s (a :+: b) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

gschema :: (a :+: b) a0 -> Schema Source #

(HasFunctionObject s, JSONSchema c) => GSchema s (K1 i c :: Type -> Type) Source # 
Instance details

Defined in IntelliMonad.Types

Methods

gschema :: K1 i c a -> Schema Source #

(HasFunctionObject s, GSchema s f, Constructor c) => GSchema s (M1 C c f) Source #

Constructor Metadata

Instance details

Defined in IntelliMonad.Types

Methods

gschema :: M1 C c f a -> Schema Source #

(HasFunctionObject s, GSchema s f) => GSchema s (M1 D c f) Source #

Datatype

Instance details

Defined in IntelliMonad.Types

Methods

gschema :: M1 D c f a -> Schema Source #

(HasFunctionObject s, GSchema s f, Selector c) => GSchema s (M1 S c f) Source #

Selector Metadata

Instance details

Defined in IntelliMonad.Types

Methods

gschema :: M1 S c f a -> Schema Source #

data Schema Source #

Instances

Instances details
Semigroup Schema Source # 
Instance details

Defined in IntelliMonad.Types

class PersistentBackend p where Source #

Associated Types

type Conn p Source #

Methods

config :: p Source #

setup :: (MonadIO m, MonadFail m) => p -> m (Maybe (Conn p)) Source #

initialize :: (MonadIO m, MonadFail m) => Conn p -> Context -> m () Source #

load :: (MonadIO m, MonadFail m) => Conn p -> SessionName -> m (Maybe Context) Source #

loadByKey :: (MonadIO m, MonadFail m) => Conn p -> Key Context -> m (Maybe Context) Source #

save :: (MonadIO m, MonadFail m) => Conn p -> Context -> m (Maybe (Key Context)) Source #

saveContents :: (MonadIO m, MonadFail m) => Conn p -> [Content] -> m () Source #

listSessions :: (MonadIO m, MonadFail m) => Conn p -> m [Text] Source #

deleteSession :: (MonadIO m, MonadFail m) => Conn p -> SessionName -> m () Source #

listKeys :: (MonadIO m, MonadFail m) => Conn p -> m [Unique KeyValue] Source #

getKey :: (MonadIO m, MonadFail m) => Conn p -> Unique KeyValue -> m (Maybe Text) Source #

setKey :: (MonadIO m, MonadFail m) => Conn p -> Unique KeyValue -> Text -> m () Source #

deleteKey :: (MonadIO m, MonadFail m) => Conn p -> Unique KeyValue -> m () Source #

Instances

Instances details
PersistentBackend StatelessConf Source # 
Instance details

Defined in IntelliMonad.Persist

Associated Types

type Conn StatelessConf Source #

PersistentBackend SqliteConf Source # 
Instance details

Defined in IntelliMonad.Persist

Associated Types

type Conn SqliteConf Source #

Orphan instances