Skip to content

Commit 9d742e8

Browse files
committed
docs and clean up
1 parent c44e7fa commit 9d742e8

356 files changed

Lines changed: 2543 additions & 3575 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/pull_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
run: |
3333
python -m pip install --upgrade pip
3434
pip install -e .
35-
pip install pytest pytest-cov coverage
35+
pip install pytest pytest-cov coverage jsonschema
3636
3737
- name: Verify agents import without extras installed
3838
id: agent_base_import

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,4 @@ tests/unit/automator/_trial_temp/_trial_marker
173173

174174
# agent e2e bundle staging output (scripts/package-e2e-bundle.sh)
175175
scripts/e2e-bundle-dist/
176+
/design/openspec

README.md

Lines changed: 112 additions & 525 deletions
Large diffs are not rendered by default.

SDK_UPDATE_v1.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ The exact semantics of the runtime verbs. Implementations must match this table:
192192

193193
### `run` — start, wait, return the result
194194
`run(agent, prompt, *, version?, media?, session_id?, idempotency_key?, on_event?, timeout?, credentials?, context?, run_settings?) -> AgentResult`
195-
Serializes the agent (+ `run_settings` overrides), calls `start_agent`, starts the required tool workers, then polls status to a terminal state. Returns the rich result — the output is `result.output`, **not** a bare value. `credentials=[names]` asks the server to resolve those secrets for this run.
195+
Serializes the agent (+ `run_settings` overrides), calls `start_agent`, starts the required tool workers, then polls status to a terminal state. Returns the rich result — the output is `result.output`, **not** a bare value. Credential names configure worker `TaskDef.runtimeMetadata` locally and are not sent as workflow input.
196196

