From e0c4d650c60805e48fe996407e05514226c4eb87 Mon Sep 17 00:00:00 2001
From: retoor <retoor@molodetz.nl>
Date: Fri, 28 Mar 2025 23:22:57 +0100
Subject: [PATCH] Update indexer.h

---
 indexer.h | 201 ++++++++-------------
 main.c    | 508 +++++++++++++++++++++---------------------------------
 r.h       |   1 -
 rpylib.so | Bin 80928 -> 81048 bytes
 4 files changed, 268 insertions(+), 442 deletions(-)

diff --git a/indexer.h b/indexer.h
index 710ec4e..dfc8837 100644
--- a/indexer.h
+++ b/indexer.h
@@ -7,151 +7,98 @@
 #include <sys/stat.h>
 #include <time.h>
 #include <unistd.h>
+
 #define MAX_FILES 20000
 #define MAX_PATH 4096
 
 static const char *extensions[] = {
-    ".c",       ".cpp", ".h",    ".py", ".java",   ".js",  ".mk",   ".html",
-    "Makefile", ".css", ".json", ".cs", ".csproj", ".sln", ".toml", ".rs"};
-static size_t ext_count =
-    sizeof(extensions) /
-    sizeof(
-        extensions[0]); // Updated count to reflect the new number of extensions
+    ".c", ".cpp", ".h", ".py", ".java", ".js", ".mk", ".html",
+    "Makefile", ".css", ".json", ".cs", ".csproj", ".sln", ".toml", ".rs"
+};
+static const size_t ext_count = sizeof(extensions) / sizeof(extensions[0]);
 
 typedef struct {
-  char name[MAX_PATH];
-  char modification_date[20];
-  char creation_date[20];
-  char type[10];
-  size_t size_bytes;
+    char name[MAX_PATH];
+    char modification_date[20];
+    char creation_date[20];
+    char type[10];
+    size_t size_bytes;
 } FileInfo;
 
-FileInfo file_list[MAX_FILES];
-size_t file_count = 0;
+static FileInfo file_list[MAX_FILES];
+static size_t file_count = 0;
 
