Roadmap¶
Entregue¶
- 0.1.0 — fundação: core, exceptions (+i18n), schemas, paginação, settings,
BaseModel, repository/service/controller,createApp+ Swagger/Redoc, health, CLI (new), docs bilíngue. - 0.2.0 — cache, sessions, SSE, WebSockets, fila (RabbitMQ), tarefas em background, feature flags, storage.
- 0.3.0 — client-IP, TOTP (MFA), HTTP client resiliente (retry + circuit breaker), métricas de sistema (+ Prometheus), Web Push, email.
- 0.4.0 —
integrations/: contratoMessagingProvider+WhatsAppProvider(cliente tipado dozap-api, REST +/ws) +makeWhatsAppWebhookRouter. Veja a receita Integrações: WhatsApp. - 0.5.0 —
admin/: admin JSON (AdminSite+makeAdminRouter) com CRUD auto-derivado, introspecção_meta, validação Zod e guard plugável. Veja a receita Admin (API JSON). - 0.6.0 —
integrations/:TelegramProvider(Bot API, envio + polling) eTwilioSmsProvider(SMS) +makeTwilioWebhookRouter(assinatura validada). Veja a receita SMS e Telegram. - 0.7.0 — fluxos de auth:
MfaService(TOTP),ActivationService(email) ePasswordResetService, montados nomakeAuthRouter. Veja Autenticação (JWT). - 0.8.0 — stores Redis:
RedisSessionStoreeRedisSSEBroker(pub/sub) para deploys multi-réplica. Veja Tempo real. - 0.9.0 — métricas: GPU opcional (
nvidia-smi) +makeMetricsRouter(endpoint/metricsPrometheus). Veja MFA, HTTP client…. - 0.10.0 —
EmailProvider(email comoMessagingProvider) e MFA no login (challenge noUserAuthService+POST /auth/mfa/challenge). - 0.11.0 — helpers de broadcast:
broadcastText(fan-out com concorrência) eMessagingHub(canais nomeados comsend/broadcast).
Meta: paridade total com o tempest-fastapi-sdk¶
O objetivo é paridade de features com o tempest-fastapi-sdk, mantendo o
módulo integrations/ (WhatsApp/Telegram/SMS/Email + MessagingHub/broadcast)
como o diferencial exclusivo do Node — uma camada de mensageria de primeira
classe que o SDK Python não tem. O núcleo, dados, auth, tempo real,
cache/fila/tarefas, flags, métricas e CLI já estão em paridade ou perto; os itens
abaixo fecham as lacunas restantes.
Middlewares de hardening HTTP¶
- CSRF, rate limiting (memória + Redis), idempotency keys, limite de body, graceful shutdown, middleware de request-id independente, tracing.
PrometheusMiddleware(histograma por-request), complementando o router/metricsde sistema já existente.
OAuth, webhooks & routers meta¶
- Clientes OAuth (Google, GitHub) +
OIDCProvider. - Verificador de assinatura de webhook (HMAC/RSA), router
tool-spec, router de logs. - Negociação de locale no auth + page-renderer HTML opcional.
DB avançado¶
- Outbox transacional (
OutboxRelay), audit log model +AuditMixin,SoftDeleteMixin/MFAMixin, repositório com escopo de tenant, slow-query logger, backup,BaseUserModel+ token models, snapshot/diff.
Settings tipados¶
- Fragmentos/classes de settings de domínio:
AuthSettings,JWTSettings,EmailSettings,RedisSettings,RabbitMQSettings,SessionSettings,UploadSettings, etc. (compostos sobrebaseAppSettingsShape).
Schemas, storage, utils, CLI¶
- Paginação delta-sync (
SyncFilterSchema/SyncPaginationSchema), link headers de paginação,LogEntrySchema. - Backend
UploadStorageMinIO/S3 (ao lado doLocalUploadStorage). - Field types (
CentsField/PriceField/HexColorField/… em Zod),DownloadUtilscompleto,LogUtilscom roteamento500.log. - CLI:
user,lint,confige wiring real de migrations viatempest-db-js.
Helpers de teste¶
- Fixtures de DB em memória (espelha o módulo
testingdo Python).
Fora de escopo¶
vision(ort-vision) — pertence aoort-vision-sdk, não a este SDK.- Admin HTML server-rendered (jinja) — substituído pela API
adminJSON + frontend desacoplado.
A 1.0.0 sai quando esses itens fecharem e a API estabilizar no uso real.