You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
adapters: a second deep adapter, chosen by Phase 1 demand #223
Add one more deep adapter, chosen by what users actually asked for during Phase
1 — likely OpenAI Agents SDK or LlamaIndex. Same bar as LangGraph: conformance,
demo, tutorial.
Motivation
The 1.8 cut was explicitly "the other seven come back by demand, one at a
time". This issue is where that demand gets converted into work, and it should
not be started before there is evidence of it.
Acceptance criteria
The choice is justified in a comment on this issue citing Phase 1 issues,
downloads or user requests — not a guess.
Correlation IDs propagate, or an asserted exemption explains why not.
Full conformance run, worked demo, and tutorial page.
The README support table moves it into the conformance-tested tier.
Cross-surface impact
area:adapters + area:docs: support table and per-framework page move
together.
Second deep adapter: OpenAI Agents SDK (openai_agents)
Choice: promote openai_agents to the conformance-tested tier, next to LangGraph.
Demand evidence
Direct user requests (maintainer report). Users are asking us directly for OpenAI Agents SDK support. This is the signal Phase 1 said would pick the second deep adapter, and none of the other six shallow adapters has a comparable ask.
Public signals on this repo. I searched issues and discussions for openai-agents, openai_agents and "OpenAI Agents". There is no user-filed feature request; the matches are our own adapter, verification and bot release-watch issues. The one outside contributor touching it is @msaleme, who picked up the openai_agents verification slice in verify(openai_agents): installed constructor, MCP binding and descriptor APIs (§§8–10) #638. I'm not counting that as a feature request.
Adoption data. The metrics archive (donkey-development-kit-metrics) records package-level PyPI downloads only (484 without-mirror downloads over 19 days to 2026-10-13). It has no per-extra or per-framework split, so it can't tell [openai-agents] installs apart from any other extra. Docs page views per framework page are on the authenticated dashboard and weren't pulled for this comment.
Why it is cheap to deepen
The adapter already builds its own AsyncOpenAI on the SDK's shared transport (full injection), so every governed header, hook and correlation id is on the wire with no framework hook needed.
Runner.run surfaces added to the deep-only scenarios: handler un-refuse, custom policy, kill switch.
A blocking openai-agents-demo CI job, mirroring langgraph-demo: a timed simulator-only demo, then --donkey-conformance against its build(). Unlike LangGraph there is no separate mypy-against-the-real-package step: agents.* stays in mypy's follow_imports = "skip" list, so the example is type-checked with the framework as Any.
Correlation IDs propagate with no exemption: a Runner.run-level test shows the run id reaching dynamic instructions, a function_tool, and every request's header.
The nightly matrix leg.
A tutorial page (Support triage with the OpenAI Agents SDK).
One asserted exemption:approval_round_trip. By default the Agents SDK turns an exception raised inside a function_tool into a tool-result string for the model, so ApprovalRequired never reaches user code. Mapping DDK approvals onto the SDK's own needs_approval / interruptions is #213. The exemption is recorded in KNOWN_LIMITATIONS and pinned by a test that fails once that changes.
Activity
docs(skills): reflect one-deep-seven-shallow adapter roster in afdk-c…
tbolis-at-mulesoft commentedon Oct 16, 2026
Second deep adapter: OpenAI Agents SDK (
openai_agents)Choice: promote
openai_agentsto the conformance-tested tier, next to LangGraph.Demand evidence
openai-agents,openai_agentsand "OpenAI Agents". There is no user-filed feature request; the matches are our own adapter, verification and bot release-watch issues. The one outside contributor touching it is @msaleme, who picked up the openai_agents verification slice in verify(openai_agents): installed constructor, MCP binding and descriptor APIs (§§8–10) #638. I'm not counting that as a feature request.donkey-development-kit-metrics) records package-level PyPI downloads only (484 without-mirror downloads over 19 days to 2026-10-13). It has no per-extra or per-framework split, so it can't tell[openai-agents]installs apart from any other extra. Docs page views per framework page are on the authenticated dashboard and weren't pulled for this comment.Why it is cheap to deepen
AsyncOpenAIon the SDK's shared transport (full injection), so every governed header, hook and correlation id is on the wire with no framework hook needed.Runner.run(test(refusals): typed-refusal bridge conformance for openai-agents, LlamaIndex, ADK gemini() #955).What "deep" means in the PR
conformance_tested=Trueon the roster.Runner.runsurfaces added to the deep-only scenarios: handler un-refuse, custom policy, kill switch.openai-agents-demoCI job, mirroringlanggraph-demo: a timed simulator-only demo, then--donkey-conformanceagainst itsbuild(). Unlike LangGraph there is no separate mypy-against-the-real-package step:agents.*stays in mypy'sfollow_imports = "skip"list, so the example is type-checked with the framework asAny.Runner.run-level test shows the run id reaching dynamic instructions, afunction_tool, and every request's header.matrixleg.One asserted exemption:
approval_round_trip. By default the Agents SDK turns an exception raised inside afunction_toolinto a tool-result string for the model, soApprovalRequirednever reaches user code. Mapping DDK approvals onto the SDK's ownneeds_approval/ interruptions is #213. The exemption is recorded inKNOWN_LIMITATIONSand pinned by a test that fails once that changes.docs(examples): re-capture demo 08's output for two deep adapters (#223)