IInstalación

La primera prueba.

De una máquina limpia a una respuesta hasheada y reproducible en menos de un minuto. Sin cuenta, sin clave, sin servidor. Ejecuta los mismos cuatro pasos en cualquier lenguaje — la prueba es el mismo hash.

TypeScriptNode ≥ 20

  1. 01Instalar

  2. 02Conectar una fuente

    import { createSQAI } from "@thyn-ai/sqai";
    
    const sqai = createSQAI();
    await sqai.connect("./sales.csv",
      { name: "sales" });
  3. 03Realizar una consulta

    const a = await sqai.ask({
      metric: "revenue",
      aggregation: "sum",
      group_by: "region",
      source_name: "sales",
    });
    // east 2130.5 · west 1519 · north 1000
    // plan_hash f87610d8afeb…
  4. 04Calcular un valor

    const r = await sqai.compute({
      module: "finance", function: "npv",
      args: [0.1, [-1000, 300, 420, 560, 680]],
    });
    r.value505.020148896933
    r.computation_hashb74f67d0…d91bc8

PythonPython ≥ 3.10

  1. 01Instalar

  2. 02Conectar una fuente

    from sqai import SQAI
    
    sqai = SQAI()
    sqai.connect("./sales.csv",
      name="sales")
  3. 03Realizar una consulta

    a = sqai.ask({
      "metric": "revenue",
      "aggregation": "sum",
      "group_by": "region",
      "source_name": "sales",
    })
    # east 2130.5 · west 1519 · north 1000
    # plan_hash f87610d8afeb…
  4. 04Calcular un valor

    r = sqai.compute(
      module="finance", function="npv",
      args=[0.1, [-1000, 300, 420, 560, 680]],
    )
    r["value"]505.020148896933
    r["computation_hash"]b74f67d0…d91bc8
computation_hash · TypeScript ≡ Python

b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8

Idéntico. Byte a byte.

Ambos SDK canonizan el mismo resultado a los mismos bytes, por lo que el hash coincide entre lenguajes — no por casualidad, sino por diseño. Reproduce la llamada en cualquier entorno y debe imprimir esta línea.

IIConfiguración única

Aprovisiona una vez. Luego es instantáneo.

El plano de consulta se ejecuta en proceso en cuanto finaliza la instalación — sin daemon, sin clave. El plano de cómputo aprovisiona su runtime firmado una sola vez, en el primer compute(), y lo mantiene residente.

await sqai.compute(…)  // first call, ever~110 s · una vez por máquina

  1. 01descargar el paquete de plataforma
  2. 02verificar la firma RS256 + sha256 por artefacto
  3. 03extraer e instalar de forma atómica
  4. 04iniciar el motor residente

await sqai.compute(…)  // every call after0,83–0,93 ms · medido

El runtime ya está residente — sin descarga, sin arranque en frío, sin configuración por consulta.

El paquete se almacena en caché por usuario, por lo que el aprovisionamiento ocurre una vez por máquina — no una vez por proceso.

IIIVerificar

Un comando inspecciona toda la máquina.

✓ node: v20.11.0
✓ sdk: @thyn-ai/sqai 0.1.4 imports cleanly
✓ contract: 4778 capabilities
  sha256:79f1c5a6c7164e7e9e1750e70a5c03292fa87eb52d8148a740c06695924be9a1
• tested-pair: skipped (not in the repo)
• runtime: unavailable (checks skipped)
✓ doctor: ok

doctor comprueba la versión de Node, la importación del SDK, el contrato embebido y una sonda en vivo del runtime. En una máquina limpia, la línea del runtime indica unavailable — una omisión, no un fallo. El plano de consulta no necesita runtime.

  • 4 778 capacidades se incluyen en el contrato anclado por hash; 4 574 están expuestas a los SDK — de solo lectura, deterministas.
  • Añade --parity para verificar ese invariante y comparar los módulos del contrato con el motor en ejecución.
  • Añade --json para imprimir exactamente un objeto JSON — preparado para CI.

IVRequisitos

Lo que el minuto necesita.

Node
20 o superior para los paquetes npm — doctor lo verifica.
Python
3.10 o superior para el paquete PyPI.
Plano de cómputo
darwin-arm64 o linux-x64 — el runtime firmado se aprovisiona en el primer compute().
Plano de consulta
Donde sea que corra Node o Python.
Windows y otros
El plano de consulta funciona íntegramente; compute() devuelve un error estructurado unsupported_platform — nunca un fallo.

Fuera de un host compatible, apunte compute a un motor remoto con SQAI_ENGINE_URL o SQAI_API_KEY — las consultas y el despacho siguen funcionando; solo se omite el aprovisionamiento local.

VLa franja del operador

Tres comandos alrededor del SDK.

La conexión, las consultas y el cómputo ocurren en proceso a través de los SDK. El CLI es lo que se ejecuta en torno a ellos: registrar un dispositivo, verificar el entorno, gestionar el runtime.

  1. $sqai login [--no-browser]

    Registro de dispositivo opcional (RFC 8628) vía accounts.thyn.ai. Transfiere un token firmado — nunca sus datos. Gratuito en una máquina.

  2. $sqai doctor [--parity] [--json]

    Node, importación del SDK, contrato embebido, sonda del runtime en vivo. --parity verifica el invariante de solo lectura y determinismo.

  3. $sqai runtime <status|install|verify|stop>

    El runtime de cómputo residente: consultarlo, instalarlo con antelación, verificar el sha256 fijado, detenerlo.

Cada comando acepta --json e imprime exactamente un objeto JSON. Los códigos de salida son scriptables: 0 éxito · 1 verificación fallida · 2 error de uso.