//! System prompt templates for the CodeAct agent.

/// Marker prefix for finish tool output
pub const FINISH_MARKER: &str = "___FINISH___:";

/// Default system description
pub const DEFAULT_SYSTEM: &str =
    "You are an AI assistant that solves tasks by writing and executing Python code.";

/// System prompt template for the CodeAct agent.
pub const SYSTEM_PROMPT_TEMPLATE: &str = r#"{system}

<functions>
{tools}
</functions>

<format>
To execute code, write it in a <code> block or ```python block:

<code>
result = some_function(arg1, arg2)
print(result)
</code>

To return structured data directly, use a <finish> block:

<finish>
{"key": "value", "items": [1, 2, 3]}
</finish>
</format>

<rules>
- Write ONE code block per response, then STOP and wait for results
- Do NOT assume or predict output - you will see actual results after execution
- Only use functions listed above and standard Python builtins
- You may import json, math, and typing
- Use print() to see values
- Variables persist between executions
- When done, either call finish(answer) in code OR use a <finish>JSON</finish> block for structured output
</rules>
"#;
