HKUDS/DeepTutor · error · ValueError

Grants must not contain secret/path field: {trail}.{key}

Error message

Grants must not contain secret/path field: {trail}.{key}

What it means

Error "Grants must not contain secret/path field: {trail}.{key}" thrown in HKUDS/DeepTutor.

Source

Thrown at deeptutor/multi_user/grants.py:128

    path = grant_path(user_id)
    path.parent.mkdir(parents=True, exist_ok=True)
    path.write_text(json.dumps(grant, indent=2, ensure_ascii=False), encoding="utf-8")
    return grant


def validate_grant(grant: dict[str, Any]) -> None:
    """Reject accidental secret/path material in grants.

    Grants carry logical ids only. Runtime resolution happens server-side.
    """
    forbidden = {"api_key", "secret", "password", "token", "path", "base_url"}

    def walk(value: Any, trail: str = "grant") -> None:
        if isinstance(value, dict):
            for key, child in value.items():
                lowered = str(key).lower()
                if lowered in forbidden or lowered.endswith("_key"):
                    raise ValueError(f"Grants must not contain secret/path field: {trail}.{key}")
                walk(child, f"{trail}.{key}")
        elif isinstance(value, list):
            for index, child in enumerate(value):
                walk(child, f"{trail}[{index}]")

    walk(grant)


def public_grant(user_id: str) -> dict[str, Any]:
    return deepcopy(load_grant(user_id))

View on GitHub (pinned to 3e82f13042)

When it happens

Trigger: Thrown at deeptutor/multi_user/grants.py:128 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27). Data as JSON: /api/errors/3ccf3d99325b9b62. Report an issue: GitHub.