Ir para o conteúdo
Voltar à documentação do Launch

Baixar MarkdownDocumento original no GitHub

Usar IA para integrar Licentivo Launch

As alterações atuais ainda não publicadas usam troca de identidade de conta. Responsabilidades e restrições de migração estão em Limites entre o período comprado e o SDK de conta. Launch calcula o período comprado; o SDK Licentivo executa a autorização.

Na administração Launch, Ferramentas operacionais → Integração rápida com IA gera uma descrição de tarefa em inglês para ferramentas de programação com IA. Ela usa as configurações públicas da loja atual, do software existente e dos planos publicados, e instrui a IA a instalar o pacote público Launch, chamar APIs reais, inserir verificações de permissão nas operações de negócio e concluir os testes de integração.

A navegação Verificação de integração e código / Integração rápida com IA da página de integração leva à mesma função. Desenvolvimento manual não exige IA; consulte o guia de integração manual em nove linguagens.

Preparação antes da geração

  1. Crie software e planos comerciais no Launch e associe os planos a produtos e políticas de licenciamento Licentivo.
  2. Publique os planos no ambiente sandbox ou live a ser testado.
  3. Garanta que o software cliente consiga acessar o endereço público do Launch; use HTTPS em produção.
  4. Em Integração de aplicação → Verificação de integração e código, leia os dados do produto e confirme a verificação do mapeamento e da chave pública de assinatura.
  5. Identifique ações de negócio reais a proteger, como export, save ou render; não escreva apenas “o software inteiro”.

É possível gerar rascunhos sem concluir a configuração do produto, mas eles indicam claramente os itens pendentes e não servem como configuração de integração entregável. Após configurar produto e ambiente, gere novamente.

Gerar o prompt na administração

  1. Escolha Go, Python, C#, Java, JavaScript / Node.js, Rust, Ruby, C ou C++. Go para backend Web não conta como uma linguagem SDK adicional.
  2. Escolha Windows, Linux, macOS ou a plataforma aplicável, além de projeto desktop, backend Web ou serviço em segundo plano.
  3. Descreva em inglês a estrutura existente, a inicialização, o framework de interface e as operações de negócio a proteger. Não informe senhas, chaves, dados de clientes ou código-fonte privado.
  4. Escolha o software existente e o ambiente sandbox / live. Launch lê automaticamente o endereço atual da loja e o mapeamento entre produtos Launch e Licentivo, o ambiente e as chaves públicas de assinatura.
  5. Confira versões de pacotes, comandos de instalação, links de documentação e funções de conexão preenchidas na prévia; depois copie ou baixe o prompt.
  6. Entregue o prompt à sua ferramenta de programação com IA para modificar, compilar e testar localmente o projeto.

Launch apenas gera texto no navegador. Não conecta automaticamente a serviços de IA, não envia projetos nem executa programas gerados em nome do desenvolvedor.

O prompt informa à IA onde baixar o SDK

A verificação pública de instalação da versão 0.1.6 passou nas nove linguagens (9/9); os comandos de registro e downloads nativos abaixo foram verificados. Os arquivos Maven Central de Java e suas quatro assinaturas, a versão exata Rust em crates.io e todos os códigos de inicialização gerados pela administração também passaram por verificações em consumidores independentes. O GitHub Release v0.1.6 fornece pacotes nativos e arquivos offline.

O prompt gerado deve incluir o método público de instalação com versão fixa correspondente à linguagem escolhida:

Go:         go get github.com/spf86/licentivo-launch-sdk/pkg/launchclient@v0.1.6
Python:     python -m pip install licentivo-launch==0.1.6
C# / .NET: dotnet add package Licentivo.Launch --version 0.1.6
Java:       com.licentivo.launch:launch-client:0.1.6
Node.js:    npm install @licentivo/launch@0.1.6
Rust:       cargo add licentivo-launch@=0.1.6
Ruby:       gem install licentivo-launch --version 0.1.6
C / C++:    https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6

