Programmatic platform

Drive your whole fleetfrom code.

The cmdop SDK is the programmatic foundation the CLI and bots build on. One Go core owns the hard logic; thin typed clients for Python and Node just call it. Stream a machine’s AI agent, run fleets, open tunnels, schedule jobs — all from your own program.

Install

One install. Nothing else.

All five platform binaries ship baked inside one fat wheel and one npm package — no cmdop agent install, no notarization, no per-platform download. A runtime resolver picks the host’s binary at spawn time.

Python — PyPI

Node — npm

cmdop 1.0.0 on PyPI · @cmdop/sdk 1.0.0 on npm

machines.ask()

Stream a machine’s agent,as a typed async iterator.

The headline op opens an SSE stream to a machine’s AI agent through the relay, surfaced as a clean async iterator of typed frames — event, done, error, confirm_required, pin_required, pin_denied — with mid-stream pin and confirm side-channels.

Loading code...
Why it’s built this way

One core. Every language.

One Go core, thin typed clients

Auth, the relay SSE stream, retries and error mapping are written once in Go and reused by every client. A new language is a ~400-line thin shim plus a generated typed surface — not a full port.

Baked-in binaries — no extra install

All five platform binaries ride inside one fat wheel and one npm package. End users just pip install or npm i — no cmdop agent, no optionalDependencies, no Gatekeeper notarization.

Two-plane client

Machines, fleets, tunnels, schedules and keys go to the relay with your CMDOP_TOKEN. Skills and bots go to the platform with your UserAPIKey. One client, two credentials, by design.

machines.ask() SSE streaming

Stream a machine’s AI agent as a typed async iterator, with mid-stream pin and confirm side-channels. The same interaction model as the app, now scriptable.

Bots built in

Telegram, Discord and Slack bots are now hosted entirely inside the SDK core. Start one with client.bots.run(...) and the Go binary runs the channel loop, driving machines.ask() per message. The SDK absorbed bots.

The surface

Typed namespacesover your whole fleet.

Every relay op is mirrored in both clients and gated by a cross-language parity check — a method in one language but not the other fails CI.

machineslist · get · info · spend · ask · messages · active_session
Relay plane · CMDOP_TOKEN
fleetscrud · members · attach · detach
Relay plane · CMDOP_TOKEN
tunnelsopen · close · list · get · sessions
Relay plane · CMDOP_TOKEN
schedulescrud · trigger · runs
Relay plane · CMDOP_TOKEN
keyslist · issue · revoke
Relay plane · CMDOP_TOKEN
skillslist · install · publish
Platform plane · UserAPIKey
botsrun · management (Telegram · Discord · Slack)
Platform plane · UserAPIKey
Learn more

Read the docs.Ship in minutes.

Full reference for every namespace, the streaming model, and error handling.

Build on the foundation.

The programmatic core every other cmdop product is built on. Install it, import it, ship.