ErisPulse 2.5.4__tar.gz → 2.6.0.dev0__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 (189) hide show
  1. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/PKG-INFO +85 -60
  2. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/README.md +84 -59
  3. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/pyproject.toml +1 -1
  4. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/__init__.py +5 -0
  5. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/__init__.pyi +2 -0
  6. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/adapter.py +324 -7
  7. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/adapter.pyi +202 -1
  8. erispulse-2.6.0.dev0/src/ErisPulse/Core/Bases/send_builder.py +469 -0
  9. erispulse-2.6.0.dev0/src/ErisPulse/Core/Bases/send_builder.pyi +229 -0
  10. erispulse-2.6.0.dev0/src/ErisPulse/Core/Bases/send_rules.py +335 -0
  11. erispulse-2.6.0.dev0/src/ErisPulse/Core/Bases/send_rules.pyi +164 -0
  12. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/command.py +19 -0
  13. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/command.pyi +2 -1
  14. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/__init__.py +9 -0
  15. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/__init__.pyi +2 -1
  16. erispulse-2.6.0.dev0/src/ErisPulse/Core/admin.py +199 -0
  17. erispulse-2.6.0.dev0/src/ErisPulse/Core/admin.pyi +111 -0
  18. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/constants.py +13 -0
  19. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/constants.pyi +2 -0
  20. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/en.py +1 -0
  21. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/ja.py +1 -0
  22. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/ru.py +1 -0
  23. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/zh_cn.py +1 -0
  24. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/zh_tw.py +1 -0
  25. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/storage.py +37 -24
  26. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/storage.pyi +5 -1
  27. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/__init__.py +3 -0
  28. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/__init__.pyi +1 -1
  29. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/__init__.py +2 -0
  30. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/__init__.pyi +1 -1
  31. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/frame_config.py +16 -0
  32. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/frame_config.pyi +8 -0
  33. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/sdk.py +3 -0
  34. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/sdk.pyi +1 -0
  35. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/.gitignore +0 -0
  36. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/LICENSE +0 -0
  37. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/__init__.py +0 -0
  38. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/__init__.pyi +0 -0
  39. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/base.py +0 -0
  40. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/base.pyi +0 -0
  41. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/cli.py +0 -0
  42. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/cli.pyi +0 -0
  43. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/__init__.py +0 -0
  44. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/__init__.pyi +0 -0
  45. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/create.py +0 -0
  46. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/create.pyi +0 -0
  47. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/init.py +0 -0
  48. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/init.pyi +0 -0
  49. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/install.py +0 -0
  50. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/install.pyi +0 -0
  51. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/language.py +0 -0
  52. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/language.pyi +0 -0
  53. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/list.py +0 -0
  54. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/list.pyi +0 -0
  55. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/list_remote.py +0 -0
  56. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/list_remote.pyi +0 -0
  57. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/run.py +0 -0
  58. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/run.pyi +0 -0
  59. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/self_update.py +0 -0
  60. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/self_update.pyi +0 -0
  61. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/uninstall.py +0 -0
  62. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/uninstall.pyi +0 -0
  63. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/upgrade.py +0 -0
  64. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/commands/upgrade.pyi +0 -0
  65. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/console.py +0 -0
  66. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/console.pyi +0 -0
  67. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/__init__.py +0 -0
  68. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/__init__.pyi +0 -0
  69. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/__init__.py +0 -0
  70. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/__init__.pyi +0 -0
  71. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/en.py +0 -0
  72. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/en.pyi +0 -0
  73. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/ja.py +0 -0
  74. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/ja.pyi +0 -0
  75. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/ru.py +0 -0
  76. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/ru.pyi +0 -0
  77. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/zh_cn.py +0 -0
  78. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/zh_cn.pyi +0 -0
  79. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/zh_tw.py +0 -0
  80. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/i18n/locales/zh_tw.pyi +0 -0
  81. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/registry.py +0 -0
  82. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/registry.pyi +0 -0
  83. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/__init__.py +0 -0
  84. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/__init__.pyi +0 -0
  85. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/display.py +0 -0
  86. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/display.pyi +0 -0
  87. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/file_watcher.py +0 -0
  88. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/file_watcher.pyi +0 -0
  89. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/package_manager.py +0 -0
  90. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/CLI/utils/package_manager.pyi +0 -0
  91. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/client.py +0 -0
  92. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/client.pyi +0 -0
  93. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/errors.py +0 -0
  94. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/errors.pyi +0 -0
  95. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/kv_builder.py +0 -0
  96. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/kv_builder.pyi +0 -0
  97. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/manager.py +0 -0
  98. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/manager.pyi +0 -0
  99. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/module.py +0 -0
  100. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/module.pyi +0 -0
  101. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/router.py +0 -0
  102. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/router.pyi +0 -0
  103. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/storage.py +0 -0
  104. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/storage.pyi +0 -0
  105. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/websocket.py +0 -0
  106. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Bases/websocket.pyi +0 -0
  107. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/__init__.py +0 -0
  108. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/__init__.pyi +0 -0
  109. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/base.py +0 -0
  110. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/base.pyi +0 -0
  111. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/message.py +0 -0
  112. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/message.pyi +0 -0
  113. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/message_builder.py +0 -0
  114. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/message_builder.pyi +0 -0
  115. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/meta.py +0 -0
  116. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/meta.pyi +0 -0
  117. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/notice.py +0 -0
  118. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/notice.pyi +0 -0
  119. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/request.py +0 -0
  120. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/request.pyi +0 -0
  121. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/session_type.py +0 -0
  122. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/session_type.pyi +0 -0
  123. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/wrapper.py +0 -0
  124. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/Event/wrapper.pyi +0 -0
  125. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/adapter.py +0 -0
  126. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/adapter.pyi +0 -0
  127. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/client.py +0 -0
  128. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/client.pyi +0 -0
  129. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/config.py +0 -0
  130. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/config.pyi +0 -0
  131. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/__init__.py +0 -0
  132. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/__init__.pyi +0 -0
  133. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/constants.py +0 -0
  134. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/constants.pyi +0 -0
  135. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/__init__.py +0 -0
  136. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/__init__.pyi +0 -0
  137. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/en.pyi +0 -0
  138. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/ja.pyi +0 -0
  139. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/ru.pyi +0 -0
  140. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/zh_cn.pyi +0 -0
  141. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/i18n/locales/zh_tw.pyi +0 -0
  142. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/lifecycle.py +0 -0
  143. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/lifecycle.pyi +0 -0
  144. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/logger.py +0 -0
  145. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/logger.pyi +0 -0
  146. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/module.py +0 -0
  147. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/module.pyi +0 -0
  148. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/router.py +0 -0
  149. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/Core/router.pyi +0 -0
  150. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/__main__.py +0 -0
  151. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/__main__.pyi +0 -0
  152. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/__init__.py +0 -0
  153. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/__init__.pyi +0 -0
  154. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/adapter.py +0 -0
  155. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/adapter.pyi +0 -0
  156. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/bases/__init__.py +0 -0
  157. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/bases/__init__.pyi +0 -0
  158. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/bases/finder.py +0 -0
  159. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/bases/finder.pyi +0 -0
  160. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/module.py +0 -0
  161. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/finders/module.pyi +0 -0
  162. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/__init__.py +0 -0
  163. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/__init__.pyi +0 -0
  164. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/adapter.py +0 -0
  165. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/adapter.pyi +0 -0
  166. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/bases/__init__.py +0 -0
  167. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/bases/__init__.pyi +0 -0
  168. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/bases/loader.py +0 -0
  169. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/bases/loader.pyi +0 -0
  170. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/module.py +0 -0
  171. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/module.pyi +0 -0
  172. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/strategy.py +0 -0
  173. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/strategy.pyi +0 -0
  174. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/strict.py +0 -0
  175. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/loaders/strict.pyi +0 -0
  176. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/py.typed +0 -0
  177. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/config_schema.py +0 -0
  178. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/config_schema.pyi +0 -0
  179. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/context.py +0 -0
  180. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/context.pyi +0 -0
  181. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/exceptions.py +0 -0
  182. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/exceptions.pyi +0 -0
  183. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/hints.py +0 -0
  184. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/runtime/hints.pyi +0 -0
  185. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/web_status/4xx.png +0 -0
  186. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/web_status/5xx.png +0 -0
  187. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/web_status/__init__.py +0 -0
  188. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/web_status/__init__.pyi +0 -0
  189. {erispulse-2.5.4 → erispulse-2.6.0.dev0}/src/ErisPulse/web_status/unknow.png +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ErisPulse
