INNER CODE UNIT · Go
parseAgentPermissions
k1LoW/runn · agent.go:46
func parseAgentPermissions(perms []string) (*agentParsedPermissions, error) {
p := &agentParsedPermissions{}
for _, perm := range perms {
perm = strings.TrimSpace(perm)
if perm == "" {
continue
}
switch {
case strings.HasPrefix(perm, agentPermissionsAllowPrefix):
toolName := strings.TrimPrefix(perm, agentPermissionsAllowPrefix)
if toolName == "" {
return nil, fmt.Errorf("invalid permission rule %q: tool name is required", perm)
}
p.rules = append(p.rules, agentPermissionRule{
prefix: "allow",
toolName: toolName,
})
case strings.HasPrefix(perm, agentPermissionsDenyPrefix):