Ir para o conteúdo
Explorar a documentação

SDK

@langdrift/sdk 0.1.0 · não publicado

@langdrift/sdk implementa a versão 1 do protocolo/esquema para o modelo canônico:

Direção (Vision) → Ciclo (Loop) → Evidências (Evidence)

Drift é um tipo de documento de evidência, não um quarto pilar. Um registro (Record) captura um fato. Um evento de desvio (Drift Event) é uma interpretação dos fatos em relação a um alvo de direção (Vision Target), sustentada por evidências.

Ambiente de execução

  • Node.js 24 ou posterior
  • Módulos ECMAScript com declarações TypeScript
  • Validador JSON Schema Draft 2020-12 do AJV e analisador yaml
  • Sem dependência de React, backend, banco de dados, transporte ou LLM

O SDK valida e normaliza os dados fornecidos por quem chama a API. Ele não define a fórmula de Product Vision, calcula Product Vision, persiste entidades nem toma decisões de identidade e autorização.

Pontos de entrada

O manifesto do pacote expõe:

  • @langdrift/sdk — a API pública completa, reexportada por módulo
  • @langdrift/sdk/schema — esquemas e constantes de esquema
  • @langdrift/sdk/mcp — construção de payloads e contratos de transporte injetado
  • @langdrift/sdk/integrations — mapeador do GitHub e interfaces de integração

A API raiz agrupa tipos, erros, diagnósticos, esquemas, validação, caminhos seguros, projetos, artefatos, referências, Records e Drift Events, transporte de payloads e integrações.

Modelo de execução

As operações de sistema de arquivos são assíncronas:

  • findRepositoryRoot
  • resolveSafePath e readProjectFile
  • loadProject
  • discoverArtifacts
  • resolveReferences

Análise, validação, criação de eventos, construção de payloads, resolução de credenciais, diagnósticos e o mapeador do GitHub são síncronos. sendPayload é assíncrono porque chama um transporte injetado.

A validação é estrita. O SDK não converte valores, adiciona valores padrão, remove campos desconhecidos nem migra versões de esquema não compatíveis. Falhas de validação e de caminhos seguros usam LangDriftError, com um code estável e issues específicos por campo.

Editar esta página no GitHub