@m3r/sdk 0.5.0
ctx.capabilities
SDK_CATALOG 0.5.0 congelado. A mesma fonte do compilador, do validate e desta documentação.
ctx.capabilities é SDK_CATALOG. Não é um fetch. Não muda em runtime.
O que tem dentro
| Chave | Uso |
|---|---|
version | "0.5.0" |
channels | m3r, events, entryPoints, ext + status |
modules | sales available; purchase/stock/financial/fiscal planned |
entryPoints.codes / refs | SdkEntryPoint |
events.names / refs | SdkEvent |
scopes.values / refs | SdkScope |
ext.tables / screens / nav / reports | tipos e tetos |
forbidden | SQL, React, TypeORM, iframe, Python próprio, coluna json |
GET /developer/sdk/catalog (JWT developer) devolve o mesmo catálogo mais o que o Core tem wired.
Validação
Não “consulte o catálogo e invente o código”. Importe o const:
String fora do conjunto: TypeScript (se tipou) + SdkValidationError + m3r validate.
Pode / não pode
Pode
- Branch defensivo:
if (ctx.capabilities.modules.sales.status === "available"). - Ler limites antes de
tables.ensure.
Não pode
- Mutar
ctx.capabilities(frozen). - Copiar a lista para um JSON seu e “atualizar depois” — a fonte é o pacote.
Detalhe dos enums e IPs: Catálogo da SDK.
