{"record":{"id":"6e94905ee7e8528f","repo":"sigoden/aichat","slug":"invalid-website-path","errorCode":null,"errorMessage":"Invalid website '{path}'","messagePattern":"Invalid website '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/config/input.rs","lineNumber":416,"sourceCode":"    loaders: &HashMap<String, String>,\n    paths: Vec<String>,\n) -> Result<ResolvePathsOutput> {\n    let mut raw_paths = IndexSet::new();\n    let mut local_paths = IndexSet::new();\n    let mut remote_urls = IndexSet::new();\n    let mut external_cmds = IndexSet::new();\n    let mut protocol_paths = IndexSet::new();\n    let mut with_last_reply = false;\n    for path in paths {\n        if path == \"%%\" {\n            with_last_reply = true;\n            raw_paths.insert(path);\n        } else if path.starts_with('`') && path.len() > 2 && path.ends_with('`') {\n            external_cmds.insert(path[1..path.len() - 1].to_string());\n            raw_paths.insert(path);\n        } else if is_url(&path) {\n            if path.strip_suffix(\"**\").is_some() {\n                bail!(\"Invalid website '{path}'\");\n            }\n            remote_urls.insert(path.clone());\n            raw_paths.insert(path);\n        } else if is_loader_protocol(loaders, &path) {\n            protocol_paths.insert(path.clone());\n            raw_paths.insert(path);\n        } else {\n            let resolved_path = resolve_home_dir(&path);\n            let absolute_path = to_absolute_path(&resolved_path)\n                .with_context(|| format!(\"Invalid path '{path}'\"))?;\n            local_paths.insert(resolved_path);\n            raw_paths.insert(absolute_path);\n        }\n    }\n    Ok((\n        raw_paths.into_iter().collect(),\n        local_paths.into_iter().collect(),\n        remote_urls.into_iter().collect(),","sourceCodeStart":398,"sourceCodeEnd":434,"githubUrl":"https://github.com/sigoden/aichat/blob/82976d349ad97ac9aae0655ad631dace5e2a6385/src/config/input.rs#L398-L434","documentation":"Thrown by resolve_paths when a user-supplied path argument cannot be classified as a local file, directory, remote URL, external command (`...`), protocol path, or known special token like %%. It is a generic validation guard: the input at fault is the unrecognized 'path' string in the paths list passed from from_files.","triggerScenarios":"Thrown at src/config/input.rs:416 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the path for typos or unsupported protocol prefixes","If it is a remote resource, ensure it uses a supported scheme such as http:// or https://","If it is meant to run a command, wrap it in backticks (e.g. `ls -la`)","Verify the file or directory exists locally if no scheme was intended"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"82976d349ad97ac9aae0655ad631dace5e2a6385","analyzedAt":"2026-09-09T18:33:06.139Z","contentChangedAt":"2026-09-09T18:33:06.139Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}