3
- Version: 2.5.4
3
+ Version: 2.6.0.dev0
4
4
  Summary: Event-driven modular async bot framework — write once, deploy to any platform | 事件驱动的模块化异步机器人框架,一次编写,多平台部署
5
5
  Project-URL: Homepage, https://github.com/ErisPulse/ErisPulse
6
6
  Project-URL: Documentation, https://www.erisdev.com#docs
@@ -69,15 +69,15 @@ Description-Content-Type: text/markdown
69
69
 
70
70
  <img src=".github/assets/mascot-hero.png" align="right" width="300" alt="ErisPulse" style="margin-left: 24px; margin-bottom: 16px; border-radius: 12px;" />
71
71
 
72
- **English** | [简体中文](README.zh-CN.md) | [繁體中文](README.zh-TW.md) | [日本語](README.ja.md) | [Русский](README.ru.md)
72
+ [**English**](README.md) | 简体中文 | [繁體中文](README.zh-TW.md) | [日本語](README.ja.md) | [Русский](README.ru.md)
73
73
 
74
74
  # ErisPulse
75
75
 
76
- **Write once, deploy on multiple platforms.**
76
+ **Write once, deploy across multiple platforms.**
77
77
 
78
- Event-driven multi-platform chatbot development framework.
78
+ An event-driven multi-platform chatbot development framework.
79
79
 