Fontes públicas, READMEs de cada linguagem e estado atual da publicação estão em:

Instale apenas o pacote Launch da linguagem escolhida. A versão v0.1.6 já inclui o SDK oficial Licentivo v0.11.6, o adaptador padrão e a configuração de vinculação; não instale outro SDK oficial separadamente.

O prompt orienta a IA sobre a integração

Prompts configurados incluem a função de conexão gerada pela administração. Ela já contém o endereço público da loja, o mapeamento de produtos Launch/Licentivo, a chave pública de assinatura e o ambiente de pagamento. A IA não precisa adivinhar ou preencher os dois IDs internos nem criar launch-config.json ou product.json.

O config.yaml privado do servidor serve apenas para executar o site Launch e jamais deve acompanhar aplicativos cliente, prompts ou instaladores.

A IA deve alterar o software cliente conforme o ciclo de vida abaixo:

Connect/connect → Login or Restore → RunFeature → Logout / Close
                                      └──────────→ ReleaseDevice (explicit device unlink only)
  • Connect/connect cria o cliente Launch e inicializa o SDK oficial interno; isso não significa que a conta está autenticada nem que uma funcionalidade foi autorizada.
  • Login usa o e-mail e a senha cadastrados pelo cliente na loja atual para obter as credenciais de produto dessa conta.
  • Restore restaura uma sessão lembrada a partir do armazenamento seguro; sem sessão, mostra login. Uma recusa não é sucesso offline.
  • RunFeature deve envolver ações reais, como exportação, salvamento, renderização ou tarefas em segundo plano. Apenas desativar botões não substitui a verificação no ponto de execução.
  • Logout chama primeiro o logout unificado do SDK oficial e depois limpa a sessão da conta; ReleaseDevice é uma entrada compatível do mesmo fluxo explícito de saída. Close conserva o vínculo do dispositivo ao fechar normalmente.
  • Mantenha o objeto cliente vivo durante a execução para o SDK processar heartbeats, postos flutuantes e regras de runtime.

Aplicações Web verificam autorização apenas em backends confiáveis. Node.js / Electron mantêm credenciais e SDK no processo principal ou no servidor; navegador e renderizador não armazenam segredos de autorização.

O que a IA deve entregar

O prompt exige que a IA conclua e relate:

  1. Conferir a versão da linguagem, a gestão de dependências, a inicialização e o encerramento do projeto, além das operações de negócio reais a proteger.
  2. Instalar um pacote Launch pelo comando de versão fixa acima e verificar as interfaces reais no README da linguagem.
  3. Adicionar login de conta, mensagens de erro e restauração segura da sessão; não gravar senhas nem licenças completas no código ou nos logs.
  4. Inicializar com a função de conexão fornecida pela administração; não inventar IDs de produto, chaves públicas de assinatura ou arquivos de configuração.
  5. Usar RunFeature ou o método equivalente em cada ponto de operação protegida, tratando corretamente contagem de uso e tentativas.
  6. Distinguir falha de conta, verificação de e-mail pendente, sincronização de direitos, ausência de compra, expiração, suspensão, limite de dispositivos, falha de rede e expiração offline.
  7. Implementar fechamento normal, saída da conta e liberação explícita do dispositivo, separando caches por loja, conta, produto e ambiente.
  8. Executar a compilação e os testes adequados ao projeto e, ao final, listar arquivos alterados, mapeamento de funcionalidades, resultados reais e etapas de validação pelo cliente.

Após a IA gerar o código, o desenvolvedor ainda deve conferir a correspondência exata dos nomes de funcionalidade com as políticas Licentivo e testar o fluxo completo com uma conta real da loja sandbox.

Conteúdo a excluir do prompt