197197
### `start` — fire-and-forget
198198
`start(agent, prompt, *, version?, media?, session_id?, idempotency_key?, context?, run_settings?) -> AgentHandle`
@@ -212,7 +212,7 @@ Per agent: (1) **deploy it to the server** (same helper `deploy` uses — new on
212212
config_json = serialize(agent)
213213
if run_settings: config_json.update(run_settings.to_config_overrides())
214214
payload = {agentConfig: config_json, prompt, sessionId: session_id ?? "", media: media ?? []}
215-
+ optional keys only when set: context, idempotencyKey, timeoutSeconds, credentials, runId, static_plan
215+
+ optional keys only when set: context, idempotencyKey, timeoutSeconds, runId, static_plan
216216
data = agent_client.start_agent(payload)
217217
execution_id, required_workers = data.executionId, data.requiredWorkers?
218218
prepare_workers(agent, required_workers) # WorkerManager start — serve the tools

docs/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Python SDK documentation
2+
3+
Build durable workflow workers and Conductor agents with Python. These guides
4+
cover OSS and Orkes; pages call out capabilities that require Orkes.
5+
6+
## Start here
7+
8+
| Goal | Guide | Expected result |
9+
|---|---|---|
10+
| Connect to a server | [Server setup](server-setup.md) and [connection/authentication](connection-authentication.md) | The SDK can reach an OSS or Orkes API endpoint. |
11+
| Build a workflow and worker | [Core quickstart](core-quickstart.md) | The hello-world workflow prints its result. |
12+
| Build a Conductor agent | [Agent quickstart](agents/getting-started.md) | An LLM-backed agent completes through Conductor. |
13+
14+
## Build
15+
16+
- [Workflows](workflows.md), [workflow lifecycle](workflow-lifecycle.md), and [workers](workers.md)
17+
- [Workflow testing](workflow-testing.md), [schemas](schema-client.md), and [schedules/events](schedules-events.md)
18+
- [Conductor agents](agents/README.md), [tools](agents/concepts/tools.md), and [framework bridges](agents/README.md#framework-bridges)
19+
- [Recommended examples](examples.md); [examples/README.md](../examples/README.md) is the full catalog.
20+
21+
## Operate
22+
23+
- [Reliability](reliability.md), [security](security.md), and [deployment/scaling](deployment-scaling.md)
24+
- [Metrics and logging](observability.md) and [debugging](debugging.md)
25+
26+
## Reference and upgrades
27+
28+
- [Core API map](api-map.md), [compatibility](compatibility.md), and [upgrading](upgrading.md)
29+
- [Agent runtime](agents/reference/runtime.md), [control plane](agents/reference/client.md), and [agent definition](agents/reference/agent-definition.md)
30+
- [Java/Python documentation parity](documentation-parity.md) — intentional Python mappings and unsupported Java-only surfaces.
31+
32+
## Documentation conventions
33+
34+
Primary guides follow the [documentation standard](documentation-standard.md).
35+
Provider credentials belong on the Conductor server or its secret provider, not
36+
in workflow input, example source, or a client-side `.env` committed to Git.

docs/agents/README.md

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,46 @@
11
# Conductor Agent Python SDK
22

3-
> Ships as part of [`conductor-python`](https://pypi.org/project/conductor-python/) — install with the `agents` extra
4-
> (`pip install 'conductor-python[agents]'`) — you're in the right place.
3+
Build durable Python AI agents on Conductor. Agents can use local Python tools,
4+
wait for people, execute dynamic plans, and recover after process restarts because
5+
Conductor persists execution state.
56

6-
Long-running, dynamic plan-execute, and event-driven AI agents in Python. You write plain Python; Conductor Agent compiles your agent into a Conductor workflow that runs on a server — with automatic retries, durable state, human-in-the-loop pauses, streaming, scheduling, dynamic plan-execute, and full execution history.
7+
## Install
78

8-
```python
9-
from conductor.ai.agents import Agent, AgentRuntime
9+
```shell
10+
pip install 'conductor-python[agents]'
11+
```
1012

11-
agent = Agent(name="greeter", model="anthropic/claude-sonnet-4-6",
12-
instructions="You are a friendly assistant.")
13+
Requirements: Python 3.10+ and a Conductor server with an LLM provider configured
14+
server-side. Replace example model names with a model enabled on that server.
1315

14-
with AgentRuntime() as runtime:
15-
result = runtime.run(agent, "Say hello.")
16-
print(result.output)
17-
```
16+
## Start here
1817

19-
## Docs
18+
- [Getting started](getting-started.md) — configure a server and run a basic agent.
19+
- [Deploy · Serve · Run · Plan](concepts/deploy-serve-run.md) — choose a runtime mode.
20+
- [Scheduling](concepts/scheduling.md) — manage deployed-agent schedules.
2021

21-
- [Getting started](getting-started.md) — install, env vars, and a running agent in under 30 seconds.
22-
- [Writing agents](writing-agents.md) — the `Agent` class and `@agent`, tools, multi-agent strategies, handoffs, guardrails, termination, callbacks, streaming + HITL, schedules, stateful and instance agents.
23-
- [Framework agents](framework-agents.md) — run agents authored in the OpenAI Agents SDK, LangChain, LangGraph, or the Claude Agent SDK.
24-
- [Advanced](advanced.md) — runtime config, the control-plane `AgentClient`, deploy vs serve vs run vs plan, structured output, credentials, plans (`PLAN_EXECUTE`), skills.
25-
- [API reference](api-reference.md) — the public API surface in one place.
22+
## Build agents
2623

27-
## Import surface
24+
- [Agents](concepts/agents.md), [tools](concepts/tools.md), and [multi-agent](concepts/multi-agent.md)
25+
- [Guardrails](concepts/guardrails.md), [termination](concepts/termination.md), [callbacks](concepts/callbacks.md)
26+
- [Stateful agents](concepts/stateful.md), [streaming and HITL](concepts/streaming-hitl.md), and [structured output](concepts/structured-output.md)
2827

29-
Everything public is importable from `conductor.ai.agents`:
28+
## Framework bridges
3029

31-
```python
32-
from conductor.ai.agents import Agent, AgentRuntime, tool, agent
33-
```
30+
- [Google ADK](frameworks/google-adk.md), [LangChain](frameworks/langchain.md), and [LangGraph](frameworks/langgraph.md)
31+
- [OpenAI Agents SDK](frameworks/openai.md) and [Claude Agent SDK](frameworks/claude-agent-sdk.md)
3432

35-
A small OpenAI-Agents-compatible shim is also exposed at the top level:
33+
## Operate and inspect
3634

37-
```python
38-
from conductor.ai import Runner, function_tool # drop-in for `agents.Runner`
39-
```
35+
- [Runtime reference](reference/runtime.md), [control-plane reference](reference/client.md), and [API map](reference/api.md)
36+
- [Agent-definition fields](reference/agent-definition.md) and [configuration contract](reference/agent-schema.md)
37+
38+
## What Conductor adds
39+
40+
| Capability | Conductor agent runtime |
41+
|---|---|
42+
| Process recovery | Durable workflow state resumes from completed work. |
43+
| Python tools | Tools run as independently scalable Conductor worker tasks. |
44+
| Long-running work | Human approval, schedules, and events do not occupy application threads. |
45+
| Dynamic execution | Plans become durable, inspectable sub-workflows. |
46+
| Observability | Inputs, outputs, tool calls, retries, and status share one execution record. |

0 commit comments

Comments
 (0)