Symbiont DSL Development
Help the user write and debug Symbiont agent definitions.
DSL Structure
metadata {
version = "1.0.0"
author = "developer"
description = "Agent purpose"
}
agent name(input: Type) -> ReturnType {
capabilities = ["list", "of", "caps"]
policy policy_name {
allow: action(resource) if condition
deny: action(resource) if condition
audit: all_operations
}
schedule cron_task {
cron = "0 9 * * MON-FRI"
agent = "name"
}
webhook incoming_hook {
path = "/hooks/trigger"
method = "POST"
}
channel slack_notify {
type = "slack"
webhook_url = env("SLACK_WEBHOOK")
}
with memory = "persistent", requires = "approval" {
// agent logic
}
}
Workflow
- Use
symbi__list_agentsto see what agents exist - Use
symbi__get_agent_dslto read an agent's definition - Use
symbi__parse_dslto validate syntax after edits - Help the user iterate on their agent definitions