npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lunaversex/genai

v0.4.0

Published

LunaVerseX Generative AI SDK for JavaScript

Readme

@lunaversex/genai

NPM Version License Node.js Version Build Status

LunaVerseX Generative AI SDK for JavaScript

SDK oficial de LunaVerseX para integrar capacidades de IA generativa en aplicaciones Node.js y frontend. Provee interfaces simples para chat, streaming, manejo de modelos y utilidades relacionadas.

📚 Documentación completa: docs.lunaversex.com/sdks/genai


🚀 Instalación

npm install @lunaversex/genai

o con yarn:

yarn add @lunaversex/genai

✨ Características

  • 🔹 Chat conversacional con soporte para múltiples modelos.
  • 🔹 Streaming de respuestas para baja latencia.
  • 🔹 Gestión de modelos disponibles.
  • 🔹 Utilidades para manejo de tokens y configuración.
  • 🔹 Escrito en TypeScript con tipados incluidos.

🧪 Modelos disponibles

| Modelo | ID | Soporta Reasoning | Descripción | | ------------ | ------------ | ---------------- | ----------------------------------------------- | | Lumi o1 Mini | lumi-o1-mini | ✅ Sí | Modelo compacto para tareas generales. | | Lumi o1 | lumi-o1 | ❌ No | Modelo equilibrado para uso general. | | Lumi o1 Pro | lumi-o1-pro | ❌ No | El modelo más creativo y sentimental. | | Lumi o1 High | lumi-o1-high | ✅ Sí | Razonamiento profundo y rápido, código, matemáticas. | | Lumi o3 | lumi-o3 | ✅ Sí (Nativo) | El modelo más avanzado de LunaVerseX. |


🧩 Endpoints del SDK

| Método | Descripción | | -------------- | --------------------------------------------------------------- | | chat() | Envía un mensaje al modelo y recibe una respuesta. | | chatStream() | Envía un mensaje al modelo y recibe una respuesta en streaming. | | listModels() | Lista los modelos disponibles y sus características. | | setConfig() | Configura globalmente la clave API y la URL base del SDK. |


🔧 Uso básico

Configuración global

import { genai } from "@lunaversex/genai";

genai.init({ 
  apiKey: "your-api-key"
});

Chat básico

import { genai } from '@lunaversex/genai';
// import { chatStream, tokens, chat, listModels } from '@lunaversex/genai';
// Cooming Soon

console.log("\n=== Prueba chat ===");
try {
const res = await genai.chat(
[{ role: "user", content: "Hola" }],
{ model: "lumi-o1" }
);
console.log("Respuesta:", res.choices[0].message.content);
} catch (error) {
console.error("Error:", error);
}

Streaming de chat

import { genAI } from '@lunaversex/genai';

// import { chatStream, tokens, chat, listModels } from '@lunaversex/genai';
// Cooming Soon

async function run() {
  console.log("\n=== Prueba streaming ===");

  try {
    let fullContent = "";

    for await (const delta of genAI.chatStream(
      [{ role: "user", content: "Cuéntame una historia muy corta" }],
      { model: "lumi-o1-mini" }
    )) {
      if (delta.type === "delta") {
        if (delta.content) {
          fullContent += delta.content;
          process.stdout.write(delta.content);
        }
        if (delta.reasoning) {
          console.log("\n[Razonamiento parcial]", delta.reasoning);
        }
      }

      if (delta.type === "end") {
        console.log("\n[Fin del stream]");
        if (delta.usage) {
          console.log("Uso final:", delta.usage);
        }
      }
    }

    console.log(`\n\nContenido completo: ${fullContent.length} caracteres`);
  } catch (error) {
    console.error("Error en streaming:", error);
  }
}

📄 Ejemplos adicionales


🔐 Seguridad

  • Nunca incluyas tu API Key directamente en el código fuente.
  • Usá variables de entorno (process.env.LUNAVERSEX_API_KEY).
  • El SDK no guarda ni expone claves sensibles.

📜 Licencia

Este proyecto está bajo licencia Apache-2.0.


🧑‍💻 Autor

Desarrollado por LunaVerseX. Mantenido por Joaco Heredia.


📈 Changelog

v0.4.0 (2025-08-17)

  • Corrección de errores.

v0.3.0 (2025-08-17)

  • 🎉 Lanzamiento inicial del SDK.
  • ✅ Implementación de métodos chat(), chatStream(), listModels(), setConfig(), tokens().
  • 📝 Documentación inicial con ejemplos de uso.