@tmf/kb-front (7.1.0)
Installation
@tmf:registry=npm install @tmf/kb-front@7.1.0"@tmf/kb-front": "7.1.0"About this package
@tmf/kb-front
UI plug-and-play do módulo Base de Conhecimento (KB) multi-domínio da
plataforma TMF: o host instala o pacote e renderiza <KBApp baseUrl getToken tenantId can />, sem depender de @tmf/platform-core nem montar um
AppContract. Backend irmão: packages/kb/back —
consumir sempre via manual de integração dele
(INTEGRATION.md).
Estado: F0 — Fundação em desenvolvimento (TMFP-59374)
⚠️ Este pacote ainda não foi publicado. package.json/tsconfig.json/
tsup.config.ts já existem (build plug-and-play configurado, mesmo molde de
@tmf/service-desk-front), mas o conteúdo funcional é só o scaffold da
fundação — sem páginas de conteúdo ainda. Não há npm install @tmf/kb-front
possível hoje porque o pacote não foi publicado no registry (isso é fechado
na fase F9, junto do congelamento do OpenAPI v1.0.0).
O que existe hoje em src/ (scaffold, verificado no código):
KBApp(app/KBApp.tsx) — componente raiz que só monta oKBContexte renderiza um placeholder de texto ("kb.loading"). Prova que o Provider monta e propaga contexto — não é uma UI funcional.KBContext/useKBContext(app/KBContext.tsx) — contexto React com as props resolvidas (baseUrl,getToken,tenantId,can,locale,routing,theme,onEvent,clientId).useKBRouting(app/useKBRouting.ts) — roteamento por query params (semreact-router); único modo suportado nesta fase (mode: "query").createKBClient(client/index.ts) — wrapper fino sobrefetchnativo com verbos genéricos (get/post/put/patch/delete) e Bearer auth viagetToken(). Sem client OpenAPI tipado por recurso ainda — a API dotmf-kb-backsó temGET /kb/metahoje (verINTEGRATION.mddo backend).- i18n mínimo (
i18n/) — dicionárioRecord<string,string>por locale (pt-BR/en-US), sem dependência externa; só cobre as chaves do placeholder da fundação. theme/tokens.css— custom properties--kb-*para overrides de tema.
Não existem ainda: listagem de artigos, leitor de artigo, busca, editor,
categorias/domínios, RAG. Chegam nas próximas fases (F1+), junto das rotas
de domínio correspondentes no tmf-kb-back.
Quando este pacote estiver instalável
O padrão de uso previsto (KBAppProps, já definido em KBApp.tsx):
import { KBApp } from '@tmf/kb-front'
<KBApp
baseUrl="/api"
getToken={() => auth.token}
tenantId={tenant.id}
can={(permission) => hasPermission(permission)}
/>
⚠️ baseUrl é o prefix= usado pelo host em
app.include_router(kb_module.router, prefix=...) — NUNCA esse prefixo +
/kb, porque toda rota do backend já declara /kb/... no próprio path
(ver ../back/INTEGRATION.md §5). Mesmo padrão/troubleshooting de
@tmf/mailbox-front (../../mailbox/service/INTEGRATION.md §8).
Documentação
| Arquivo | Conteúdo |
|---|---|
../back/INTEGRATION.md |
Manual de integração do backend tmf-kb-back (pré-requisitos, montagem, rota canônica, env vars, checklist, troubleshooting) |
../back/README.md |
Estado atual do backend (F0) |
Dependencies
Dependencies
| ID | Version |
|---|---|
| @dnd-kit/core | ^6.0.0 |
| @dnd-kit/sortable | ^10.0.0 |
| @tanstack/react-query | ^5.0.0 |
| dompurify | ^3.0.0 |
| marked | ^17.0.3 |
Development dependencies
| ID | Version |
|---|---|
| @testing-library/jest-dom | ^6.0.0 |
| @testing-library/react | ^16.0.0 |
| @tiptap/pm | ^3.27.3 |
| @tiptap/react | ^3.27.3 |
| @tiptap/starter-kit | ^3.27.3 |
| @types/dompurify | ^3.0.5 |
| @types/react | ^18.2.47 |
| @types/react-dom | ^18.2.18 |
| jsdom | ^25.0.0 |
| tsup | ^8.5.1 |
| typescript | ^5.3.3 |
| vitest | ^2.0.0 |
Peer dependencies
| ID | Version |
|---|---|
| @tiptap/pm | >=3.0.0 |
| @tiptap/react | >=3.0.0 |
| @tiptap/starter-kit | >=3.0.0 |
| react | >=18.0.0 |
| react-dom | >=18.0.0 |