Ir al contenido
Volver a la documentación de Launch

Descargar MarkdownDocumento original en GitHub

Integrar Licentivo Launch mediante IA

Los cambios actuales aún no publicados usan el intercambio de identidad de cuentas. Consulte las responsabilidades y restricciones de migración en Duración de compra y límites del SDK de cuentas. Launch calcula la duración de compra; el SDK de Licentivo aplica la autorización.

En el backend de Launch, Herramientas operativas → Integración rápida con IA genera una descripción de tarea en inglés para herramientas de programación con IA. Usa la configuración pública real de la tienda actual, el software existente y los planes publicados, y exige que la IA instale el paquete cliente público de Launch, llame a API reales, incorpore las comprobaciones de permisos en las operaciones de negocio y complete después las pruebas de integración.

La navegación Comprobación de integración y código / Integración rápida con IA de la página de integración del programa accede a la misma función. El desarrollo manual no necesita IA; puede consultar directamente la guía de integración manual en nueve lenguajes.

Preparación antes de generar

  1. Cree el software y los planes de venta en Launch y asocie los planes a los productos y políticas de autorización de Licentivo.
  2. Publique los planes en el entorno sandbox o live que se va a probar.
  3. Compruebe que el software del cliente puede acceder a la dirección pública de Launch; use HTTPS en producción.
  4. En Integración del programa → Comprobación de integración y código, lea la información del producto y confirme que la asignación del producto y la clave pública de firma superan la comprobación.
  5. Especifique las acciones de negocio reales que desea proteger, como export, save o render; no escriba solo «todo el software».

Se puede generar un borrador sin terminar la configuración del producto, pero este señalará explícitamente los elementos pendientes y no podrá usarse como configuración de integración lista para entregar. Genérelo de nuevo después de completar la configuración del producto y del entorno.

Generar la instrucción en el backend

  1. Seleccione Go, Python, C#, Java, JavaScript / Node.js, Rust, Ruby, C o C++. La solución de backend Web usa Go y no cuenta como un lenguaje SDK adicional.
  2. Seleccione Windows, Linux, macOS o la plataforma aplicable, y un proyecto de escritorio, backend Web o servicio en segundo plano.
  3. Describa en inglés la estructura del proyecto existente, el método de inicio, el marco de interfaz y las funciones de negocio que desea proteger. No incluya contraseñas, claves, datos de clientes ni código fuente privado.
  4. Seleccione el software existente y el entorno sandbox / live. Launch lee automáticamente la dirección de la tienda actual, la asignación entre productos de Launch y Licentivo, el entorno y la clave pública de firma.
  5. Revise en la vista previa la versión del paquete, los comandos de instalación, los enlaces de documentación y la función de conexión rellenada; copie o descargue después la instrucción.
  6. Entregue la instrucción a su herramienta de programación con IA para que complete las modificaciones, la compilación y las pruebas locales en su proyecto.

Launch solo genera texto en el navegador. No se conecta automáticamente a ningún servicio de IA, no sube proyectos ni ejecuta programas generados en nombre del desarrollador.

La instrucción indica a la IA dónde descargar el SDK

Las verificaciones de instalación pública de los nueve lenguajes de la versión actual 0.1.6 se han superado (9/9); los comandos de registros y las descargas nativas siguientes están verificados. También se han completado comprobaciones de uso independientes de los archivos de Java en Maven Central y sus cuatro firmas, la versión exacta de Rust en crates.io y todo el código de inicialización generado por el backend; la versión v0.1.6 de GitHub ofrece además paquetes nativos y archivos sin conexión.

La instrucción generada debe incluir un método de instalación público con versión fija para el lenguaje seleccionado:

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

El código fuente público, los README de cada lenguaje y el estado actual de publicación se encuentran en:

Instale solo el paquete de Launch del lenguaje seleccionado. La v0.1.6 ya incluye el SDK oficial de Licentivo v0.11.6, el adaptador predeterminado y la configuración de enlace; ya no se instala por separado una segunda copia del SDK oficial.

