Antigravity IDE 2.1.1 Sohbet Geçmişini Kurtarmak ve NixOS FHS Çözümü
NixOS yapılandırmamdaki apps.nix dosyası üzerinden her zamanki gibi rutin paket güncellemelerimi yapıyordum. Eski antigravity paketini silip yerine 2.1.1 paket sürümüne ve 1.107.0 çekirdek sürümüne sahip yeni nesil antigravity-ide paketini ekledim.
Sistemi derleyip IDE’yi açtığımda ise büyük bir şokla karşılaştım: Arayüz tamamen boştu. Daha önceki projelerime ait 23 adet yapay zeka sohbet geçmişim buhar olup uçmuştu. Sorunun basit bir dizin veya izin değişikliği olduğunu düşünüp eski klasördeki dosyaları yeni dizine kopyalamaya çalıştım ama tabii ki hiçbir işe yaramadı.
/ Mimari Çöküş
Olayın derinine inince anladım ki sorun işletim sisteminde değil, uygulamanın kendisinde yaşanan devasa bir mimari devrimdeydi.
Antigravity ekibi 2.0 sürümüyle birlikte monolitik yapıyı tamamen çöpe atıp, modüler bir Agent-First ekosistemine geçmiş. Önceden her şeyi içinde barındıran o hantal yapı; Agent Manager, IDE ve CLI olarak farklı parçalara bölünmüş. Bu ayrışmanın en can sıkıcı yanı da uygulamanın yerel depolama mantığının tamamen değişmesi olmuş.
Eski sistem yerel
~/.gemini/antigravity/conversationsdizininde verileripbformatında tutarken, yeni bağımsız IDE mimarisi doğrudan SQLite altyapısına geçmiş.
Yani benim o eski pb dosyalarının yeni düzende hiçbir karşılığı kalmamış.
>_ Çözüm Arayışı ve FHS Duvarı
Verileri manuel olarak çevirmek imkansızdı. Biraz araştırınca Github üzerinde topluluk tarafından yazılmış Antigravity-Legacy-Migrator adında bir Python betiği buldum. Bu araç, dosyaları doğrudan kopyalamak yerine arka planda çalışan yerel gRPC servisine bağlanıp, verileri Language Server üzerinden yeni SQLite formatına dönüştürüyor.
Kodu ajanla beraber hızlıca bir taradık; dışarıya veri sızdırmıyor, sadece localhost üzerinden kendi halinde çalışıyor. Güvenli olduğuna ikna olunca betiği çalıştırmak için terminale geçtim.
Fakat unutmamam gereken bir şey vardı: Burası NixOS. Standart Linux dağıtımlarında tıkır tıkır çalışan betik, daha ilk saniyede suratıma şu meşhur hatayı fırlattı:
ImportError: libstdc++.so.6: cannot open shared object file
Python tarafındaki grpcio kütüphanesi derlenmiş C++ kütüphanelerine ihtiyaç duyuyordu ancak NixOS’un kendine has FHS kısıtlamaları yüzünden global bir /usr/lib klasörü olmadığı için kütüphaneyi bulamayıp doğal olarak patlıyordu.
Sistemi kirletmeden bu sorunu çözmek için ajanla beraber hemen nix shell kullanarak geçici bir ortam kurduk ve gereken C++ kütüphanesini ortam değişkenlerine manuel olarak enjekte ettik:
nix shell nixpkgs#stdenv.cc.cc.lib -c bash -c 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(nix build --print-out-paths --no-link nixpkgs#stdenv.cc.cc.lib)/lib && python3 migrate_legacy_conversations.py'
// Sertifika Yaması ve Kapanış
“Tamamdır, şimdi çalışır” derken betik bu kez de gRPC bağlantısı için gerekli olan SSL sertifikasını yani cert.pem dosyasını bulamayarak çöktü.
Aracın kaynak kodunu açıp baktığımızda, betiği yazan geliştiricinin sertifika yolunu Windows ortam değişkenlerine yani %LOCALAPPDATA% dizinine göre sabit olarak yazdığını fark ettik.
NixOS’ta kurulu paketler /nix/store/ altındaki o devasa hashli dizinlerde kilitli tutuluyor. Terminal üzerinden hemen yeni kurulan IDE paketinin içindeki doğru sertifika yolunu arattık:
/nix/store/...-antigravity-ide-2.1.1/lib/.../languageServer/cert.pem
Yolu bulur bulmaz Python kodunu açıp Windows’a ait o satırı sildik ve yerine bizim /nix/store/ yolunu yamaladık.
Sonunda yamalanmış kod sorunsuz şekilde çalıştı. Betik yerel sunucuya gRPC ile bağlandı, yetkilendirmeyi geçti ve 23 eski pb sohbetinin tamamını okuyarak yeni db altyapısına başarıyla işledi. IDE’yi kapatıp açtığımda tüm eski projelerim eskisi gibi sol menüde duruyordu.
Bazen sıradan bir paket güncellemesi bile arka planda böyle devasa mimari krizler barındırabiliyor. NixOS gibi bir işletim sisteminde bu tarz sorunlarla uğraşmak epey sabır gerektiriyor ama yanınızda dinamik kütüphane enjekte edebilen ve uyumsuz kodları anında sisteminize göre yamalayabilen bir AI asistanı olduğunda, kriz anlarını yönetmek çok daha keyifli bir hale geliyor.
İlgili: