(kind, name string)
| 85 | } |
| 86 | |
| 87 | func validateToolName(kind, name string) { |
| 88 | if name == "" { |
| 89 | panic(fmt.Sprintf("invalid %s tool name: must not be empty", kind)) |
| 90 | } |
| 91 | if name == "*" { |
| 92 | return |
| 93 | } |
| 94 | if !toolNameRegex.MatchString(name) { |
| 95 | panic(fmt.Sprintf( |
| 96 | "invalid %s tool name %q: tool names must match /^[a-zA-Z0-9_-]+$/ or be the wildcard %q", |
| 97 | kind, name, "*")) |
| 98 | } |
| 99 | } |
| 100 | |
| 101 | // BuiltInToolsIsolated lists built-in tools that operate only within the |
| 102 | // bounds of a single session — no host filesystem access outside the session, |
no outgoing calls
no test coverage detected
searching dependent graphs…