import os import re stop_loop = False break_comment = "# Stop prompt loop" def kloak_process_command(command, chatgpt_string): global stop_loop file_path = "app.py" if command.lower() == "stop prompt loop": stop_loop = True if os.path.exists(file_path): with open(file_path, 'r') as f: content = f.read() loop_match = re.search(r"(while\\s+[^\\n]*:|for\\s+\\w+\\s+in\\s+[^\\n]*:)", content) if loop_match: colon_pos = content.find(":", loop_match.start()) if colon_pos != -1: insert_point = colon_pos + 1 modified_content = content[:insert_point] + f"\\n break {break_comment}\\n" + content[insert_point:] with open(file_path, 'w') as f: f.write(modified_content) return f"Prompt loop stopped. Break added in {file_path} at position {colon_pos}." return "Prompt loop stopped. No loop detected in file." elif command.lower() == "resume prompt loop": stop_loop = False if os.path.exists(file_path): with open(file_path, 'r') as f: content = f.read() if break_comment in content: modified_content = content.replace(f"\\n break {break_comment}", "") with open(file_path, 'w') as f: f.write(modified_content) return f"Prompt loop resumed. Break removed from {file_path}." return "No break to remove. Loop already active or file not found." return f"Unknown command: {command}" def run_kloak_chat(chatgpt_string): global stop_loop while not stop_loop: command = input("Kloak command: ") if command.lower() == "exit": break response = kloak_process_command(command, chatgpt_string) print(response) return "Kloak chat loop terminated."