Durable AI Agents
July 29, 2026 · View on GitHub
The agent layer of the Conductor JavaScript SDK — long-running, dynamic plan-execute, and event-driven AI agents.
- Package:
@io-orkes/conductor-javascript— agent layer imported from the/agentssubpath - Runtime: Node.js >= 18
- Module: ESM and CommonJS (
import/require)
Start here
- Getting started — install, env vars, and a running agent in under 30 seconds.
- Deploy · Serve · Run · Plan — choose a runtime mode.
- Scheduling — manage deployed-agent schedules.
Build agents
- Agents, tools, and multi-agent
- Guardrails, termination, callbacks
- Stateful agents (including memory and liveness monitoring), streaming and HITL, and structured output
Framework bridges
- Google ADK, LangChain, and LangGraph
- OpenAI Agents SDK and Vercel AI SDK (JS/Node-ecosystem-specific — no Java/Python counterpart)
You don't have to rewrite an agent authored with another framework to run it
on Conductor. runtime.run()/deploy()/stream() detects the framework
object you pass in, serializes it to an agent config, and runs it on the
server — the identical call you'd make with a native Agent:
const runtime = new AgentRuntime();
const result = await runtime.run(frameworkAgent, prompt); // <-- same entry point for every framework
Detection is pure duck-typing — no framework package is imported by the SDK,
and every framework's peer dependency is optional (install only what you
use). detectFramework(agent) returns the first match:
| Framework | Detected when the object has… |
|---|---|
native Agent | is an instance of Agent (runs natively, not as a framework) |
langgraph | .invoke() plus a graph shape (.getGraph(), a .nodes Map, or .nodes + .builder) |
langchain | .invoke() plus an lc_namespace array (e.g. an AgentExecutor) |
openai | name + string/function instructions + string model + tools[] + an OpenAI marker (handoffs[], inputGuardrails[], asTool(), toolUseBehavior, ...) |
google_adk | subAgents[] (orchestration agents), or string model + ADK markers (instruction, outputKey, generateContentConfig, beforeModelCallback, ...) |
If nothing matches and the object isn't a native Agent, you get a clear
error. All five frameworks use the identical runtime.run(agentOrGraph, prompt) entry point — there is no per-framework runtime API. Framework
agents can be deployed too: runtime.deploy(frameworkAgent).
Operate and inspect
- Runtime reference, control-plane reference, and API map
- Agent-definition fields and configuration contract
At a glance
import { Agent, AgentRuntime } from '@io-orkes/conductor-javascript/agents';
const agent = new Agent({
name: 'greeter',
model: 'anthropic/claude-sonnet-4-6',
instructions: 'You are a friendly assistant. Keep responses brief.',
});
const runtime = new AgentRuntime();
try {
const result = await runtime.run(agent, 'Say hello!');
result.printResult();
} finally {
await runtime.shutdown();
}
You need a running Conductor server (default http://localhost:8080/api).
See getting-started.md.