ErisPulse 2.3.3__py3-none-any.whl → 2.3.4.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ErisPulse/Core/Event/wrapper.py +2 -3
- ErisPulse/Core/Event/wrapper.pyi +2 -3
- ErisPulse/Core/__init__.py +0 -5
- ErisPulse/Core/__init__.pyi +0 -1
- ErisPulse/__init__.py +0 -4
- ErisPulse/__init__.pyi +0 -1
- ErisPulse/sdk_protocol.py +0 -7
- ErisPulse/sdk_protocol.pyi +0 -3
- ErisPulse/utils/__init__.py +1 -1
- ErisPulse/utils/cli/__init__.py +11 -0
- ErisPulse/utils/cli/__init__.pyi +13 -0
- ErisPulse/utils/cli/__main__.py +225 -0
- ErisPulse/utils/cli/__main__.pyi +81 -0
- ErisPulse/utils/cli/base.py +52 -0
- ErisPulse/utils/cli/base.pyi +50 -0
- ErisPulse/utils/cli/commands/__init__.py +6 -0
- ErisPulse/utils/cli/commands/__init__.pyi +12 -0
- ErisPulse/utils/cli/commands/init.py +400 -0
- ErisPulse/utils/cli/commands/init.pyi +82 -0
- ErisPulse/utils/cli/commands/install.py +307 -0
- ErisPulse/utils/cli/commands/install.pyi +70 -0
- ErisPulse/utils/cli/commands/list.py +165 -0
- ErisPulse/utils/cli/commands/list.pyi +56 -0
- ErisPulse/utils/cli/commands/list_remote.py +128 -0
- ErisPulse/utils/cli/commands/list_remote.pyi +47 -0
- ErisPulse/utils/cli/commands/run.py +112 -0
- ErisPulse/utils/cli/commands/run.pyi +48 -0
- ErisPulse/utils/cli/commands/self_update.py +237 -0
- ErisPulse/utils/cli/commands/self_update.pyi +59 -0
- ErisPulse/utils/cli/commands/uninstall.py +37 -0
- ErisPulse/utils/cli/commands/uninstall.pyi +37 -0
- ErisPulse/utils/cli/commands/upgrade.py +62 -0
- ErisPulse/utils/cli/commands/upgrade.pyi +38 -0
- ErisPulse/utils/cli/registry.py +112 -0
- ErisPulse/utils/cli/registry.pyi +99 -0
- {erispulse-2.3.3.dist-info → erispulse-2.3.4.dev0.dist-info}/METADATA +6 -20
- erispulse-2.3.4.dev0.dist-info/RECORD +89 -0
- {erispulse-2.3.3.dist-info → erispulse-2.3.4.dev0.dist-info}/licenses/LICENSE +3 -3
- ErisPulse/Core/ux.py +0 -635
- ErisPulse/Core/ux.pyi +0 -94
- ErisPulse/utils/cli.py +0 -1097
- ErisPulse/utils/cli.pyi +0 -145
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Bases/__init__.pyi +0 -14
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Bases/adapter.pyi +0 -140
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Bases/module.pyi +0 -52
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/__init__.pyi +0 -26
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/base.pyi +0 -62
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/command.pyi +0 -113
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/exceptions.pyi +0 -43
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/message.pyi +0 -93
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/meta.pyi +0 -92
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/notice.pyi +0 -108
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/request.pyi +0 -76
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/wrapper.pyi +0 -404
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/__init__.pyi +0 -17
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/_self_config.pyi +0 -72
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/adapter.pyi +0 -229
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/config.pyi +0 -70
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/exceptions.pyi +0 -60
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/lifecycle.pyi +0 -92
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/logger.pyi +0 -168
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/module.pyi +0 -178
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/router.pyi +0 -120
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/storage.pyi +0 -273
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/ux.pyi +0 -94
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/__init__.pyi +0 -310
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/__main__.pyi +0 -24
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/sdk_protocol.pyi +0 -100
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/__init__.pyi +0 -16
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/cli.pyi +0 -145
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/console.pyi +0 -20
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/package_manager.pyi +0 -224
- erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/reload_handler.pyi +0 -64
- erispulse-2.3.3.dist-info/RECORD +0 -98
- {erispulse-2.3.3.dist-info → erispulse-2.3.4.dev0.dist-info}/WHEEL +0 -0
- {erispulse-2.3.3.dist-info → erispulse-2.3.4.dev0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# type: ignore
|
|
2
|
+
#
|
|
3
|
+
# Auto-generated type stub for uninstall.py
|
|
4
|
+
# DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
Uninstall 命令实现
|
|
9
|
+
|
|
10
|
+
支持卸载模块、适配器、CLI 扩展
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import sys
|
|
14
|
+
from argparse import ArgumentParser
|
|
15
|
+
from ...package_manager import PackageManager
|
|
16
|
+
from ...console import console
|
|
17
|
+
from ..base import Command
|
|
18
|
+
|
|
19
|
+
class UninstallCommand(Command):
|
|
20
|
+
"""
|
|
21
|
+
卸载命令
|
|
22
|
+
"""
|
|
23
|
+
def __init__(self: None) -> ...:
|
|
24
|
+
"""
|
|
25
|
+
初始化命令
|
|
26
|
+
"""
|
|
27
|
+
...
|
|
28
|
+
def add_arguments(self: object, parser: ArgumentParser) -> ...:
|
|
29
|
+
"""
|
|
30
|
+
添加命令参数
|
|
31
|
+
"""
|
|
32
|
+
...
|
|
33
|
+
def execute(self: object, args: ...) -> ...:
|
|
34
|
+
"""
|
|
35
|
+
执行命令
|
|
36
|
+
"""
|
|
37
|
+
...
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Upgrade 命令实现
|
|
3
|
+
|
|
4
|
+
升级组件
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import sys
|
|
8
|
+
from argparse import ArgumentParser
|
|
9
|
+
from rich.prompt import Confirm
|
|
10
|
+
|
|
11
|
+
from ...package_manager import PackageManager
|
|
12
|
+
from ...console import console
|
|
13
|
+
from ..base import Command
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class UpgradeCommand(Command):
|
|
17
|
+
"""升级命令"""
|
|
18
|
+
|
|
19
|
+
name = "upgrade"
|
|
20
|
+
description = "升级组件(不指定包名则升级所有)"
|
|
21
|
+
|
|
22
|
+
def __init__(self):
|
|
23
|
+
"""初始化命令"""
|
|
24
|
+
self.package_manager = PackageManager()
|
|
25
|
+
|
|
26
|
+
def add_arguments(self, parser: ArgumentParser):
|
|
27
|
+
"""添加命令参数"""
|
|
28
|
+
parser.add_argument(
|
|
29
|
+
'package',
|
|
30
|
+
nargs='*',
|
|
31
|
+
help='要升级的包名 (可选,不指定则升级所有)'
|
|
32
|
+
)
|
|
33
|
+
parser.add_argument(
|
|
34
|
+
'--force', '-f',
|
|
35
|
+
action='store_true',
|
|
36
|
+
help='跳过确认直接升级'
|
|
37
|
+
)
|
|
38
|
+
parser.add_argument(
|
|
39
|
+
'--pre',
|
|
40
|
+
action='store_true',
|
|
41
|
+
help='包含预发布版本'
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
def execute(self, args):
|
|
45
|
+
"""执行命令"""
|
|
46
|
+
if args.package:
|
|
47
|
+
# 升级指定包
|
|
48
|
+
success = self.package_manager.upgrade_package(
|
|
49
|
+
args.package,
|
|
50
|
+
pre=args.pre
|
|
51
|
+
)
|
|
52
|
+
if not success:
|
|
53
|
+
sys.exit(1)
|
|
54
|
+
else:
|
|
55
|
+
# 升级所有包
|
|
56
|
+
if args.force or Confirm.ask(
|
|
57
|
+
"确定要升级所有ErisPulse组件吗?",
|
|
58
|
+
default=False
|
|
59
|
+
):
|
|
60
|
+
success = self.package_manager.upgrade_all()
|
|
61
|
+
if not success:
|
|
62
|
+
sys.exit(1)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# type: ignore
|
|
2
|
+
#
|
|
3
|
+
# Auto-generated type stub for upgrade.py
|
|
4
|
+
# DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
Upgrade 命令实现
|
|
9
|
+
|
|
10
|
+
升级组件
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import sys
|
|
14
|
+
from argparse import ArgumentParser
|
|
15
|
+
from rich.prompt import Confirm
|
|
16
|
+
from ...package_manager import PackageManager
|
|
17
|
+
from ...console import console
|
|
18
|
+
from ..base import Command
|
|
19
|
+
|
|
20
|
+
class UpgradeCommand(Command):
|
|
21
|
+
"""
|
|
22
|
+
升级命令
|
|
23
|
+
"""
|
|
24
|
+
def __init__(self: None) -> ...:
|
|
25
|
+
"""
|
|
26
|
+
初始化命令
|
|
27
|
+
"""
|
|
28
|
+
...
|
|
29
|
+
def add_arguments(self: object, parser: ArgumentParser) -> ...:
|
|
30
|
+
"""
|
|
31
|
+
添加命令参数
|
|
32
|
+
"""
|
|
33
|
+
...
|
|
34
|
+
def execute(self: object, args: ...) -> ...:
|
|
35
|
+
"""
|
|
36
|
+
执行命令
|
|
37
|
+
"""
|
|
38
|
+
...
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"""
|
|
2
|
+
CLI 命令注册器
|
|
3
|
+
|
|
4
|
+
负责命令的注册、查找和管理
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Optional, List, Dict
|
|
8
|
+
from .base import Command
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CommandRegistry:
|
|
12
|
+
"""
|
|
13
|
+
命令注册器
|
|
14
|
+
|
|
15
|
+
管理所有已注册的 CLI 命令
|
|
16
|
+
|
|
17
|
+
{!--< tips >!--}
|
|
18
|
+
1. 使用单例模式确保全局唯一
|
|
19
|
+
2. 支持命令的动态注册和查找
|
|
20
|
+
3. 支持第三方命令的兼容
|
|
21
|
+
{!--< /tips >!--}
|
|
22
|
+
|
|
23
|
+
:ivar _commands: 已注册的命令字典 {name: Command}
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
_instance = None
|
|
27
|
+
|
|
28
|
+
def __new__(cls):
|
|
29
|
+
"""实现单例模式"""
|
|
30
|
+
if cls._instance is None:
|
|
31
|
+
cls._instance = super().__new__(cls)
|
|
32
|
+
cls._instance._commands: Dict[str, Command] = {}
|
|
33
|
+
cls._instance._external_commands: Dict[str, Command] = {}
|
|
34
|
+
return cls._instance
|
|
35
|
+
|
|
36
|
+
def register(self, command: Command):
|
|
37
|
+
"""
|
|
38
|
+
注册命令
|
|
39
|
+
|
|
40
|
+
:param command: 要注册的命令实例
|
|
41
|
+
:raises ValueError: 命令名称已存在时抛出
|
|
42
|
+
"""
|
|
43
|
+
if command.name in self._commands:
|
|
44
|
+
raise ValueError(f"命令 '{command.name}' 已存在")
|
|
45
|
+
self._commands[command.name] = command
|
|
46
|
+
|
|
47
|
+
def register_external(self, name: str, command: Command):
|
|
48
|
+
"""
|
|
49
|
+
注册第三方命令
|
|
50
|
+
|
|
51
|
+
:param name: 命令名称
|
|
52
|
+
:param command: 命令实例
|
|
53
|
+
"""
|
|
54
|
+
self._external_commands[name] = command
|
|
55
|
+
|
|
56
|
+
def get(self, name: str) -> Optional[Command]:
|
|
57
|
+
"""
|
|
58
|
+
获取命令
|
|
59
|
+
|
|
60
|
+
:param name: 命令名称
|
|
61
|
+
:return: 命令实例,未找到返回 None
|
|
62
|
+
"""
|
|
63
|
+
# 优先查找内置命令
|
|
64
|
+
if name in self._commands:
|
|
65
|
+
return self._commands[name]
|
|
66
|
+
# 然后查找外部命令
|
|
67
|
+
return self._external_commands.get(name)
|
|
68
|
+
|
|
69
|
+
def get_all(self) -> List[Command]:
|
|
70
|
+
"""
|
|
71
|
+
获取所有命令(包括外部命令)
|
|
72
|
+
|
|
73
|
+
:return: 所有命令列表
|
|
74
|
+
"""
|
|
75
|
+
return list(self._commands.values()) + list(self._external_commands.values())
|
|
76
|
+
|
|
77
|
+
def list_all(self) -> List[str]:
|
|
78
|
+
"""
|
|
79
|
+
列出所有命令名称
|
|
80
|
+
|
|
81
|
+
:return: 命令名称列表
|
|
82
|
+
"""
|
|
83
|
+
return list(self._commands.keys()) + list(self._external_commands.keys())
|
|
84
|
+
|
|
85
|
+
def list_builtin(self) -> List[str]:
|
|
86
|
+
"""
|
|
87
|
+
列出内置命令名称
|
|
88
|
+
|
|
89
|
+
:return: 内置命令名称列表
|
|
90
|
+
"""
|
|
91
|
+
return list(self._commands.keys())
|
|
92
|
+
|
|
93
|
+
def list_external(self) -> List[str]:
|
|
94
|
+
"""
|
|
95
|
+
列出外部命令名称
|
|
96
|
+
|
|
97
|
+
:return: 外部命令名称列表
|
|
98
|
+
"""
|
|
99
|
+
return list(self._external_commands.keys())
|
|
100
|
+
|
|
101
|
+
def exists(self, name: str) -> bool:
|
|
102
|
+
"""
|
|
103
|
+
检查命令是否存在
|
|
104
|
+
|
|
105
|
+
:param name: 命令名称
|
|
106
|
+
:return: 命令是否存在
|
|
107
|
+
"""
|
|
108
|
+
return name in self._commands or name in self._external_commands
|
|
109
|
+
|
|
110
|
+
def clear_external(self):
|
|
111
|
+
"""清空外部命令"""
|
|
112
|
+
self._external_commands.clear()
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# type: ignore
|
|
2
|
+
#
|
|
3
|
+
# Auto-generated type stub for registry.py
|
|
4
|
+
# DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
CLI 命令注册器
|
|
9
|
+
|
|
10
|
+
负责命令的注册、查找和管理
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from typing import Optional, List, Dict
|
|
14
|
+
from .base import Command
|
|
15
|
+
|
|
16
|
+
class CommandRegistry:
|
|
17
|
+
"""
|
|
18
|
+
命令注册器
|
|
19
|
+
|
|
20
|
+
管理所有已注册的 CLI 命令
|
|
21
|
+
|
|
22
|
+
{!--< tips >!--}
|
|
23
|
+
1. 使用单例模式确保全局唯一
|
|
24
|
+
2. 支持命令的动态注册和查找
|
|
25
|
+
3. 支持第三方命令的兼容
|
|
26
|
+
{!--< /tips >!--}
|
|
27
|
+
|
|
28
|
+
:ivar _commands: 已注册的命令字典 {name: Command}
|
|
29
|
+
"""
|
|
30
|
+
def __new__(cls: object) -> ...:
|
|
31
|
+
"""
|
|
32
|
+
实现单例模式
|
|
33
|
+
"""
|
|
34
|
+
...
|
|
35
|
+
def register(self: object, command: Command) -> ...:
|
|
36
|
+
"""
|
|
37
|
+
注册命令
|
|
38
|
+
|
|
39
|
+
:param command: 要注册的命令实例
|
|
40
|
+
:raises ValueError: 命令名称已存在时抛出
|
|
41
|
+
"""
|
|
42
|
+
...
|
|
43
|
+
def register_external(self: object, name: str, command: Command) -> ...:
|
|
44
|
+
"""
|
|
45
|
+
注册第三方命令
|
|
46
|
+
|
|
47
|
+
:param name: 命令名称
|
|
48
|
+
:param command: 命令实例
|
|
49
|
+
"""
|
|
50
|
+
...
|
|
51
|
+
def get(self: object, name: str) -> Optional[Command]:
|
|
52
|
+
"""
|
|
53
|
+
获取命令
|
|
54
|
+
|
|
55
|
+
:param name: 命令名称
|
|
56
|
+
:return: 命令实例,未找到返回 None
|
|
57
|
+
"""
|
|
58
|
+
...
|
|
59
|
+
def get_all(self: object) -> List[Command]:
|
|
60
|
+
"""
|
|
61
|
+
获取所有命令(包括外部命令)
|
|
62
|
+
|
|
63
|
+
:return: 所有命令列表
|
|
64
|
+
"""
|
|
65
|
+
...
|
|
66
|
+
def list_all(self: object) -> List[str]:
|
|
67
|
+
"""
|
|
68
|
+
列出所有命令名称
|
|
69
|
+
|
|
70
|
+
:return: 命令名称列表
|
|
71
|
+
"""
|
|
72
|
+
...
|
|
73
|
+
def list_builtin(self: object) -> List[str]:
|
|
74
|
+
"""
|
|
75
|
+
列出内置命令名称
|
|
76
|
+
|
|
77
|
+
:return: 内置命令名称列表
|
|
78
|
+
"""
|
|
79
|
+
...
|
|
80
|
+
def list_external(self: object) -> List[str]:
|
|
81
|
+
"""
|
|
82
|
+
列出外部命令名称
|
|
83
|
+
|
|
84
|
+
:return: 外部命令名称列表
|
|
85
|
+
"""
|
|
86
|
+
...
|
|
87
|
+
def exists(self: object, name: str) -> bool:
|
|
88
|
+
"""
|
|
89
|
+
检查命令是否存在
|
|
90
|
+
|
|
91
|
+
:param name: 命令名称
|
|
92
|
+
:return: 命令是否存在
|
|
93
|
+
"""
|
|
94
|
+
...
|
|
95
|
+
def clear_external(self: object) -> ...:
|
|
96
|
+
"""
|
|
97
|
+
清空外部命令
|
|
98
|
+
"""
|
|
99
|
+
...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ErisPulse
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4.dev0
|
|
4
4
|
Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
|
|
5
5
|
Author-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>
|
|
6
6
|
License: MIT License
|
|
@@ -35,11 +35,11 @@ License: MIT License
|
|
|
35
35
|
|
|
36
36
|
This ensures consistent behavior and interoperability across all adapter implementations.
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
We extend our gratitude to all developers and authors who contribute to the open-source community.
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Please respect the efforts of every open-source author. By using, modifying, or distributing this software, you commit to strictly adhering to the relevant license terms and preserving all original copyright notices.
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
The core of the open-source spirit lies in sharing, collaboration, and respect. Through this project, we hope to carry forward this spirit and contribute to the development of the open-source community.
|
|
43
43
|
License-File: LICENSE
|
|
44
44
|
Classifier: Development Status :: 5 - Production/Stable
|
|
45
45
|
Classifier: Intended Audience :: Developers
|
|
@@ -58,6 +58,7 @@ Requires-Dist: colorama
|
|
|
58
58
|
Requires-Dist: fastapi>=0.116.1
|
|
59
59
|
Requires-Dist: hypercorn>=0.14.0
|
|
60
60
|
Requires-Dist: packaging>=25.0
|
|
61
|
+
Requires-Dist: pip
|
|
61
62
|
Requires-Dist: pydantic>=2.10.6
|
|
62
63
|
Requires-Dist: python-multipart>=0.0.20
|
|
63
64
|
Requires-Dist: rich
|
|
@@ -146,21 +147,6 @@ uv pip install -e .
|
|
|
146
147
|
python -c "from ErisPulse import sdk; sdk.init()"
|
|
147
148
|
```
|
|
148
149
|
|
|
149
|
-
### 5. 运行测试
|
|
150
|
-
|
|
151
|
-
我们提供了一个交互式测试脚本,可以帮助您快速验证SDK功能:
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
uv run devs/test.py
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
测试功能包括:
|
|
158
|
-
- 日志系统测试
|
|
159
|
-
- 环境配置测试
|
|
160
|
-
- 错误管理测试
|
|
161
|
-
- 工具函数测试
|
|
162
|
-
- 适配器功能测试
|
|
163
|
-
|
|
164
150
|
## 项目结构
|
|
165
151
|
|
|
166
152
|
```
|
|
@@ -191,7 +177,7 @@ ErisPulse/
|
|
|
191
177
|
通过 [社区讨论](https://github.com/ErisPulse/ErisPulse/discussions) 提出新想法
|
|
192
178
|
|
|
193
179
|
3. 代码贡献
|
|
194
|
-
提交 Pull Request 前请阅读我们的 [代码风格](docs/
|
|
180
|
+
提交 Pull Request 前请阅读我们的 [代码风格](docs/styleguide/docstring_spec.md) 以及 [贡献指南](CONTRIBUTING.md)
|
|
195
181
|
|
|
196
182
|
4. 文档改进
|
|
197
183
|
帮助完善文档和示例代码
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
ErisPulse/__init__.py,sha256=LTbge0HdHlZ24rQIlct8h5H8Z_dHK8HsdueuoUQlSPU,50472
|
|
2
|
+
ErisPulse/__init__.pyi,sha256=Unl210vOdi7nkc-1t3iXKbTgLtvYxboUw6-X4LvAxv8,8129
|
|
3
|
+
ErisPulse/__main__.py,sha256=AGA-Y6zBIRJYmfTU4hc1R_ykkpAUFalGXxftaBxRf6U,361
|
|
4
|
+
ErisPulse/__main__.pyi,sha256=bRsxAFiy5mG9qFbcXsYFlx43F3rr1V_yVx1djdkClgg,433
|
|
5
|
+
ErisPulse/sdk_protocol.py,sha256=_2Mlidci8y9gOTKYw1dA4AhKg7kUKJ3wGBVTq2BKnpg,3235
|
|
6
|
+
ErisPulse/sdk_protocol.pyi,sha256=rF8bFTDDiU9-fbtFNNg1p646UvbGQ988ebhIcAR6BKg,2598
|
|
7
|
+
ErisPulse/Core/__init__.py,sha256=Q5XHlRNxYI04So7LK1_CUty4Xo7yfPFVfkFgltRq_eg,1761
|
|
8
|
+
ErisPulse/Core/__init__.pyi,sha256=dTOP2UUGometePH3gkwvGsPvI9sMmDvthY2NPJS8cqU,536
|
|
9
|
+
ErisPulse/Core/_self_config.py,sha256=ReoVy2hYZxG7hPRHXUWRjLClC4nWZ2RG8VWdD-PAM7g,3549
|
|
10
|
+
ErisPulse/Core/_self_config.pyi,sha256=lzrW7rk1JUvQ1KjjbuYlYD1LIzhAObq_h6JDhzn6dyk,1547
|
|
11
|
+
ErisPulse/Core/adapter.py,sha256=9wpaE9B6LixlGTJ0p341wYe4AE3SVuczToMOWd7UkL4,19707
|
|
12
|
+
ErisPulse/Core/adapter.pyi,sha256=KzStstMSoZ_L6DdfKGzuPY41tQGiTRD5fJNzq2OWqgw,7276
|
|
13
|
+
ErisPulse/Core/config.py,sha256=cV0R2eUWNECIogYLFbhNu1pYl8HStPG-DNbCe3lkY4E,5873
|
|
14
|
+
ErisPulse/Core/config.pyi,sha256=4xKw59mwFAzHnC3oYWNGwyzrGnFZKJuWEpKkq-w7NnM,1993
|
|
15
|
+
ErisPulse/Core/exceptions.py,sha256=tTOOs57SD8aSp4HXomuXtVYgHJCJtfP3AS4JIIq1LPk,3920
|
|
16
|
+
ErisPulse/Core/exceptions.pyi,sha256=ruzyFaz2ryR1yHHojBFMMFdaVKomkRhmXInWJByYDWk,1574
|
|
17
|
+
ErisPulse/Core/lifecycle.py,sha256=GYB3M9Z2sYXmm6oRbNbkwG8NiLTroAaerOu0JCyI3Ck,5603
|
|
18
|
+
ErisPulse/Core/lifecycle.pyi,sha256=cV0-rq4n71sXxbmeKXYIaM_WDltA8lznjiTD0Xcyzpg,2476
|
|
19
|
+
ErisPulse/Core/logger.py,sha256=nktXT-6cxF50NYsUErMsf8J79brzXg2faaJ4Agt2Gro,12599
|
|
20
|
+
ErisPulse/Core/logger.pyi,sha256=ZqCA2U1pKFMfsnV2Zvysm-WDrITktrQcdXHTRKtki10,5346
|
|
21
|
+
ErisPulse/Core/module.py,sha256=13rI03GwEzVd66hIhZnZNybiA9wj7ITzQILi1-nCjhQ,12944
|
|
22
|
+
ErisPulse/Core/module.pyi,sha256=fLuw80l27thnRFvWSHiPRt0TCbVQyG6kB1i22egdHl0,5053
|
|
23
|
+
ErisPulse/Core/router.py,sha256=rtvUjbRHVeTTgWBBG-yxK91oEjs5Tw3ReryqCI-rMYc,12411
|
|
24
|
+
ErisPulse/Core/router.pyi,sha256=QKWbX7TiAnIakTMaliPxM80EMpN2bW_3XNVuupIt4HE,3785
|
|
25
|
+
ErisPulse/Core/storage.py,sha256=WbREN-GTpzPls8Vx3t8F2U_lzmCKEsI4OcecWWmvaSk,25238
|
|
26
|
+
ErisPulse/Core/storage.pyi,sha256=trLP6t5t6OUSiCcDuueYsEfx05AE4FJptfJsElxtjM0,7753
|
|
27
|
+
ErisPulse/Core/Bases/__init__.py,sha256=hHKsI2zQfBdahnEuHlMgzOX2_ygRDOVN8-VqTIrcxP4,230
|
|
28
|
+
ErisPulse/Core/Bases/__init__.pyi,sha256=w18_Ld7z1r5nT35OGnuhWZ1UrIkpd5FgP6k7ZhFFpIU,288
|
|
29
|
+
ErisPulse/Core/Bases/adapter.py,sha256=CUZID0466mpN3FeSklQth_H6EnuK1CZaNcye50thIXs,6957
|
|
30
|
+
ErisPulse/Core/Bases/adapter.pyi,sha256=sQbxTkesZrIOwbuDg347Nnv5aRzdHVfYDgcuDRiBot8,4396
|
|
31
|
+
ErisPulse/Core/Bases/module.py,sha256=TtzZQ4x4u09S6yDibsIHa9srlGLFPXCHdn2WxZ3nmdo,1154
|
|
32
|
+
ErisPulse/Core/Bases/module.pyi,sha256=Y3ooDKXf5aaX_g07uuMh_0Zew-DgneJCT-OJPxz7h7U,1214
|
|
33
|
+
ErisPulse/Core/Event/__init__.py,sha256=JgvhhCM3RoeGE5egssyuHRdDfchF6Bt83XdSRmcToZc,1528
|
|
34
|
+
ErisPulse/Core/Event/__init__.pyi,sha256=kpol8p9sNPF2GEcdzMrsYON0a-ewd1Hpk35Cs0gvmJQ,641
|
|
35
|
+
ErisPulse/Core/Event/base.py,sha256=bnTKdCTA0MRaFU8lheHm_ithiS2egZgU0oKSSajwCaM,4192
|
|
36
|
+
ErisPulse/Core/Event/base.pyi,sha256=XcEt8IQaMEhEVnXMokY-fRqwOm1o0ea7StxxFWp5m6I,1784
|
|
37
|
+
ErisPulse/Core/Event/command.py,sha256=mihGTv4kTkpncw6fE2n-GlTK66S3Y3kYx8mKzngbXto,19754
|
|
38
|
+
ErisPulse/Core/Event/command.pyi,sha256=S0YQBKU2WXStXiKg0_7thYsoEeIYuDAJEhw6aRLbjbk,3734
|
|
39
|
+
ErisPulse/Core/Event/exceptions.py,sha256=iGcuPaC7F4cZeujcvBdZb9bzQGnHBdb9CcPKoB760Bo,711
|
|
40
|
+
ErisPulse/Core/Event/exceptions.pyi,sha256=KaUiT8_mlCihf_211tm59CYLZW25YwhDOQ9Nlg5AR-k,834
|
|
41
|
+
ErisPulse/Core/Event/message.py,sha256=wxg_GJsI1ZvPrV9611xELLxnlk2bcxMJH7EBEkoWwgE,4024
|
|
42
|
+
ErisPulse/Core/Event/message.pyi,sha256=E-i2IHaO-80eTZI8azpsUI-s8w39p234D8tccDPmL18,2525
|
|
43
|
+
ErisPulse/Core/Event/meta.py,sha256=0cs0Cg5r58kll3P4lNtnVWAKLQiL6MoXPkbkk6_IEko,3660
|
|
44
|
+
ErisPulse/Core/Event/meta.pyi,sha256=UVgzTK7s8DEjl7yLNpYNigL3L64naaPZ-3C-xJy7so8,2488
|
|
45
|
+
ErisPulse/Core/Event/notice.py,sha256=tU28tc3Ig-FMB2EJUDO2Z9ewfJjzEPh2O2J4lU7GYDk,4557
|
|
46
|
+
ErisPulse/Core/Event/notice.pyi,sha256=vYxcmcFIwP6D6DijBjOYVoGmkLN27Cg2THqqBkegCpU,3063
|
|
47
|
+
ErisPulse/Core/Event/request.py,sha256=rYjFjRJccNRZ6bkY89ig8Q2YntnoytUfg-_PGntJxXg,2956
|
|
48
|
+
ErisPulse/Core/Event/request.pyi,sha256=sPNKDdC55yhiXR-Nt-WW1oBE3fyxJFny0KIdxrX0seo,2057
|
|
49
|
+
ErisPulse/Core/Event/wrapper.py,sha256=XgouRc1IJEKMKK1HkQQZMIfxf__hljbTBLF1meRPX9A,16531
|
|
50
|
+
ErisPulse/Core/Event/wrapper.pyi,sha256=yI6sjqpHspC6ujva6JPvXOIEfgxhSGNuGIAGqUYQvDI,10150
|
|
51
|
+
ErisPulse/utils/__init__.py,sha256=1m3LOwmtl7A-pDAfnstjuUJuko_gqNNCFlB4-ItM4sU,300
|
|
52
|
+
ErisPulse/utils/__init__.pyi,sha256=APEn5Fh9AwgSGKf6-Z-7qiVpnuy-UOSb4ID_Jp6-7Aw,340
|
|
53
|
+
ErisPulse/utils/console.py,sha256=IIo8kVTy0ikEp1H4V6BsokaQp_ISfBFuxlhQcRnk2vs,1145
|
|
54
|
+
ErisPulse/utils/console.pyi,sha256=C13WSeBitZY7IZ8nRmne0OzanBHzjQBtKeXznGIdXhw,444
|
|
55
|
+
ErisPulse/utils/package_manager.py,sha256=uv9Q24Qxa2bbotxLrSvhF-lX6vEmK-4KPCIwPe6ZyGc,32698
|
|
56
|
+
ErisPulse/utils/package_manager.pyi,sha256=BOMhoNkZXXDb65hsEuP-JDQFLMauFd0n7BnI0ceHZoE,7004
|
|
57
|
+
ErisPulse/utils/reload_handler.py,sha256=ToBE9EiXY8ZNNL8jntdsc2Dpy-Wgh73Jd3aBpedKAtg,3369
|
|
58
|
+
ErisPulse/utils/reload_handler.pyi,sha256=Ws7owiYzAIY-DJnWWh7T7Dhpjot6NN7a3OXT6xI7vnU,1587
|
|
59
|
+
ErisPulse/utils/cli/__init__.py,sha256=Goh-mIhF1szX6rh9W3m2Dy8Gz-3dB2kr2CT8HDf50Sg,99
|
|
60
|
+
ErisPulse/utils/cli/__init__.pyi,sha256=tmi4cisgAHDuTkyDDvTlxbOJidSMZIJNzjPN5n9aqlI,197
|
|
61
|
+
ErisPulse/utils/cli/__main__.py,sha256=zYzLv9-_nqLr3fPbRTPuF7XltVJPhzdTHJUUd4bfOmg,7976
|
|
62
|
+
ErisPulse/utils/cli/__main__.pyi,sha256=5G8fMdMhNiFWerCnqAzTz5gMbRXK0H_VJG-aK2lnNsY,2002
|
|
63
|
+
ErisPulse/utils/cli/base.py,sha256=G3IXDGlsbILoEze0mJcjvvjWDcIxYsKgPJ-t8CwGgDk,1103
|
|
64
|
+
ErisPulse/utils/cli/base.pyi,sha256=0wb_p141tZKQAo6_wM571s1lR_MGPEQXz7i1sfA9cyE,1127
|
|
65
|
+
ErisPulse/utils/cli/registry.py,sha256=9R-uKZUQdj5uEncfMbu5wxtNHF958JVpqqeruXCOKZQ,3062
|
|
66
|
+
ErisPulse/utils/cli/registry.pyi,sha256=Oy9b54DrQnxwGm860SgNJgj4iG4BQRn5imWBSZ60tIM,2355
|
|
67
|
+
ErisPulse/utils/cli/commands/__init__.py,sha256=hwW_VaiDuNuAQ-OLE6Ni_5ys1K2xO4naP3ozodpkn-Q,153
|
|
68
|
+
ErisPulse/utils/cli/commands/__init__.pyi,sha256=Vqb_FzrIrvkxfdLlyHZuOvFOJPPnZr3PHdunBCEd1Iw,277
|
|
69
|
+
ErisPulse/utils/cli/commands/init.py,sha256=vjeb8P-qKqJz3O-k6zqM53m0KGqJ9sbauYIG1GMdtAg,17584
|
|
70
|
+
ErisPulse/utils/cli/commands/init.pyi,sha256=bnT5vgSGnnppSWvsUP1nDHvZzD8b6iRkUIKy_gDMII0,2157
|
|
71
|
+
ErisPulse/utils/cli/commands/install.py,sha256=SqEq_xsMhJjqzA3TLKIKJNbMrXJkVFQqbr7R8Z4MEuU,10812
|
|
72
|
+
ErisPulse/utils/cli/commands/install.pyi,sha256=b7gpJ6YlAMbYmaqABR195oGjIXXzVIYw7YTEu4JzWY8,1769
|
|
73
|
+
ErisPulse/utils/cli/commands/list.py,sha256=CHTw9qSagE5Tx3IWq3PHfoBrUVaU1_9cPhZyoIACSSE,5641
|
|
74
|
+
ErisPulse/utils/cli/commands/list.pyi,sha256=VKLSzsoVywuDTlotPmzgIPaWc8CvZaCGYMnSQjbdVeo,1367
|
|
75
|
+
ErisPulse/utils/cli/commands/list_remote.py,sha256=D3Ai6k2hcJTPmKTVYkS5TJgZOY0lmogJ_p77mIYZELs,4154
|
|
76
|
+
ErisPulse/utils/cli/commands/list_remote.pyi,sha256=SnfbiBQGt64jGQKoz0EJBY4v9T1Kj2TMy6nkr7uFhSg,1093
|
|
77
|
+
ErisPulse/utils/cli/commands/run.py,sha256=gO3Dtw5IFD90P54TRlabZJR3shkRGliv2-_AtVMx21I,3271
|
|
78
|
+
ErisPulse/utils/cli/commands/run.pyi,sha256=HHRqjxT08AgQ4m0_nXH6xQ1gFAk682cgFL3r9Q6wjdE,1046
|
|
79
|
+
ErisPulse/utils/cli/commands/self_update.py,sha256=2bakBYF_Z9LEYho1NBI828Isnyn541M0AZVMahfRh0o,8655
|
|
80
|
+
ErisPulse/utils/cli/commands/self_update.pyi,sha256=l7VEt1gl2w7-e8yDILxzHRnxazRJxfuIthQCTErderg,1512
|
|
81
|
+
ErisPulse/utils/cli/commands/uninstall.py,sha256=lgr9uDh_ZMjZ7YSGxkCM87Y-bEE1NJtw_JrE7cwLda0,883
|
|
82
|
+
ErisPulse/utils/cli/commands/uninstall.pyi,sha256=kMq6bKWYfbnCR1tAan9K74L2snClyTRb-Wsbaz8NEKU,754
|
|
83
|
+
ErisPulse/utils/cli/commands/upgrade.py,sha256=3Zi6HBCXot_Yoe_-2b-MzX-hki4lHD5CaoQ62JqttIY,1638
|
|
84
|
+
ErisPulse/utils/cli/commands/upgrade.pyi,sha256=LEq-ytTZyQIVDTajiDddZeawoxp01iVx53COdvX3xMw,749
|
|
85
|
+
erispulse-2.3.4.dev0.dist-info/METADATA,sha256=ubzwNReT5G1Iu0T3PjyEZ07Y_K4hYnbk4khZV70XsLk,7315
|
|
86
|
+
erispulse-2.3.4.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
87
|
+
erispulse-2.3.4.dev0.dist-info/entry_points.txt,sha256=NiOwT6-XQ7KIH1r6J8odjRO-uaKHfr_Vz_UIG96EWXg,187
|
|
88
|
+
erispulse-2.3.4.dev0.dist-info/licenses/LICENSE,sha256=N61f4xaO9M0nUx-62hctLcRfcovYBrJxy3hocMgnGs0,1987
|
|
89
|
+
erispulse-2.3.4.dev0.dist-info/RECORD,,
|
|
@@ -30,8 +30,8 @@ This SDK's core adapter standardization layer strictly follows OneBot12 specific
|
|
|
30
30
|
|
|
31
31
|
This ensures consistent behavior and interoperability across all adapter implementations.
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
We extend our gratitude to all developers and authors who contribute to the open-source community.
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Please respect the efforts of every open-source author. By using, modifying, or distributing this software, you commit to strictly adhering to the relevant license terms and preserving all original copyright notices.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
The core of the open-source spirit lies in sharing, collaboration, and respect. Through this project, we hope to carry forward this spirit and contribute to the development of the open-source community.
|