80
- Based on the OneBot12 standard interface, write once and deploy on multiple platforms. Flexible plugin system, hot reload support, and a complete developer toolchain, suitable for various scenarios from simple chatbots to complex automation systems.
80
+ Based on the OneBot12 standard interface, write once and deploy across multiple platforms. Flexible plugin system, hot reload support, and a complete developer toolchain, suitable for various scenarios from simple chatbots to complex automation systems.
81
81
 
82
82
  <p>
83
83
  <a href="https://pypi.org/project/ErisPulse/"><img src="https://img.shields.io/pypi/v/ErisPulse?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"></a>
@@ -123,7 +123,7 @@ A clear event model based on the OneBot12 standard, making message handling logi
123
123
 
124
124
  ### Cross-platform Compatibility
125
125
 
126
- Write plugin modules once and use them on all platforms, no need to repeat development for different platforms
126
+ Write a plugin module once and use it across all platforms, without repeating development for different platforms
127
127
 
128
128
  </td>
129
129
  <td width="33%" align="center" valign="top">
@@ -133,7 +133,7 @@ Write plugin modules once and use them on all platforms, no need to repeat devel
133
133
 
134
134
  ### Modular Design
135
135
 
136
- A flexible plugin system, easy to extend and integrate, supports hot-plug module management
136
+ A flexible plugin system, easy to extend and integrate, supports hot-swappable module management
137
137
 
138
138
  </td>
139
139
  </tr>
@@ -161,21 +161,46 @@ AI-assisted development brings requirements directly to usable modules
161
161
  <td width="33%" align="center" valign="top">
162
162
  <br/>
163
163
 
164
- <img src=".github/assets/icon/icon_lightweight.png" width="50" alt="Lightweight and Elegant" />
164
+ <img src=".github/assets/icon/icon_lightweight.png" width="50" alt="Lightweight" />
165
165
 
166
- ### Lightweight and Elegant
166
+ ### Lightweight
167
167
 
