How do their APIs compare?
How do their APIs compare?
About conductor-oss/conductor · 2 messages · last activity 9/6/2026
These two projects are architecturally very different, so "their APIs" means quite different things in each — one is a set of server-side HTTP/RPC APIs for orchestration, the other is a set of client-side Java library APIs for peer-to-peer device communication on Android. Here's the comparison:
conductor-oss/conductor: HTTP/REST and RPC-style APIs
Conductor exposes its functionality primarily as Spring MVC REST controllers (server-side), designed for workflow/agent orchestration:
- Agent lifecycle management —
AgentControllerexposes bulk operations over HTTP: pause, resume, restart, retry, and terminate agent executions, plus definition lookup, e.g.PUT /executions/bulk/pause,POST /executions/bulk/restart, andGET /definitions/{name}[agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/controller/AgentController.java:L404-L436]. - Skill registry management —
SkillControllerprovides a full CRUD-style API for "skills": multipart upload/registration, listing, version-scoped retrieval, file reads, package downloads, deployment, and deletion (POST /register,GET /{name}/versions/{version},POST /{name}/versions/{version}/deploy,DELETE /{name}/versions/{version}) [agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/controller/SkillController.java:L45-L120]. - Agent-to-Agent (A2A) protocol server —
A2AAgentServerResourceimplements a JSON-RPC-over-HTTP interface conforming to an agent discovery convention (.well-known/agent-card.json), supporting both regular JSON responses and Server-Sent Events streaming (MediaType.TEXT_EVENT_STREAM_VALUE) for agent invocation [agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/a2a/A2AAgentServerResource.java:L47-L100]. - Pluggable agent client SPI — internally, there's a
ConductorAgentClientinterface with implementations likeVertexAiAgentClientandOpenAiAssistantsAgentClientdefining a uniformstartAgent/getAgentStatus/respond/cancelAgentcontract, though several backends (Vertex, OpenAI Assistants) are stub/unimplemented placeholders that throwUnsupportedOperationException[agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/service/VertexAiAgentClient.java:L37-L61, agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/service/OpenAiAssistantsAgentClient.java:L40-L69]. - System task API contract — tasks like
ListApiToolsTaskfollow Conductor'sWorkflowSystemTaskextension pattern: declared input/output schemas in Javadoc, invoked viastart(WorkflowModel, TaskModel, WorkflowExecutor), fetching and normalizing external OpenAPI/Swagger/Postman specs into tool descriptors [agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/service/ListApiToolsTask.java:L21-L52,L97-L134].
This is a networked, multi-tenant, server-hosted API surface intended for orchestration, tool discovery, and agent-to-agent interop.
niedev/rtranslator: Local Java library APIs for Bluetooth P2P
By contrast, rtranslator's "API" is a local, in-process Android library API, not a network service:
BluetoothCommunicatorexposes an object-oriented, callback-driven API (documented via Javadoc examples) — you register listeners with methods likeonDataReceived(Message, int)andonDisconnected(Peer, int), then call instance methods such asstartAdvertising()andstartDiscovery()to drive peer discovery and messaging [app/src/main/java/nie/translator/rtranslator/bluetooth/BluetoothCommunicator.java:L201-L231].Peermodels a discoverable/connectable remote device and is compared byuniqueNamerather than object identity, since device references can change over time [app/src
Want to ask your own question?
Open chat for conductor-oss/conductorPublic Q&A. Generated by RepoPilot from the actual source of conductor-oss/conductor. AI answers can be incomplete or stale — verify before relying on them.