La instrucción indica a la IA cómo realizar la integración

La instrucción configurada incluye la función de conexión generada por el backend. Esta función ya contiene la dirección pública de la tienda, la asignación entre productos de Launch y Licentivo, la clave pública de firma y el entorno de pago. La IA no necesita adivinar ni introducir manualmente los dos identificadores internos de producto, ni crear launch-config.json o product.json.

El archivo privado del servidor config.yaml solo se usa para ejecutar el sitio Launch y nunca debe incluirse en aplicaciones de clientes, instrucciones para IA ni paquetes de instalación.

La IA debe modificar el software del cliente siguiendo este ciclo de vida:

Connect/connect → Login or Restore → RunFeature → Logout / Close
                                      └──────────→ ReleaseDevice (explicit device unlink only)
  • Connect/connect crea el cliente Launch e inicializa el SDK oficial incluido; esto por sí solo no significa que la cuenta haya iniciado sesión ni que las funciones estén autorizadas.
  • Login usa el correo y la contraseña con los que el cliente se registró en la tienda actual para obtener las credenciales del producto de esa cuenta.
  • Restore recupera una sesión recordada desde el almacenamiento seguro; si no hay sesión, muestra el inicio de sesión. Un rechazo explícito no puede considerarse una autorización sin conexión correcta.
  • RunFeature debe envolver las acciones de negocio reales, como exportar, guardar, renderizar o ejecutar tareas en segundo plano. Deshabilitar botones no sustituye la comprobación en el punto de ejecución.
  • Logout llama primero al cierre de sesión unificado del SDK oficial y después limpia la sesión de la cuenta; ReleaseDevice es un punto de entrada compatible del mismo procedimiento de cierre de sesión explícito. Close conserva la vinculación del dispositivo en un cierre normal.
  • El objeto cliente debe mantenerse activo mientras se ejecuta la aplicación para que el SDK gestione los heartbeats, los puestos flotantes y las reglas de ejecución.

Las aplicaciones Web solo realizan comprobaciones de autorización en un backend de confianza. Node.js / Electron sitúa las credenciales y el SDK en el proceso principal o en el servidor; el navegador y el proceso de renderizado no conservan secretos de autorización.

Qué debe entregar la IA

La instrucción exige que la IA complete e informe de lo siguiente:

  1. Revisar la versión del lenguaje, la gestión de dependencias, los procedimientos de inicio y cierre del proyecto existente y las operaciones de negocio reales que deben protegerse.
  2. Instalar un paquete de Launch con el comando de versión fija indicado arriba y comprobar las interfaces reales en el README del lenguaje correspondiente.
  3. Añadir el inicio de sesión de la cuenta del cliente, los mensajes de error y la recuperación segura de sesiones, sin guardar contraseñas ni licencias completas en el código fuente o los registros.
  4. Inicializar mediante la función de conexión proporcionada por el backend, sin inventar identificadores de producto, claves públicas de firma ni archivos de configuración.
  5. Usar RunFeature o el método del lenguaje correspondiente en el punto de ejecución de cada acción de negocio protegida y gestionar correctamente el recuento de usos y los reintentos.
  6. Distinguir entre errores de cuenta, correo pendiente de verificar, derechos en sincronización, ausencia de compra, vencimiento, suspensión, límite de dispositivos alcanzado, errores de red y vencimiento de la autorización sin conexión.
  7. Implementar el cierre normal, el cierre de sesión de la cuenta y la liberación explícita del dispositivo, y aislar las cachés por tienda, cuenta, producto y entorno.
  8. Ejecutar la compilación y las pruebas adecuadas para el proyecto y, al finalizar, enumerar los archivos modificados, las asignaciones de funciones, los resultados reales y los pasos de aceptación del cliente.

