Lanjut ke konten
Samkarsa Logbook

MCP v1.0.0-031 & Blonjo v1.5.0-008: Hierarchical Store Profile Separation & Typing Stream UX

Arsitektur pemisahan profil toko on-demand bebas pembengkakan token, isolasi multi-tenant PostgreSQL, response typing stream mode, dan scroll anchoring ergonomis.

1mnt baca

Pembaruan ini menuntaskan dua tantangan arsitektural penting pada ekosistem Vibes Chat (Sajen & Blonjo UI):

  1. Pemisahan Profil & Pengaturan Toko Berjenjang (Hierarchical Profile Separation):

    • Tantangan Token: Menginjeksi seluruh konfigurasi toko dan profil pengguna (~500-1.000 token) di setiap chat akan memboroskan kuota secara sia-sia untuk data yang jarang berubah.
    • Ultra-Compact Identity Header: Setiap chat hanya membawa 1 baris identitas inti: TOKO: '[Nama Toko]' [ID: X] | USER: '[Nama User]' ([Role]) (~15 token).
    • Tool On-Demand (get_store_profile_and_settings): Profil lengkap (alamat, kontak, target omset harian, pengaturan struk kasir, data tenant) hanya ditarik via ReAct tool secara spesifik ketika pengguna menanyakannya.
    • Isolasi Multi-Tenant Mutlak: Data difilter ketat berdasarkan tenant_id dan user_id dari sesi JWT aktif.
    • Real-Time Auto-Update (Zero-Stale): Membaca langsung dari tabel app_settings, tenants, dan users di PostgreSQL, sehingga perubahan di menu pengaturan otomatis langsung dikenali oleh AI.
  2. Mode Response Stream (Typewriter Mode) & Ergonomic Scroll Anchoring:

    • Scroll Anchoring ke Awal Pesan: Mengeliminasi kendala layar yang terlempar ke paling bawah (scroll back). Ketika asisten merespons, scroll secara otomatis mengunci posisi baca di awal (atas) gelembung pesan asisten.
    • Typing Stream Effect: Teks respon mengalir halus kata demi kata secara progresif (~40-60 kata/detik) dengan indikator kursor ▋ seperti ChatGPT/Claude.
    • Transisi Elegan: Quick action toolbar dan 3 suggestion chips interaktif muncul secara halus (fade-in) tepat setelah proses streaming teks selesai.