ErisPulse 2.1.13rc2__tar.gz → 2.1.13rc3__tar.gz

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.
Files changed (77) hide show
  1. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/PKG-INFO +1 -1
  2. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/CHANGELOG.md +7 -0
  3. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/pyproject.toml +1 -1
  4. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/__main__.py +38 -2
  5. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.github/assets/erispulse_logo.png +0 -0
  6. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.github/tools/merge_md.py +0 -0
  7. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.github/tools/update-api-docs.py +0 -0
  8. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.github/workflows/auto-tag-release.yml +0 -0
  9. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.github/workflows/pypi-publish.yml +0 -0
  10. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.gitignore +0 -0
  11. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/.python-version +0 -0
  12. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/CODE_OF_CONDUCT.md +0 -0
  13. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/LICENSE +0 -0
  14. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/README.md +0 -0
  15. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/devs/test.py +0 -0
  16. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/devs/test_adapter.py +0 -0
  17. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/devs/test_files/test.docx +0 -0
  18. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/devs/test_files/test.jpg +0 -0
  19. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/devs/test_files/test.mp4 +0 -0
  20. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AIDocs/ErisPulse-AdapterDev.md +0 -0
  21. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AIDocs/ErisPulse-Core.md +0 -0
  22. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AIDocs/ErisPulse-Full.md +0 -0
  23. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AIDocs/ErisPulse-ModuleDev.md +0 -0
  24. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AIDocs/README.md +0 -0
  25. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AIModuleGeneration.md +0 -0
  26. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AdapterStandards/APIResponse.md +0 -0
  27. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AdapterStandards/EventConversion.md +0 -0
  28. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/AdapterStandards/README.md +0 -0
  29. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/CHANGELOG_1.x.md +0 -0
  30. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/CLI.md +0 -0
  31. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/Development/Adapter.md +0 -0
  32. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/Development/CLI.md +0 -0
  33. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/Development/Module.md +0 -0
  34. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/Development/README.md +0 -0
  35. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/PlatformFeatures.md +0 -0
  36. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/UseCore.md +0 -0
  37. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/adapter.md +0 -0
  38. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/config.md +0 -0
  39. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/env.md +0 -0
  40. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/logger.md +0 -0
  41. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/mods.md +0 -0
  42. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/raiserr.md +0 -0
  43. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/server.md +0 -0
  44. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/Core/util.md +0 -0
  45. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/__init__.md +0 -0
  46. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/ErisPulse/__main__.md +0 -0
  47. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/api/README.md +0 -0
  48. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/docs/quick-start.md +0 -0
  49. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-adapter/LICENSE +0 -0
  50. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-adapter/MyAdapter/Core.py +0 -0
  51. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-adapter/MyAdapter/__init__.py +0 -0
  52. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-adapter/README.md +0 -0
  53. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-adapter/pyproject.toml +0 -0
  54. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-cli-module/LICENSE +0 -0
  55. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-cli-module/README.md +0 -0
  56. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-cli-module/my_cli_module/__init__.py +0 -0
  57. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-cli-module/my_cli_module/cli.py +0 -0
  58. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-cli-module/pyproject.toml +0 -0
  59. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-module/LICENSE +0 -0
  60. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-module/MyModule/Core.py +0 -0
  61. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-module/MyModule/__init__.py +0 -0
  62. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-module/README.md +0 -0
  63. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/examples/example-module/pyproject.toml +0 -0
  64. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/scripts/install/install.ps1 +0 -0
  65. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/scripts/install/install.sh +0 -0
  66. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/__init__.py +0 -0
  67. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/adapter.py +0 -0
  68. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/config.py +0 -0
  69. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/env.py +0 -0
  70. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/logger.py +0 -0
  71. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/mods.py +0 -0
  72. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/raiserr.py +0 -0
  73. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/server.py +0 -0
  74. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/Core/util.py +0 -0
  75. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/src/ErisPulse/__init__.py +0 -0
  76. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/style_guide/DOCSTRING_SPEC.md +0 -0
  77. {erispulse-2.1.13rc2 → erispulse-2.1.13rc3}/style_guide/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ErisPulse
3
- Version: 2.1.13rc2
3
+ Version: 2.1.13rc3
4
4
  Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
5
5
  Author-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>, runoneall <runoobsteve@gmail.com>
6
6
  License: MIT License
@@ -10,6 +10,13 @@
10
10
 
11
11
  ---
12
12
 
13
+ ## [2.1.13pre3] - 2025/07/22
14
+ ### 修复
15
+ - 修复 `epsdk init` / `epsdk upgrade` 命令无法正常运行问题
16
+ - 修复第三方CLI命令无法被正常加载的问题
17
+
18
+ ---
19
+
13
20
  ## [2.1.13pre2] - 2025/07/22
14
21
 
15
22
  ### 新增
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "ErisPulse"
7
- version = "2.1.13pre2"
7
+ version = "2.1.13pre3"
8
8
  description = "ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -329,7 +329,7 @@ class PackageManager:
329
329
 
330
330
  :raises KeyboardInterrupt: 用户取消操作时抛出
331
331
  """
332
- installed = self.package_manager.get_installed_packages()
332
+ installed = self.get_installed_packages()
333
333
  all_packages = set()
334
334
 
335
335
  for pkg_type in ["modules", "adapters", "cli_extensions"]:
@@ -652,6 +652,22 @@ class CLI:
652
652
 
653
653
  return parser
654
654
 
655
+ def _get_external_commands(self) -> List[str]:
656
+ """
657
+ 获取所有已注册的第三方命令名称
658
+
659
+ :return: 第三方命令名称列表
660
+ """
661
+ try:
662
+ entry_points = importlib.metadata.entry_points()
663
+ if hasattr(entry_points, 'select'):
664
+ cli_entries = entry_points.select(group='erispulse.cli')
665
+ else:
666
+ cli_entries = entry_points.get('erispulse.cli', [])
667
+ return [entry.name for entry in cli_entries]
668
+ except Exception:
669
+ return []
670
+
655
671
  def _load_external_commands(self, subparsers):
656
672
  """
657
673
  加载第三方CLI命令
@@ -1027,9 +1043,29 @@ class CLI:
1027
1043
 
1028
1044
  elif args.command == "init":
1029
1045
  from ErisPulse import sdk
1030
- sdk.init(force=args.force)
1046
+ sdk.init()
1031
1047
  console.print("[success]ErisPulse项目初始化完成[/]")
1032
1048
 
1049
+ # 处理第三方命令
1050
+ elif args.command in self._get_external_commands():
1051
+ # 获取第三方命令的处理函数并执行
1052
+ entry_points = importlib.metadata.entry_points()
1053
+ if hasattr(entry_points, 'select'):
1054
+ cli_entries = entry_points.select(group='erispulse.cli')
1055
+ else:
1056
+ cli_entries = entry_points.get('erispulse.cli', [])
1057
+
1058
+ for entry in cli_entries:
1059
+ if entry.name == args.command:
1060
+ cli_func = entry.load()
1061
+ if callable(cli_func):
1062
+ # 创建一个新的解析器来解析第三方命令的参数
1063
+ subparser = self.parser._subparsers._group_actions[0].choices[args.command]
1064
+ parsed_args = subparser.parse_args(sys.argv[2:])
1065
+ # 调用第三方命令处理函数
1066
+ parsed_args.func(parsed_args)
1067
+ break
1068
+
1033
1069
  except KeyboardInterrupt:
1034
1070
  console.print("\n[warning]操作被用户中断[/]")
1035
1071
  self._cleanup()
File without changes
File without changes
File without changes
File without changes