Slide 8/16 • Metodologi

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 JSONAdaptive execution (operasi workspace, diff‑aware, path security) → Finalization & logging (.pai_history)

Swipe atau tekan →