sloperator
v0.0.0
Published
Plugin infrastructure for building agentic workflows
Readme
sloperator
sloperator is a small agent runtime library for building plugin-driven agent systems.
It is designed around a few core ideas:
- a single session-oriented runtime API
- an evented agent contract
- pluggable provider integrations
- shared process and tmux runtime primitives
The package is currently in an early scaffolding phase. The exported API surface is being established first, with runtime behavior to follow.
Installation
npm install sloperatorGoals
- Register and discover agent plugins
- Route requests to the right provider implementation
- Support one-shot and long-lived sessions
- Expose consistent runtime lifecycle events
- Provide reusable process and tmux-backed runtime layers
Planned API
import {
Agents,
Agent,
Session,
ProcessAgent,
TmuxRuntime,
TmuxAgent,
plugins,
events,
states,
transitions,
errors
} from 'sloperator';Planned first-party plugin targets:
ClaudePluginCodexPluginCursorPluginOpenCodePlugin
Example
import { Agents, plugins } from 'sloperator';
const agents = new Agents();
agents.register(plugins.CodexPlugin);
agents.register(plugins.ClaudePlugin);
const session = await agents.create({
provider: 'openai',
model: 'fast',
prompt: 'Summarize this repository in one sentence.',
identity: { name: 'optimus-0', provider: 'openai' },
role: 'action'
});
await session.start();
const result = await session.send({
prompt: 'Summarize this repository in one sentence.'
}, {
oneshot: true
});
await session.stop('completed');Status
Current exports are structural placeholders intended to define the package shape:
- base runtime classes
- registry and routing outline
- state and event constants
- error types
- first-party plugin metadata shells
Implementation details are intentionally minimal at this stage.
Design Notes
Sessionis the main consumer-facing control surfaceAgentis the base contract for plugin implementationsProcessAgentandTmuxAgentdefine reusable runtime layersTmuxRuntimeexists as a dedicated transport primitive- one-shot behavior is intended to run through short-lived sessions, not a separate plugin API
License
MIT
