> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Runtime Capability Matrix • AI Agent SDK

> RuntimeCapabilityMatrix: Matrix of capabilities supported by a specific runtime implementation.

# RuntimeCapabilityMatrix

> Defined in the [**capabilities**](../modules/capabilities) module.

<Badge color="blue">AI Agent</Badge>

Matrix of capabilities supported by a specific runtime implementation.

Each runtime (native, plugin harness, managed service) declares its
capability set using this matrix. Agent configurations can specify
required capabilities, and validation occurs at runtime selection.

## Properties

<ResponseField name="native_hooks" type="bool">
  No description available.
</ResponseField>

<ResponseField name="tool_loop" type="bool">
  No description available.
</ResponseField>

<ResponseField name="streaming_deltas" type="bool">
  No description available.
</ResponseField>

<ResponseField name="context_compaction" type="bool">
  No description available.
</ResponseField>

<ResponseField name="mcp_tools" type="bool">
  No description available.
</ResponseField>

<ResponseField name="code_execution" type="bool">
  No description available.
</ResponseField>

<ResponseField name="multi_modal" type="bool">
  No description available.
</ResponseField>

<ResponseField name="async_execution" type="bool">
  No description available.
</ResponseField>

<ResponseField name="session_persistence" type="bool">
  No description available.
</ResponseField>

<ResponseField name="memory_management" type="bool">
  No description available.
</ResponseField>

<ResponseField name="basic_chat" type="bool">
  No description available.
</ResponseField>

<ResponseField name="simple_tools" type="bool">
  No description available.
</ResponseField>

<ResponseField name="metadata" type="Dict[str, Any]">
  No description available.
</ResponseField>

## Methods

<CardGroup cols={2}>
  <Card title="to_capability_set()" icon="function" href="../functions/RuntimeCapabilityMatrix-to_capability_set">
    Convert matrix to set of enabled capabilities.
  </Card>

  <Card title="supports()" icon="function" href="../functions/RuntimeCapabilityMatrix-supports">
    Check if this runtime supports a specific capability.
  </Card>

  <Card title="supports_all()" icon="function" href="../functions/RuntimeCapabilityMatrix-supports_all">
    Check if this runtime supports all required capabilities.
  </Card>

  <Card title="missing_capabilities()" icon="function" href="../functions/RuntimeCapabilityMatrix-missing_capabilities">
    Return set of required capabilities that this runtime doesn't support.
  </Card>
</CardGroup>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Full native runtime
    native_matrix = RuntimeCapabilityMatrix(
        native_hooks=True,
        tool_loop=True, 
        streaming_deltas=True,
        context_compaction=True,
        mcp_tools=True,
        code_execution=True,
        multi_modal=True,
        async_execution=True,
        session_persistence=True,
        memory_management=True
    )
    
    # Limited plugin harness
    plugin_matrix = RuntimeCapabilityMatrix(
        basic_chat=True,
        simple_tools=True,
        # All other capabilities default to False
    )
```

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/runtime/capabilities.py#L50">
  `praisonaiagents/runtime/capabilities.py` at line 50
</Card>
