Role

is the role of a chat message. System for instructions, User for user input, Assistant for model responses, Tool for tool result messages.

Assistant

instantiate

(Fn [] Role)

creates a Assistant.

System

instantiate

(Fn [] Role)

creates a System.

Tool

instantiate

(Fn [] Role)

creates a Tool.

User

instantiate

(Fn [] Role)

creates a User.

copy

instantiate

(Fn [(Ref Role a)] Role)

copies a Role.

delete

instantiate

(Fn [Role] ())

deletes a Role. This should usually not be called manually.

get-tag

instantiate

(Fn [(Ref Role a)] Int)

Gets the tag from a Role.

prn

instantiate

(Fn [(Ref Role a)] String)

converts a Role to a string.

str

defn

(Fn [(Ref Role a)] String)

                        (str r)
                    

returns the wire-format string for a role ("system", "user", "assistant", or "tool").