pub static KNOWN_BUILTIN_TOOLS: &[&str] = &[
"sleep",
"log",
"emit",
"assert",
"prompt",
"run",
"complete",
"read",
"write",
"edit",
"glob",
"grep",
"jq",
"tree_data",
"inject",
"map",
"filter",
"group_by",
"enrich",
"json_merge",
"set_diff",
"zip",
"chunk",
"token_count",
"json_verify",
"yaml_validate",
"locale_lookup",
"aggregate",
"json_flatten",
"json_unflatten",
"dag_info",
"task_status",
"threads",
"orchestrate",
"cost",
"records",
"import",
"decode",
"dimensions",
"thumbhash",
"dominant_color",
"thumbnail",
"convert",
"strip",
"metadata",
"optimize",
"svg_render",
"chart",
"phash",
"compare",
"pdf_extract",
"provenance",
"verify",
"qr_validate",
"quality",
"html_to_md",
"css_select",
"extract_metadata",
"extract_links",
"readability",
"pipeline",
];
pub fn is_known_builtin(name: &str) -> bool {
KNOWN_BUILTIN_TOOLS.contains(&name)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_known_builtins_count() {
assert_eq!(KNOWN_BUILTIN_TOOLS.len(), 61);
}
#[test]
fn test_is_known_builtin() {
assert!(is_known_builtin("sleep"));
assert!(is_known_builtin("jq"));
assert!(is_known_builtin("pipeline"));
assert!(!is_known_builtin("typo_tool"));
assert!(!is_known_builtin("json_query")); }
}