ErisPulse 2.5.2.dev1__py3-none-any.whl → 2.5.2.dev2__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.
Files changed (37) hide show
  1. ErisPulse/CLI/i18n/locales/en.py +10 -10
  2. ErisPulse/CLI/i18n/locales/ja.py +10 -10
  3. ErisPulse/CLI/i18n/locales/ru.py +10 -10
  4. ErisPulse/CLI/i18n/locales/zh_cn.py +10 -10
  5. ErisPulse/CLI/i18n/locales/zh_tw.py +10 -10
  6. ErisPulse/CLI/utils/package_manager.py +4 -2
  7. ErisPulse/Core/Event/base.py +36 -19
  8. ErisPulse/Core/Event/base.pyi +7 -7
  9. ErisPulse/Core/Event/command.py +2 -2
  10. ErisPulse/Core/Event/session_type.py +2 -2
  11. ErisPulse/Core/Event/wrapper.py +73 -38
  12. ErisPulse/Core/Event/wrapper.pyi +3 -3
  13. ErisPulse/Core/adapter.py +14 -10
  14. ErisPulse/Core/client.py +19 -9
  15. ErisPulse/Core/client.pyi +7 -1
  16. ErisPulse/Core/config.py +37 -15
  17. ErisPulse/Core/config.pyi +1 -0
  18. ErisPulse/Core/constants.py +8 -8
  19. ErisPulse/Core/i18n/locales/en.py +3 -3
  20. ErisPulse/Core/i18n/locales/ja.py +3 -3
  21. ErisPulse/Core/i18n/locales/ru.py +3 -3
  22. ErisPulse/Core/i18n/locales/zh_cn.py +3 -3
  23. ErisPulse/Core/i18n/locales/zh_tw.py +3 -3
  24. ErisPulse/Core/logger.py +155 -32
  25. ErisPulse/Core/logger.pyi +34 -4
  26. ErisPulse/Core/module.py +2 -0
  27. ErisPulse/Core/router.py +22 -17
  28. ErisPulse/Core/storage.py +30 -3
  29. ErisPulse/finders/bases/finder.py +5 -4
  30. ErisPulse/loaders/module.py +6 -6
  31. ErisPulse/loaders/strict.py +1 -1
  32. ErisPulse/loaders/strict.pyi +1 -1
  33. {erispulse-2.5.2.dev1.dist-info → erispulse-2.5.2.dev2.dist-info}/METADATA +1 -1
  34. {erispulse-2.5.2.dev1.dist-info → erispulse-2.5.2.dev2.dist-info}/RECORD +37 -37
  35. {erispulse-2.5.2.dev1.dist-info → erispulse-2.5.2.dev2.dist-info}/WHEEL +0 -0
  36. {erispulse-2.5.2.dev1.dist-info → erispulse-2.5.2.dev2.dist-info}/entry_points.txt +0 -0
  37. {erispulse-2.5.2.dev1.dist-info → erispulse-2.5.2.dev2.dist-info}/licenses/LICENSE +0 -0
