Komponen Sistem
CLI (cli.py)
Titik masuk perintah pai, parsing argumen (--model, --temperature), memanggil sesi agen.
Agent (agent.py)
Implementasi Single‑Shot Intelligence: intent classification, dynamic acknowledgment, planning JSON, adaptive execution (1–3 subfase), dan finalisasi. Mengelola interrupt handling (Ctrl+C) dan session logging ke .pai_history.
LLM Bridge (llm.py)
Integrasi Gemini API; membersihkan markdown artifacts dari output LLM.
Config (config.py)
Manajemen single API key dalam format JSON di ~/.config/pai-code/credentials.json (permission 0o600). Operasi: set, show, remove, validate.
Workspace (workspace.py)
Workspace controller dengan fungsi operasi workspace (baca/tulis, buat/hapus/pindah, tree/list path). Fungsi apply_modification_with_patch membatasi perubahan maksimal 500 baris dengan atomic write. Penegakan path security (normalisasi, verifikasi akar, deny-list).
UI (ui.py)
Komponen TUI berbasis rich: panel, tema, syntax highlighting, tabel, spinner. Dukungan opsional prompt_toolkit untuk input yang lebih baik.
Alur Data
Input pengguna (CLI) → Intent classification → Dynamic acknowledgment → Planning JSON → Adaptive execution (operasi workspace, diff‑aware, path security) → Finalization & logging (.pai_history)