From 6834081960fef3b7215eb3377364ad86077ae7c8 Mon Sep 17 00:00:00 2001
From: retoor <retoor@molodetz.nl>
Date: Fri, 28 Mar 2025 05:37:22 +0100
Subject: [PATCH] new.

---
 browse.h   |   2 +-
 db_utils.h |  41 +++++++++++++++++++++++++++++++--
 main.c     |  13 ++++++-----
 markdown.h |   7 ++++++
 rpylib.so  | Bin 76488 -> 80872 bytes
 tools.h    |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 120 insertions(+), 8 deletions(-)

diff --git a/browse.h b/browse.h
index 377fbd6..f4f67df 100644
--- a/browse.h
+++ b/browse.h
@@ -47,7 +47,7 @@ char * web_search(char * q){
     if(!json_result){
         json_object_put(json_ret);
         free(ret);
-        return web_search_news(q);        
+        return web_search(q);        
     }
     json_object_put(json_ret);
     return ret;
diff --git a/db_utils.h b/db_utils.h
index f5544cf..2851c67 100644
--- a/db_utils.h
+++ b/db_utils.h
@@ -7,6 +7,9 @@
 
 const char * db_file = "~/.r.db";
 
+
+json_object* db_execute(const char *query);
+
 char * db_file_expanded(){
     char * expanded = expand_home_directory(db_file);
     static char result[4096];
@@ -51,7 +54,7 @@ json_object * db_set(const char *key, const char *value) {
         return NULL;
     }
 
-    char *sql = sqlite3_mprintf("INSERT INTO kv_store (key, value) VALUES (%Q, %Q)", key, value);
+    char *sql = sqlite3_mprintf("INSERT INTO kv_store (key, value) VALUES (%Q, %Q) ON CONFLICT(key) DO UPDATE SET value = %Q WHERE key = %Q", key, value, value,key);
     rc = sqlite3_exec(db, sql, 0, 0, &err_msg);
     sqlite3_free(sql);
 
@@ -97,6 +100,11 @@ json_object* db_get(const char *key) {
 json_object* db_query(const char *query) {
     sqlite3 *db;
     sqlite3_stmt *stmt;
+
+    if(strncmp(query, "SELECT", 6)){
+        return db_execute(query);
+    }
+
     json_object *result = json_object_new_array();
 
     int rc = sqlite3_open(db_file_expanded(), &db);
@@ -138,4 +146,33 @@ json_object* db_query(const char *query) {
 }
 
 
-#endif // DB_UTILS_H
+json_object* db_execute(const char *query) {
+    sqlite3 *db;
+    char *err_msg = 0;
+    int rc = sqlite3_open(db_file_expanded(), &db);
+    json_object *result = json_object_new_object();
+
+    if (rc != SQLITE_OK) {
+        json_object_object_add(result, "error", json_object_new_string("Cannot open database"));
+        return result;
+    }
+
+    rc = sqlite3_exec(db, query, 0, 0, &err_msg);
+    if (rc != SQLITE_OK) {
+        json_object_object_add(result, "error", json_object_new_string(err_msg));
+        sqlite3_free(err_msg);
+    } else {
+        json_object_object_add(result, "success", json_object_new_string("Query executed successfully"));
+    }
+
+    sqlite3_close(db);
+    return result;
+}
+char * db_get_schema(){
+    json_object * tables =db_query("SELECT * FROM sqlite_master WHERE type='table'");
+    char * result = strdup(json_object_get_string(tables));
+    json_object_put(tables);
+    return result;
+}
+
+#endif
diff --git a/main.c b/main.c
index 20d826e..3d031ef 100644
--- a/main.c
+++ b/main.c
@@ -192,7 +192,6 @@ void render(char *content)
     if(SYNTAX_HIGHLIGHT_ENABLED)
     {
         parse_markdown_to_ansi(content);
-        printf("\n\n");
     }else{
         printf("%s", content);
     }
@@ -317,13 +316,17 @@ bool openai_include(char *path) {
     return true;
 }
 
+
+
 void init() {
     setbuf(stdout, NULL);
     line_init();
     auth_init();
-    const char *locale = setlocale(LC_ALL, NULL);
-    char payload[4096] = {0};
-    sprintf(payload, "Your locale is %s. User lang is %s.", locale, locale);
+    db_initialize();
+    char * schema = db_get_schema();
+    char payload[1024*1024] = {0};
+    sprintf(payload, "Your have a database that you can mutate using the query tool and the get and set tool. This is the schema in json format: %s. Dialect is sqlite.", schema);
+    free(schema);
     fprintf(stderr, "%s", "Loading... ⏳");
     openai_system(payload);
     if(!openai_include(".rcontext.txt")){
@@ -353,7 +356,7 @@ void handle_sigint(int sig) {
 
 int main(int argc, char *argv[]) {
     signal(SIGINT, handle_sigint);
-    db_initialize();
+
     init();
     if (try_prompt(argc, argv))
         return 0;
diff --git a/markdown.h b/markdown.h
index 8a7c3d5..3ae7a39 100644
--- a/markdown.h
+++ b/markdown.h
@@ -114,7 +114,14 @@ void parse_markdown_to_ansi(const char *markdown) {
             continue;
         }else if(!strncmp(ptr, "```", 3)) {
             inside_code = !inside_code;
+            if(inside_code){
             ptr = strstr(ptr, "\n") + 1;
+            }else{
+                ptr+=3;
+            }
+            if(*ptr == '\0'){
+               break; 
+            } 
         }
 
         if (inside_code) {
diff --git a/rpylib.so b/rpylib.so
index 74d128255bea224a3c367d0360c5fe54598b897c..ca04a2d3e69226e6578644d1391cd17118117836 100755
GIT binary patch
literal 80872
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
aF5aK|hh5(=8Xo$U->_69)7yK~<^Kzp9)33f

literal 76488
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

diff --git a/tools.h b/tools.h
index b55bdf2..b294b8d 100644
--- a/tools.h
+++ b/tools.h
@@ -44,6 +44,7 @@ struct json_object* tool_description_db_set();
 struct json_object* tool_description_db_query();
 struct json_object* tool_description_db_get();
 struct json_object* tool_description_web_search_news();
+struct json_object* tool_description_web_search();
 
 struct json_object* tools_descriptions() {
     struct json_object* root = json_object_new_array();
@@ -61,6 +62,7 @@ struct json_object* tools_descriptions() {
     json_object_array_add(root, tool_description_db_query());
     json_object_array_add(root, tool_description_db_get());
     json_object_array_add(root, tool_description_web_search_news());
+    json_object_array_add(root, tool_description_web_search());
     return root;
 }
 
@@ -111,6 +113,57 @@ struct json_object* tool_description_web_search_news() {
     return root;
 }
 
+char* tool_function_web_search(char* query) {
+    if (query == NULL) {
+        return strdup("Query cannot be NULL.");
+    }
+
+    char* result = web_search_news(query);
+    if (result == NULL) {
+        return strdup("Failed to fetch news.");
+    }
+
+    return result;
+}
+
+
+struct json_object* tool_description_web_search() {
+    struct json_object* root = json_object_new_object();
+    json_object_object_add(root, "type", json_object_new_string("function"));
+
+    struct json_object* function = json_object_new_object();
+    json_object_object_add(function, "name", json_object_new_string("web_search"));
+    json_object_object_add(function, "description", json_object_new_string("Searches for information based on a query using search engines like google."));
+
+    struct json_object* parameters = json_object_new_object();
+    json_object_object_add(parameters, "type", json_object_new_string("object"));
+
+    struct json_object* properties = json_object_new_object();
+    struct json_object* query = json_object_new_object();
+    json_object_object_add(query, "type", json_object_new_string("string"));
+    json_object_object_add(query, "description", json_object_new_string("The url encoded query string to search for information."));
+    json_object_object_add(properties, "query", query);
+
+    json_object_object_add(parameters, "properties", properties);
+
+    struct json_object* required = json_object_new_array();
+    json_object_array_add(required, json_object_new_string("query"));
+    json_object_object_add(parameters, "required", required);
+
+    json_object_object_add(parameters, "additionalProperties", json_object_new_boolean(0));
+
+    json_object_object_add(function, "parameters", parameters);
+    json_object_object_add(function, "strict", json_object_new_boolean(1));
+
+    json_object_object_add(root, "function", function);
+
+    return root;
+}
+
+
+
+
+
 
 char* tool_function_db_get(char* key) {
     json_object* result = db_get(key);
@@ -1070,6 +1123,18 @@ struct json_object* tools_execute(struct json_object* tools_array) {
                         free(news_result);
                     }
                 }
+            }else if (!strcmp(function_name, "web_search")){
+                struct json_object* arguments_obj;
+                if (json_object_object_get_ex(function_obj, "arguments", &arguments_obj)) {
+                    struct json_object* arguments = json_tokener_parse(json_object_get_string(arguments_obj));
+                    struct json_object* query_obj;
+                    if (json_object_object_get_ex(arguments, "query", &query_obj)) {
+                        char* query = (char*)json_object_get_string(query_obj);
+                        char* news_result = tool_function_web_search(query);
+                        json_object_object_add(tool_result, "content", json_object_new_string(news_result));
+                        free(news_result);
+                    }
+                }
             }else if (!strcmp(function_name, "db_get")) {
     struct json_object* arguments_obj;
     if (json_object_object_get_ex(function_obj, "arguments", &arguments_obj)) {