@simplafy-tec/adk-contract
v0.1.0
Published
Contrato de especificação do ADK da Simplafy — validadores puros, códigos de erro estáveis e política.
Readme
@simplafy-tec/adk-contract
Funções puras (sem Prisma, Nest, filesystem ou rede) que definem o contrato
de especificação do ADK. É o mesmo motor dos dois lados da fronteira: o que o
adk build reprova é o que o POST /api/v1/adk/*/apply reprova, com o mesmo
code e o mesmo path.
Exporta
SPEC_VERSION('v1'),SUPPORTED_SPEC_VERSIONS(janela N / N-1),SPEC_KINDS.SpecIssue { code: SpecIssueCode, path, message }—SpecIssueCodeé união fechada: código inventado de um lado só apareceria quando alguém comparasse os dois.- Portão 1:
validateSpecStructure/validateSpecStructureAs(agent, tool, journey). - Portão 2:
validateActivation,findCompositionCycle,compositionEdgesAfterApply. scanLeaks(text, { filename })— segredo, PII, id interno, contexto de turno e identidade que não casa com o arquivo (secret_literal,pii_in_config,internal_id,turn_context,slug_filename_mismatch).toSlug,resolveReference,parseSpecYaml/serializeSpecYaml(KEY_ORDER).PolicySchema,DEFAULT_POLICY,checkAgainstPolicy.- Tipos e schemas zod:
AgentSpec,ToolSpec,JourneySpec,ToolContract. journeyFlowToGraph,statusInicialDaJornada(dialeto do arquivo → grafo do canvas; jornada criada pelo apply nunca nasce ativa).
O tarball leva só dist/ e o README: as fixtures golden ficam em
test/fixtures/ (fora do pacote) e são sintéticas — configuração real de
cliente não entra em pacote público. Veja test/fixtures/README.md.
Portes
O código veio de apps/api/src/adk/{spec-gates,reference-resolver,agent-yaml,
agent-fields,agent-export}.ts e apps/api/src/tool-registry/tool-contract.ts
(hub-v2, origin/staging), e de scripts/validar.mjs (simplafy-clientes,
origin/main). Mensagens e path são byte a byte os do original — mudá-los
quebraria o mutation check dos dois lados.
