{"record":{"id":"e0253b2bdf7c62a6","repo":"chroma-core/chroma","slug":"op-requires-a-dict-got-type-agg-data-name","errorCode":null,"errorMessage":"{op} requires a dict, got {type(agg_data).__name__}","messagePattern":"(.+?) requires a dict, got (.+?)","errorType":"validation","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"chromadb/execution/expression/operator.py","lineNumber":1357,"sourceCode":"def _parse_k_aggregate(\n    op: str, data: Dict[str, Any]\n) -> tuple[List[Union[Key, str]], int]:\n    \"\"\"Parse common fields for MinK/MaxK from dict.\n\n    Args:\n        op: The operator name (e.g., \"$min_k\" or \"$max_k\")\n        data: The dict containing the operator\n\n    Returns:\n        Tuple of (keys, k) where keys is List[Union[Key, str]] and k is int\n\n    Raises:\n        TypeError: If data types are invalid\n        ValueError: If required fields are missing or invalid\n    \"\"\"\n    agg_data = data[op]\n    if not isinstance(agg_data, dict):\n        raise TypeError(f\"{op} requires a dict, got {type(agg_data).__name__}\")\n    if \"keys\" not in agg_data:\n        raise ValueError(f\"{op} requires 'keys' field\")\n    if \"k\" not in agg_data:\n        raise ValueError(f\"{op} requires 'k' field\")\n\n    keys = agg_data[\"keys\"]\n    if not isinstance(keys, (list, tuple)):\n        raise TypeError(f\"{op} keys must be a list, got {type(keys).__name__}\")\n    if not keys:\n        raise ValueError(f\"{op} keys cannot be empty\")\n\n    k = agg_data[\"k\"]\n    if not isinstance(k, int):\n        raise TypeError(f\"{op} k must be an integer, got {type(k).__name__}\")\n    if k <= 0:\n        raise ValueError(f\"{op} k must be positive, got {k}\")\n\n    return _strings_to_keys(keys), k","sourceCodeStart":1339,"sourceCodeEnd":1375,"githubUrl":"https://github.com/chroma-core/chroma/blob/aecdd12c8a891610db8653630b066b32ceb678b5/chromadb/execution/expression/operator.py#L1339-L1375","documentation":"Error \"{op} requires a dict, got {type(agg_data).__name__}\" thrown in chroma-core/chroma.","triggerScenarios":"Thrown at chromadb/execution/expression/operator.py:1357 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":"aecdd12c8a891610db8653630b066b32ceb678b5","analyzedAt":"2026-08-16T21:53:27.228Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}