mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-09-11 12:17:45 +02:00
28 lines
826 B
Python
28 lines
826 B
Python
"""Pure prompt-building helpers.
|
|
|
|
All functions are stateless — they accept data as parameters and return
|
|
strings. No imports from ``apps/`` or any external stores.
|
|
"""
|
|
|
|
from typing import Optional, List
|
|
from typeguard import typechecked
|
|
|
|
@typechecked
|
|
def compose_system_prompt(
|
|
global_default: Optional[str] = None,
|
|
mode_prompt: Optional[str] = None,
|
|
session_prompt: Optional[str] = None,
|
|
browser_context: Optional[str] = None,
|
|
) -> Optional[str]:
|
|
"""Layer multiple prompt sources into one system prompt.
|
|
|
|
Order matters — earlier layers provide base context, later layers
|
|
override or augment.
|
|
"""
|
|
parts: List[str] = [p for p in (
|
|
global_default,
|
|
mode_prompt,
|
|
session_prompt,
|
|
browser_context,
|
|
) if p]
|
|
return "\n\n".join(parts) if parts else None |