SDK
O app-runtime
Os apps compilam contra @deskssh/app-runtime — o mesmo SDK que os apps nativos usam. Ele dá um hook de registro, contexto de sessão, primitivas de UI e chamadas ao gateway tipadas.
Sua entrada se auto-registra com registerApp, devolvendo uma definição de app: id, título, ícone, as faixas de versão e uma função render. Esse render recebe um AppContext com o tradutor t, a sessão ao vivo e ajudantes como openTerminal e openEditor.
O runtime também reexporta o kit de UI do host (Card, Button, ScrollArea…), o conjunto completo de ícones e as funções do gateway (listServices, serviceAction e o resto do Contract). Externalize react e @deskssh/app-runtime no build para que seu app compartilhe as instâncias únicas do host.
import {
registerApp,
Card, CardHeader, CardTitle, CardContent,
listServices, icons,
} from '@deskssh/app-runtime';
registerApp((t) => ({
id: 'services',
title: t('services.title'),
description: t('services.description'),
icon: icons.ServerCog,
version: '0.1.0',
contract: '^0.1.0',
author: { name: 'you', github: 'you' },
capabilities: ['listServices', 'serviceAction'],
render: (ctx) => {
// ctx.session, ctx.t, ctx.openTerminal, ctx.openEditor
return <ServicesView session={ctx.session} />;
},
})); Comece pelo app de referência
O plugin app-services no repo do core é um exemplo completo e compilável — o caminho mais rápido para um scaffold funcional.