Prompts incluem apenas origem pública da loja, mapeamento de produto, ambiente, versão do pacote e chaves públicas de assinatura. Os itens abaixo não devem ser incluídos:

  • E-mails de clientes, senhas, sessões de login e refresh tokens;
  • Licenças completas, credenciais de dispositivo e caches locais de autorização;
  • Chaves da API administrativa Licentivo;
  • Chaves Stripe, PayPal, Waffo ou Paddle;
  • Conexões de banco de dados, master_key e config.yaml do servidor;
  • Não é necessário fornecer código-fonte privado, dados de negócio ou logs a ferramentas externas.

Verificações de configuração pública, rascunhos de IA e compilações locais do Launch não comprovam pagamento real, emissão de licença ou ativação externa. Ambientes sandbox de pagamento, contas da loja e o ambiente Licentivo exigem validação separada.

Lista de validação após a integração

  • Novos clientes conseguem entrar; e-mails não verificados e senhas incorretas produzem mensagens claras sem revelar detalhes excessivos.
  • Contas com compra executam as funcionalidades escolhidas; contas sem compra, expiradas ou suspensas não executam o mesmo código de negócio.
  • Após reiniciar, o uso só continua se a sessão for restaurada com sucesso e as verificações de autorização passarem.
  • Políticas offline válidas funcionam e autorizações offline expiradas são recusadas; 401/403/404 explícitos não são rebaixados a sucesso offline.
  • O consumo de funcionalidades só é confirmado corretamente após sucesso do negócio; falhas e tentativas repetidas não descontam novamente.
  • Fechamentos normais conservam o vínculo do dispositivo; a saída explícita chama primeiro o logout do SDK oficial, conserva os registros necessários à revogação e informa resultados reais.
  • Heartbeats de postos flutuantes executam enquanto o aplicativo está ativo; a recuperação após saída anormal respeita a política de autorização atual.
  • Trocar loja, conta, produto ou ambiente não reutiliza o cache de outra identidade.

Os limites completos dos testes automáticos e da validação externa estão em acceptance.md.

Usar o gerador de prompts no pacote de código-fonte

licentivo-launch-0.1.6-source.zip preserva os arquivos abaixo para gerar prompts com a mesma estrutura nas suas ferramentas:

  • internal/httpapi/web/integration-prompts.js: módulo de geração de prompts independente da página e do servidor;
  • scripts/integration-prompts.test.mjs: testes Node locais;
  • internal/httpapi/web/integration-state.js e scripts/integration-state.test.mjs: isolamento de rascunhos de configuração e limpeza de verificações anteriores;
  • Este guia, os pacotes das linguagens, exemplos e notas de validação.

O módulo exporta integrationTargets e buildIntegrationPrompt(options). As opções incluem language, appKind, platform, projectNotes, feature, merchantOrigin, environment e o report validado; retorna { text, ready, title, code }. Sem report, só gera um rascunho. Alterar manualmente o relatório não permite contornar a verificação da configuração pública.

Em ferramentas de desenvolvimento com suporte a módulos ES, gere um rascunho local a partir da raiz do pacote de fontes:

@'
import { readFile, writeFile } from 'node:fs/promises';
const source = await readFile('internal/httpapi/web/integration-prompts.js', 'utf8');
const { buildIntegrationPrompt } = await import(
  'data:text/javascript;base64,' + Buffer.from(source).toString('base64')
);
const prompt = buildIntegrationPrompt({
  language: 'python',
  appKind: 'desktop',
  platform: 'windows',
  projectNotes: 'Existing Python desktop application. Add account sign-in and protect report exports.',
  feature: 'export'
});
await writeFile('integration-prompt.md', prompt.text, 'utf8');
console.log(prompt.title);
'@ | node --input-type=module

Este comando apenas gera um rascunho sem configuração e não chama IA nem serviços de licenciamento. Para uma integração real, volte à sua instância Launch, selecione software e ambiente existentes e gere novamente a versão com configuração pública.

Verificar o gerador local:

node --test scripts/integration-prompts.test.mjs scripts/integration-state.test.mjs