Teme
Catalog public de teme de culori selectate de la terți, convertite din teme VS Code cu licență MIT și verificate pentru contrast.
GET /v1/themes întoarce temele de culori selectate pe care le oferă fiecare aplicație codai în Setări → Aspect → Mai multe teme. Sunt convertite din temele VS Code ale autorilor, cu licență MIT (Dracula, Catppuccin, GitHub, Tokyo Night, One Dark Pro, Nord, Solarized, Gruvbox, Rosé Pine), fixate pe un commit al sursei și ajustate doar acolo unde o culoare de text scădea sub contrastul de 4,5:1 pe o suprafață. Nimic nu se descarcă din VS Code Marketplace sau din Open VSX și nimic nu se execută: o temă înseamnă doar date despre culori.
Endpointul este public — fără cheie API — și identic pentru toți apelanții. Răspunsurile au un ETag puternic și Cache-Control: public, max-age=86400; trimite eticheta înapoi în If-None-Match și primești 304 Not Modified cu corp gol. Aplicațiile includ același catalog, deci funcționează și offline și doar îl reîmprospătează de aici.
curl -s https://ai.codai.ro/v1/themes -H 'If-None-Match: "2026.10.30-1-3f2a9c1d"' -i{
"version": "2026.10.30-1",
"etag": "\"2026.10.30-1-3f2a9c1d\"",
"themes": [
{
"id": "catalog.dracula",
"name": "Dracula",
"base": "dark",
"accentHue": 278,
"colors": { "bg": "#282a36", "foreground": "#f8f8f2", "muted": "#7e90c4", "...": "..." },
"terminal": { "black": "#21222c", "red": "#ff5555", "...": "..." },
"description": "Dracula by Dracula Theme, converted from the MIT-licensed VS Code theme.",
"author": "Dracula Theme",
"license": { "spdx": "MIT", "copyright": "Copyright (c) 2016 Dracula Theme", "url": "https://github.com/dracula/visual-studio-code/blob/…/LICENSE" },
"source": { "repo": "dracula/visual-studio-code", "commit": "9726e1f…", "path": "…", "url": "…" }
}
]
}| Câmp | Semnificație |
|---|---|
id | Id stabil catalog.<slug>; salvează-l în appearance.colorTheme (vezi Setări) ca alegerea să se sincronizeze pe toate dispozitivele. |
base | light sau dark; highContrast: true apare doar la temele cu contrast ridicat. |
accentHue | Nuanța OKLCH (0–360) a accentului temei, folosită pentru paleta brandului. |
colors | Tokenurile interfeței: bg, bgElevated, bgPanel, border, borderStrong, foreground, muted, muted2, danger, success, warning (#rrggbb opac). |
terminal | Cele 16 culori ANSI (black … brightWhite), când tema sursă le definește. |
license, source | Id-ul SPDX, linia de copyright și URL-ul licenței; depozitul sursă, commitul fixat și fișierul. Afișează-le în ecranul de licențe. |
Catalogul este generat de packages/themes-catalog/scripts/build-catalog.mjs, care acceptă doar licențele MIT, Apache-2.0 și BSD. Pe desktop și pe Android poți importa și un .vsix local sau un JSON de temă VS Code; se citesc doar fișierele de culori din contributes.themes.
Setări
Setări la nivel de cont, comune tuturor dispozitivelor: citire cu valori implicite, actualizări îmbinate, versiuni optimiste.
Poarta de protecție a sistemului
Politica efectivă a organizației pentru excepțiile de la verificările de protecție și evenimentul de audit trimis când o excepție este acordată sau revocată.