text paste
public text v1 · immutable2026-07-06 14:06:34 [E] [plugin] failed to load plugin 'entari_plugin_server' caused by TypeError("'prefix' is a field but has no type annotation")╭───────────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────────╮│ C:\Proj\Chtholly\.venv\Lib\site-packages\arclet\entari\plugin\module.py:308 in exec_module ││ ││ 305 │ │ if not plugin.is_static: ││ 306 │ │ │ token1 = scope_ctx.set(plugin._scope) ││ 307 │ │ try: ││ ❱ 308 │ │ │ super().exec_module(module) ││ 309 │ │ except RegisterNotInPluginError as e: ││ 310 │ │ │ deleted = [] ││ 311 │ │ │ for frame in reversed(inspect.trace()): ││ ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ config = {'direct_adapter': True, 'host': 'localhost', 'port': 8120, 'path': 'satori', 'token': 'chtholly4221', 'adapters': [{'$path': │ ││ │ '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'}]} │ ││ │ e = TypeError("'prefix' is a field but has no type annotation") │ ││ │ is_sub = False │ ││ │ module = <module 'entari_plugin_server' from 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py'> │ ││ │ plugin = Plugin( │ ││ │ │ id='entari_plugin_server', │ ││ │ │ module=<module 'entari_plugin_server' from 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py'>, │ ││ │ │ subplugins=set(), │ ││ │ │ config={'direct_adapter': True, 'host': 'localhost', 'port': 8120, 'path': 'satori', 'token': 'chtholly4221', 'adapters': │ ││ │ [{'$path': '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'}]}, │ ││ │ │ is_static=True, │ ││ │ │ path='entari_plugin_server', │ ││ │ │ uid=None, │ ││ │ │ _metadata=PluginMetadata( │ ││ │ │ │ name='server', │ ││ │ │ │ role=<PluginRole.LIBRARY: 'library'>, │ ││ │ │ │ author=[{'name': 'RF-Tar-Railt', 'email': 'rf_tar_railt@qq.com'}], │ ││ │ │ │ version='0.7.1', │ ││ │ │ │ license=None, │ ││ │ │ │ urls={'homepage': 'https://github.com/ArcletProject/entari-plugin-server'}, │ ││ │ │ │ description='为 Entari 提供 Satori 服务器支持,基于此为 Entari 提供 ASGI 服务、适配器连接等功能', │ ││ │ │ │ icon=None, │ ││ │ │ │ readme='# entari-plugin-server\n为 Entari 提供 Satori 服务器支持,基于此为 Entari 提供 ASGI 服务、适配器连接等功能\n'+4653, │ ││ │ │ │ classifier=[], │ ││ │ │ │ requirements=[], │ ││ │ │ │ depend_services=[], │ ││ │ │ │ config=<class 'entari_plugin_server.config.Config'> │ ││ │ │ ), │ ││ │ │ _is_disposed=False, │ ││ │ │ _services={}, │ ││ │ │ _config_key='server', │ ││ │ │ _extra={}, │ ││ │ │ _apply=None │ ││ │ ) │ ││ │ self = <arclet.entari.plugin.module.PluginLoader object at 0x0000013244B95E10> │ ││ │ token = <Token var=<ContextVar name='current_plugin' at 0x0000013237BDDBC0> at 0x000001324326E900> │ ││ │ token1 = <Token var=<ContextVar name='scope_ctx' at 0x0000013234BF4A90> at 0x000001324326C9C0> │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ in exec_module:759 ││ ╭──────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ code = <code object <module> at 0x00000132423A2F80, file "C:\Proj\Chtholly\.venv\Lib\site-packages\entari_plugin_server\__init__.py", line 1> │ ││ │ module = <module 'entari_plugin_server' from 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py'> │ ││ │ self = <arclet.entari.plugin.module.PluginLoader object at 0x0000013244B95E10> │ ││ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ in _call_with_frames_removed:491 ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ args = ( │ ││ │ │ <code object <module> at 0x00000132423A2F80, file "C:\Proj\Chtholly\.venv\Lib\site-packages\entari_plugin_server\__init__.py", line │ ││ │ 1>, │ ││ │ │ { │ ││ │ │ │ '__name__': 'entari_plugin_server', │ ││ │ │ │ '__doc__': None, │ ││ │ │ │ '__package__': 'entari_plugin_server', │ ││ │ │ │ '__loader__': <arclet.entari.plugin.module.PluginLoader object at 0x0000013244B95E10>, │ ││ │ │ │ '__spec__': ModuleSpec(name='entari_plugin_server', loader=<arclet.entari.plugin.module.PluginLoader object at │ ││ │ 0x0000013244B95E10>, origin='C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py', │ ││ │ submodule_search_locations=['C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server']), │ ││ │ │ │ '__path__': ['C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server'], │ ││ │ │ │ '__file__': 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py', │ ││ │ │ │ '__cached__': 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__pycache__\\__init'+18, │ ││ │ │ │ '__plugin__': Plugin( │ ││ │ │ │ │ id='entari_plugin_server', │ ││ │ │ │ │ module=<module 'entari_plugin_server' from │ ││ │ 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py'>, │ ││ │ │ │ │ subplugins=set(), │ ││ │ │ │ │ config={'direct_adapter': True, 'host': 'localhost', 'port': 8120, 'path': 'satori', 'token': 'chtholly4221', 'adapters': │ ││ │ [{'$path': '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'}]}, │ ││ │ │ │ │ is_static=True, │ ││ │ │ │ │ path='entari_plugin_server', │ ││ │ │ │ │ uid=None, │ ││ │ │ │ │ _metadata=PluginMetadata( │ ││ │ │ │ │ │ name='server', │ ││ │ │ │ │ │ role=<PluginRole.LIBRARY: 'library'>, │ ││ │ │ │ │ │ author=[{'name': 'RF-Tar-Railt', 'email': 'rf_tar_railt@qq.com'}], │ ││ │ │ │ │ │ version='0.7.1', │ ││ │ │ │ │ │ license=None, │ ││ │ │ │ │ │ urls={'homepage': 'https://github.com/ArcletProject/entari-plugin-server'}, │ ││ │ │ │ │ │ description='为 Entari 提供 Satori 服务器支持,基于此为 Entari 提供 ASGI 服务、适配器连接等功能', │ ││ │ │ │ │ │ icon=None, │ ││ │ │ │ │ │ readme='# entari-plugin-server\n为 Entari 提供 Satori 服务器支持,基于此为 Entari 提供 ASGI │ ││ │ 服务、适配器连接等功能\n'+4653, │ ││ │ │ │ │ │ classifier=[], │ ││ │ │ │ │ │ requirements=[], │ ││ │ │ │ │ │ depend_services=[], │ ││ │ │ │ │ │ config=<class 'entari_plugin_server.config.Config'> │ ││ │ │ │ │ ), │ ││ │ │ │ │ _is_disposed=False, │ ││ │ │ │ │ _services={}, │ ││ │ │ │ │ _config_key='server', │ ││ │ │ │ │ _extra={}, │ ││ │ │ │ │ _apply=None │ ││ │ │ │ ), │ ││ │ │ │ '__builtins__': { │ ││ │ │ │ │ '__name__': 'builtins', │ ││ │ │ │ │ '__doc__': 'Built-in functions, types, exceptions, and other objects.\n\nThis module provides '+346, │ ││ │ │ │ │ '__package__': '', │ ││ │ │ │ │ '__loader__': <class '_frozen_importlib.BuiltinImporter'>, │ ││ │ │ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ ││ │ │ │ │ '__build_class__': <built-in function __build_class__>, │ ││ │ │ │ │ '__import__': <built-in function __import__>, │ ││ │ │ │ │ 'abs': <built-in function abs>, │ ││ │ │ │ │ 'all': <built-in function all>, │ ││ │ │ │ │ 'any': <built-in function any>, │ ││ │ │ │ │ ... +150 │ ││ │ │ │ }, │ ││ │ │ │ ... +39 │ ││ │ │ } │ ││ │ ) │ ││ │ f = <built-in function exec> │ ││ │ kwds = {} │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ ││ C:\Proj\Chtholly\.venv\Lib\site-packages\entari_plugin_server\__init__.py:109 in <module> ││ ││ 106 │ return None ││ 107 ││ 108 ││ ❱ 109 adapters: list[Adapter] = [*filter(None, map(_load_adapter, conf.adapters + EntariConfig.instance.data.get("adapters", [ ││ 110 ││ 111 for adapter in adapters: ││ 112 │ logger.debug(f"Applying adapter {adapter}") ││ ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ ASGIApp = collections.abc.Callable[[collections.abc.MutableMapping[str, typing.Any], collections.abc.Callable[[], │ ││ │ collections.abc.Awaitable[collections.abc.MutableMapping[str, typing.Any]]], │ ││ │ collections.abc.Callable[[collections.abc.MutableMapping[str, typing.Any]], collections.abc.Awaitable[None]]], │ ││ │ collections.abc.Awaitable[None]] │ ││ │ asgitypes = <module 'graia.amnesia.builtins.asgi.asgitypes' from │ ││ │ 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\graia\\amnesia\\builtins\\asgi\\asgitypes.py'> │ ││ │ Callable = typing.Callable │ ││ │ conf = Config( │ ││ │ │ direct_adapter=True, │ ││ │ │ transfer_client=False, │ ││ │ │ adapters=[{'$path': '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'}], │ ││ │ │ host='localhost', │ ││ │ │ port=8120, │ ││ │ │ path='satori', │ ││ │ │ version='v1', │ ││ │ │ token='chtholly4221', │ ││ │ │ options=None, │ ││ │ │ stream_threshold=16777216, │ ││ │ │ stream_chunk_size=65536 │ ││ │ ) │ ││ │ DISPOSE = typing.Callable[[], NoneType] │ ││ │ inspect = <module 'inspect' from 'C:\\Users\\FrostN0v0\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none\\Lib\\inspect.py'> │ ││ │ log_m = <module 'arclet.entari.logger' from 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\arclet\\entari\\logger.py'> │ ││ │ logger = <loguru.logger handlers=[(id=1, level=0, sink=<stdout>), (id=2, level=0, sink='C:\Proj\Chtholly\.entari\log/latest.log')]> │ ││ │ Optional = typing.Optional │ ││ │ pattern = re.compile('(?P<module>[\\w.]+)\\s*(:\\s*(?P<attr>[\\w.]+)\\s*)?((?P<extras>\\[.*\\])\\s*)?$') │ ││ │ plg = Plugin( │ ││ │ │ id='entari_plugin_server', │ ││ │ │ module=<module 'entari_plugin_server' from │ ││ │ 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\entari_plugin_server\\__init__.py'>, │ ││ │ │ subplugins=set(), │ ││ │ │ config={'direct_adapter': True, 'host': 'localhost', 'port': 8120, 'path': 'satori', 'token': 'chtholly4221', 'adapters': │ ││ │ [{'$path': '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'}]}, │ ││ │ │ is_static=True, │ ││ │ │ path='entari_plugin_server', │ ││ │ │ uid=None, │ ││ │ │ _metadata=PluginMetadata( │ ││ │ │ │ name='server', │ ││ │ │ │ role=<PluginRole.LIBRARY: 'library'>, │ ││ │ │ │ author=[{'name': 'RF-Tar-Railt', 'email': 'rf_tar_railt@qq.com'}], │ ││ │ │ │ version='0.7.1', │ ││ │ │ │ license=None, │ ││ │ │ │ urls={'homepage': 'https://github.com/ArcletProject/entari-plugin-server'}, │ ││ │ │ │ description='为 Entari 提供 Satori 服务器支持,基于此为 Entari 提供 ASGI 服务、适配器连接等功能', │ ││ │ │ │ icon=None, │ ││ │ │ │ readme='# entari-plugin-server\n为 Entari 提供 Satori 服务器支持,基于此为 Entari 提供 ASGI │ ││ │ 服务、适配器连接等功能\n'+4653, │ ││ │ │ │ classifier=[], │ ││ │ │ │ requirements=[], │ ││ │ │ │ depend_services=[], │ ││ │ │ │ config=<class 'entari_plugin_server.config.Config'> │ ││ │ │ ), │ ││ │ │ _is_disposed=False, │ ││ │ │ _services={}, │ ││ │ │ _config_key='server', │ ││ │ │ _extra={}, │ ││ │ │ _apply=None │ ││ │ ) │ ││ │ plugin = <module 'arclet.entari.plugin' from 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\arclet\\entari\\plugin\\__init__.py'> │ ││ │ re = <module 're' from 'C:\\Users\\FrostN0v0\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none\\Lib\\re\\__init__.py'> │ ││ │ reduce = <built-in function reduce> │ ││ │ server = <entari_plugin_server.patch.DirectAdapterServer object at 0x0000013244BD47D0> │ ││ │ TCallable = ~TCallable │ ││ │ TYPE_CHECKING = False │ ││ │ TypeAlias = typing.TypeAlias │ ││ │ uvicorn = <module 'graia.amnesia.builtins.asgi.uvicorn' from │ ││ │ 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\graia\\amnesia\\builtins\\asgi\\uvicorn.py'> │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ ││ C:\Proj\Chtholly\.venv\Lib\site-packages\entari_plugin_server\__init__.py:92 in _load_adapter ││ ││ 89 │ │ sig = inspect.signature(ext.__init__) ││ 90 │ │ filtered_args = {k: v for k, v in args.items() if k in sig.parameters} ││ 91 │ │ annos = inspect.get_annotations(ext.__init__, globals=module.__dict__, locals=globals(), eval_str=True) ││ ❱ 92 │ │ dcls = make_dataclass( ││ 93 │ │ │ "AdapterConfig", ││ 94 │ │ │ [ ││ 95 │ │ │ │ (param.name, annos.get(param.name, sig.empty), field(default_factory=lambda p=param: p.default)) ││ ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ adapter_config = {'$path': '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'} │ ││ │ annos = { │ ││ │ │ 'prefix': <class 'str'>, │ ││ │ │ 'path': <class 'str'>, │ ││ │ │ 'endpoint': <class 'str'>, │ ││ │ │ 'access_token': str | None, │ ││ │ │ 'timeout': <class 'int'> │ ││ │ } │ ││ │ args = {'$path': '@onebot11.reverse', 'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'} │ ││ │ attrs = <filter object at 0x00000132419D5720> │ ││ │ filtered_args = {'access_token': 'chtholly4221', 'path': 'onebot/v11', 'endpoint': 'ws'} │ ││ │ match = <re.Match object; span=(0, 32), match='satori.adapters.onebot11.reverse'> │ ││ │ module = <module 'satori.adapters.onebot11.reverse' from │ ││ │ 'C:\\Proj\\Chtholly\\.venv\\Lib\\site-packages\\satori\\adapters\\onebot11\\reverse.py'> │ ││ │ path = 'satori.adapters.onebot11.reverse' │ ││ │ sig = <Signature (self, prefix: 'str' = '/', path: 'str' = 'onebot/v11', endpoint: 'str' = 'ws', access_token: 'str | None' = None, │ ││ │ timeout: 'int' = 60)> │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ ││ C:\Users\FrostN0v0\AppData\Roaming\uv\python\cpython-3.14-windows-x86_64-none\Lib\dataclasses.py:1727 in make_dataclass ││ ││ 1724 │ ││ 1725 │ # We use `types.new_class()` instead of simply `type()` to allow dynamic creation ││ 1726 │ # of generic dataclasses. ││ ❱ 1727 │ cls = types.new_class(cls_name, bases, {}, exec_body_callback) ││ 1728 │ # For now, set annotations including the _ANY_MARKER. ││ 1729 │ cls.__annotate__ = annotate_method ││ 1730 ││ ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ annotations = { │ ││ │ │ 'prefix': <class 'str'>, │ ││ │ │ 'path': <class 'str'>, │ ││ │ │ 'endpoint': <class 'str'>, │ ││ │ │ 'access_token': str | None, │ ││ │ │ 'timeout': <class 'int'> │ ││ │ } │ ││ │ bases = (<class 'arclet.entari.config.models.default.BasicConfModel'>,) │ ││ │ cls_name = 'AdapterConfig' │ ││ │ defaults = { │ ││ │ │ 'prefix': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF740>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'path': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF7F0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'endpoint': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF8A0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'access_token': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF950>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'timeout': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEFA00>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ } │ ││ │ eq = True │ ││ │ fields = [ │ ││ │ │ ( │ ││ │ │ │ 'prefix', │ ││ │ │ │ <class 'str'>, │ ││ │ │ │ Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF740>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ │ ), │ ││ │ │ ( │ ││ │ │ │ 'path', │ ││ │ │ │ <class 'str'>, │ ││ │ │ │ Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF7F0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ │ ), │ ││ │ │ ( │ ││ │ │ │ 'endpoint', │ ││ │ │ │ <class 'str'>, │ ││ │ │ │ Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF8A0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ │ ), │ ││ │ │ ( │ ││ │ │ │ 'access_token', │ ││ │ │ │ str | None, │ ││ │ │ │ Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF950>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ │ ), │ ││ │ │ ( │ ││ │ │ │ 'timeout', │ ││ │ │ │ <class 'int'>, │ ││ │ │ │ Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEFA00>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ │ ) │ ││ │ ] │ ││ │ frozen = False │ ││ │ init = True │ ││ │ item = ( │ ││ │ │ 'timeout', │ ││ │ │ <class 'int'>, │ ││ │ │ Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEFA00>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ ) │ ││ │ kw_only = False │ ││ │ match_args = True │ ││ │ module = None │ ││ │ name = 'timeout' │ ││ │ namespace = {} │ ││ │ order = False │ ││ │ repr = True │ ││ │ seen = {'endpoint', 'path', 'access_token', 'timeout', 'prefix'} │ ││ │ slots = False │ ││ │ spec = Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEFA00>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ unsafe_hash = False │ ││ │ value_blocked = True │ ││ │ weakref_slot = False │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ ││ C:\Users\FrostN0v0\AppData\Roaming\uv\python\cpython-3.14-windows-x86_64-none\Lib\types.py:88 in new_class ││ ││ 85 │ │ exec_body(ns) ││ 86 │ if resolved_bases is not bases: ││ 87 │ │ ns['__orig_bases__'] = bases ││ ❱ 88 │ return meta(name, resolved_bases, ns, **kwds) ││ 89 ││ 90 def resolve_bases(bases): ││ 91 │ """Resolve MRO entries dynamically as specified by PEP 560.""" ││ ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ bases = (<class 'arclet.entari.config.models.default.BasicConfModel'>,) │ ││ │ kwds = {} │ ││ │ name = 'AdapterConfig' │ ││ │ ns = { │ ││ │ │ 'prefix': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF740>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'path': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF7F0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'endpoint': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF8A0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'access_token': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF950>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None), │ ││ │ │ 'timeout': Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at │ ││ │ 0x0000013232B117F0>,default_factory=<function _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEFA00>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ } │ ││ │ resolved_bases = (<class 'arclet.entari.config.models.default.BasicConfModel'>,) │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ││ ││ C:\Proj\Chtholly\.venv\Lib\site-packages\arclet\entari\config\models\default.py:61 in __init_subclass__ ││ ││ 58 │ │ │ setattr(self, k, v) ╭── locals ───╮ ││ 59 │ │ kwargs = {} │ ││ 60 │ def __init_subclass__(cls, **kwargs): ╰─────────────╯ ││ ❱ 61 │ │ dataclass(**({k: v for k, v in (kwargs | {"kw_only": True}).items() if k in _available_dc_attrs}))(cls) ││ 62 │ │ store_field_description(cls, cls.__dataclass_fields__) # type: ignore ││ 63 │ │ if "extra" in kwargs: ││ 64 │ │ │ extra = kwargs["extra"] ││ ││ C:\Users\FrostN0v0\AppData\Roaming\uv\python\cpython-3.14-windows-x86_64-none\Lib\dataclasses.py:1432 in wrap ││ ││ 1429 │ """ ││ 1430 │ ││ 1431 │ def wrap(cls): ││ ❱ 1432 │ │ return _process_class(cls, init, repr, eq, order, unsafe_hash, ││ 1433 │ │ │ │ │ │ │ frozen, match_args, kw_only, slots, ││ 1434 │ │ │ │ │ │ │ weakref_slot) ││ 1435 ││ ││ ╭─────── locals ───────╮ ││ │ eq = True │ ││ │ frozen = False │ ││ │ init = True │ ││ │ kw_only = True │ ││ │ match_args = True │ ││ │ order = False │ ││ │ repr = True │ ││ │ slots = False │ ││ │ unsafe_hash = False │ ││ │ weakref_slot = False │ ││ ╰──────────────────────╯ ││ ││ C:\Users\FrostN0v0\AppData\Roaming\uv\python\cpython-3.14-windows-x86_64-none\Lib\dataclasses.py:1090 in _process_class ││ ││ 1087 │ # Do we have any Field members that don't also have annotations? ││ 1088 │ for name, value in cls.__dict__.items(): ││ 1089 │ │ if isinstance(value, Field) and not name in cls_annotations: ││ ❱ 1090 │ │ │ raise TypeError(f'{name!r} is a field but has no type annotation') ││ 1091 │ ││ 1092 │ # Check rules that apply if we are derived from any dataclasses. ││ 1093 │ if has_dataclass_bases: ││ ││ ╭───────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮ ││ │ all_frozen_bases = None │ ││ │ any_frozen_base = False │ ││ │ base_fields = None │ ││ │ cls_annotations = {} │ ││ │ cls_fields = [] │ ││ │ dataclasses = <module 'dataclasses' from │ ││ │ 'C:\\Users\\FrostN0v0\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none\\Lib\\dataclasses.py'> │ ││ │ eq = True │ ││ │ fields = {} │ ││ │ frozen = False │ ││ │ globals = { │ ││ │ │ '__name__': 'types', │ ││ │ │ '__doc__': "\nDefine names for built-in types that aren't directly accessible as a builtin.\n", │ ││ │ │ '__package__': '', │ ││ │ │ '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000013232A38EC0>, │ ││ │ │ '__spec__': ModuleSpec(name='types', loader=<_frozen_importlib_external.SourceFileLoader object at │ ││ │ 0x0000013232A38EC0>, │ ││ │ origin='C:\\Users\\FrostN0v0\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none\\Lib\\types.py'), │ ││ │ │ '__file__': 'C:\\Users\\FrostN0v0\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none\\Li'+10, │ ││ │ │ '__cached__': 'C:\\Users\\FrostN0v0\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none\\Li'+35, │ ││ │ │ '__builtins__': { │ ││ │ │ │ '__name__': 'builtins', │ ││ │ │ │ '__doc__': 'Built-in functions, types, exceptions, and other objects.\n\nThis module provides '+346, │ ││ │ │ │ '__package__': '', │ ││ │ │ │ '__loader__': <class '_frozen_importlib.BuiltinImporter'>, │ ││ │ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ ││ │ │ │ '__build_class__': <built-in function __build_class__>, │ ││ │ │ │ '__import__': <built-in function __import__>, │ ││ │ │ │ 'abs': <built-in function abs>, │ ││ │ │ │ 'all': <built-in function all>, │ ││ │ │ │ 'any': <built-in function any>, │ ││ │ │ │ ... +150 │ ││ │ │ }, │ ││ │ │ 'AsyncGeneratorType': <class 'async_generator'>, │ ││ │ │ 'BuiltinFunctionType': <class 'builtin_function_or_method'>, │ ││ │ │ ... +34 │ ││ │ } │ ││ │ has_dataclass_bases = False │ ││ │ init = True │ ││ │ kw_only = True │ ││ │ KW_ONLY_seen = False │ ││ │ match_args = True │ ││ │ name = 'prefix' │ ││ │ order = False │ ││ │ repr = True │ ││ │ slots = False │ ││ │ unsafe_hash = False │ ││ │ value = Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object at 0x0000013232B117F0>,default_factory=<function │ ││ │ _load_adapter.<locals>.<lambda> at │ ││ │ 0x0000013244BEF740>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TY… │ ││ │ object at 0x0000013232B117F0>,doc=None,_field_type=None) │ ││ │ weakref_slot = False │ ││ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯TypeError: 'prefix' is a field but has no type annotation