|
import os
|
|
|
|
import yaml
|
|
|
|
all_microagents = {}
|
|
|
|
|
|
dirs = sorted(os.listdir(os.path.dirname(__file__)))
|
|
|
|
for dir in dirs:
|
|
base = os.path.dirname(__file__) + '/' + dir
|
|
if os.path.isfile(base):
|
|
continue
|
|
if dir.startswith('_'):
|
|
continue
|
|
promptFile = base + '/prompt.md'
|
|
agentFile = base + '/agent.yaml'
|
|
if not os.path.isfile(promptFile) or not os.path.isfile(agentFile):
|
|
raise Exception(f'Missing prompt or agent file in {base}. Please create them.')
|
|
with open(promptFile, 'r') as f:
|
|
prompt = f.read()
|
|
with open(agentFile, 'r') as f:
|
|
agent = yaml.safe_load(f)
|
|
if 'name' not in agent:
|
|
raise Exception(f'Missing name in {agentFile}')
|
|
agent['prompt'] = prompt
|
|
all_microagents[agent['name']] = agent
|
|
|