Skip to content

strands.experimental.steering.context_providers.ledger_provider

Ledger context provider for comprehensive agent activity tracking.

Tracks complete agent activity ledger including tool calls, conversation history, and timing information. This comprehensive audit trail enables steering handlers to make informed guidance decisions based on agent behavior patterns and history.

Data captured:

  • Tool call history with inputs, outputs, timing, success/failure
  • Conversation messages and agent responses
  • Session metadata and timing information
  • Error patterns and recovery attempts

Usage: Use as context provider functions or mix into steering handlers.

class LedgerBeforeToolCall(SteeringContextCallback[BeforeToolCallEvent])

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:28

Context provider for ledger tracking before tool calls.

def __init__() -> None

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:31

Initialize the ledger provider.

def __call__(event: BeforeToolCallEvent, steering_context: SteeringContext,
**kwargs: Any) -> None

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:35

Update ledger before tool call.

class LedgerAfterToolCall(SteeringContextCallback[AfterToolCallEvent])

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:58

Context provider for ledger tracking after tool calls.

def __call__(event: AfterToolCallEvent, steering_context: SteeringContext,
**kwargs: Any) -> None

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:61

Update ledger after tool call.

class LedgerProvider(SteeringContextProvider)

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:83

Combined ledger context provider for both before and after tool calls.

def context_providers(**kwargs: Any) -> list[SteeringContextCallback]

Defined in: src/strands/experimental/steering/context_providers/ledger_provider.py:86

Return ledger context providers with shared state.