API Reference
Context Types
API reference for ContextState, CompileSource, all 10 ContextMutation types, and compiled outputs
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
API reference for ContextState, CompileSource, all 10 ContextMutation types, and compiled outputs
from SimpleLLMFunc.base.types import ContextState
@dataclass
class ContextState:
messages: NormalizedMessageList
data_from_selfref: Optional[DataFromSelfRef] = None
pending_mutations: List[ContextMutation] = field(default_factory=list)
| Field | Type | Description |
|---|---|---|
messages | NormalizedMessageList | Current conversation transcript |
data_from_selfref | DataFromSelfRef | None | Durable self-reference state |
pending_mutations | List[ContextMutation] | Changes waiting for next compile boundary |
from SimpleLLMFunc.base.types import CompileSource
@dataclass(frozen=True)
class CompileSource:
data_from_agent_config: DataFromAgentConfig
data_from_selfref: Optional[DataFromSelfRef]
input_messages: NormalizedMessageList
from SimpleLLMFunc.base.types import DataFromAgentConfig
@dataclass(frozen=True)
class DataFromAgentConfig:
base_system_prompt: str
template_params: Optional[Dict[str, Any]] = None
tool_prompt_specs: List[Dict[str, Any]] = field(default_factory=list)
include_must_principles: bool = False
| Field | Description |
|---|---|
base_system_prompt | Docstring content (may contain {placeholders}) |
template_params | Values for placeholder substitution |
tool_prompt_specs | Tool best-practice specs for system prompt injection |
include_must_principles | Whether to append structured-call rules |
from SimpleLLMFunc.base.types import DataFromSelfRef
@dataclass(frozen=True)
class DataFromSelfRef:
base_system_prompt: str
experiences: List[Dict[str, str]] = field(default_factory=list)
summary: Optional[Dict[str, Any]] = None
summary_message: Optional[Dict[str, Any]] = None
working_messages: NormalizedMessageList = field(default_factory=list)
| Field | Description |
|---|---|
base_system_prompt | System prompt with selfref markers |
experiences | [{id: str, text: str}, ...] — durable remembered facts |
summary | Compaction metadata |
summary_message | The summary as a displayable message |
working_messages | Post-compaction working transcript |
from SimpleLLMFunc.base.types import ContextMutation
ContextMutation = Union[
AssistantMessageMutation,
ToolResultMutation,
MultimodalToolResultMutation,
UserMessageMutation,
ContextReplaceMutation,
ContextSummaryMutation,
ExperienceRememberMutation,
ExperienceForgetMutation,
AssistantTruncatedMutation,
ToolCancelledMutation,
]
@dataclass
class AssistantMessageMutation:
role: Literal["assistant"] = "assistant"
content: Optional[str] = None
tool_calls: List[Dict[str, Any]] = field(default_factory=list)
reasoning_details: List[Dict[str, Any]] = field(default_factory=list)
@dataclass
class ToolResultMutation:
tool_call_id: str
content: str
role: Literal["tool"] = "tool"
@dataclass
class MultimodalToolResultMutation:
tool_call_id: str
tool_name: str
arguments: str
user_messages: List[Dict[str, Any]]
@dataclass
class UserMessageMutation:
message: Dict[str, Any]
@dataclass
class ContextReplaceMutation:
messages: List[Dict[str, Any]]
@dataclass
class ContextSummaryMutation:
summary_message: Dict[str, Any]
remember: List[Dict[str, str]] = field(default_factory=list)
@dataclass
class ExperienceRememberMutation:
text: str
@dataclass
class ExperienceForgetMutation:
experience_id: str
@dataclass
class AssistantTruncatedMutation:
partial_content: str
abort_reason: str = ""
@dataclass
class ToolCancelledMutation:
tool_call_id: str
tool_name: str
abort_reason: str = ""
from SimpleLLMFunc.base.types import ReducedTurnContext
@dataclass
class ReducedTurnContext:
transcript: NormalizedMessageList
selfref_snapshot: Optional[DataFromSelfRef] = None
from SimpleLLMFunc.base.types import CompiledTurnContext
@dataclass
class CompiledTurnContext:
transcript: NormalizedMessageList
system_prompt: Optional[str]
llm_messages: NormalizedMessageList
selfref_snapshot: Optional[DataFromSelfRef] = None
| Field | Description |
|---|---|
transcript | Messages after system prompt resolution |
system_prompt | The resolved system prompt text |
llm_messages | Final messages for the provider (with tool specs injected) |
selfref_snapshot | Carried-forward selfref state |
from SimpleLLMFunc.base.types import CompiledContext
@dataclass
class CompiledContext:
messages: NormalizedMessageList
data_from_selfref: Optional[DataFromSelfRef] = None
from SimpleLLMFunc.base.compile_pipeline import compile_invocation_turn
def compile_invocation_turn(
spec: InvocationSpec,
transcript: NormalizedMessageList,
pending_mutations: Optional[List[ContextMutation]] = None,
selfref_snapshot: Optional[DataFromSelfRef] = None,
) -> CompiledTurnContext:
from SimpleLLMFunc.base.compile_pipeline import reduce_turn_context
def reduce_turn_context(
transcript: NormalizedMessageList,
pending_mutations: List[ContextMutation],
selfref_snapshot: Optional[DataFromSelfRef] = None,
) -> ReducedTurnContext:
from SimpleLLMFunc.base.compile_pipeline import convert_to_llm_request
def convert_to_llm_request(
reduced: ReducedTurnContext,
prompt_contract: PromptContract,
) -> CompiledTurnContext:
Was this page helpful?