A reference mapping the capabilities an AI agent runtime needs to the Agents API primitive that provides each one. Use it to see at a glance what the substrate already provides and where each contract lives.
Each row names a capability, the primitive(s) that provide it, the contract in the source tree, and the topic page with method-level detail. "Capability" is phrased the way a custom runtime usually thinks about it, so a team evaluating the substrate can match their own components against it.
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Multi-turn orchestration loop | WP_Agent_Conversation_Loop |
src/Runtime/class-wp-agent-conversation-loop.php |
Runtime and Tools |
| Normalized message envelope | WP_Agent_Message |
src/Runtime/class-wp-agent-message.php |
Runtime and Tools |
| Request / result value objects | WP_Agent_Conversation_Request, WP_Agent_Conversation_Result |
src/Runtime/ |
Runtime and Tools |
| Completion / continuation policy | WP_Agent_Conversation_Completion_Policy |
src/Runtime/class-wp-agent-conversation-completion-policy.php |
Runtime and Tools |
| Long-conversation trimming | WP_Agent_Conversation_Compaction, markdown-section adapter |
src/Runtime/class-wp-agent-conversation-compaction.php |
Runtime and Tools |
| Iteration / runaway limits | WP_Agent_Iteration_Budget |
src/Runtime/class-wp-agent-iteration-budget.php |
Runtime and Tools |
| Transcript persistence hook | WP_Agent_Transcript_Persister |
src/Runtime/class-wp-agent-transcript-persister.php |
Runtime and Tools |
| Lifecycle events / observability | agents_api_loop_event action + on_event sink |
src/Runtime/class-wp-agent-conversation-loop.php |
Runtime and Tools |
| Task execution target plumbing | agents/run-task, task run-control helpers, executor target filters |
src/Tasks/ |
Runtime and Tools |
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Tool-call execution / dispatch | WP_Agent_Tool_Execution_Core + WP_Agent_Tool_Executor |
src/Tools/class-wp-agent-tool-execution-core.php, class-wp-agent-tool-executor.php |
Runtime and Tools |
| Tool declarations / parameters | WP_Agent_Tool_Declaration, WP_Agent_Tool_Parameters |
src/Tools/ |
Runtime and Tools |
| Tool visibility policy | WP_Agent_Tool_Policy |
src/Tools/class-wp-agent-tool-policy.php |
Runtime and Tools |
Action gating (direct/preview/forbidden) |
WP_Agent_Action_Policy_Resolver |
src/Tools/class-wp-agent-action-policy-resolver.php |
Runtime and Tools |
| Tool-call/result pairing repair | WP_Agent_Tool_Pair_Validator |
src/Runtime/class-wp-agent-tool-pair-validator.php |
Runtime and Tools |
| Abilities API lifecycle integration | Ability lifecycle bridge | src/Abilities/class-wp-agent-ability-lifecycle-bridge.php |
Runtime and Tools |
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Session / transcript storage | WP_Agent_Conversation_Store |
src/Transcripts/class-wp-agent-conversation-store.php |
Channels, Workflows, and Operations |
| Non-user (principal) owned sessions | WP_Agent_Principal_Conversation_Store |
src/Transcripts/class-wp-agent-principal-conversation-store.php |
Channels, Workflows, and Operations |
| Single-writer transcript lock | WP_Agent_Conversation_Lock |
src/Transcripts/class-wp-agent-conversation-lock.php |
Channels, Workflows, and Operations |
| Built-in WordPress-native store | WP_Agent_Cpt_Conversation_Store (opt-in) |
src/Transcripts/class-wp-agent-cpt-conversation-store.php |
Default Stores Companion Proposal |
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Agent memory store | WP_Agent_Memory_Store + value objects |
src/Memory/ |
Auth, Consent, Context, and Memory |
| Memory / context source registry | WP_Agent_Memory_Registry |
src/Context/class-wp-agent-memory-registry.php |
Auth, Consent, Context, and Memory |
| Composable context assembly | WP_Agent_Context_Section_Registry, WP_Agent_Composable_Context |
src/Context/ |
Auth, Consent, Context, and Memory |
| Retrieved-context authority / conflict | WP_Agent_Context_Item, conflict resolver |
src/Context/ |
Auth, Consent, Context, and Memory |
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Acting-user / agent identity | WP_Agent_Execution_Principal |
src/Runtime/class-wp-agent-execution-principal.php |
Auth, Consent, Context, and Memory |
| Bearer-token authentication | WP_Agent_Token_Authenticator, WP_Agent_Token_Store |
src/Auth/class-wp-agent-token-authenticator.php |
Auth, Consent, Context, and Memory |
| Capability ceiling / authorization | WP_Agent_Capability_Ceiling, WP_Agent_Authorization_Policy |
src/Auth/class-wp-agent-capability-ceiling.php, class-wp-agent-authorization-policy.php |
Auth, Consent, Context, and Memory |
| Access grants | WP_Agent_Access_Grant, WP_Agent_Access_Store |
src/Auth/ |
Auth, Consent, Context, and Memory |
| Cross-agent (A2A) caller context | WP_Agent_Caller_Context |
src/Auth/class-wp-agent-caller-context.php |
Auth, Consent, Context, and Memory |
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Human-in-the-loop approvals | Pending action primitives (WP_Agent_Pending_Action, store, resolver, handler) |
src/Approvals/ |
Channels, Workflows, and Operations |
| Consent decisions | WP_Agent_Consent_Policy |
src/Consent/class-wp-agent-consent-policy.php |
Auth, Consent, Context, and Memory |
| Capability | Agents API primitive | Contract | Detail |
|---|---|---|---|
| Workflows (multi-step) | Workflow spec / validator / runner | src/Workflows/ |
Channels, Workflows, and Operations |
| Scheduled / recurring runs | WP_Agent_Routine + Action Scheduler bridge |
src/Routines/class-wp-agent-routine.php |
Channels, Workflows, and Operations |
| External channels / bridges | WP_Agent_Channel, bridge primitives |
src/Channels/ |
Channels, Workflows, and Operations |
| Agent registration / lookup | WP_Agent, WP_Agents_Registry |
src/Registry/class-wp-agent.php, class-wp-agents-registry.php |
Registry and Packages |
| Packaging / artifacts | WP_Agent_Package, artifact registry |
src/Packages/ |
Registry and Packages |
Each store/policy the substrate offers a default for is reachable through a filter, so a consumer plugs in its own backend without forking:
| Filter | Replaces |
|---|---|
wp_agent_conversation_store |
Transcript / session backend |
wp_agent_memory_store |
Memory backend |
wp_agent_pending_action_store |
Approval queue backend |
wp_agent_execution_targets |
Task executor target declarations |
wp_agent_task_handler |
Task executor dispatch handler |
wp_agent_task_run_status_handler |
Task run status backend |
wp_agent_task_run_cancel_handler |
Task cancellation backend |
agents_api_execution_principal |
How the current principal is resolved |
agents_api_enable_default_conversation_store |
Opt in to the built-in WordPress-native conversation store |