| 123456789101112131415161718192021222324252627 |
- import os
- import yaml
- all_microagents = {}
- # Get the list of directories and sort them to preserve determinism
- 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
|