@stellartechnologies/contracts
v0.2.0
Published
Contratos compartilhados do agilizaclinica (mensageria outbound v2, normalização de telefone/chat_id BR, tópicos Kafka) — fonte única de verdade entre api, agent-ms e scheduler.
Readme
@stellartechnologies/contracts
Contratos compartilhados do agilizaclinica — fonte única de verdade entre api, agent-ms e scheduler. Criado para matar as cópias gêmeas que divergiam à mão (auditoria estrutural R3 / incidentes ID-01, ID-02).
O que exporta
- Mensageria outbound v2:
OutboundDispatchV2Schema+OutboundResponseSchema+OutboundMessageSchemae os tipos inferidos (OutboundDispatchV2,OutboundResponse,OutboundMessage). Antes duplicado emagent-ms/.../agents/contracts/outbound-response.tseapi/.../whatsapp/domain/outbound-response.schema.ts. - Identidade BR:
brPhoneVariants(variantes ±9 com/sem+),buildPhoneCandidates,chatIdOf(whatsapp:<digits>sem+, fix ID-01). Antes duplicado emapi/person.helpers.ts,agent-ms/phone.util.tseagent-ms/orchestrator-helpers.ts. - Tópicos Kafka (Padrão B):
OUTBOUND_V2_TOPIC,OPERATOR_NOTIFICATION_TOPIC,INCOMING_MESSAGE_TOPIC, etc.
zod é peerDependency (^3.25.0 || ^4.0.0) — usa o zod do consumidor.
Publicação
npmjs.org, público. Publish automático via Actions ao empurrar uma tag v* (workflow publish.yml, usa o secret NPM_TOKEN). Bump a versão e crie a tag:
npm version patch # ou minor/major
git push --follow-tagsConsumo (api / agent-ms)
Pacote público no registry padrão → sem token, sem .npmrc, sem secret em lugar nenhum (CI, Docker, dev local):
npm install @stellartechnologies/contractsimport { OutboundDispatchV2Schema, chatIdOf, OUTBOUND_V2_TOPIC } from '@stellartechnologies/contracts';O
schedulernão consome (não duplica esses contratos — só espelha o schema Prisma).
