Skip to content

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 17 May 19:05
· 68 commits to develop since this release

Highlights

This release brings two new framework adapters and a new public SDK helper. The Claude Agent SDK adapter and LangGraph adapter both let you wrap third-party agent runtimes inside a Kitaru checkpoint, so you get durable, replayable executions across more of the agent ecosystem. A new kitaru.current_execution_id() helper makes it easy to read the active execution ID from inside a flow or checkpoint.

Added

  • Claude Agent SDK adapter (kitaru.adapters.claude_agent_sdk) — wraps a Claude SDK query in one Kitaru checkpoint and captures the session ID, final result, usage/cost, message transcript when available, and a redacted run manifest. Includes a guide, runnable integration example, and smoke-test coverage. Claude-internal Bash, MCP, custom tool, and workspace side effects remain inside Claude itself and are not granular replay boundaries.
  • LangGraph adapter (kitaru.adapters.langgraph) — durable execution for LangGraph agents. Kitaru owns graph-call or middleware-wrapped call checkpoints, LangGraph keeps ownership of thread/checkpointer semantics, and Deep Agents filesystem/sandbox behavior remains pass-through. Ships with a /guides/langgraph-adapter guide, a examples/integrations/langgraph_agent/ example, and deterministic smoke-test coverage with no API keys required.
  • LangGraph checkpoint_strategy="calls" mode via KitaruLangGraphMiddleware — creates true sync LangChain model/tool call checkpoints, while the default coarse graph_call mode remains the simpler one-checkpoint-per-invocation option. Callbacks/event streams stay trace-only, and async calls mode is metadata-only by design.
  • kitaru.current_execution_id() — public helper to read the active Kitaru execution ID inside a running flow or checkpoint.

Fixed

  • LangGraph adapter event logs and run summaries are now stored as real role-first Kitaru context artifacts inside checkpoint scope, with best-effort event persistence by default and hardened config/context redaction for unusual values.
  • PydanticAI granular checkpoints now store model messages and tool arguments as structural checkpoint inputs and use the returned checkpoint output as the canonical response/result artifact, avoiding the duplicate manual artifacts that earlier runs created.
  • OpenAI Agents checkpoint_strategy="calls" now stores model inputs and function-tool arguments as structural checkpoint inputs, and adapter-generated artifact names put the human-readable role first across PydanticAI, OpenAI Agents, and Claude Agent SDK captures.

Full Changelog: v0.11.0...v0.12.0