From a77c1cfbbafb8618c44bf760c51d4c30b6a30300 Mon Sep 17 00:00:00 2001 From: Dita Aji Pratama Date: Tue, 7 Jul 2026 16:59:16 +0700 Subject: [PATCH] Still fixing uuid issues --- tools/ragroleplay.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/tools/ragroleplay.py b/tools/ragroleplay.py index 36d6698..4cd1e7b 100644 --- a/tools/ragroleplay.py +++ b/tools/ragroleplay.py @@ -1,6 +1,12 @@ -import gc, sys, lancedb +import gc, sys, uuid, lancedb import config, lib.ragroleplay as ragroleplay_lib + +def _uuid(val): + if isinstance(val, str): + return uuid.UUID(val) + return val + # --- USER TOOLS --- schema_users_store = { "type": "function", @@ -558,7 +564,7 @@ def memories_update(memory_id, **updates): config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, - memory_id, + _uuid(memory_id), **updates ) if success: @@ -570,7 +576,7 @@ def memories_update(memory_id, **updates): def memories_delete(memory_id): try: - success = ragroleplay_lib.memories_delete(config.ragroleplay_db_path, memory_id) + success = ragroleplay_lib.memories_delete(config.ragroleplay_db_path, _uuid(memory_id)) if success: return "Berhasil menghapus memori dari database." else: @@ -601,7 +607,7 @@ def users_store(fullname, nickname, alias=None, persona=None, telegram_id=None, def users_filter(query_name=None, unique_id=None, persona_keyword=None, user_id=None): try: - results = ragroleplay_lib.users_filter(config.ragroleplay_db_path, query_name, unique_id, persona_keyword, user_id) + results = ragroleplay_lib.users_filter(config.ragroleplay_db_path, query_name, unique_id, persona_keyword, _uuid(user_id) if user_id else None) if not results: return "Tidak ada user yang sesuai dengan filter tersebut." @@ -626,7 +632,7 @@ def users_update(user_id, **updates): config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, - user_id, + _uuid(user_id), **updates ) if success: @@ -638,7 +644,7 @@ def users_update(user_id, **updates): def users_delete(user_id): try: - success = ragroleplay_lib.users_delete(config.ragroleplay_db_path, user_id) + success = ragroleplay_lib.users_delete(config.ragroleplay_db_path, _uuid(user_id)) if success: return "Berhasil menghapus profil user." else: @@ -655,7 +661,7 @@ def objects_store(keyword, when, where, name, description, shape, usage): def objects_filter(keyword=None, object_id=None): try: - results = ragroleplay_lib.objects_filter(config.ragroleplay_db_path, keyword, object_id) + results = ragroleplay_lib.objects_filter(config.ragroleplay_db_path, keyword, _uuid(object_id) if object_id else None) if not results: return "Tidak ada objek yang ditemukan." output = [f"Ditemukan {len(results)} objek:"] for i, row in enumerate(results, 1): @@ -665,13 +671,13 @@ def objects_filter(keyword=None, object_id=None): def objects_update(object_id, **updates): try: - success = ragroleplay_lib.objects_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, object_id, **updates) + success = ragroleplay_lib.objects_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, _uuid(object_id), **updates) return "Berhasil memperbarui objek." if success else "Gagal memperbarui objek." except Exception as e: return f"Error: {str(e)}" def objects_delete(object_id): try: - success = ragroleplay_lib.objects_delete(config.ragroleplay_db_path, object_id) + success = ragroleplay_lib.objects_delete(config.ragroleplay_db_path, _uuid(object_id)) return "Berhasil menghapus objek." if success else "Gagal menghapus objek." except Exception as e: return f"Error: {str(e)}" @@ -684,7 +690,7 @@ def outfits_store(keyword, when, outfit): def outfits_filter(keyword=None, outfit_id=None): try: - results = ragroleplay_lib.outfits_filter(config.ragroleplay_db_path, keyword, outfit_id) + results = ragroleplay_lib.outfits_filter(config.ragroleplay_db_path, keyword, _uuid(outfit_id) if outfit_id else None) if not results: return "Tidak ada outfit yang ditemukan." output = [f"Ditemukan {len(results)} outfit:"] for i, row in enumerate(results, 1): @@ -694,13 +700,13 @@ def outfits_filter(keyword=None, outfit_id=None): def outfits_update(outfit_id, **updates): try: - success = ragroleplay_lib.outfits_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, outfit_id, **updates) + success = ragroleplay_lib.outfits_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, _uuid(outfit_id), **updates) return "Berhasil memperbarui outfit." if success else "Gagal memperbarui outfit." except Exception as e: return f"Error: {str(e)}" def outfits_delete(outfit_id): try: - success = ragroleplay_lib.outfits_delete(config.ragroleplay_db_path, outfit_id) + success = ragroleplay_lib.outfits_delete(config.ragroleplay_db_path, _uuid(outfit_id)) return "Berhasil menghapus outfit." if success else "Gagal menghapus outfit." except Exception as e: return f"Error: {str(e)}" @@ -713,7 +719,7 @@ def todos_store(keyword, when, do): def todos_filter(keyword=None, todo_id=None): try: - results = ragroleplay_lib.todos_filter(config.ragroleplay_db_path, keyword, todo_id) + results = ragroleplay_lib.todos_filter(config.ragroleplay_db_path, keyword, _uuid(todo_id) if todo_id else None) if not results: return "Tidak ada to-do yang ditemukan." output = [f"Ditemukan {len(results)} to-do:"] for i, row in enumerate(results, 1): @@ -723,13 +729,13 @@ def todos_filter(keyword=None, todo_id=None): def todos_update(todo_id, **updates): try: - success = ragroleplay_lib.todos_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, todo_id, **updates) + success = ragroleplay_lib.todos_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, _uuid(todo_id), **updates) return "Berhasil memperbarui to-do." if success else "Gagal memperbarui to-do." except Exception as e: return f"Error: {str(e)}" def todos_delete(todo_id): try: - success = ragroleplay_lib.todos_delete(config.ragroleplay_db_path, todo_id) + success = ragroleplay_lib.todos_delete(config.ragroleplay_db_path, _uuid(todo_id)) return "Berhasil menghapus to-do." if success else "Gagal menghapus to-do." except Exception as e: return f"Error: {str(e)}" @@ -742,7 +748,7 @@ def worlds_store(category, location, description): def worlds_filter(category=None, location=None, world_id=None): try: - results = ragroleplay_lib.worlds_filter(config.ragroleplay_db_path, category, location, world_id) + results = ragroleplay_lib.worlds_filter(config.ragroleplay_db_path, category, location, _uuid(world_id) if world_id else None) if not results: return "Tidak ada lokasi dunia yang ditemukan." output = [f"Ditemukan {len(results)} lokasi:"] for i, row in enumerate(results, 1): @@ -752,12 +758,12 @@ def worlds_filter(category=None, location=None, world_id=None): def worlds_update(world_id, **updates): try: - success = ragroleplay_lib.worlds_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, world_id, **updates) + success = ragroleplay_lib.worlds_update(config.ragroleplay_db_path, config.ragroleplay_model_url, config.ragroleplay_model_name, _uuid(world_id), **updates) return "Berhasil memperbarui lokasi dunia." if success else "Gagal memperbarui lokasi dunia." except Exception as e: return f"Error: {str(e)}" def worlds_delete(world_id): try: - success = ragroleplay_lib.worlds_delete(config.ragroleplay_db_path, world_id) + success = ragroleplay_lib.worlds_delete(config.ragroleplay_db_path, _uuid(world_id)) return "Berhasil menghapus lokasi dunia." if success else "Gagal menghapus lokasi dunia." except Exception as e: return f"Error: {str(e)}"