{"record":{"id":"c891055f46a6523a","repo":"HKUDS/nanobot","slug":"unix-socket-path-must-be-an-absolute-path","errorCode":null,"errorMessage":"unix_socket_path must be an absolute path","messagePattern":"unix_socket_path must be an absolute path","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"nanobot/channels/websocket/runtime.py","lineNumber":233,"sourceCode":"    # (base64 overhead) + envelope framing stays under 36 MB; the 40 MB ceiling\n    # leaves a small margin for sender slop without opening a DoS avenue.\n    max_message_bytes: int = Field(default=37_748_736, ge=1024, le=41_943_040)\n    ping_interval_s: float = Field(default=20.0, ge=5.0, le=300.0)\n    ping_timeout_s: float = Field(default=20.0, ge=5.0, le=300.0)\n    ssl_certfile: str = \"\"\n    ssl_keyfile: str = \"\"\n\n    @field_validator(\"unix_socket_path\")\n    @classmethod\n    def unix_socket_path_format(cls, value: str) -> str:\n        value = value.strip()\n        if not value:\n            return \"\"\n        if \"\\x00\" in value:\n            raise ValueError(\"unix_socket_path must not contain NUL bytes\")\n        path = Path(value).expanduser()\n        if not path.is_absolute():\n            raise ValueError(\"unix_socket_path must be an absolute path\")\n        return str(path)\n\n    @field_validator(\"path\")\n    @classmethod\n    def path_must_start_with_slash(cls, value: str) -> str:\n        if not value.startswith(\"/\"):\n            raise ValueError('path must start with \"/\"')\n        return _normalize_config_path(value)\n\n    @field_validator(\"token_issue_path\")\n    @classmethod\n    def token_issue_path_format(cls, value: str) -> str:\n        value = value.strip()\n        if not value:\n            return \"\"\n        if not value.startswith(\"/\"):\n            raise ValueError('token_issue_path must start with \"/\"')\n        return _normalize_config_path(value)","sourceCodeStart":215,"sourceCodeEnd":251,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/channels/websocket/runtime.py#L215-L251","documentation":"Error \"unix_socket_path must be an absolute path\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/channels/websocket/runtime.py:233 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"}