-int is_valid_extension(const char *filename, const char *extensions[],
-                       size_t ext_count) {
-  const char *dot = strrchr(filename, '.');
-  if (!dot) {
-    dot = filename;
-  }
-  for (size_t i = 0; i < ext_count; i++) {
-    if (strcmp(dot, extensions[i]) == 0) {
-      return 1;
+static int is_valid_extension(const char *filename) {
+    const char *dot = strrchr(filename, '.');
+    if (!dot) dot = filename;
+    for (size_t i = 0; i < ext_count; i++) {
+        if (strcmp(dot, extensions[i]) == 0) return 1;
     }
-  }
-  return 0;
+    return 0;
 }
 
-int is_ignored_directory(const char *dir_name) {
-  const char *ignored_dirs[] = {"env", ".venv", "node_modules", "venv",
-                                "virtualenv"};
-  for (size_t i = 0; i < sizeof(ignored_dirs) / sizeof(ignored_dirs[0]); i++) {
-    if (strcmp(dir_name, ignored_dirs[i]) == 0) {
-      return 1;
+static int is_ignored_directory(const char *dir_name) {
+    const char *ignored_dirs[] = {"env", ".venv", "node_modules", "venv", "virtualenv"};
+    for (size_t i = 0; i < sizeof(ignored_dirs) / sizeof(ignored_dirs[0]); i++) {
+        if (strcmp(dir_name, ignored_dirs[i]) == 0) return 1;
     }
-  }
-  return 0;
+    return 0;
 }
 
-void get_file_info(const char *path) {
-  struct stat file_stat;
-  if (stat(path, &file_stat) == 0) {
-    FileInfo info;
-    strncpy(info.name, path,
-            MAX_PATH -
-                1); // Copy with one less to leave space for null terminator
-    info.name[MAX_PATH - 1] = '\0'; // Ensure null termination
-    strftime(info.modification_date, sizeof(info.modification_date),
-             "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_mtime));
-    strftime(info.creation_date, sizeof(info.creation_date),
-             "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_ctime));
-    strncpy(info.type, S_ISDIR(file_stat.st_mode) ? "directory" : "file", 10);
-    info.type[9] = '\0'; // Ensure null termination
-    info.size_bytes = file_stat.st_size;
-    file_list[file_count++] = info;
-  }
+static void get_file_info(const char *path) {
+    struct stat file_stat;
+    if (stat(path, &file_stat) == 0) {
+        FileInfo info;
+        strncpy(info.name, path, MAX_PATH - 1);
+        info.name[MAX_PATH - 1] = '\0';
+        strftime(info.modification_date, sizeof(info.modification_date), "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_mtime));
+        strftime(info.creation_date, sizeof(info.creation_date), "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_ctime));
+        strncpy(info.type, S_ISDIR(file_stat.st_mode) ? "directory" : "file", sizeof(info.type) - 1);
+        info.type[sizeof(info.type) - 1] = '\0';
+        info.size_bytes = file_stat.st_size;
+        file_list[file_count++] = info;
+    }
 }
 
 char *index_directory(const char *dir_path) {
-  DIR *dir = opendir(dir_path);
-  struct dirent *entry;
-  if (dir == NULL) {
-    perror("Failed to open directory");
-    return NULL;
-  }
-
-  json_object *jarray = json_object_new_array();
-
-  while ((entry = readdir(dir)) != NULL) {
-    if (strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) {
-      if (entry->d_name[0] == '.' || is_ignored_directory(entry->d_name)) {
-        continue;
-      }
-      char full_path[MAX_PATH];
-      snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, entry->d_name);
-      if (entry->d_type == DT_DIR) {
-        char *subdir_json = index_directory(full_path);
-        if (subdir_json) {
-          json_object *jsubdir = json_object_new_string(subdir_json);
-          json_object_array_add(jarray, jsubdir);
-          free(subdir_json);
-        }
-      } else if (is_valid_extension(entry->d_name, extensions, ext_count)) {
-        get_file_info(full_path);
-        json_object *jfile = json_object_new_object();
-        json_object_object_add(
-            jfile, "file_name",
-            json_object_new_string(file_list[file_count - 1].name));
-        json_object_object_add(
-            jfile, "modification_date",
-            json_object_new_string(
-                file_list[file_count - 1].modification_date));
-        json_object_object_add(
-            jfile, "creation_date",
-            json_object_new_string(file_list[file_count - 1].creation_date));
-        json_object_object_add(
-            jfile, "type",
-            json_object_new_string(file_list[file_count - 1].type));
-        json_object_object_add(
-            jfile, "size_bytes",
-            json_object_new_int64(file_list[file_count - 1].size_bytes));
-
-        // Read the file contents
-        FILE *fp = fopen(file_list[file_count - 1].name, "r");
-        if (fp != NULL) {
-          fseek(fp, 0, SEEK_END);
-          long length = ftell(fp);
-          fseek(fp, 0, SEEK_SET);
-          char *content = malloc(length + 1);
-          if (content) {
-            size_t bytesRead = fread(content, 1, length, fp);
-            if (bytesRead != length) {
-              free(content);
-              content = NULL;
-              json_object_object_add(
-                  jfile, "file_current_content_data",
-                  json_object_new_string("Error reading file"));
-            } else {
-              content[length] = '\0'; // Null-terminate the string
-              // json_object_object_add(jfile, "file_current_content_data",
-              // json_object_new_string(content));
-            }
-            free(content);
-          }
-          fclose(fp);
-        } else {
-          // json_object_object_add(jfile, "content",
-          // json_object_new_string("Unable to read file"));
-        }
-
-        json_object_array_add(jarray, jfile);
-      }
+    DIR *dir = opendir(dir_path);
+    if (!dir) {
+        perror("Failed to open directory");
+        return NULL;
     }
-  }
-  closedir(dir);
 
-  char *result = strdup(json_object_to_json_string(jarray));
-  json_object_put(jarray);
-  return result;
+    struct dirent *entry;
+    json_object *jarray = json_object_new_array();
+
+    while ((entry = readdir(dir)) != NULL) {
+        if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) continue;
+        if (entry->d_name[0] == '.' || is_ignored_directory(entry->d_name)) continue;
+
+        char full_path[MAX_PATH];
+        snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, entry->d_name);
+
+        if (entry->d_type == DT_DIR) {
+            char *subdir_json = index_directory(full_path);
+            if (subdir_json) {
+                json_object *jsubdir = json_object_new_string(subdir_json);
+                json_object_array_add(jarray, jsubdir);
+                free(subdir_json);
+            }
+        } else if (is_valid_extension(entry->d_name)) {
+            get_file_info(full_path);
+            json_object *jfile = json_object_new_object();
+            json_object_object_add(jfile, "file_name", json_object_new_string(file_list[file_count - 1].name));
+            json_object_object_add(jfile, "modification_date", json_object_new_string(file_list[file_count - 1].modification_date));
+            json_object_object_add(jfile, "creation_date", json_object_new_string(file_list[file_count - 1].creation_date));
+            json_object_object_add(jfile, "type", json_object_new_string(file_list[file_count - 1].type));
+            json_object_object_add(jfile, "size_bytes", json_object_new_int64(file_list[file_count - 1].size_bytes));
+
+            json_object_array_add(jarray, jfile);
+        }
+    }
+    closedir(dir);
+
+    char *result = strdup(json_object_to_json_string(jarray));
+    json_object_put(jarray);
+    return result;
 }
diff --git a/main.c b/main.c
index 21fd178..39687a9 100644
--- a/main.c
+++ b/main.c
@@ -1,381 +1,261 @@
-// Written by retoor@molodetz.nl
-
-// This source code initializes a command-line application that uses OpenAI for
-// chat interactions, handles user inputs, and can start a simple HTTP server
-// with CGI support. The code allows command execution, markdown parsing, and
-// OpenAI chat integration.
-
-// External imports used in this code:
-// - openai.h
-// - markdown.h
-// - plugin.h
-// - line.h
-
-// MIT License
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
 #include "r.h"
 #include <signal.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <locale.h>
+#include <unistd.h>
 
 #include "line.h"
 #include "markdown.h"
 #include "openai.h"
 #include "utils.h"
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
 #include "db_utils.h"
 
 volatile sig_atomic_t sigint_count = 0;
 time_t first_sigint_time = 0;
 bool SYNTAX_HIGHLIGHT_ENABLED = true;
 bool API_MODE = false;
+
 void help();
-void render(char *);
-bool openai_include(char *path);
-char *strreplace(char *content, char *what, char *with);
+void render(const char *);
+bool openai_include(const char *);
+char *strreplace(const char *, const char *, const char *);
 
 char *get_prompt_from_stdin(char *prompt) {
-  int index = 0;
-  prompt[index] = '\0';
-  char c = 0;
-  while ((c = getchar()) != EOF) {
-    prompt[index++] = c;
-  }
-  prompt[index++] = '\0';
-  return prompt;
+    int index = 0;
+    char c;
+    while ((c = getchar()) != EOF) {
+        prompt[index++] = c;
+    }
+    prompt[index] = '\0';
+    return prompt;
 }
 
-char *get_prompt_from_args(int c, char **argv) {
-  char *prompt = (char *)malloc(1024 * 1024 * 10 + 1);
-  char *system = (char *)malloc(1024 * 1024);
+char *get_prompt_from_args(int argc, char **argv) {
+    char *prompt = malloc(10 * 1024 * 1024 + 1);
+    char *system = malloc(1024 * 1024);
+    bool get_from_std_in = false;
 
-  system[0] = 0;
-  prompt[0] = 0;
-  bool get_from_std_in = false;
-  for (int i = 1; i < c; i++) {
-    if (!strcmp(argv[i], "--stdin")) {
-      fprintf(stderr, "%s\n", "Reading from stdin.");
-      get_from_std_in = true;
-    } else if (!strcmp(argv[i], "--verbose")) {
-      is_verbose = true;
+    for (int i = 1; i < argc; i++) {
+        if (strcmp(argv[i], "--stdin") == 0) {
+            fprintf(stderr, "Reading from stdin.\n");
+            get_from_std_in = true;
+        } else if (strcmp(argv[i], "--verbose") == 0) {
+            is_verbose = true;
+        } else if (strcmp(argv[i], "--py") == 0 && i + 1 < argc) {
+            char *py_file_path = expand_home_directory(argv[++i]);
+            fprintf(stderr, "Including \"%s\".\n", py_file_path);
+            openai_include(py_file_path);
+            free(py_file_path);
+        } else if (strcmp(argv[i], "--free") == 0) {
+            auth_free();
+        } else if (strcmp(argv[i], "--context") == 0 && i + 1 < argc) {
+            char *context_file_path = argv[++i];
+            fprintf(stderr, "Including \"%s\".\n", context_file_path);
+            openai_include(context_file_path);
+        } else if (strcmp(argv[i], "--api") == 0) {
+            API_MODE = true;
+        } else if (strcmp(argv[i], "--nh") == 0) {
+            SYNTAX_HIGHLIGHT_ENABLED = false;
+            fprintf(stderr, "Syntax highlighting disabled.\n");
+        } else if (!get_from_std_in) {
+            strcat(system, argv[i]);
+            strcat(system, (i < argc - 1) ? " " : ".");
+        }
     }
 
-    else if (!strcmp(argv[i], "--py")) {
-      if (i + 1 <= c) {
-        char *py_file_path = expand_home_directory(argv[i + 1]);
-        fprintf(stderr, "Including \"%s\".\n", py_file_path);
-        openai_include(py_file_path);
-        free(py_file_path);
-        // char * file_content = read_file(py_file_path);
-        // plugin_run(file_content);
-        i++;
-      }
-    } else if (!strcmp(argv[i], "--free")) {
-      auth_free();
-      continue;
+    if (get_from_std_in) {
+        if (*system) openai_system(system);
+        free(system);
+        prompt = get_prompt_from_stdin(prompt);
+    } else {
+        free(prompt);
+        prompt = system;
     }
 
-    else if (!strcmp(argv[i], "--context")) {
-      if (i + 1 <= c) {
-        char *context_file_path = argv[i + 1];
-        fprintf(stderr, "Including \"%s\".\n", context_file_path);
-        openai_include(context_file_path);
-        i++;
-      }
-    } else if (!strcmp(argv[i], "--api")) {
-      API_MODE = true;
-    } else if (!strcmp(argv[i], "--nh")) {
-      SYNTAX_HIGHLIGHT_ENABLED = false;
-      fprintf(stderr, "%s\n", "Syntax highlighting disabled.");
-    } else if (!get_from_std_in) {
-      strcat(system, argv[i]);
-      if (i < c - 1) {
-        strcat(system, " ");
-      } else {
-        strcat(system, ".");
-      }
+    if (!*prompt) {
+        free(prompt);
+        return NULL;
     }
-  }
-
-  if (get_from_std_in) {
-    if (*system) {
-      openai_system(system);
-    }
-    free(system);
-    prompt = get_prompt_from_stdin(prompt);
-  } else {
-    free(prompt);
-    prompt = system;
-  }
-
-  if (!*prompt) {
-    free(prompt);
-    return NULL;
-  }
-  return prompt;
+    return prompt;
 }
 
 bool try_prompt(int argc, char *argv[]) {
-  char *prompt = get_prompt_from_args(argc, argv);
-  if (prompt != NULL) {
-    char *response = openai_chat("user", prompt);
-    if (!response) {
-      printf("Could not get response from server\n");
-      free(prompt);
-      return false;
+    char *prompt = get_prompt_from_args(argc, argv);
+    if (prompt) {
+        char *response = openai_chat("user", prompt);
+        if (!response) {
+            printf("Could not get response from server\n");
+            free(prompt);
+            return false;
+        }
+        render(response);
+        free(response);
+        free(prompt);
+        return true;
     }
-    render(response);
-    free(response);
-    free(prompt);
-    return true;
-  }
-  return false;
+    return false;
 }
 
-void serve() {
-  render("Starting server. *Put executables in a dir named cgi-bin and they "
-         "will behave as web pages.*");
-  int res = system("python3 -m http.server --cgi");
-  (void)res;
+
+char **get_parameters(const char *content, const char *delimiter) {
+    char *start = NULL;
+    char **parameters = NULL;
+    int count = 0;
+
+    while ((start = strstr(content, delimiter)) != NULL) {
+        start += 3;
+        char *end = strstr(start, delimiter);
+        char *parameter = malloc(end - start + 1);
+
+        memcpy(parameter, start, end - start);
+        parameter[end - start] = '\0';
+
+        content = end + 3;
+        count++;
+        parameters = realloc(parameters, sizeof(char *) * (count + 1));
+        parameters[count - 1] = parameter;
+        parameters[count] = NULL;
+    }
+
+    return parameters;
 }
 
-char **get_parameters(char *content, char *delimiter) {
-  char *start = NULL;
-  char **parameters = NULL; //(char **)malloc(sizeof(char *) * 2);
-  int count = 0;
-  while ((start = strstr(content, delimiter)) != NULL) {
-    start += 3;
-    char *end = strstr(start, delimiter);
-    char *parameter = (char *)malloc(end - start + 1);
-
-    memcpy(parameter, start, end - start);
-    parameter[end - start] = '\0';
-
-    //    printf("%s\n", parameter);
-    content = end + 3;
-    count += 1;
-    parameters = (char **)realloc(parameters, sizeof(char *) * (1 + count * 2));
-    parameters[count - 1] = parameter;
-    parameters[count] = NULL;
-  }
-
-  return parameters;
-}
-
-void render(char *content) {
-
-  if (SYNTAX_HIGHLIGHT_ENABLED) {
-    parse_markdown_to_ansi(content);
-  } else {
-    printf("%s", content);
-  }
+void render(const char *content) {
+    if (SYNTAX_HIGHLIGHT_ENABLED) {
+        parse_markdown_to_ansi(content);
+    } else {
+        printf("%s", content);
+    }
 }
 
 void repl() {
-  line_init();
-  char *line = NULL;
-  // char *previous_line = NULL;
-  while (true) {
-    line = line_read("> ");
-    if (!line || !*line) {
-      continue;
-      // line = previous_line;
-    }
-    if (!line || !*line)
-      continue;
-    //   previous_line = line;
-    if (!strncmp(line, "!dump", 5)) {
-      printf("%s\n", message_json());
-      continue;
-    }
-    if (!strncmp(line, "!verbose", 7)) {
-      is_verbose = !is_verbose;
-      fprintf(stderr, "%s\n",
-              is_verbose ? "Verbose mode enabled" : "Verbose mode disabled");
-      continue;
-    }
-    if (line && *line != '\n') {
+    line_init();
+    char *line = NULL;
 
-      line_add_history(line);
-    }
-    if (!strncmp(line, "!models", 7)) {
-      printf("Current model: %s\n", openai_fetch_models());
-      continue;
-    }
-    if (!strncmp(line, "!model", 6)) {
-      if (!strncmp(line + 6, " ", 1)) {
-        line = line + 7;
-        set_prompt_model(line);
-      }
-      printf("Current model: %s\n", get_prompt_model());
-      continue;
-    }
-    if (!strncmp(line, "exit", 4)) {
-      exit(0);
-    }
-    if (!strncmp(line, "help", 4)) {
-      help();
-      continue;
-    }
-    if (!strncmp(line, "!debug", 6)) {
-      r_malloc_stats();
-      continue;
-    }
-    while (line && *line != '\n') {
+    while (true) {
+        line = line_read("> ");
+        if (!line || !*line) continue;
 
-      char *response = openai_chat("user", line);
-      if (response) {
-        render(response);
-        printf("\n");
-        if (strstr(response, "_STEP_")) {
-          line = "continue";
+        if (!strncmp(line, "!dump", 5)) {
+            printf("%s\n", message_json());
+            continue;
+        }
+        if (!strncmp(line, "!verbose", 8)) {
+            is_verbose = !is_verbose;
+            fprintf(stderr, "%s\n", is_verbose ? "Verbose mode enabled" : "Verbose mode disabled");
+            continue;
+        }
+        if (line && *line != '\n') line_add_history(line);
 
-        } else {
-
-          line = NULL;
+        if (!strncmp(line, "!models", 7)) {
+            printf("Current model: %s\n", openai_fetch_models());
+            continue;
+        }
+        if (!strncmp(line, "!model", 6)) {
+            if (line[6] == ' ') {
+                set_prompt_model(line + 7);
+            }
+            printf("Current model: %s\n", get_prompt_model());
+            continue;
+        }
+        if (!strncmp(line, "exit", 4)) exit(0);
+        if (!strncmp(line, "help", 4)) {
+            help();
+            continue;
+        }
+        if (!strncmp(line, "!debug", 6)) {
+            r_malloc_stats();
+            continue;
         }
 
-        free(response);
-      } else {
-        exit(0);
-      }
+        while (line && *line != '\n') {
+            char *response = openai_chat("user", line);
+            if (response) {
+                render(response);
+                printf("\n");
+                if (strstr(response, "_STEP_")) {
+                    line = "continue";
+                } else {
+                    line = NULL;
+                }
+                free(response);
+            } else {
+                exit(0);
+            }
+        }
     }
-  }
 }
 
 void help() {
-  char help_text[1024 * 1024] = {0};
-  char *template =
-      "# Help\n"
-      "Written by retoor@molodetz.nl.\n\n"
-      "## Features\n"
-      " - navigate through history using `arrows`.\n"
-      " - navigate through history with **recursive search** using `ctrl+r`.\n"
-      " - **inception with python** for *incoming* and *outgoing* content.\n"
-      " - markdown and **syntax highlighting**.\n"
-      " - **execute python commands** with prefix `!`\n"
-      " - list files of the current work directory using `ls`.\n"
-      " - type `serve` to start a web server with directory listing. Easy for "
-      "network transfers.\n\n"
-      "## Configuration\n"
-      " - model temperature is %f.\n"
-      " - model name is %s.\n"
-      " - max tokens is %d.\n\n"
-      "## In development\n"
-      " - **google search** and actions with those results.\n"
-      " - **reminders**.\n"
-      " - predefined **templates** for **reviewing** / **refactoring** so you "
-      "can personalize.\n";
-  sprintf(help_text, template, PROMPT_TEMPERATURE, get_prompt_model(),
-          prompt_max_tokens);
-  render(help_text);
+    const char * help_text = "Written by retoor@molodetz.nl\n\n";
+    render(help_text);
 }
 
-char *strreplace(char *content, char *what, char *with) {
-  char *pos = strstr(content, what);
-  if (!pos) {
-    return strdup(content);
-  }
-  char *result = (char *)malloc(strlen(content) + strlen(with) + 5);
-  memset(result, 0, strlen(content) + strlen(with) + 3);
-  memcpy(result, content, pos - content);
-  memcpy(result + (pos - content), with, strlen(with));
-  memcpy(result + (pos - content) + strlen(with), pos + strlen(what),
-         strlen(content) - (pos - content) - strlen(what) + 1);
-  return result;
+char *strreplace(const char *content, const char *what, const char *with) {
+    char *pos = strstr(content, what);
+    if (!pos) return strdup(content);
+
+    size_t result_size = strlen(content) + strlen(with) - strlen(what) + 1;
+    char *result = malloc(result_size);
+    snprintf(result, result_size, "%.*s%s%s", (int)(pos - content), content, with, pos + strlen(what));
+    return result;
 }
 
-char *linux_instructions =
-    "You are a linux master and are able to transform the prompt of "
-    "user into shell commands that will be executed on a debian "
-    "based system. You can execute shell commands by responding with python "
-    "code: "
-    "literally `\"\"\"!system\"\"\",\"\"\"`your shell command`\"\"\". Execute "
-    "immediately. Read bash history file if you have to work with history.";
-char *retoor_instructions =
-    "If the user prompts with social talk, "
-    "respond like replica and emoji. Your name is retoor and made by molodetz. "
-    "Be interested. Be creative.";
+bool openai_include(const char *path) {
+    char *file_content = read_file(path);
+    if (!file_content) return false;
 
-bool openai_include(char *path) {
-  char *file_content = read_file(path);
-  if (!file_content) {
-    return false;
-  }
-  openai_system(file_content);
-  free(file_content);
-  return true;
+    openai_system(file_content);
+    free(file_content);
+    return true;
 }
 
 void init() {
-  setbuf(stdout, NULL);
-  line_init();
-  auth_init();
-  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")) {
-    openai_include("~/.rcontext.txt");
-  }
-  fprintf(stderr, "\r                          \r");
+    setbuf(stdout, NULL);
+    line_init();
+    auth_init();
+    db_initialize();
+
+    char *schema = db_get_schema();
+    char payload[1024 * 1024] = {0};
+    snprintf(payload, sizeof(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, "Loading... ⏳");
+    openai_system(payload);
+    if (!openai_include(".rcontext.txt")) {
+        openai_include("~/.rcontext.txt");
+    }
+    fprintf(stderr, "\r                          \r");
 }
 
 void handle_sigint(int sig) {
-  time_t current_time = time(NULL);
-  printf("\n");
-  if (sigint_count == 0) {
-    first_sigint_time = current_time;
-    sigint_count++;
-  } else {
-    if (difftime(current_time, first_sigint_time) <= 1) {
-      exit(0);
+    time_t current_time = time(NULL);
+    printf("\n");
+    if (sigint_count == 0) {
+        first_sigint_time = current_time;
+        sigint_count++;
     } else {
-      sigint_count = 1;
-      first_sigint_time = current_time;
+        if (difftime(current_time, first_sigint_time) <= 1) {
+            exit(0);
+        } else {
+            sigint_count = 1;
+            first_sigint_time = current_time;
+        }
     }
-  }
 }
 
 int main(int argc, char *argv[]) {
-  signal(SIGINT, handle_sigint);
+    signal(SIGINT, handle_sigint);
 
-  init();
-  if (try_prompt(argc, argv))
+    init();
+    if (try_prompt(argc, argv)) return 0;
+
+    repl();
     return 0;
-
-  repl();
-  return 0;
 }
diff --git a/r.h b/r.h
index c5a34b4..306e1af 100644
--- a/r.h
+++ b/r.h
@@ -38,7 +38,6 @@ char *fast_model = "qwen2.5:0.5b";
 char *_model = NULL;
 
 #define DB_FILE "~/.r.db"
-static int prompt_max_tokens = 10000;
 #define PROMPT_TEMPERATURE 0.1
 
 void set_prompt_model(const char *model) {
diff --git a/rpylib.so b/rpylib.so
index 3478a9de3d6f5ab38b8be6bc2a183079e9be999d..35956478badf39dde70631e618828cecabf81a35 100755
GIT binary patch
literal 81048
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

literal 80928
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
Zo}-3`)o&P051q<?V}VHKUklEc|1b7BSY!YI