# Learning Lab Express UI fase development (`index.html`, satu file, tanpa dependensi) dengan desain yang sama dengan `mockup.html` (CSS dipakai apa adanya) tetapi isi/alurnya memakai data engine yang terhubung ke engine **learning-lab** (FastAPI, `/api/v1`). ```bash # 1. jalankan engine di ../learning-lab (docker compose up) → http://localhost:8000 # 2. jalankan Express node server.mjs # http://localhost:3000 ; ENGINE_URL / PORT dapat diubah ``` `server.mjs` menyajikan file statis dan mem-proxy `/api/*` ke engine (tanpa CORS). `engine.js` adalah client engine. | Alur | Engine | |---|---| | Login / logout / refresh token | `/auth/login`, `/auth/refresh`, `/auth/logout` | | Upload materi → Brain | `/upload/`, `/upload/list`, `DELETE /upload/{id}` | | Knowledge base (Brain) | `/upload/{id}/knowledge/build` (memakai kredit workspace) | | Login Clerk (akun organisasi) | `clerk-js` dari instance Clerk milik engine (key dibaca dari `../learning-lab/backend/.env`, atau `CLERK_PUBLISHABLE_KEY`) | | Riset konten | agen "Learning Lab Express" di `/organizations/current/agents` → `runs` → `source-drafts` | | Jadwal riset | `PATCH agents/{id}` `run_schedule` (harian/mingguan; bulanan & hari kerja dijalankan harian) | | Generate Text | `/compose/sets` + `/compose/sets/{id}/generate/summary` | Agents API hanya berjalan dalam konteks organisasi, jadi riset dan jadwal memerlukan tombol **Masuk dengan Clerk** dengan akun yang menjadi owner organisasi. Dengan login email/password biasa, riset tetap simulasi. Agen dibuat otomatis (budget 50 kredit/run, 1000/bulan; ubah di `Engine.ensureAgent`). Belum ada: video, audio, dan SCORM. Hanya format yang didukung engine yang bisa diunggah.