SystemPromptBuilder(agent_template: str, memory_files_config: Optional[MemoryFilesConfig] = None, system_prompt_config: Optional[SystemPromptConfig] = None, skill_index: Optional[List[Tuple[str, str]]] = None, session_context: Optional[str] = None, previous_state: Optional[str] = None, skill_catalog_xml: Optional[str] = None, skill_few_shot: Optional[List[str]] = None, skill_few_shot_examples: Optional[List[str]] = None)
Assembles system prompts with frozen prefix for cache stability.
Source code in src/openjarvis/prompt/builder.py
| def __init__(
self,
agent_template: str,
memory_files_config: Optional[MemoryFilesConfig] = None,
system_prompt_config: Optional[SystemPromptConfig] = None,
skill_index: Optional[List[Tuple[str, str]]] = None,
session_context: Optional[str] = None,
previous_state: Optional[str] = None,
skill_catalog_xml: Optional[str] = None,
skill_few_shot: Optional[List[str]] = None,
skill_few_shot_examples: Optional[List[str]] = None,
) -> None:
self._agent_template = agent_template
self._mf_config = memory_files_config or MemoryFilesConfig()
self._sp_config = system_prompt_config or SystemPromptConfig()
self._skill_index = skill_index or []
self._session_context = session_context
self._previous_state = previous_state
self._skill_catalog_xml = skill_catalog_xml
# Allow either name; skill_few_shot_examples is the Plan 2A canonical name.
if skill_few_shot_examples is not None:
self._skill_few_shot = list(skill_few_shot_examples)
else:
self._skill_few_shot = list(skill_few_shot or [])
self._frozen_prefix: Optional[str] = None
|