Skip to content

Framework adapters

The sectr SDK adapts supported frameworks to the platform’s invoke contract — your agent code stays 100% framework code. One line per project:

app.add_route("/chat", openai_agents(agent, model=model))

Frameworks already have streaming and HITL machinery. The adapter maps them onto the platform contract (and back):

Framework concept Platform contract
framework’s stream events RunnerEvents journaled in order
native approval/interruption machinery ToolApprovalRequired final frame → turn suspended
resume after interruption fresh invocation, reason.kind = "approval_decision", transcript rebuilt from the journal
framework memory/summarization journaled TranscriptCompacted (see compaction)

The platform never sees framework internals — the journal stores the canonical event vocabulary only, which is what makes the session inspector, the SSE tail, and cross-framework tooling uniform. Full details per page:

  • openai_agents — complete: streaming, native interruptions, transcript-rebuild resume.
  • langgraph — in progress (built-in memory management maps to compaction).
  • claude_code — deferred; renders the canonical transcript as text.
  • openai-agents — production-ready today; the first-agent guide is built on it.
  • No framework — sectr.tools + SessionContext hand you the whole agentic loop: the raw example (examples/raw/) is the reference, and the clearest way to learn what the journal captures in every case.
  • Anything else that streams text and tool calls over an async generator — write a small adapter yourself (the contract is four rules, listed in the adapters reference).