Controla toda tu flotadesde el código.
El SDK de cmdop es la base programática sobre la que se construyen el CLI y los bots. Un núcleo en Go se encarga de la lógica difícil; clientes finos y tipados para Python y Node simplemente lo invocan. Transmite el agente de IA de una máquina, gestiona flotas, abre túneles, programa trabajos — todo desde tu propio programa.
sdk.diagram.title
sdk.diagram.body

Una instalación. Nada más.
Los cinco binarios de la plataforma se entregan integrados en un único fat wheel y un único paquete npm — sin instalación del agente cmdop, sin notarización, sin descarga por plataforma. Un resolutor en tiempo de ejecución elige el binario del host al arrancar.
Python — PyPI
Node — npm
cmdop 1.0.0 en PyPI · @cmdop/sdk 1.0.0 en npm
Transmite el agente de una máquina,como un iterador async tipado.
La operación principal abre un flujo SSE hacia el agente de IA de una máquina a través del relay, expuesto como un iterador async limpio de frames tipados — event, done, error, confirm_required, pin_required, pin_denied — con canales laterales de pin y confirmación a mitad del flujo.
Un núcleo. Cada lenguaje.
Un núcleo en Go, clientes finos y tipados
La autenticación, el flujo SSE del relay, los reintentos y el mapeo de errores se escriben una vez en Go y los reutiliza cada cliente. Un nuevo lenguaje es un shim fino de unas 400 líneas más una superficie tipada generada — no un port completo.
Binarios integrados — sin instalación extra
Los cinco binarios de la plataforma viajan dentro de un único fat wheel y un único paquete npm. Los usuarios finales solo hacen pip install o npm i — sin agente cmdop, sin optionalDependencies, sin notarización de Gatekeeper.
Cliente de dos planos
Máquinas, flotas, túneles, programaciones y claves van al relay con tu CMDOP_TOKEN. Skills y bots van a la plataforma con tu UserAPIKey. Un cliente, dos credenciales, por diseño.
Streaming SSE de machines.ask()
Transmite el agente de IA de una máquina como un iterador async tipado, con canales laterales de pin y confirmación a mitad del flujo. El mismo modelo de interacción que la app, ahora programable.
Bots integrados
Los bots de Telegram, Discord y Slack ahora están alojados completamente dentro del núcleo del SDK. Inicia uno con client.bots.run(...) y el binario de Go ejecuta el bucle del canal, impulsando machines.ask() por mensaje. El SDK absorbió los bots.
Namespaces tipadossobre toda tu flota.
Cada operación del relay se refleja en ambos clientes y está protegida por una comprobación de paridad entre lenguajes — un método presente en un lenguaje pero no en el otro hace fallar la CI.
machineslist · get · info · spend · ask · messages · active_sessionfleetscrud · members · attach · detachtunnelsopen · close · list · get · sessionsschedulescrud · trigger · runskeyslist · issue · revokeskillslist · install · publishbotsrun · management (Telegram · Discord · Slack)Lee la documentación.Despliega en minutos.
Referencia completa de cada namespace, el modelo de streaming y el manejo de errores.
Construye sobre la base.
El núcleo programático sobre el que se construye cada otro producto de cmdop. Instálalo, impórtalo, despliega.