{"record":{"id":"db2e917aff629d34","repo":"HKUDS/nanobot","slug":"model-preset-name-r-not-found-available","errorCode":null,"errorMessage":"model_preset {name!r} not found. Available: {', '.join(presets) or '(none)'}","messagePattern":"model_preset (.+?) not found\\. Available: (.+?)","errorType":"validation","errorClass":"KeyError","httpStatus":null,"severity":"error","filePath":"nanobot/agent/model_presets.py","lineNumber":87,"sourceCode":"    presets: dict[str, ModelPresetConfig],\n    provider: LLMProvider,\n    loader: PresetSnapshotLoader | None,\n) -> ProviderSnapshot:\n    if loader is not None:\n        return replace(loader(name), model_preset=name)\n    return build_static_preset_snapshot(provider, name, presets[name])\n\n\ndef normalize_preset_name(name: str | None, presets: dict[str, ModelPresetConfig]) -> str:\n    if not isinstance(name, str) or not name.strip():\n        raise ValueError(\"model_preset must be a non-empty string\")\n    name = name.strip()\n    if name in presets:\n        return name\n    matches = [candidate for candidate in presets if candidate.casefold() == name.casefold()]\n    if len(matches) == 1:\n        return matches[0]\n    raise KeyError(f\"model_preset {name!r} not found. Available: {', '.join(presets) or '(none)'}\")\n","sourceCodeStart":69,"sourceCodeEnd":88,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/agent/model_presets.py#L69-L88","documentation":"Error \"model_preset {name!r} not found. Available: {', '.join(presets) or '(none)'}\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/agent/model_presets.py:87 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"42f37dc4c0e409eac7818a82d165c5f2757bc075","analyzedAt":"2026-08-26T00:18:52.276Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}