168
- Intuitive API design, making code as light and readable as feathers
168
+ Intuitive API design, making code as light and readable as a feather
169
169
 
170
170
  </td>
171
171
  </tr>
172
172
  </table>
173
173
 
174
+ ### Chained Sending DSL
175
+
176
+ Complete all sending logic in a single chained call: @user, reply, retry, timeout, callback, etc.:
177
+
178
+ ```python
179
+ yunhu = sdk.adapter.get("yunhu")
180
+
181
+ # Single send: @user + reply + retry + success callback
182
+ await (yunhu.Send.To("group", "123")
183
+ .At("456").Reply("msg_789")
184
+ .Retry(3).Timeout(10)
185
+ .Hook(lambda r: print("Send successful!"))
186
+ .Text("Hello"))
187
+
188
+ # Batch send: send multiple messages in one chain
189
+ results = await (yunhu.Send.To("user", "123")
190
+ .Build()
191
+ .Text("Notification 1")
192
+ .Image("pic.jpg")
193
+ .Retry(2)
194
+ .send_all())
195
+ ```
196
+
197
+ > Supports Hook (success callback), Retry (failure retry), Timeout (timeout cancellation), OnProgress (progress monitoring), Defer (delayed send), Build (batch construction), and other chained methods. See [SendDSL documentation](docs/en/developer-guide/adapters/send-dsl.md).
198
+
174
199
  ---
175
200
 
176
- ## The Same Code. Multiple Platforms.
201
+ ## Same code. Multiple platforms.
177
202
 
178
- *Identical command handlers. Different platforms. No need to modify any business logic.*
203
+ *Identical command handlers. Different platforms. No business logic changes required.*
179
204
 
180
205
  <table>
181
206
  <tr>
@@ -183,21 +208,21 @@ Intuitive API design, making code as light and readable as feathers
183
208
 
184
209
  **Kook**
185
210
 
186
- <img src=".github/assets/demo-kook.png" alt="Kook Demo" />
211
+ <img src=".github/assets/demo-kook.png" alt="Kook demo" />
187
212
 
188
213
  </td>
189
214
  <td align="center" width="33%">
190
215
 
191
216
  **QQ**
192
217
 
193
- <img src=".github/assets/demo-qq.png" alt="QQ Demo" />
218
+ <img src=".github/assets/demo-qq.png" alt="QQ demo" />
194
219
 
195
220
  </td>
196
221
  <td align="center" width="33%">
197
222
 
198
223
  **Yunhu**
199
224
 
200
- <img src=".github/assets/demo-yunhu.png" alt="Yunhu Demo" />
225
+ <img src=".github/assets/demo-yunhu.png" alt="Yunhu demo" />
201
226
 
202
227
  </td>
203
228
  </tr>
@@ -207,7 +232,7 @@ Intuitive API design, making code as light and readable as feathers
207
232
 
208
233
  ## Ecosystem
209
234
 
210
- ErisPulse is not just a framework. Install and start, no need to build wheels from scratch.
235
+ ErisPulse is more than just a framework. Install and start immediately, no need to build wheels from scratch.
211
236
 
212
237
  <table>
213
238
  <tr>
@@ -228,16 +253,16 @@ Visual management
228
253
 
229
254
  Plugins · Logs · Configuration
230
255
 