@@ -316,18 +316,18 @@ TRANSLATIONS = {
316
316
  "cli.package.compat_warning_upgrade": "SDK Version Compatibility Warning\nPackage {package} requires minimum SDK version {version}\n{message}\n\nContinuing the upgrade may cause issues.",
317
317
  "cli.package.compat_warning_title": "Compatibility Warning",
318
318
  "cli.package.installing": "Installing {package}",
319
- "cli.package.install_success": " Package {package} installed successfully",
320
- "cli.package.install_failed": " Package {package} installation failed",
321
- "cli.package.operation_success": " {description} succeeded",
322
- "cli.package.operation_failed": " {description} failed",
319
+ "cli.package.install_success": "[OK] Package {package} installed successfully",
320
+ "cli.package.install_failed": "[FAIL] Package {package} installation failed",
321
+ "cli.package.operation_success": "[OK] {description} succeeded",
322
+ "cli.package.operation_failed": "[FAIL] {description} failed",
323
323
  "cli.package.alias_mapping": " Alias mapping: {alias} → {package}",
324
324
  "cli.package.installed_package_found": " Found installed package: {package}",
325
325
  "cli.package.uninstall_alias_not_found": " No alias found, attempting direct uninstall: {package}",
326
326
  "cli.package.confirm_uninstall": "Confirm uninstall the following packages?\n{packages}",
327
327
  "cli.package.operation_cancelled": " Operation cancelled",
328
328
  "cli.package.uninstalling": "Uninstalling {package}",
329
- "cli.package.uninstall_success": " Package {package} uninstalled successfully",
330
- "cli.package.uninstall_failed": " Package {package} uninstall failed",
329
+ "cli.package.uninstall_success": "[OK] Package {package} uninstalled successfully",
330
+ "cli.package.uninstall_failed": "[FAIL] Package {package} uninstall failed",
331
331
  "cli.package.all_up_to_date": "All ErisPulse packages are up to date",
332
332
  "cli.package.updates_found": "Found {count} package(s) to upgrade:",
333
333
  "cli.package.upgrade_list_title": "Upgrade List",
@@ -344,8 +344,8 @@ TRANSLATIONS = {
344
344
  "cli.package.confirm_upgrade": "Continue with upgrade?",
345
345
  "cli.package.upgrade_cancelled": "Upgrade cancelled",
346
346
  "cli.package.upgrading": "Upgrading {package}",
347
- "cli.package.upgrade_success": " Package {package} upgraded successfully",
348
- "cli.package.upgrade_failed": " Package {package} upgrade failed",
347
+ "cli.package.upgrade_success": "[OK] Package {package} upgraded successfully",
348
+ "cli.package.upgrade_failed": "[FAIL] Package {package} upgrade failed",
349
349
  "cli.package.pypi_versions_failed": "Failed to fetch PyPI version info",
350
350
  "cli.package.already_target_version": "Already at target version {version}",
351
351
  "cli.package.invalid_version": "Invalid version number: {version}",
@@ -354,7 +354,7 @@ TRANSLATIONS = {
354
354
  "cli.package.update_desc_with_version": "Updating ErisPulse SDK to {version}",
355
355
  "cli.package.update_desc_latest": "Updating ErisPulse SDK to the latest version",
356
356
  "cli.package.latest_version": "latest version",
357
- "cli.package.sdk_update_success": " ErisPulse SDK updated successfully: {old} → {new}",
357
+ "cli.package.sdk_update_success": "[OK] ErisPulse SDK updated successfully: {old} → {new}",
358
358
  "cli.package.restart_cli": "Please restart the CLI to use the new version",
359
- "cli.package.sdk_update_failed": " ErisPulse SDK update failed",
359
+ "cli.package.sdk_update_failed": "[FAIL] ErisPulse SDK update failed",
360
360
  }
@@ -316,18 +316,18 @@ TRANSLATIONS = {
316
316
  "cli.package.compat_warning_upgrade": "SDK バージョン互換性警告\nパッケージ {package} は最小 SDK バージョン {version} が必要です\n{message}\n\nアップグレードを続行すると問題が発生する可能性があります。",
317
317
  "cli.package.compat_warning_title": "互換性警告",
318
318
  "cli.package.installing": "インストール中 {package}",
319
- "cli.package.install_success": " パッケージ {package} のインストールに成功しました",
320
- "cli.package.install_failed": " パッケージ {package} のインストールに失敗しました",
321
- "cli.package.operation_success": " {description} 成功",
322
- "cli.package.operation_failed": " {description} 失敗",
319
+ "cli.package.install_success": "[OK] パッケージ {package} のインストールに成功しました",
320
+ "cli.package.install_failed": "[FAIL] パッケージ {package} のインストールに失敗しました",
321
+ "cli.package.operation_success": "[OK] {description} 成功",
322
+ "cli.package.operation_failed": "[FAIL] {description} 失敗",
323
323
  "cli.package.alias_mapping": " エイリアスマッピング: {alias} → {package}",
324
324
  "cli.package.installed_package_found": " インストール済みパッケージが見つかりました: {package}",
325
325
  "cli.package.uninstall_alias_not_found": " エイリアスが見つかりません。直接アンインストールを試みます: {package}",
326
326
  "cli.package.confirm_uninstall": "以下のパッケージをアンインストールしますか?\n{packages}",
327
327
  "cli.package.operation_cancelled": " 操作がキャンセルされました",
328
328
  "cli.package.uninstalling": "アンインストール中 {package}",
329
- "cli.package.uninstall_success": " パッケージ {package} のアンインストールに成功しました",
330
- "cli.package.uninstall_failed": " パッケージ {package} のアンインストールに失敗しました",
329
+ "cli.package.uninstall_success": "[OK] パッケージ {package} のアンインストールに成功しました",
330
+ "cli.package.uninstall_failed": "[FAIL] パッケージ {package} のアンインストールに失敗しました",
331
331
  "cli.package.all_up_to_date": "すべての ErisPulse パッケージは最新です",
332
332
  "cli.package.updates_found": "{count} 個のアップグレード可能なパッケージが見つかりました:",
333
333
  "cli.package.upgrade_list_title": "アップグレードリスト",
@@ -344,8 +344,8 @@ TRANSLATIONS = {
344
344
  "cli.package.confirm_upgrade": "アップグレードを続行しますか?",
345
345
  "cli.package.upgrade_cancelled": "アップグレードがキャンセルされました",
346
346
  "cli.package.upgrading": "アップグレード中 {package}",
347
- "cli.package.upgrade_success": " パッケージ {package} のアップグレードに成功しました",
348
- "cli.package.upgrade_failed": " パッケージ {package} のアップグレードに失敗しました",
347
+ "cli.package.upgrade_success": "[OK] パッケージ {package} のアップグレードに成功しました",
348
+ "cli.package.upgrade_failed": "[FAIL] パッケージ {package} のアップグレードに失敗しました",
349
349
  "cli.package.pypi_versions_failed": "PyPI バージョン情報の取得に失敗しました",
350
350
  "cli.package.already_target_version": "すでにターゲットバージョン {version} です",
351
351
  "cli.package.invalid_version": "無効なバージョン番号: {version}",
@@ -354,7 +354,7 @@ TRANSLATIONS = {
354
354
  "cli.package.update_desc_with_version": "ErisPulse SDK を {version} に更新中",
355
355
  "cli.package.update_desc_latest": "ErisPulse SDK を最新バージョンに更新中",
356
356
  "cli.package.latest_version": "最新バージョン",
357
- "cli.package.sdk_update_success": " ErisPulse SDK の更新に成功しました: {old} → {new}",
357
+ "cli.package.sdk_update_success": "[OK] ErisPulse SDK の更新に成功しました: {old} → {new}",
358
358
  "cli.package.restart_cli": "新しいバージョンを使用するには CLI を再起動してください",
359
- "cli.package.sdk_update_failed": " ErisPulse SDK の更新に失敗しました",
359
+ "cli.package.sdk_update_failed": "[FAIL] ErisPulse SDK の更新に失敗しました",
360
360
  }
@@ -316,18 +316,18 @@ TRANSLATIONS = {
316
316
  "cli.package.compat_warning_upgrade": "Предупреждение о совместимости версии SDK\nПакет {package} требует минимальную версию SDK {version}\n{message}\n\nПродолжение обновления может вызвать проблемы.",
317
317
  "cli.package.compat_warning_title": "Предупреждение о совместимости",
318
318
  "cli.package.installing": "Установка {package}",
319
- "cli.package.install_success": " Пакет {package} успешно установлен",
320
- "cli.package.install_failed": " Ошибка установки пакета {package}",
321
- "cli.package.operation_success": " {description} выполнено",
322
- "cli.package.operation_failed": " {description} не удалось",
319
+ "cli.package.install_success": "[OK] Пакет {package} успешно установлен",
320
+ "cli.package.install_failed": "[FAIL] Ошибка установки пакета {package}",
321
+ "cli.package.operation_success": "[OK] {description} выполнено",
322
+ "cli.package.operation_failed": "[FAIL] {description} не удалось",
323
323
  "cli.package.alias_mapping": " Сопоставление псевдонима: {alias} → {package}",
324
324
  "cli.package.installed_package_found": " Найден установленный пакет: {package}",
325
325
  "cli.package.uninstall_alias_not_found": " Псевдоним не найден, попытка прямого удаления: {package}",
326
326
  "cli.package.confirm_uninstall": "Подтвердить удаление следующих пакетов?\n{packages}",
327
327
  "cli.package.operation_cancelled": " Операция отменена",
328
328
  "cli.package.uninstalling": "Удаление {package}",
329
- "cli.package.uninstall_success": " Пакет {package} успешно удалён",
330
- "cli.package.uninstall_failed": " Ошибка удаления пакета {package}",
329
+ "cli.package.uninstall_success": "[OK] Пакет {package} успешно удалён",
330
+ "cli.package.uninstall_failed": "[FAIL] Ошибка удаления пакета {package}",
331
331
  "cli.package.all_up_to_date": "Все пакеты ErisPulse обновлены до последней версии",
332
332
  "cli.package.updates_found": "Найдено пакетов для обновления: {count}",
333
333
  "cli.package.upgrade_list_title": "Список обновлений",
@@ -344,8 +344,8 @@ TRANSLATIONS = {
344
344
  "cli.package.confirm_upgrade": "Продолжить обновление?",
345
345
  "cli.package.upgrade_cancelled": "Обновление отменено",
346
346
  "cli.package.upgrading": "Обновление {package}",
347
- "cli.package.upgrade_success": " Пакет {package} успешно обновлён",
348
- "cli.package.upgrade_failed": " Ошибка обновления пакета {package}",
347
+ "cli.package.upgrade_success": "[OK] Пакет {package} успешно обновлён",
348
+ "cli.package.upgrade_failed": "[FAIL] Ошибка обновления пакета {package}",
349
349
  "cli.package.pypi_versions_failed": "Не удалось получить информацию о версиях PyPI",
350
350
  "cli.package.already_target_version": "Уже установлена целевая версия {version}",
351
351
  "cli.package.invalid_version": "Недопустимый номер версии: {version}",
@@ -354,7 +354,7 @@ TRANSLATIONS = {
354
354
  "cli.package.update_desc_with_version": "Обновление ErisPulse SDK до {version}",
355
355
  "cli.package.update_desc_latest": "Обновление ErisPulse SDK до последней версии",
356
356
  "cli.package.latest_version": "последняя версия",
357
- "cli.package.sdk_update_success": " ErisPulse SDK успешно обновлён: {old} → {new}",
357
+ "cli.package.sdk_update_success": "[OK] ErisPulse SDK успешно обновлён: {old} → {new}",
358
358
  "cli.package.restart_cli": "Пожалуйста, перезапустите CLI, чтобы использовать новую версию",
359
- "cli.package.sdk_update_failed": " Ошибка обновления ErisPulse SDK",
359
+ "cli.package.sdk_update_failed": "[FAIL] Ошибка обновления ErisPulse SDK",
360
360
  }
@@ -316,18 +316,18 @@ TRANSLATIONS = {
316
316
  "cli.package.compat_warning_upgrade": "SDK版本兼容性警告\n包 {package} 需要最低SDK版本 {version}\n{message}\n\n继续升级可能会导致问题。",
317
317
  "cli.package.compat_warning_title": "兼容性警告",
318
318
  "cli.package.installing": "安装 {package}",
319
- "cli.package.install_success": " 包 {package} 安装成功",
320
- "cli.package.install_failed": " 包 {package} 安装失败",
321
- "cli.package.operation_success": " {description} 成功",
322
- "cli.package.operation_failed": " {description} 失败",
319
+ "cli.package.install_success": "[OK] 包 {package} 安装成功",
320
+ "cli.package.install_failed": "[FAIL] 包 {package} 安装失败",
321
+ "cli.package.operation_success": "[OK] {description} 成功",
322
+ "cli.package.operation_failed": "[FAIL] {description} 失败",
323
323
  "cli.package.alias_mapping": " 别名映射: {alias} → {package}",
324
324
  "cli.package.installed_package_found": " 找到已安装包: {package}",
325
325
  "cli.package.uninstall_alias_not_found": " 未找到别名,将尝试直接卸载: {package}",
326
326
  "cli.package.confirm_uninstall": "确认卸载以下包吗?\n{packages}",
327
327
  "cli.package.operation_cancelled": " 操作已取消",
328
328
  "cli.package.uninstalling": "卸载 {package}",
329
- "cli.package.uninstall_success": " 包 {package} 卸载成功",
330
- "cli.package.uninstall_failed": " 包 {package} 卸载失败",
329
+ "cli.package.uninstall_success": "[OK] 包 {package} 卸载成功",
330
+ "cli.package.uninstall_failed": "[FAIL] 包 {package} 卸载失败",
331
331
  "cli.package.all_up_to_date": "所有ErisPulse包已是最新版本",
332
332
  "cli.package.updates_found": "找到 {count} 个可升级的包:",
333
333
  "cli.package.upgrade_list_title": "升级列表",
@@ -344,8 +344,8 @@ TRANSLATIONS = {
344
344
  "cli.package.confirm_upgrade": "是否继续升级?",
345
345
  "cli.package.upgrade_cancelled": "已取消升级",
346
346
  "cli.package.upgrading": "升级 {package}",
347
- "cli.package.upgrade_success": " 包 {package} 升级成功",
348
- "cli.package.upgrade_failed": " 包 {package} 升级失败",
347
+ "cli.package.upgrade_success": "[OK] 包 {package} 升级成功",
348
+ "cli.package.upgrade_failed": "[FAIL] 包 {package} 升级失败",
349
349
  "cli.package.pypi_versions_failed": "获取PyPI版本信息失败",
350
350
  "cli.package.already_target_version": "当前已是目标版本 {version}",
351
351
  "cli.package.invalid_version": "无效的版本号: {version}",
@@ -354,7 +354,7 @@ TRANSLATIONS = {
354
354
  "cli.package.update_desc_with_version": "更新 ErisPulse SDK 到 {version}",
355
355
  "cli.package.update_desc_latest": "更新 ErisPulse SDK 到最新版本",
356
356
  "cli.package.latest_version": "最新版本",
357
- "cli.package.sdk_update_success": " ErisPulse SDK 更新成功: {old} → {new}",
357
+ "cli.package.sdk_update_success": "[OK] ErisPulse SDK 更新成功: {old} → {new}",
358
358
  "cli.package.restart_cli": "请重新启动CLI以使用新版本",
359
- "cli.package.sdk_update_failed": " ErisPulse SDK 更新失败",
359
+ "cli.package.sdk_update_failed": "[FAIL] ErisPulse SDK 更新失败",
360
360
  }
@@ -316,18 +316,18 @@ TRANSLATIONS = {
316
316
  "cli.package.compat_warning_upgrade": "SDK版本相容性警告\n包 {package} 需要最低SDK版本 {version}\n{message}\n\n繼續升級可能會導致問題。",
317
317
  "cli.package.compat_warning_title": "相容性警告",
318
318
  "cli.package.installing": "安裝 {package}",
319
- "cli.package.install_success": " 包 {package} 安裝成功",
320
- "cli.package.install_failed": " 包 {package} 安裝失敗",
321
- "cli.package.operation_success": " {description} 成功",
322
- "cli.package.operation_failed": " {description} 失敗",
319
+ "cli.package.install_success": "[OK] 包 {package} 安裝成功",
320
+ "cli.package.install_failed": "[FAIL] 包 {package} 安裝失敗",
321
+ "cli.package.operation_success": "[OK] {description} 成功",
322
+ "cli.package.operation_failed": "[FAIL] {description} 失敗",
323
323
  "cli.package.alias_mapping": " 別名對映: {alias} → {package}",
324
324
  "cli.package.installed_package_found": " 找到已安裝包: {package}",
325
325
  "cli.package.uninstall_alias_not_found": " 未找到別名,將嘗試直接解除安裝: {package}",
326
326
  "cli.package.confirm_uninstall": "確認解除安裝以下包嗎?\n{packages}",
327
327
  "cli.package.operation_cancelled": " 操作已取消",
328
328
  "cli.package.uninstalling": "解除安裝 {package}",
329
- "cli.package.uninstall_success": " 包 {package} 解除安裝成功",
330
- "cli.package.uninstall_failed": " 包 {package} 解除安裝失敗",
329
+ "cli.package.uninstall_success": "[OK] 包 {package} 解除安裝成功",
330
+ "cli.package.uninstall_failed": "[FAIL] 包 {package} 解除安裝失敗",
331
331
  "cli.package.all_up_to_date": "所有ErisPulse包已是最新版本",
332
332
  "cli.package.updates_found": "找到 {count} 個可升級的包:",
333
333
  "cli.package.upgrade_list_title": "升級列表",
@@ -344,8 +344,8 @@ TRANSLATIONS = {
344
344
  "cli.package.confirm_upgrade": "是否繼續升級?",
345
345
  "cli.package.upgrade_cancelled": "已取消升級",
346
346
  "cli.package.upgrading": "升級 {package}",
347
- "cli.package.upgrade_success": " 包 {package} 升級成功",
348
- "cli.package.upgrade_failed": " 包 {package} 升級失敗",
347
+ "cli.package.upgrade_success": "[OK] 包 {package} 升級成功",
348
+ "cli.package.upgrade_failed": "[FAIL] 包 {package} 升級失敗",
349
349
  "cli.package.pypi_versions_failed": "取得PyPI版本資訊失敗",
350
350
  "cli.package.already_target_version": "當前已是目標版本 {version}",
351
351
  "cli.package.invalid_version": "無效的版本號: {version}",
@@ -354,7 +354,7 @@ TRANSLATIONS = {
354
354
  "cli.package.update_desc_with_version": "更新 ErisPulse SDK 到 {version}",
355
355
  "cli.package.update_desc_latest": "更新 ErisPulse SDK 到最新版本",
356
356
  "cli.package.latest_version": "最新版本",
357
- "cli.package.sdk_update_success": " ErisPulse SDK 更新成功: {old} → {new}",
357
+ "cli.package.sdk_update_success": "[OK] ErisPulse SDK 更新成功: {old} → {new}",
358
358
  "cli.package.restart_cli": "請重新啟動CLI以使用新版本",
359
- "cli.package.sdk_update_failed": " ErisPulse SDK 更新失敗",
359
+ "cli.package.sdk_update_failed": "[FAIL] ErisPulse SDK 更新失敗",
360
360
  }
@@ -381,6 +381,8 @@ class PackageManager:
381
381
  :param name: [str] 原始名称
382
382
  :return: [str] 标准化后的名称
383
383
  """
384
+ if not name:
385
+ return ""
384
386
  return name.lower().strip()
385
387
 
386
388
  async def _find_package_by_alias(self, alias: str) -> Optional[str]:
@@ -494,7 +496,7 @@ class PackageManager:
494
496
  :param force_refresh: [bool] 是否强制刷新缓存 (默认: False)
495
497
  :return: [Optional[str]] 最新版本号,失败时返回 None
496
498
  """
497
- cache_key = package_name.lower()
499
+ cache_key = (package_name or "").lower()
498
500
  if not force_refresh and cache_key in self._pypi_cache:
499
501
  if time.time() - self._pypi_cache_time[cache_key] < self.CACHE_EXPIRY:
500
502
  return self._pypi_cache[cache_key]
@@ -621,7 +623,7 @@ class PackageManager:
621
623
  proxy_hint = f" [dim](proxy: {safe_proxy})[/]"
622
624
 
623
625
  console.print(
624
- f"\n[bold blue] {description}[/] [dim]({backend})[/]{proxy_hint}"
626
+ f"\n[bold blue][*] {description}[/] [dim]({backend})[/]{proxy_hint}"
625
627
  )
626
628
  console.print("[dim]─────────────────────────────────────────────────[/]")
627
629
 
@@ -9,19 +9,24 @@ ErisPulse 事件处理基础模块
9
9
  {!--< /tips >!--}
10
10
  """
11
11
 
12
- from .. import adapter, logger
13
- from ...runtime import get_event_config
14
- from ...runtime.context import current_owner, handler_waits
15
- from ..constants import DEFAULT_HANDLER_PRIORITY, UNKNOWN_PLATFORM, EVENT_TYPE_MESSAGE, HANDLER_SLOW_THRESHOLD_SECS
16
- from typing import Any
17
- from collections.abc import Callable
18
12
  import asyncio
19
13
  import inspect
20
14
  import time as _time
15
+ from collections.abc import Callable
21
16
  from itertools import groupby
22
- from .wrapper import Event
23
- from ..lifecycle import lifecycle
17
+ from typing import Any
24
18
 
19
+ from ...runtime import get_event_config
20
+ from ...runtime.context import current_owner, handler_waits
21
+ from .. import adapter, logger
22
+ from ..constants import (
23
+ DEFAULT_HANDLER_PRIORITY,
24
+ EVENT_TYPE_MESSAGE,
25
+ HANDLER_SLOW_THRESHOLD_SECS,
26
+ UNKNOWN_PLATFORM,
27
+ )
28
+ from ..lifecycle import lifecycle
29
+ from .wrapper import Event
25
30
 
26
31
  _sentinel = object()
27
32
 
@@ -35,7 +40,9 @@ async def _invoke_handler(handler_info: dict, event: Event) -> None:
35
40
  :param event: 事件对象
36
41
  """
37
42
  handler = handler_info["func"]
38
- _hname = getattr(handler, "__qualname__", getattr(handler, "__name__", str(handler)))
43
+ _hname = getattr(
44
+ handler, "__qualname__", getattr(handler, "__name__", str(handler))
45
+ )
39
46
  _owner = handler_info.get("owner") or current_owner.get()
40
47
 
41
48
  # 切换到本 handler 的局部 wait 记录器。
@@ -76,7 +83,7 @@ async def _invoke_handler(handler_info: dict, event: Event) -> None:
76
83
  f"waits=[{_wait_keys}]){_owner_tag}"
77
84
  )
78
85
  else:
79
- logger.debug(
86
+ logger.trace(
80
87
  f"[EventHandler] {_hname} took {_elapsed:.4f}s "
81
88
  f"(wait_reply={_wait_total:.4f}s, pure={_pure:.4f}s) "
82
89
  f"interactive-wait, suppressed slow-warning{_owner_tag}"
@@ -118,7 +125,10 @@ class BaseEventHandler:
118
125
  self._linked_to_adapter_bus: bool = False
119
126
 
120
127
  def register(
121
- self, handler: Callable, priority: int = DEFAULT_HANDLER_PRIORITY, condition: Callable = None
128
+ self,
129
+ handler: Callable,
130
+ priority: int = DEFAULT_HANDLER_PRIORITY,
131
+ condition: Callable = None,
122
132
  ):
123
133
  """
124
134
  注册事件处理器
@@ -141,7 +151,7 @@ class BaseEventHandler:
141
151
  if self.event_type and not self._linked_to_adapter_bus:
142
152
  adapter.on(self.event_type)(self._process_event)
143
153
  self._linked_to_adapter_bus = True
144
- logger.debug(
154
+ logger.trace(
145
155
  f"[Event] 已注册事件处理器: {self.event_type}, Called by: {self.module_name}, Owner: {current_owner.get() or 'N/A'}"
146
156
  )
147
157
 
@@ -172,10 +182,14 @@ class BaseEventHandler:
172
182
  self._handler_map = {id(h["func"]): h for h in self.handlers}
173
183
  removed = before - len(self.handlers)
174
184
  if removed > 0:
175
- logger.debug(f"[Event] 已清理 {owner} 的 {removed} 个 {self.event_type} 处理器")
185
+ logger.trace(
186
+ f"[Event] 已清理 {owner} 的 {removed} 个 {self.event_type} 处理器"
187
+ )
176
188
  return removed
177
189
 
178
- def __call__(self, priority: int = DEFAULT_HANDLER_PRIORITY, condition: Callable = None):
190
+ def __call__(
191
+ self, priority: int = DEFAULT_HANDLER_PRIORITY, condition: Callable = None
192
+ ):
179
193
  """
180
194
  装饰器方式注册事件处理器
181
195
 
@@ -204,11 +218,14 @@ class BaseEventHandler:
204
218
  event = Event(event)
205
219
 
206
220
  # 钩子: 事件预处理
207
- await lifecycle.emit("event.pre_process", {
208
- "event_type": self.event_type,
209
- "platform": event.get("platform", UNKNOWN_PLATFORM),
210
- "detail_type": event.get("detail_type", "unknown"),
211
- })
221
+ await lifecycle.emit(
222
+ "event.pre_process",
223
+ {
224
+ "event_type": self.event_type,
225
+ "platform": event.get("platform", UNKNOWN_PLATFORM),
226
+ "detail_type": event.get("detail_type", "unknown"),
227
+ },
228
+ )
212
229
 
213
230
  # 忽略自己发送的消息
214
231
  if self.event_type == EVENT_TYPE_MESSAGE:
@@ -15,18 +15,18 @@ ErisPulse 事件处理基础模块
15
15
  {!--< /tips >!--}
16
16
  """
17
17
 
18
- from .. import adapter, logger
19
- from ...runtime import get_event_config
20
- from ...runtime.context import current_owner, handler_waits
21
- from ..constants import DEFAULT_HANDLER_PRIORITY, UNKNOWN_PLATFORM, EVENT_TYPE_MESSAGE, HANDLER_SLOW_THRESHOLD_SECS
22
- from typing import Any
23
- from collections.abc import Callable
24
18
  import asyncio
25
19
  import inspect
26
20
  import time as _time
21
+ from collections.abc import Callable
27
22
  from itertools import groupby
28
- from .wrapper import Event
23
+ from typing import Any
24
+ from ...runtime import get_event_config
25
+ from ...runtime.context import current_owner, handler_waits
26
+ from .. import adapter, logger
27
+ from ..constants import DEFAULT_HANDLER_PRIORITY, EVENT_TYPE_MESSAGE, HANDLER_SLOW_THRESHOLD_SECS, UNKNOWN_PLATFORM
29
28
  from ..lifecycle import lifecycle
29
+ from .wrapper import Event
30
30
 
31
31
  class BaseEventHandler:
32
32
  """
@@ -231,7 +231,7 @@ class CommandHandler:
231
231
  if to_remove:
232
232
  from ..logger import logger as _logger
233
233
 
234
- _logger.debug(
234
+ _logger.trace(
235
235
  f"[Command] 已清理 {owner} 的 {len(to_remove)} 个命令: {to_remove}"
236
236
  )
237
237
  return len(to_remove)
@@ -329,7 +329,7 @@ class CommandHandler:
329
329
  # 清理超时的等待
330
330
  if wait_key in self._waiting_replies:
331
331
  del self._waiting_replies[wait_key]
332
- logger.debug(f"wait_reply 超时: key={wait_key}, timeout={timeout}s")
332
+ logger.trace(f"wait_reply 超时: key={wait_key}, timeout={timeout}s")
333
333
  return None
334
334
  except Exception as e:
335
335
  # 清理异常情况
@@ -123,7 +123,7 @@ def register_custom_type(
123
123
  _custom_receive_to_send[receive_type_key] = send_type
124
124
  _custom_send_to_receive[send_type] = receive_type_key
125
125
 
126
- logger.debug(
126
+ logger.trace(
127
127
  f"已注册自定义会话类型: {receive_type_key} → {send_type} (ID字段: {id_field})"
128
128
  )
129
129
  return True
@@ -155,7 +155,7 @@ def unregister_custom_type(receive_type: str, platform: str | None = None) -> bo
155
155
  del _custom_receive_to_send[receive_type_key]
156
156
  del _custom_send_to_receive[send_type]
157
157
 
158
- logger.debug(f"已注销自定义会话类型: {receive_type_key}")
158
+ logger.trace(f"已注销自定义会话类型: {receive_type_key}")
159
159
  return True
160
160
  return False
161
161
  except Exception as e: