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)) {