# Restaurant Simulation - Multi-Agent Example
#
# This simulates a restaurant with multiple agents:
# - counter: Takes orders from customers (root agent)
# - head_chef: Coordinates the kitchen
# - line_cook: Prepares individual dishes
# - supplier: Manages pantry inventory
#
# Run with: eunice "I'd like to order a burger and fries please"
#
# Tool patterns use wildcards: "filesystem_*" matches all filesystem tools
# Use `eunice --list-tools` to see available tools and agent access

[mcpServers.filesystem]
command = "mcpz"
args = ["server", "filesystem"]

[mcpServers.shell]
command = "mcpz"
args = ["server", "shell"]

# Counter - the customer-facing agent (root)
# Can only read files (orders, menu)
[agents.root]
prompt = "agents/counter.md"
tools = ["filesystem_read_file", "filesystem_list_directory"]
can_invoke = ["head_chef"]

# Head Chef - coordinates the kitchen
# Can read and write to coordinate orders
[agents.head_chef]
prompt = "agents/head_chef.md"
tools = ["filesystem_read_file", "filesystem_write_file", "filesystem_edit_file"]
can_invoke = ["line_cook", "supplier"]

# Line Cook - prepares dishes
# Full filesystem access + shell for timing
[agents.line_cook]
prompt = "agents/line_cook.md"
tools = ["filesystem_*", "shell_*"]
can_invoke = []

# Supplier - manages pantry inventory
# Can read and write pantry files
[agents.supplier]
prompt = "agents/supplier.md"
tools = ["filesystem_read_file", "filesystem_write_file", "filesystem_edit_file"]
can_invoke = []
