# Scenario script for the deterministic `scripted` LLM provider. # A prompt containing a `marker` plays that scenario's turns; each tool # round-trip advances to the next turn. Unmatched prompts get an echo. [[scenario]] marker = "[[scenario:hello]]" [[scenario.turns]] events = [ { type = "text", text = "Hello! I'm Scout, your research analyst." }, ] [[scenario]] marker = "[[scenario:tool-time]]" [[scenario.turns]] events = [ { type = "text", text = "Let me check the clock." }, { type = "tool_use", name = "clock.now", input = {} }, ] [[scenario.turns]] events = [ { type = "text", text = "Done — I checked the current time for you." }, ] [[scenario]] marker = "[[scenario:gated-email]]" [[scenario.turns]] events = [ { type = "text", text = "I'll send that email once you approve it." }, { type = "tool_use", name = "email.send", input = { to = "ceo@example.com", subject = "Q2 numbers", body = "Revenue is up 14% quarter over quarter." } }, ] [[scenario.turns]] events = [ { type = "text", text = " The email step is finished." }, ] [[scenario]] marker = "[[scenario:save-report]]" [[scenario.turns]] events = [ { type = "tool_use", name = "files.write", input = { path = "reports/q2.md", content = "Q2 revenue is up 14%." } }, ] [[scenario.turns]] events = [ { type = "text", text = "Saved the report to your documents drive." }, ] [[scenario]] marker = "[[scenario:schedule-digest]]" [[scenario.turns]] events = [ { type = "tool_use", name = "routine.schedule", input = { name = "Morning digest", cron = "0 9 * * *", message = "Compile the morning digest." } }, ] [[scenario.turns]] events = [ { type = "text", text = "Scheduled the morning digest for 9am daily." }, ] [[scenario]] marker = "[[scenario:slack-post]]" [[scenario.turns]] events = [ { type = "text", text = "I'll post that once you approve." }, { type = "tool_use", name = "slack.post", input = { channel = "#general", text = "Q2 revenue is up 14%." } }, ] [[scenario.turns]] events = [ { type = "text", text = " Posted to #general." }, ] [[scenario]] marker = "[[scenario:mention]]" [[scenario.turns]] events = [ { type = "tool_use", name = "slack.post", input = { channel = "#general", text = "On it!" } }, ] [[scenario.turns]] events = [ { type = "text", text = " Replied in Slack." }, ]