Skip to main content
Aplikace Twenty jsou balíčky TypeScriptu, které rozšiřují váš pracovní prostor o vlastní objekty, logiku, komponenty UI a funkce AI. Běží na platformě Twenty s plnou izolací (sandboxingem) a řízením oprávnění.

Jak aplikace fungují

Aplikace je kolekce entit deklarovaných pomocí funkcí defineEntity() z balíčku twenty-sdk. SDK tyto deklarace detekuje pomocí analýzy AST při sestavení a vytváří manifest — úplný popis toho, co vaše aplikace přidává do pracovního prostoru. Tyto funkce validují vaši konfiguraci v době sestavení a poskytují automatické doplňování v IDE a typovou bezpečnost.
Uspořádání souborů je na vás. Detekce entit je založená na AST — SDK najde volání export default defineEntity(...) bez ohledu na to, kde se soubor nachází. Výše uvedená struktura složek je konvence, nikoli požadavek.

Typy entit

Izolace (sandboxing)

  • Logické funkce běží v izolovaných procesech Node.js na serveru. K datům přistupují pouze prostřednictvím typovaného klienta API, a to v rozsahu oprávnění role aplikace.
  • Frontendové komponenty běží ve Web Workerech s využitím Remote DOM — jsou oddělené od hlavní stránky, ale vykreslují nativní prvky DOM (nikoli iframy). Komunikují s Twenty prostřednictvím hostitelského API pro předávání zpráv.
  • Oprávnění jsou vynucována na úrovni API. Běhový token (TWENTY_APP_ACCESS_TOKEN) je odvozen z role definované v defineApplication().

Životní cyklus aplikace

  • yarn twenty dev — sleduje vaše zdrojové soubory a průběžně synchronizuje změny s připojeným serverem Twenty. Typovaný klient API se při změně schématu automaticky znovu vygeneruje.
  • yarn twenty dev:build — zkompiluje TypeScript, zabalí logické funkce a frontendové komponenty pomocí esbuild a vytvoří manifest.
  • Pre/post-install a odinstalační hooky — volitelné funkce, které běží během instalace nebo těsně před odinstalací. Podrobnosti viz Install Hooks.

Další kroky

Konfigurace

Identita aplikace, výchozí role a instalační a odinstalační hooky.

Data

Objekty, pole a obousměrné relace.

Logika

Logické funkce, dovednosti, agenti a připojení přes OAuth.

Rozvržení

Zobrazení, navigace, rozvržení stránek, frontendové komponenty.

Operace

CLI, testování, vzdálené repozitáře, CI a publikování vaší aplikace.