Después de que la IA produzca el código, los desarrolladores deben comprobar que los nombres de las funciones coinciden exactamente con las políticas de Licentivo y completar pruebas de extremo a extremo con una cuenta real de la tienda sandbox.

Contenido que debe excluirse del prompt

La instrucción solo contiene el origen público de la tienda, las asignaciones de productos, el entorno, la versión del paquete y la clave pública de firma. No debe incluirse lo siguiente:

  • Correos de clientes, contraseñas, sesiones de inicio de sesión y tokens de actualización;
  • Licencias completas, credenciales de dispositivos y cachés locales de autorización;
  • API Key administrativa de Licentivo;
  • Claves de Stripe, PayPal, Waffo o Paddle;
  • Conexiones de base de datos, master_key y config.yaml del servidor;
  • Código fuente privado, datos de negocio o registros que no sea necesario proporcionar a herramientas externas.

Las comprobaciones de configuración pública de Launch, los borradores de IA y las compilaciones locales no demuestran que los pagos reales, la emisión de licencias o las activaciones externas hayan terminado correctamente. Las sandbox de pago, las cuentas de la tienda y el entorno Licentivo deben someterse a aceptación por separado.

Lista de comprobación de aceptación después de la integración

  • Los clientes nuevos pueden iniciar sesión; los correos sin verificar y las contraseñas incorrectas generan mensajes claros sin revelar información excesiva.
  • Las cuentas que han comprado pueden ejecutar las funciones previstas; las cuentas sin compra, vencidas o suspendidas no pueden ejecutar el mismo código de negocio.
  • Después de reiniciar, solo puede continuar el uso si la sesión se recupera correctamente y se superan las comprobaciones de autorización.
  • Las políticas sin conexión válidas funcionan y se rechaza el uso cuando vence la autorización sin conexión; las respuestas explícitas 401/403/404 no se convierten en éxitos sin conexión.
  • El recuento de usos de las funciones solo se confirma correctamente cuando la operación de negocio termina bien; los errores y reintentos no provocan descuentos duplicados.
  • El cierre normal conserva la vinculación del dispositivo; el cierre de sesión explícito llama primero al cierre de sesión unificado del SDK oficial, conserva los registros de revocaciones pendientes e informa del resultado real.
  • Los heartbeats de los puestos flotantes continúan durante la ejecución de la aplicación; el tiempo de recuperación tras una salida anómala respeta la política de autorización actual.
  • Cambiar de tienda, cuenta, producto o entorno no reutiliza la caché de otra identidad.

Consulte una descripción más completa de los límites de aceptación automática y externa en acceptance.md.

Usar el generador de instrucciones para IA en la distribución del código fuente

licentivo-launch-0.1.6-source.zip conserva los archivos siguientes para facilitar la generación de instrucciones con la misma estructura en sus propias herramientas:

  • internal/httpapi/web/integration-prompts.js: módulo de generación de instrucciones independiente de las páginas y del servidor;
  • scripts/integration-prompts.test.mjs: pruebas locales de Node;
  • internal/httpapi/web/integration-state.js y scripts/integration-state.test.mjs: aislamiento de borradores de configuración y limpieza de resultados de verificación antiguos;
  • Esta guía, los paquetes de integración de cada lenguaje, los ejemplos y las instrucciones de aceptación.

El módulo exporta integrationTargets y buildIntegrationPrompt(options). Las opciones incluyen language, appKind, platform, projectNotes, feature, merchantOrigin, environment y el report verificado; devuelve { text, ready, title, code }. Si no se proporciona report, solo se genera un borrador; no se puede eludir la comprobación de configuración pública manipulando manualmente el informe.

En herramientas de desarrollo compatibles con módulos ES, se puede generar un borrador local desde la raíz del paquete de código fuente:

@'
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 solo genera un borrador sin configurar y no llama a servicios de IA ni de autorización. Para una integración real, vuelva a su instancia de Launch, seleccione el software y el entorno existentes y genere de nuevo una versión con la configuración pública.

Verificar el generador local:

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