feat: make tools parameter optional via R_USE_TOOLS env var check

Add use_tools() helper that reads R_USE_TOOLS environment variable to
conditionally include tools descriptions in chat JSON output, defaulting
to true when unset or unrecognized.
This commit is contained in:
retoor 2025-05-29 00:40:09 +00:00
parent ae8377b0a4
commit 9c7e5e7259
3 changed files with 23 additions and 1 deletions

4
chat.h
View File

@ -51,7 +51,9 @@ char *chat_json(const char *role, const char *message) {
if (role != NULL && message != NULL) {
message_add(role, message);
json_object_object_add(root_object, "tools", tools_descriptions());
if(use_tools()){
json_object_object_add(root_object, "tools", tools_descriptions());
}
}
json_object_object_add(root_object, "messages", message_list());

20
r.h
View File

@ -32,6 +32,26 @@ char *_model = NULL;
#define DB_FILE "~/.r.db"
#define PROMPT_TEMPERATURE 0.1
bool use_tools(){
if(getenv("R_USE_TOOLS") != NULL){
const char *value = getenv("R_USE_TOOLS");
if (!strcmp(value, "true")) {
return true;
}
if (!strcmp(value, "false")) {
return false;
}
if (!strcmp(value, "1")) {
return true;
}
if (!strcmp(value, "0")) {
return false;
}
}
return true;
}
char * get_env_system_message(){
if (getenv("R_SYSTEM_MESSAGE") != NULL) {
return strdup(getenv("R_SYSTEM_MESSAGE"));

BIN
rpylib.so

Binary file not shown.