231
- [Online Demo →](https://dashdemo.erisdev.com/)
256
+ [Online demo →](https://dashdemo.erisdev.com/)
232
257
 
233
258
  </td>
234
259
  <td align="center" width="25%">
235
260
 
236
261
  **AI Builder**
237
262
 
238
- Natural language → Usable modules
263
+ Natural language → usable module
239
264
 
240
- [Experience Now →](https://www.erisdev.com/#builder)
265
+ [Experience now →](https://www.erisdev.com/#builder)
241
266
 
242
267
  </td>
243
268
  <td align="center" width="25%">
@@ -246,7 +271,7 @@ Natural language → Usable modules
246
271
 
247
272
  Ready-to-use plugins
248
273
 
249
- [Browse Modules →](https://www.erisdev.com/#market)
274
+ [Browse modules →](https://www.erisdev.com/#market)
250
275
 
251
276
  </td>
252
277
  </tr>
@@ -255,7 +280,7 @@ Ready-to-use plugins
255
280
 
256
281
  **Adapters**
257
282
 
258
- Support for 15+ platforms
283
+ 15+ platform integrations
259
284
 
260
285
  </td>
261
286
  <td align="center" width="25%">
@@ -288,11 +313,11 @@ Multi-architecture support
288
313
 
289
314
  ## Project Origin
290
315
 
291
- ErisPulse was not born to become a framework.
316
+ ErisPulse was not born to be a framework.
292
317
 
293
- It originated from **Amer** — a project for message interconnection and synchronization between different platforms.
318
+ It originated from **Amer** — a project for message interconnection and synchronization across different platforms.
294
319
 
295
- As more platforms were integrated, we began maintaining the asynchronous version of **ryunhusdk2**, and gradually abstracted a unified event model and adapter system.
320
+ As the number of integrated platforms increased, we began maintaining the asynchronous version of **ryunhusdk2**, gradually abstracting a unified event model and adapter system.
296
321
 
297
322
  These practices eventually evolved into today's ErisPulse.
298
323
 
@@ -304,9 +329,9 @@ Its goal has never changed:
304
329
 
305
330
  ### Quick Start
306
331
 
307
- #### One-click Installation Script (Recommended)
332
+ #### One-click installation script (recommended)
308
333
 
309
- The installation script will automatically detect your environment (Docker, Python, uv), guide you to choose the most suitable installation method, and support multiple languages (Chinese/English/日本語/Русский/繁體中文).
334
+ The installation script automatically detects your environment (Docker, Python, uv), guides you to choose the most suitable installation method, and supports multiple languages (Chinese/English/Japanese/Russian/Traditional Chinese).
310
335
 
311
336
  Windows (PowerShell):
312
337
  ```powershell
@@ -337,7 +362,7 @@ curl -fsSL https://get.erisdev.com/install.sh -o install.sh && chmod +x install.
337
362
  </tr>
338
363
  </table>
339
364
 
340
- #### Using Docker (Recommended)
365
+ #### Using Docker (recommended)
341
366
 
342
367
  ```bash
343
368
  docker pull erispulse/erispulse:latest
@@ -352,7 +377,7 @@ If Docker Hub is inaccessible, you can use GitHub Container Registry:
352
377
  docker pull ghcr.io/erispulse/erispulse:latest
353
378
  ```
354
379
 
355
- When using the ghcr.io image, you need to modify the `docker-compose.yml` image:
380
+ When using the ghcr.io image, you need to modify the `docker-compose.yml` file's image:
356
381
  ```yaml
357
382
  image: ghcr.io/erispulse/erispulse:latest
358
383
  ```
@@ -377,7 +402,7 @@ After startup, access `http://<host>:<port>/Dashboard` and use the set token as
377
402
  </details>
378
403
 
379
404
  <details>
380
- <summary>Using Pre-release Version (Dev)</summary>
405
+ <summary>Using pre-release version (Dev)</summary>
381
406
 
382
407
  Set `ERISPULSE_CHANNEL=dev` to use the pre-release version:
383
408
 
@@ -406,29 +431,29 @@ docker pull erispulse/erispulse:dev
406
431
  <details>
407
432
  <summary>Docker Environment Variables</summary>
408
433
 
409
- | Variable | Default Value | Description |
410
- |----------|---------------|-------------|
434
+ | Variable | Default | Description |
435
+ |------|--------|------|
411
436
  | `ERISPULSE_CHANNEL` | `stable` | Version channel: `stable` (stable) or `dev` (pre-release) |
412
437
  | `ERISPULSE_UPDATE_ON_START` | `false` | Whether to automatically update to the latest version when the container starts (must be explicitly enabled) |
413
438
  | `ERISPULSE_DASHBOARD_TOKEN` | empty | Dashboard login token |
414
439
  | `ERISPULSE_PORT` | `8000` | Dashboard port mapping |
415
440
  | `TZ` | `Asia/Shanghai` | Container timezone |
416
441
 
417
- > Enabling `ERISPULSE_UPDATE_ON_START=true` ensures that even if the image is old, the container will automatically fetch the latest version at startup.
442
+ > Enabling `ERISPULSE_UPDATE_ON_START=true` ensures that even if the image is outdated, the container will automatically fetch the latest version at startup.
418
443
 
419
444
  </details>
420
445
 
421
446
  #### 1Panel App Store
422
447
 
423
- Install ErisPulse with one click through the [1Panel](https://1panel.cn) app store, see [ErisPulse-1Panel](https://github.com/ErisPulse/ErisPulse-1Panel).
448
+ Install ErisPulse one-click via the [1Panel](https://1panel.cn) app store, see [ErisPulse-1Panel](https://github.com/ErisPulse/ErisPulse-1Panel).
424
449
 
425
450
  ```bash
426
451
  bash <(curl -sL https://get-1panel.erisdev.com/install.sh)
427
452
  ```
428
453
 
429
- ErisPulse is listed in the 1Panel third-party app store and can be installed using the third-party repository [okxlin/appstore](https://github.com/okxlin/appstore).
454
+ ErisPulse is available in the 1Panel third-party app store and can be installed using the [okxlin/appstore](https://github.com/okxlin/appstore) third-party repository.
430
455
 
431
- #### Using pip Installation
456
+ #### Using pip to install
432
457
 
433
458
  ```bash
434
459
  pip install ErisPulse
@@ -454,7 +479,7 @@ Create a `main.py` file:
454
479
  <tr>
455
480
  <td width="50%" valign="top">
456
481
 
457
- **Command Handlers**
482
+ **Command Handler**
458
483
 
459
484
  ```python
460
485
  from ErisPulse import sdk
@@ -477,7 +502,7 @@ if __name__ == "__main__":
477
502
  </td>
478
503
  <td width="50%" valign="top">
479
504
 
480
- **Effect Explanation**
505
+ **Effect Description**
481
506
 
482
507
  Send `/hello`
483
508
 
@@ -509,7 +534,7 @@ For more detailed instructions, see:
509
534
 
510
535
  #### Multi-turn Conversation Example
511
536
 
512
- ErisPulse has a powerful built-in multi-turn conversation engine, making it easy to implement guided operations, information collection, and other interactive scenarios:
537
+ ErisPulse includes a powerful multi-turn conversation engine, easily achieving guided operations, information collection, and other interactive scenarios:
513
538
 
514
539
  ```python
515
540
  from ErisPulse.Core.Event import command, request
@@ -529,7 +554,7 @@ async def register_handler(event):
529
554
  ])
530
555
 
531
556
  if data and await conv.confirm(f"Confirm registration? Name: {data['name']}, Age: {data['age']}"):
532
- # Push notifications using SendDSL
557
+ # Push notification using SendDSL
533
558
  await sdk.adapter.get(event.get_platform()).Send.To(
534
559
  "user", event.get_user_id()
535
560
  ).Text(f"Registration successful! Welcome {data['name']}")
@@ -540,21 +565,21 @@ async def register_handler(event):
540
565
  async def handle_friend_request(event):
541
566
  user_name = event.get_user_nickname() or event.get_user_id()
542
567
 
543
- # Approve the request
568
+ # Approve request
544
569
  result = await event.approve()
545
570
  if result.get("status") == "ok":
546
- await event.reply(f"Friend request approved automatically, welcome {user_name}")
571
+ await event.reply(f"Friend request automatically approved, welcome {user_name}")
547
572
  ```
548
573
 
549
574
  <details>
550
- <summary>See More Conversation API (Branching / Selection / Persistence)</summary>
575
+ <summary>See more Conversation API (branching / selection / persistence)</summary>
551
576
 
552
577
  ```python
553
578
  @command("quiz")
554
579
  async def quiz_handler(event):
555
580
  conv = event.conversation(timeout=30)
556
581
 
557
- # Multiple-choice question
582
+ # Multiple choice question
558
583
  answer = await conv.choose("Who is the creator of Python?", [
559
584
  "Guido van Rossum",
560
585
  "James Gosling",
@@ -572,10 +597,10 @@ async def quiz_handler(event):
572
597
  async def menu_handler(event):
573
598
  conv = event.conversation(timeout=60)
574
599
 
575
- # Branching, building complex interaction flow
600
+ # Branching, building complex interactive flows
576
601
  @conv.branch("main")
577
602
  async def main_menu():
578
- await conv.say("=== Main Menu ===\n1. Personal Info\n2. Settings\n3. Exit")
603
+ await conv.say("=== Main Menu ===\n1. Personal Information\n2. Settings\n3. Exit")
579
604
  resp = await conv.wait()
580
605
  if resp and resp.get_text().strip() == "1":
581
606
  await conv.goto("profile")
@@ -601,33 +626,33 @@ See [Conversation Multi-turn Dialogue](docs/en/advanced/conversation.md)
601
626
  We welcome contributions to adapters!
602
627
 
603
628
  | Adapter | Description |
604
- |---------|-------------|
605
- | <img src=".github/assets/adapter_logo/kook.svg" height="20" alt="Kook" /> [Kook](https://github.com/shanfishapp/ErisPulse-KookAdapter) | Kook (Kaihei La) instant messaging platform |
606
- | <img src=".github/assets/adapter_logo/matrix.svg" height="20" alt="Matrix" /> [Matrix](https://github.com/ErisPulse/ErisPulse-MatrixAdapter) | Matrix decentralized communication protocol |
629
+ |--------|------|
630
+ | <img src=".github/assets/adapter_logo/kook.svg" height="20" alt="Kook" /> [Kook](https://github.com/shanfishapp/ErisPulse-KookAdapter) | Kook (KaHeLa) instant messaging platform |
631
+ | <img src=".github/assets/adapter_logo/matrix.svg" height="20" alt="Matrix" /> [Matrix](https://github.com/ErisPulse/ErisPulse-MatrixAdapter) | Decentralized communication protocol Matrix |
607
632
  | <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11 general robot protocol |
608
633
  | <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot12](https://github.com/ErisPulse/ErisPulse-OneBot12Adapter) | OneBot v12 standard protocol |
609
634
  | <img src=".github/assets/adapter_logo/qqbot.svg" height="20" alt="QQ" /> [QQ](https://github.com/ErisPulse/ErisPulse-QQBotAdapter) | Official QQ robot platform |
610
635
  | <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [Sandbox](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | Web-based debugging, no need to connect to real platforms |
611
636
  | <img src=".github/assets/adapter_logo/telegram.svg" height="20" alt="Telegram" /> [Telegram](https://github.com/ErisPulse/ErisPulse-TelegramAdapter) | Global instant messaging platform |
612
- | <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [Email](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | Email protocol adapter for sending and receiving |
637
+ | <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [Email](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | Email protocol adapter |
613
638
  | <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [Yunhu](https://github.com/ErisPulse/ErisPulse-YunhuAdapter) | Enterprise-level instant messaging platform (robot integration) |
614
- | <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [Yunhu User](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | Adapter based on the Yunhu user protocol |
639
+ | <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [Yunhu User](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | Yunhu user protocol-based adapter |
615
640
  | [Flower Maple Café](https://github.com/ErisPulse/ErisPulse-Ideaura/) | Allons! \(・ω・) / |
616
641
  | <img src=".github/assets/adapter_logo/discord.svg" height="20" alt="Discord" /> [Discord](https://github.com/ErisPulse/ErisPulse-DiscordAdapter) | Global community communication platform, supports servers, channels, and private messages |
617
642
  | <img src=".github/assets/adapter_logo/webhook.svg" height="20" alt="Webhook" /> [Webhook](https://github.com/ErisPulse/ErisPulse-WebhookAdapter) | General HTTP bridge adapter, connects to any system |
618
- | <img src=".github/assets/adapter_logo/wechatmp.svg" height="20" alt="WechatMp" /> [WeChat Official Account](https://github.com/ErisPulse/ErisPulse-WechatMpAdapter) | Official WeChat Official Account platform |
643
+ | <img src=".github/assets/adapter_logo/wechatmp.svg" height="20" alt="WechatMp" /> [WeChat Official Account](https://github.com/ErisPulse/ErisPulse-WechatMpAdapter) | Official WeChat public account platform |
619
644
 
620
645
  See [Adapter Details](docs/en/platform-guide/README.md)
621
646
 
622
647
  ---
623
648
 
624
- ### Application Scenarios
649
+ ### Use Cases
625
650
 
626
651
  <div align="center">
627
652
 
628
- | Multi-platform Robot | Chat Assistant | Automation Tool | Message Forwarding |
653
+ | Multi-platform Bot | Chat Assistant | Automation Tool | Message Forwarding |
629
654
  |:---:|:---:|:---:|:---:|
630
- | Deploy robots with the same functionality on multiple platforms | Integrate AI chat modules for entertainment and interaction | Message notifications, task management, data collection | Cross-platform message synchronization and forwarding |
655
+ | Deploy identical functionality bots across multiple platforms | Integrate AI chat modules for entertainment and interaction | Message notifications, task management, data collection | Cross-platform message synchronization and forwarding |
631
656
 
632
657
  </div>
633
658
 
@@ -635,7 +660,7 @@ See [Adapter Details](docs/en/platform-guide/README.md)
635
660
 
636
661
  ## Community
637
662
 
638
- Welcome to join the ErisPulse community and collaborate with developers to build the ecosystem.
663
+ Welcome to join the ErisPulse community and build the ecosystem together with developers.
639
664
 
640
665
  ### Yunhu
641
666
 
@@ -657,11 +682,11 @@ https://t.me/ErisPulse
657
682
 
658
683
  ### Contribution Guidelines
659
684
 
660
- The health of the ErisPulse project still needs your contribution! We welcome contributions in various forms:
685
+ The health of the ErisPulse project still needs your contribution! We welcome all forms of contributions:
661
686
 
662
- 1. **Report Issues** — Submit bug reports in [GitHub Issues](https://github.com/ErisPulse/ErisPulse/issues)
687
+ 1. **Report Issues** — Submit bug reports on [GitHub Issues](https://github.com/ErisPulse/ErisPulse/issues)
663
688
  2. **Feature Requests** — Propose new ideas via [Community Discussions](https://github.com/ErisPulse/ErisPulse/discussions)
664
- 3. **Code Contributions** — Read the [Code Style](docs/en/styleguide/) and [Contribution Guidelines](CONTRIBUTING.md) before submitting PRs
689
+ 3. **Code Contributions** — Please read the [Code Style](docs/en/styleguide/) and [Contribution Guidelines](CONTRIBUTING.md) before submitting PRs
665
690
  4. **Documentation Improvements** — Help improve documentation and example code
666
691
 
667
692
  [Join Community Discussions](https://github.com/ErisPulse/ErisPulse/discussions)
@@ -680,9 +705,9 @@ The health of the ErisPulse project still needs your contribution! We welcome co
680
705
 
681
706
  <img src=".github/assets/thanks.png" width="200" alt="Thanks" />
682
707
 
683
- Some code in this project is based on [sdkFrame](https://github.com/runoneall/sdkFrame).
708
+ Part of this project's code is based on [sdkFrame](https://github.com/runoneall/sdkFrame).
684
709
 
685
- The core adapter standardization layer refers to and benefits from the [OneBot12 specification](https://12.onebot.dev/).
710
+ The core adapter standardization layer references and benefits from the [OneBot12 specification](https://12.onebot.dev/).
686
711
 
687
712
  Special thanks to the Yunhu ecosystem and community.
688
713